From ccac3f8b15df36a0c1b88ea9eb999b3cb05d31b9 Mon Sep 17 00:00:00 2001 From: chuhanku Date: Thu, 20 Aug 2026 18:04:36 +0800 Subject: [PATCH 1/3] feat(studio): add GitHub CI/CD delivery backend --- pyproject.toml | 3 + tests/cli/test_github_cicd.py | 1701 ++++++++++++++++++++ veadk/cli/cli.py | 2 + veadk/cli/cli_frontend.py | 264 ++++ veadk/cli/cli_github_cicd_pipeline.py | 80 + veadk/cli/github_cicd.py | 2087 +++++++++++++++++++++++++ 6 files changed, 4137 insertions(+) create mode 100644 tests/cli/test_github_cicd.py create mode 100644 veadk/cli/cli_github_cicd_pipeline.py create mode 100644 veadk/cli/github_cicd.py diff --git a/pyproject.toml b/pyproject.toml index 7e4ebf7b8..c4163f3dc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,6 +59,9 @@ dependencies = [ veadk = "veadk.cli.cli:veadk" [project.optional-dependencies] +github-cicd = [ + "PyNaCl>=1.5.0", # Encrypt GitHub Actions secrets for Runtime delivery +] codex = [ "openai-codex==0.1.0b3", "openai-codex-cli-bin==0.137.0a4", diff --git a/tests/cli/test_github_cicd.py b/tests/cli/test_github_cicd.py new file mode 100644 index 000000000..437789480 --- /dev/null +++ b/tests/cli/test_github_cicd.py @@ -0,0 +1,1701 @@ +# 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"}, + ], +} +VOLCENGINE_CREDENTIALS = { + "volcengine_access_key": "ak_test", + "volcengine_secret_key": "sk_test", + "volcengine_session_token": "token_test", +} + + +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_pushes_source_without_pr_or_runtime( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import create_github_cicd_pipeline + + github = FakeGitHubClient() + + 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, + state_path=tmp_path / "state.json", + ) + + assert result["pipelineId"] == "github-acme-demo-main" + assert result["github"]["branch"] == "main" + assert result["github"]["commitSha"] == "commit-1" + assert result["github"]["pullRequestUrl"] == "" + assert result["github"]["pullRequestNumber"] == 0 + assert result["status"] == "succeeded" + assert result["phase"] == "ready" + assert isinstance(result["updatedAt"], str) + assert "deployment" not in result + assert github.created_branch is None + assert github.committed_files == PROJECT["files"] + assert github.pull_request is None + + state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) + assert state["github-acme-demo-main"]["status"] == "succeeded" + assert state["github-acme-demo-main"]["phase"] == "ready" + assert state["github-acme-demo-main"]["runtimeId"] == "" + assert state["github-acme-demo-main"]["githubToken"] == "ghp_secret" + + +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] = [] + + 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(), + state_path=tmp_path / "state.json", + progress=events.append, + ) + + assert events == [ + "Validating AgentProject...", + "Connecting GitHub repo acme/demo...", + "Pushing 2 file(s) to main...", + "Saving GitHub source sync state...", + "GitHub source sync ready.", + ] + + +def test_create_github_delivery_cicd_pipeline_writes_workflow_to_target_branch( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import create_github_delivery_cicd_pipeline + + github = FakeCicdGitHubClient() + + result = create_github_delivery_cicd_pipeline( + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + project_path=".", + **VOLCENGINE_CREDENTIALS, + github_client=github, + state_path=tmp_path / "state.json", + ) + + assert result["pipelineId"] == "github-acme-demo-main" + assert result["status"] == "cicd-bound" + assert result["phase"] == "ready" + assert result["runtimeId"] == "rt-created" + assert result["github"]["branch"] == "main" + assert result["github"]["pullRequestUrl"] == "" + assert result["github"]["pullRequestNumber"] == 0 + assert result["cicd"]["enabled"] is True + assert result["cicd"]["workflowPath"] == ".github/workflows/publish-agentkit.yml" + assert github.created_branch is None + assert github.pull_request is None + assert github.committed_files[0]["path"] == ".github/workflows/publish-agentkit.yml" + assert "rt-created" in github.committed_files[0]["content"] + assert "Publish to AgentKit Runtime" in github.committed_files[0]["content"] + assert github.actions_secrets == { + "VOLCENGINE_ACCESS_KEY": "ak_test", + "VOLCENGINE_SECRET_KEY": "sk_test", + "VOLCENGINE_SESSION_TOKEN": "token_test", + } + + state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) + record = state["github-acme-demo-main"] + assert record["runtimeId"] == "rt-created" + assert record["cicdEnabled"] is True + assert record["workflowPath"] == ".github/workflows/publish-agentkit.yml" + assert record["githubToken"] == "ghp_secret" + + +def test_create_github_delivery_cicd_pipeline_writes_byteplus_provider_workflow( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import create_github_delivery_cicd_pipeline + + github = FakeCicdGitHubClient() + + result = create_github_delivery_cicd_pipeline( + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="bp-agent", + runtime_id="rt-byteplus", + region="ap-southeast-1", + cloud_provider="byteplus", + project_path=".", + **VOLCENGINE_CREDENTIALS, + github_client=github, + state_path=tmp_path / "state.json", + ) + + workflow = github.committed_files[0]["content"] + assert 'AGENTKIT_CLOUD_PROVIDER: "byteplus"' in workflow + assert 'CLOUD_PROVIDER: "byteplus"' in workflow + assert 'AGENTKIT_REGION: "ap-southeast-1"' in workflow + assert '"CLOUD_PROVIDER": os.environ["CLOUD_PROVIDER"]' in workflow + assert '"DATABASE_VIKING_REGION": "cn-hongkong"' in workflow + assert "AGENTKIT_CLOUD_PROVIDER: volcengine" not in workflow + assert "BYTEPLUS_ACCESS_KEY: ${{ secrets.BYTEPLUS_ACCESS_KEY }}" in workflow + assert "VOLCENGINE_ACCESS_KEY: ${{ secrets.BYTEPLUS_ACCESS_KEY }}" in workflow + assert "credential_prefix = (" in workflow + assert result["cloudProvider"] == "byteplus" + assert github.actions_secrets == { + "BYTEPLUS_ACCESS_KEY": "ak_test", + "BYTEPLUS_SECRET_KEY": "sk_test", + "BYTEPLUS_SESSION_TOKEN": "token_test", + } + + state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) + assert state["github-acme-demo-main"]["cloudProvider"] == "byteplus" + + +def test_initialize_github_delivery_main_commits_source_and_workflow_to_main( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import initialize_github_delivery_main + + github = FakeMainDeliveryGitHubClient() + + result = initialize_github_delivery_main( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + project_path=".", + **VOLCENGINE_CREDENTIALS, + github_client=github, + state_path=tmp_path / "state.json", + ) + + assert result["pipelineId"] == "github-acme-demo-main" + assert result["status"] == "cicd-bound" + assert result["phase"] == "ready" + assert result["runtimeId"] == "rt-created" + assert result["github"]["branch"] == "main" + assert result["github"]["pullRequestUrl"] == "" + assert result["github"]["commitSha"] == "main-init-commit" + assert result["cicd"]["enabled"] is True + assert result["cicd"]["workflowPath"] == ".github/workflows/publish-agentkit.yml" + assert github.created_branch is None + assert github.pull_request is None + assert [item["path"] for item in github.committed_files] == [ + "app.py", + "requirements.txt", + ".github/workflows/publish-agentkit.yml", + ] + assert "[skip runtime]" in github.commit_message + assert ( + "contains(github.event.head_commit.message, '[skip runtime]')" + in github.committed_files[-1]["content"] + ) + assert github.actions_secrets == { + "VOLCENGINE_ACCESS_KEY": "ak_test", + "VOLCENGINE_SECRET_KEY": "sk_test", + "VOLCENGINE_SESSION_TOKEN": "token_test", + } + assert "VOLC_ACCESSKEY" not in github.committed_files[-1]["content"] + assert "VOLCENGINE_ACCESS_KEY" in github.committed_files[-1]["content"] + + state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) + record = state["github-acme-demo-main"] + assert record["branch"] == "main" + assert record["cicdEnabled"] is True + assert record["runtimeId"] == "rt-created" + assert record["versions"][0]["commitSha"] == "main-init-commit" + assert record["versions"][0]["source"] == "github-cicd" + assert record["versions"][0]["pullRequestUrl"] == "" + + +def test_github_client_initializes_empty_repository_branch() -> None: + from veadk.cli.github_cicd import GitHubClient + + session = FakeEmptyRepoSession() + + commit_sha = GitHubClient("ghp_secret", session=session).commit_files( + "acme", + "demo", + branch="main", + files=PROJECT["files"], + message="Studio: initialize empty repo", + ) + + assert commit_sha == "empty-commit" + tree_request = session.request_json("POST", "/repos/acme/demo/git/trees") + assert "base_tree" not in tree_request + commit_request = session.request_json("POST", "/repos/acme/demo/git/commits") + assert commit_request["parents"] == [] + ref_request = session.request_json("POST", "/repos/acme/demo/git/refs") + assert ref_request == {"ref": "refs/heads/main", "sha": "empty-commit"} + assert not session.has_request("PATCH", "/repos/acme/demo/git/refs/heads/main") + + +def test_list_github_delivery_versions_returns_recorded_versions( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + initialize_github_delivery_main, + list_github_delivery_versions, + ) + + state_path = tmp_path / "state.json" + initialize_github_delivery_main( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + **VOLCENGINE_CREDENTIALS, + github_client=FakeMainDeliveryGitHubClient(), + state_path=state_path, + ) + + result = list_github_delivery_versions( + runtime_id="rt-created", + state_path=state_path, + ) + + assert result["runtimeId"] == "rt-created" + assert result["github"]["branch"] == "main" + assert result["currentCommitSha"] == "main-init-commit" + assert result["versions"][0]["version"] == "v1" + assert result["versions"][0]["commitSha"] == "main-init-commit" + assert result["versions"][0]["status"] == "current" + + +def test_list_github_delivery_versions_reads_main_branch_commits( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + initialize_github_delivery_main, + list_github_delivery_versions, + ) + + state_path = tmp_path / "state.json" + initialize_github_delivery_main( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + **VOLCENGINE_CREDENTIALS, + github_client=FakeMainDeliveryGitHubClient(), + state_path=state_path, + ) + + result = list_github_delivery_versions( + runtime_id="rt-created", + github_client=FakeVersionGitHubClient(), + state_path=state_path, + ) + + assert result["currentCommitSha"] == "github-commit-2" + assert result["runtimeStatus"] == "published" + assert [item["commitSha"] for item in result["versions"][:2]] == [ + "github-commit-3", + "github-commit-2", + ] + assert result["versions"][0]["version"] == "v3" + assert result["versions"][0]["author"] == "CatherineKu" + assert result["versions"][0]["description"] == "feat: add pending tool" + assert ( + result["versions"][0]["pullRequestUrl"] == "https://github.com/acme/demo/pull/8" + ) + assert result["versions"][0]["runtimeStatus"] == "publishing" + assert result["versions"][0]["status"] == "publishing" + assert result["versions"][1]["version"] == "v2" + assert result["versions"][1]["author"] == "CatherineKu" + assert result["versions"][1]["description"] == "feat: add version probe" + assert ( + result["versions"][1]["pullRequestUrl"] == "https://github.com/acme/demo/pull/7" + ) + assert result["versions"][1]["runtimeStatus"] == "published" + assert result["versions"][1]["status"] == "current" + + +def test_list_github_delivery_versions_skips_workflow_runs_for_source_only_binding( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + bind_github_cicd_runtime, + create_github_cicd_pipeline, + list_github_delivery_versions, + ) + + 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", + github_client=FakeGitHubClient(commit_sha="source-commit"), + state_path=state_path, + ) + bind_github_cicd_runtime( + pipeline_id="github-acme-demo-main", + runtime_id="rt-source-only", + region="cn-beijing", + state_path=state_path, + ) + github = FakeSourceOnlyVersionGitHubClient() + + result = list_github_delivery_versions( + runtime_id="rt-source-only", + github_client=github, + state_path=state_path, + ) + + assert github.workflow_runs_called is False + assert result["cicd"]["enabled"] is False + assert "githubSyncError" not in result + assert result["versions"][0]["commitSha"] == "source-commit" + assert result["versions"][0]["runtimeStatus"] == "published" + + +def test_create_github_delivery_rollback_pr_uses_target_commit( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + create_github_delivery_rollback_pr, + initialize_github_delivery_main, + ) + + state_path = tmp_path / "state.json" + initialize_github_delivery_main( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + **VOLCENGINE_CREDENTIALS, + github_client=FakeMainDeliveryGitHubClient(), + state_path=state_path, + ) + github = FakeRollbackGitHubClient() + + result = create_github_delivery_rollback_pr( + runtime_id="rt-created", + target_commit_sha="main-init-commit", + github_client=github, + state_path=state_path, + ) + + assert result["runtimeId"] == "rt-created" + assert result["status"] == "rollback-merged" + assert result["github"]["branch"] == "main" + assert result["github"]["pullRequestUrl"] == "https://github.com/acme/demo/pull/9" + assert result["github"]["commitSha"] == "rollback-merge-commit" + assert result["rollback"]["commitSha"] == "rollback-merge-commit" + assert result["rollback"]["targetCommitSha"] == "main-init-commit" + assert result["rollback"]["runtimeStatus"] == "publishing" + assert github.rollback_request == ( + "main", + "main-init-commit", + "studio/rollback-main-ini", + ) + assert github.merged_pull_request == 9 + state = json.loads(state_path.read_text(encoding="utf-8")) + record = state["github-acme-demo-main"] + assert record["versions"][0]["commitSha"] == "main-init-commit" + assert record["rollbackEvents"][0]["commitSha"] == "rollback-merge-commit" + assert record["rollbackEvents"][0]["targetCommitSha"] == "main-init-commit" + + +def test_list_github_delivery_versions_marks_rollback_as_event( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + create_github_delivery_rollback_pr, + initialize_github_delivery_main, + list_github_delivery_versions, + ) + + state_path = tmp_path / "state.json" + initialize_github_delivery_main( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + **VOLCENGINE_CREDENTIALS, + github_client=FakeMainDeliveryGitHubClient(), + state_path=state_path, + ) + create_github_delivery_rollback_pr( + runtime_id="rt-created", + target_commit_sha="main-init-commit", + github_client=FakeRollbackGitHubClient(), + state_path=state_path, + ) + + result = list_github_delivery_versions( + runtime_id="rt-created", + github_client=FakeRollbackVersionGitHubClient(), + state_path=state_path, + ) + + assert result["currentCommitSha"] == "main-init-commit" + assert result["runtimeStatus"] == "published" + assert result["versions"][0]["changeType"] == "rollback" + assert result["versions"][0]["version"] == "回退事件" + assert result["versions"][0]["runtimeStatus"] == "published" + assert result["versions"][0]["rollbackTargetCommitSha"] == "main-init-commit" + assert result["versions"][1]["commitSha"] == "main-init-commit" + assert result["versions"][1]["status"] == "current" + + +def test_attach_github_delivery_cicd_pipeline_uses_existing_source_sync_branch( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + attach_github_delivery_cicd_pipeline, + create_github_cicd_pipeline, + ) + + 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", + github_client=FakeGitHubClient(), + state_path=state_path, + ) + github = FakeGitHubClient(commit_sha="workflow-commit") + + result = attach_github_delivery_cicd_pipeline( + pipeline_id="github-acme-demo-main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + project_path=".", + **VOLCENGINE_CREDENTIALS, + github_client=github, + state_path=state_path, + ) + + assert result["pipelineId"] == "github-acme-demo-main" + assert result["runtimeId"] == "rt-created" + assert result["status"] == "cicd-bound" + assert result["github"]["branch"] == "main" + assert result["github"]["pullRequestUrl"] == "" + assert result["github"]["pullRequestNumber"] == 0 + assert result["github"]["commitSha"] == "workflow-commit" + assert result["cicd"]["enabled"] is True + assert github.created_branch is None + assert github.pull_request is None + assert github.committed_files[0]["path"] == ".github/workflows/publish-agentkit.yml" + assert "rt-created" in github.committed_files[0]["content"] + assert github.actions_secrets["VOLCENGINE_ACCESS_KEY"] == "ak_test" + assert github.actions_secrets["VOLCENGINE_SECRET_KEY"] == "sk_test" + + state = json.loads(state_path.read_text(encoding="utf-8")) + record = state["github-acme-demo-main"] + assert record["runtimeId"] == "rt-created" + assert record["cicdEnabled"] is True + assert record["workflowPath"] == ".github/workflows/publish-agentkit.yml" + + +def test_bind_github_cicd_pipeline_to_runtime( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + bind_github_cicd_runtime, + create_github_cicd_pipeline, + ) + + 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", + github_client=FakeGitHubClient(), + state_path=state_path, + ) + + binding = bind_github_cicd_runtime( + pipeline_id="github-acme-demo-main", + runtime_id="rt-created", + region="cn-beijing", + state_path=state_path, + ) + + assert binding["runtimeId"] == "rt-created" + assert binding["github"]["pullRequestUrl"] == "" + state = json.loads(state_path.read_text(encoding="utf-8")) + assert state["github-acme-demo-main"]["runtimeId"] == "rt-created" + + +def test_sync_github_cicd_runtime_pushes_bound_source_branch( + tmp_path: Path, +) -> None: + 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") + + 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, + state_path=state_path, + ) + bind_github_cicd_runtime( + pipeline_id="github-acme-demo-main", + 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, + state_path=state_path, + ) + + assert result["github"]["commitSha"] == "commit-2" + assert result["github"]["branch"] == "main" + assert result["github"]["pullRequestUrl"] == "" + assert result["runtimeId"] == "rt-created" + assert second_github.committed_files == PROJECT["files"] + assert second_github.pull_request is None + + +def test_sync_github_cicd_runtime_preserves_cicd_binding( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + attach_github_delivery_cicd_pipeline, + create_github_cicd_pipeline, + sync_github_cicd_runtime, + ) + + 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", + github_client=FakeGitHubClient(), + state_path=state_path, + ) + attach_github_delivery_cicd_pipeline( + pipeline_id="github-acme-demo-main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + project_path=".", + **VOLCENGINE_CREDENTIALS, + github_client=FakeGitHubClient(commit_sha="workflow-commit"), + state_path=state_path, + ) + + result = sync_github_cicd_runtime( + runtime_id="rt-created", + project=PROJECT, + github_client=FakeGitHubClient(commit_sha="source-commit"), + state_path=state_path, + ) + + assert result["runtimeId"] == "rt-created" + assert result["github"]["commitSha"] == "source-commit" + assert result["github"]["branch"] == "main" + assert result["github"]["pullRequestUrl"] == "" + assert result["cicd"]["enabled"] is True + assert result["cicd"]["workflowPath"] == ".github/workflows/publish-agentkit.yml" + + +def test_sync_github_cicd_runtime_submits_code_when_cicd_bound( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import ( + initialize_github_delivery_main, + sync_github_cicd_runtime, + ) + + state_path = tmp_path / "state.json" + initialize_github_delivery_main( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + runtime_name="demo-agent", + runtime_id="rt-created", + region="cn-beijing", + **VOLCENGINE_CREDENTIALS, + github_client=FakeMainDeliveryGitHubClient(), + state_path=state_path, + ) + github = FakeAutoMergeGitHubClient(commit_sha="source-commit") + + result = sync_github_cicd_runtime( + runtime_id="rt-created", + project=PROJECT, + github_client=github, + state_path=state_path, + ) + + assert result["runtimeId"] == "rt-created" + assert result["status"] == "submitted" + assert result["github"]["branch"] == "main" + assert result["github"]["commitSha"] == "source-commit" + assert result["github"]["pullRequestUrl"] == "" + assert github.pull_request is None + assert github.merged_pull_request is None + + state = json.loads(state_path.read_text(encoding="utf-8")) + record = state["github-acme-demo-main"] + assert record["latestCommitSha"] == "source-commit" + assert record["versions"][0]["commitSha"] == "source-commit" + assert record["versions"][0]["status"] == "submitted" + assert record["versions"][0]["source"] == "github-cicd" + + +def test_sync_github_cicd_runtime_requires_bound_runtime( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import GitHubCicdError, sync_github_cicd_runtime + + with pytest.raises(GitHubCicdError) as exc: + sync_github_cicd_runtime( + runtime_id="rt-missing", + project=PROJECT, + state_path=tmp_path / "state.json", + ) + + 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( + 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"}, + } + + 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"}, + } + + 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-delivery/source-sync", + 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_legacy_github_cicd_pipeline_endpoint_is_removed( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + + 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 == 404 + + +def test_studio_source_pr_endpoint_is_removed( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + + with TestClient(app) as client: + response = client.post( + "/web/github-delivery/source-pr", + 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 == 404 + + +def test_studio_endpoint_creates_github_delivery_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_delivery_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "pipelineId": "github-acme-demo-cicd-rt-1", + "status": "cicd-bound", + "phase": "ready", + "runtimeId": "rt-1", + "github": { + "branch": "studio/cicd-rt-1", + "pullRequestUrl": "https://github.com/acme/demo/pull/2", + }, + "cicd": { + "enabled": True, + "workflowPath": ".github/workflows/publish-agentkit.yml", + }, + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.create_github_delivery_cicd_pipeline", + fake_create_github_delivery_cicd_pipeline, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-delivery/cicd-pipeline", + headers={"X-VeADK-Local-User": "developer"}, + json={ + "githubUrl": "https://github.com/acme/demo", + "githubToken": "ghp_secret", + "baseBranch": "main", + "runtimeName": "demo-agent", + "runtimeId": "rt-1", + "region": "cn-beijing", + "cloudProvider": "byteplus", + "projectPath": ".", + "volcengineAccessKey": "ak_test", + "volcengineSecretKey": "sk_test", + "volcengineSessionToken": "token_test", + }, + ) + + assert response.status_code == 200 + assert response.json()["pipelineId"] == "github-acme-demo-cicd-rt-1" + assert response.json()["cicd"]["enabled"] is True + assert captured["github_url"] == "https://github.com/acme/demo" + assert captured["github_token"] == "ghp_secret" + assert captured["base_branch"] == "main" + assert captured["runtime_name"] == "demo-agent" + assert captured["runtime_id"] == "rt-1" + assert captured["region"] == "cn-beijing" + assert captured["cloud_provider"] == "byteplus" + assert captured["project_path"] == "." + assert captured["volcengine_access_key"] == "ak_test" + assert captured["volcengine_secret_key"] == "sk_test" + assert captured["volcengine_session_token"] == "token_test" + + +def test_studio_endpoint_initializes_github_delivery_main( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + captured: dict[str, Any] = {} + + def fake_initialize_github_delivery_main(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "pipelineId": "github-acme-demo-main", + "status": "cicd-bound", + "phase": "ready", + "runtimeId": "rt-1", + "github": {"branch": "main", "pullRequestUrl": ""}, + "cicd": { + "enabled": True, + "workflowPath": ".github/workflows/publish-agentkit.yml", + }, + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.initialize_github_delivery_main", + fake_initialize_github_delivery_main, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-delivery/init-main", + headers={"X-VeADK-Local-User": "developer"}, + json={ + "project": PROJECT, + "githubUrl": "https://github.com/acme/demo", + "githubToken": "ghp_secret", + "baseBranch": "main", + "runtimeName": "demo-agent", + "runtimeId": "rt-1", + "region": "cn-beijing", + "cloudProvider": "byteplus", + "projectPath": ".", + "volcengineAccessKey": "ak_test", + "volcengineSecretKey": "sk_test", + "volcengineSessionToken": "token_test", + }, + ) + + assert response.status_code == 200 + assert response.json()["pipelineId"] == "github-acme-demo-main" + assert response.json()["github"]["branch"] == "main" + 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["runtime_name"] == "demo-agent" + assert captured["runtime_id"] == "rt-1" + assert captured["region"] == "cn-beijing" + assert captured["cloud_provider"] == "byteplus" + assert captured["project_path"] == "." + assert captured["volcengine_access_key"] == "ak_test" + assert captured["volcengine_secret_key"] == "sk_test" + assert captured["volcengine_session_token"] == "token_test" + + +def test_studio_endpoint_lists_github_delivery_versions( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + captured: dict[str, Any] = {} + + def fake_list_github_delivery_versions(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "runtimeId": "rt-1", + "currentCommitSha": "abc123", + "github": {"branch": "main"}, + "versions": [{"version": "v1", "commitSha": "abc123"}], + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.list_github_delivery_versions", + fake_list_github_delivery_versions, + ) + + with TestClient(app) as client: + response = client.get( + "/web/github-delivery/versions?runtimeId=rt-1", + headers={"X-VeADK-Local-User": "developer"}, + ) + + assert response.status_code == 200 + assert response.json()["runtimeId"] == "rt-1" + assert captured["runtime_id"] == "rt-1" + + +def test_studio_endpoint_creates_github_delivery_rollback_pr( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + captured: dict[str, Any] = {} + + def fake_create_github_delivery_rollback_pr(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "runtimeId": "rt-1", + "status": "rollback-pr-created", + "github": {"pullRequestUrl": "https://github.com/acme/demo/pull/9"}, + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.create_github_delivery_rollback_pr", + fake_create_github_delivery_rollback_pr, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-delivery/rollback-pr", + headers={"X-VeADK-Local-User": "developer"}, + json={"runtimeId": "rt-1", "targetCommitSha": "abc123"}, + ) + + assert response.status_code == 200 + assert response.json()["status"] == "rollback-pr-created" + assert captured["runtime_id"] == "rt-1" + assert captured["target_commit_sha"] == "abc123" + + +def test_studio_endpoint_attaches_github_delivery_cicd_to_source_sync( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + captured: dict[str, Any] = {} + + def fake_attach_github_delivery_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "pipelineId": "github-acme-demo-studio-demo-agent", + "status": "cicd-bound", + "phase": "ready", + "runtimeId": "rt-1", + "github": { + "branch": "studio/demo-agent", + "pullRequestUrl": "https://github.com/acme/demo/pull/1", + }, + "cicd": { + "enabled": True, + "workflowPath": ".github/workflows/publish-agentkit.yml", + }, + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.attach_github_delivery_cicd_pipeline", + fake_attach_github_delivery_cicd_pipeline, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-delivery/source-sync/cicd", + headers={"X-VeADK-Local-User": "developer"}, + json={ + "pipelineId": "github-acme-demo-studio-demo-agent", + "runtimeName": "demo-agent", + "runtimeId": "rt-1", + "region": "cn-beijing", + "projectPath": ".", + }, + ) + + assert response.status_code == 200 + assert response.json()["pipelineId"] == "github-acme-demo-studio-demo-agent" + assert response.json()["cicd"]["enabled"] is True + assert captured["pipeline_id"] == "github-acme-demo-studio-demo-agent" + assert captured["runtime_name"] == "demo-agent" + assert captured["runtime_id"] == "rt-1" + assert captured["region"] == "cn-beijing" + assert captured["project_path"] == "." + + +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, +) -> 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-delivery/source-sync", + 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.commit_message = "" + self.pull_request: tuple[str, str] | None = None + self.actions_secrets: dict[str, str] = {} + + 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) == ("acme", "demo") + assert branch in {"main", "studio/demo-agent"} + assert "Studio" in message + self.committed_files = files + self.commit_message = message + 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 set_actions_secret( + self, + owner: str, + repo: str, + *, + name: str, + value: str, + ) -> None: + assert (owner, repo) == ("acme", "demo") + self.actions_secrets[name] = value + + +class FakeCicdGitHubClient(FakeGitHubClient): + def commit_files( + self, + owner: str, + repo: str, + *, + branch: str, + files: list[dict[str, str]], + message: str, + ) -> str: + assert (owner, repo, branch) == ("acme", "demo", "main") + assert "GitHub Actions" in message + self.committed_files = files + self.commit_message = message + 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 "持续交付" in title + assert "GitHub Actions" in body + self.pull_request = (head_branch, base_branch) + return SimpleNamespace(number=2, url="https://github.com/acme/demo/pull/2") + + +class FakeMainDeliveryGitHubClient(FakeGitHubClient): + def __init__(self, commit_sha: str = "main-init-commit") -> None: + super().__init__(commit_sha=commit_sha) + + def commit_files( + self, + owner: str, + repo: str, + *, + branch: str, + files: list[dict[str, str]], + message: str, + ) -> str: + assert (owner, repo, branch) == ("acme", "demo", "main") + self.committed_files = files + self.commit_message = message + return self.commit_sha + + +class FakeRollbackGitHubClient(FakeGitHubClient): + def __init__(self) -> None: + super().__init__(commit_sha="rollback-commit") + self.rollback_request: tuple[str, str, str] | None = None + self.merged_pull_request: int | None = None + + def create_rollback_pull_request( + self, + owner: str, + repo: str, + *, + base_branch: str, + target_commit_sha: str, + rollback_branch: str, + title: str, + body: str, + ) -> SimpleNamespace: + assert (owner, repo) == ("acme", "demo") + assert title + assert body + self.rollback_request = (base_branch, target_commit_sha, rollback_branch) + return SimpleNamespace( + number=9, + url="https://github.com/acme/demo/pull/9", + commit_sha="rollback-commit", + ) + + def merge_pull_request( + self, + owner: str, + repo: str, + *, + pull_request_number: int, + commit_title: str, + ) -> str: + assert (owner, repo) == ("acme", "demo") + assert commit_title + self.merged_pull_request = pull_request_number + return "rollback-merge-commit" + + +class FakeAutoMergeGitHubClient(FakeGitHubClient): + def __init__(self, commit_sha: str = "source-commit") -> None: + super().__init__(commit_sha=commit_sha) + self.merged_pull_request: int | None = None + + def merge_pull_request( + self, + owner: str, + repo: str, + *, + pull_request_number: int, + commit_title: str, + ) -> str: + assert (owner, repo) == ("acme", "demo") + assert commit_title + self.merged_pull_request = pull_request_number + return "merge-commit" + + +class FakeVersionGitHubClient(FakeGitHubClient): + def list_branch_commits( + self, + owner: str, + repo: str, + *, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + assert (owner, repo, branch) == ("acme", "demo", "main") + assert limit > 0 + return [ + { + "sha": "github-commit-3", + "commit": { + "message": "feat: add pending tool\n\nmore details", + "author": {"date": "2026-08-13T07:49:24Z", "name": "Catherine"}, + }, + "author": {"login": "CatherineKu"}, + }, + { + "sha": "github-commit-2", + "commit": { + "message": "feat: add version probe\n\nmore details", + "author": {"date": "2026-08-13T06:49:24Z", "name": "Catherine"}, + }, + "author": {"login": "CatherineKu"}, + }, + { + "sha": "main-init-commit", + "commit": { + "message": "Studio: initialize demo_agent delivery [skip runtime]", + "author": {"date": "2026-08-13T05:49:24Z", "name": "Studio"}, + }, + "author": None, + }, + ] + + def list_commit_pull_requests( + self, + owner: str, + repo: str, + *, + commit_sha: str, + ) -> list[SimpleNamespace]: + assert (owner, repo) == ("acme", "demo") + if commit_sha == "github-commit-3": + return [ + SimpleNamespace(number=8, url="https://github.com/acme/demo/pull/8") + ] + if commit_sha != "github-commit-2": + return [] + return [SimpleNamespace(number=7, url="https://github.com/acme/demo/pull/7")] + + def list_workflow_runs( + self, + owner: str, + repo: str, + *, + workflow_path: str, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + assert (owner, repo, workflow_path, branch) == ( + "acme", + "demo", + ".github/workflows/publish-agentkit.yml", + "main", + ) + assert limit > 0 + return [ + { + "head_sha": "github-commit-3", + "status": "in_progress", + "conclusion": None, + "html_url": "https://github.com/acme/demo/actions/runs/3", + "updated_at": "2026-08-13T07:50:24Z", + }, + { + "head_sha": "github-commit-2", + "status": "completed", + "conclusion": "success", + "html_url": "https://github.com/acme/demo/actions/runs/2", + "updated_at": "2026-08-13T06:50:24Z", + }, + ] + + +class FakeSourceOnlyVersionGitHubClient(FakeGitHubClient): + def __init__(self) -> None: + super().__init__() + self.workflow_runs_called = False + + def list_branch_commits( + self, + owner: str, + repo: str, + *, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + assert (owner, repo, branch) == ("acme", "demo", "main") + assert limit > 0 + return [ + { + "sha": "source-commit", + "commit": { + "message": "Studio: sync demo_agent Agent source", + "author": {"date": "2026-08-13T05:49:24Z", "name": "Studio"}, + }, + "author": None, + } + ] + + def list_commit_pull_requests( + self, + owner: str, + repo: str, + *, + commit_sha: str, + ) -> list[SimpleNamespace]: + assert (owner, repo, commit_sha) == ("acme", "demo", "source-commit") + return [] + + def list_workflow_runs( + self, + owner: str, + repo: str, + *, + workflow_path: str, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + from veadk.cli.github_cicd import GitHubCicdError + + self.workflow_runs_called = True + raise GitHubCicdError( + "GitHub API GET /actions/workflows/publish-agentkit.yml/runs failed: 404" + ) + + +class FakeRollbackVersionGitHubClient(FakeVersionGitHubClient): + def list_branch_commits( + self, + owner: str, + repo: str, + *, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + assert (owner, repo, branch) == ("acme", "demo", "main") + assert limit > 0 + return [ + { + "sha": "rollback-merge-commit", + "commit": { + "message": "Studio: rollback Agent Runtime to main-init-co", + "author": {"date": "2026-08-13T08:49:24Z", "name": "Studio"}, + }, + "author": {"login": "CatherineKu"}, + }, + { + "sha": "main-init-commit", + "commit": { + "message": "Studio: initialize demo_agent delivery [skip runtime]", + "author": {"date": "2026-08-13T05:49:24Z", "name": "Studio"}, + }, + "author": None, + }, + ] + + def list_commit_pull_requests( + self, + owner: str, + repo: str, + *, + commit_sha: str, + ) -> list[SimpleNamespace]: + assert (owner, repo) == ("acme", "demo") + if commit_sha != "rollback-merge-commit": + return [] + return [SimpleNamespace(number=9, url="https://github.com/acme/demo/pull/9")] + + def list_workflow_runs( + self, + owner: str, + repo: str, + *, + workflow_path: str, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + assert (owner, repo, workflow_path, branch) == ( + "acme", + "demo", + ".github/workflows/publish-agentkit.yml", + "main", + ) + assert limit > 0 + return [ + { + "head_sha": "rollback-merge-commit", + "status": "completed", + "conclusion": "success", + "html_url": "https://github.com/acme/demo/actions/runs/9", + "updated_at": "2026-08-13T08:50:24Z", + } + ] + + +class FakeGithubResponse: + def __init__( + self, + status_code: int, + payload: Any, + *, + reason: str = "", + ) -> None: + self.status_code = status_code + self._payload = payload + self.reason = reason + self.text = json.dumps(payload) + + def json(self) -> Any: + return self._payload + + +class FakeEmptyRepoSession: + def __init__(self) -> None: + self.requests: list[tuple[str, str, dict[str, Any]]] = [] + self._blob_index = 0 + + def request(self, method: str, url: str, **kwargs: Any) -> FakeGithubResponse: + path = url.removeprefix("https://api.github.com") + self.requests.append((method, path, kwargs)) + if method == "GET" and path == "/repos/acme/demo/git/ref/heads/main": + return FakeGithubResponse( + 409, + {"message": "Git Repository is empty."}, + reason="Conflict", + ) + if method == "POST" and path == "/repos/acme/demo/git/blobs": + self._blob_index += 1 + return FakeGithubResponse(201, {"sha": f"blob-{self._blob_index}"}) + if method == "POST" and path == "/repos/acme/demo/git/trees": + return FakeGithubResponse(201, {"sha": "empty-tree"}) + if method == "POST" and path == "/repos/acme/demo/git/commits": + return FakeGithubResponse(201, {"sha": "empty-commit"}) + if method == "POST" and path == "/repos/acme/demo/git/refs": + return FakeGithubResponse(201, {"ref": "refs/heads/main"}) + return FakeGithubResponse(500, {"message": f"unexpected {method} {path}"}) + + def request_json(self, method: str, path: str) -> dict[str, Any]: + for request_method, request_path, kwargs in self.requests: + if request_method == method and request_path == path: + payload = kwargs.get("json") + assert isinstance(payload, dict) + return payload + raise AssertionError(f"request not found: {method} {path}") + + def has_request(self, method: str, path: str) -> bool: + return any( + request_method == method and request_path == path + for request_method, request_path, _kwargs in self.requests + ) + + +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/veadk/cli/cli.py b/veadk/cli/cli.py index df8cc2ba7..8709bf22f 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 e9dfa65e0..826882f66 100644 --- a/veadk/cli/cli_frontend.py +++ b/veadk/cli/cli_frontend.py @@ -3732,6 +3732,270 @@ async def _generate_agent_project(request: Request): project = await _generate_project_from_request(data, debug=False) return project.model_dump() + @app.post("/web/github-delivery/source-sync") + async def _create_github_source_sync(request: Request): + """Push Studio-generated Agent source to the configured GitHub branch.""" + _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"), + cloud_provider=str(data.get("cloudProvider") or provider), + ) + 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 source") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=(str(data.get("githubToken") or ""),), + ), + ) from error + + @app.post("/web/github-delivery/cicd-pipeline") + async def _create_github_delivery_cicd_pipeline(request: Request): + """Create or update the GitHub Actions workflow for Runtime delivery.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + create_github_delivery_cicd_pipeline, + ) + + return create_github_delivery_cicd_pipeline( + github_url=str(data.get("githubUrl") or ""), + github_token=str(data.get("githubToken") or ""), + base_branch=str(data.get("baseBranch") or "main"), + runtime_name=str(data.get("runtimeName") or ""), + runtime_id=str(data.get("runtimeId") or ""), + region=str(data.get("region") or "cn-beijing"), + cloud_provider=str(data.get("cloudProvider") or provider), + project_path=str(data.get("projectPath") or "."), + volcengine_access_key=str(data.get("volcengineAccessKey") or ""), + volcengine_secret_key=str(data.get("volcengineSecretKey") or ""), + volcengine_session_token=str(data.get("volcengineSessionToken") or ""), + ) + 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 delivery CICD pipeline") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=( + str(data.get("githubToken") or ""), + str(data.get("volcengineAccessKey") or ""), + str(data.get("volcengineSecretKey") or ""), + str(data.get("volcengineSessionToken") or ""), + ), + ), + ) from error + + @app.post("/web/github-delivery/init-main") + async def _initialize_github_delivery_main(request: Request): + """Initialize target branch with Agent source and Runtime delivery workflow.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + initialize_github_delivery_main, + ) + + return initialize_github_delivery_main( + 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"), + runtime_name=str(data.get("runtimeName") or ""), + runtime_id=str(data.get("runtimeId") or ""), + region=str(data.get("region") or "cn-beijing"), + cloud_provider=str(data.get("cloudProvider") or provider), + project_path=str(data.get("projectPath") or "."), + volcengine_access_key=str(data.get("volcengineAccessKey") or ""), + volcengine_secret_key=str(data.get("volcengineSecretKey") or ""), + volcengine_session_token=str(data.get("volcengineSessionToken") or ""), + ) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + except Exception as error: + logger.exception("Failed to initialize GitHub delivery main") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=( + str(data.get("githubToken") or ""), + str(data.get("volcengineAccessKey") or ""), + str(data.get("volcengineSecretKey") or ""), + str(data.get("volcengineSessionToken") or ""), + ), + ), + ) from error + + @app.post("/web/github-delivery/source-sync/cicd") + async def _attach_github_delivery_cicd_to_source_sync(request: Request): + """Attach Runtime delivery workflow to an existing source sync branch.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + attach_github_delivery_cicd_pipeline, + ) + + return attach_github_delivery_cicd_pipeline( + pipeline_id=str(data.get("pipelineId") or ""), + runtime_name=str(data.get("runtimeName") or ""), + runtime_id=str(data.get("runtimeId") or ""), + region=str(data.get("region") or "cn-beijing"), + cloud_provider=str(data.get("cloudProvider") or provider), + project_path=str(data.get("projectPath") or "."), + github_token=str(data.get("githubToken") or ""), + volcengine_access_key=str(data.get("volcengineAccessKey") or ""), + volcengine_secret_key=str(data.get("volcengineSecretKey") or ""), + volcengine_session_token=str(data.get("volcengineSessionToken") or ""), + ) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + except Exception as error: + logger.exception("Failed to attach GitHub delivery CICD pipeline") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=( + str(data.get("githubToken") or ""), + str(data.get("volcengineAccessKey") or ""), + str(data.get("volcengineSecretKey") or ""), + str(data.get("volcengineSessionToken") or ""), + ), + ), + ) from error + + @app.get("/web/github-delivery/versions") + async def _list_github_delivery_versions( + request: Request, + runtimeId: str = "", + ): + """Return GitHub delivery versions for a Runtime.""" + _require_agent_management(request) + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + list_github_delivery_versions, + ) + + return list_github_delivery_versions(runtime_id=runtimeId) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + + @app.post("/web/github-delivery/rollback-pr") + async def _create_github_delivery_rollback_pr(request: Request): + """Create a GitHub rollback PR for a Runtime-bound delivery branch.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + create_github_delivery_rollback_pr, + ) + + return create_github_delivery_rollback_pr( + runtime_id=str(data.get("runtimeId") or ""), + target_commit_sha=str(data.get("targetCommitSha") 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 create GitHub delivery rollback PR") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=(str(data.get("githubToken") or ""),), + ), + ) 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"), + cloud_provider=str(data.get("cloudProvider") or provider), + ) + 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 new file mode 100644 index 000000000..944bed136 --- /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 pull request setup.""" + +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 or update the GitHub PR for 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 000000000..e0762409e --- /dev/null +++ b/veadk/cli/github_cicd.py @@ -0,0 +1,2087 @@ +# 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 base64 +import json +import re +from collections.abc import Callable +from datetime import datetime, timezone +from pathlib import Path +from types import SimpleNamespace +from typing import Any +from urllib.parse import quote, urlparse + +import requests + +from veadk.utils.cloud_provider import ( + DEFAULT_BYTEPLUS_VIKING_MEMORY_REGION, + DEFAULT_CLOUD_PROVIDER, + CloudProvider, + normalize_cloud_provider, +) + +ProgressCallback = Callable[[str], None] + +UTC = timezone.utc +DEFAULT_STATE_PATH = Path.home() / ".veadk" / "github-cicd-pipelines.json" +GITHUB_API = "https://api.github.com" +WORKFLOW_PATH = ".github/workflows/publish-agentkit.yml" +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", + cloud_provider: CloudProvider = DEFAULT_CLOUD_PROVIDER, + github_client: Any | None = None, + state_path: str | Path | None = None, + progress: ProgressCallback | None = None, +) -> dict[str, Any]: + """Push the Agent project source to a Studio-managed GitHub branch.""" + _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") + cloud_provider = _normalize_delivery_cloud_provider(cloud_provider) + 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) + target_branch = base_branch + pipeline_id = _pipeline_id(owner, repo, target_branch) + existing = state.get(pipeline_id, {}) + + github = _push_github_source( + client=client, + owner=owner, + repo=repo, + project=project, + branch=target_branch, + progress=progress, + ) + + _emit(progress, "Saving GitHub source sync 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=target_branch, + pull_request_url="", + pull_request_number=0, + runtime_id=str(existing.get("runtimeId") or ""), + region=region, + cloud_provider=cloud_provider, + latest_commit_sha=github["commitSha"], + github_token=token, + status="succeeded", + phase="ready", + last_error=None, + ) + _emit(progress, "GitHub source sync ready.") + + return { + "pipelineId": pipeline_id, + "status": "succeeded", + "phase": "ready", + "updatedAt": updated_at, + "cloudProvider": cloud_provider, + "github": github, + } + + +def create_github_delivery_cicd_pipeline( + *, + github_url: str, + github_token: str, + base_branch: str = "main", + runtime_name: str, + runtime_id: str, + region: str = "cn-beijing", + cloud_provider: CloudProvider = DEFAULT_CLOUD_PROVIDER, + project_path: str = ".", + volcengine_access_key: str = "", + volcengine_secret_key: str = "", + volcengine_session_token: str = "", + github_client: Any | None = None, + state_path: str | Path | None = None, + progress: ProgressCallback | None = None, +) -> dict[str, Any]: + """Create/update the GitHub Actions workflow for Runtime continuous delivery.""" + 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") + runtime_name = runtime_name.strip() + runtime_id = runtime_id.strip() + if not runtime_name: + raise GitHubCicdError("Runtime name is required", phase="cicd") + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="cicd") + cloud_provider = _normalize_delivery_cloud_provider(cloud_provider) + project_path = _validate_project_path(project_path) + owner, repo = parse_github_repo_url(github_url) + + 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) + pipeline_id = _pipeline_id(owner, repo, base_branch) + + _emit(progress, f"Connecting GitHub repo {owner}/{repo}...") + client.ensure_repository_access(owner, repo) + _configure_runtime_delivery_secrets( + client, + owner, + repo, + access_key=volcengine_access_key, + secret_key=volcengine_secret_key, + session_token=volcengine_session_token, + cloud_provider=cloud_provider, + progress=progress, + ) + _emit(progress, f"Writing GitHub Actions workflow to {base_branch}...") + commit_sha = client.commit_files( + owner, + repo, + branch=base_branch, + files=[ + { + "path": WORKFLOW_PATH, + "content": _agentkit_runtime_workflow( + base_branch=base_branch, + project_path=project_path, + runtime_name=runtime_name, + runtime_id=runtime_id, + region=region, + cloud_provider=cloud_provider, + ), + } + ], + message="Studio: add GitHub Actions AgentKit Runtime delivery", + ) + + 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=base_branch, + pull_request_url="", + pull_request_number=0, + runtime_id=runtime_id, + region=region, + cloud_provider=cloud_provider, + latest_commit_sha=commit_sha, + github_token=token, + status="cicd-bound", + phase="ready", + last_error=None, + ) + state[pipeline_id]["cicdEnabled"] = True + state[pipeline_id]["workflowPath"] = WORKFLOW_PATH + state[pipeline_id]["projectPath"] = project_path + _append_version( + state[pipeline_id], + commit_sha=commit_sha, + branch=base_branch, + pull_request_url="", + pull_request_number=0, + author="Studio", + status="current", + source="github-cicd", + description="挂载 GitHub 持续交付", + created_at=updated_at, + ) + _save_state(state_file, state) + result = _state_to_response(state[pipeline_id]) + result["updatedAt"] = updated_at + return result + + +def initialize_github_delivery_main( + *, + project: object, + github_url: str, + github_token: str, + base_branch: str = "main", + runtime_name: str, + runtime_id: str, + region: str = "cn-beijing", + cloud_provider: CloudProvider = DEFAULT_CLOUD_PROVIDER, + project_path: str = ".", + volcengine_access_key: str = "", + volcengine_secret_key: str = "", + volcengine_session_token: str = "", + github_client: Any | None = None, + state_path: str | Path | None = None, + progress: ProgressCallback | None = None, +) -> dict[str, Any]: + """Initialize the target branch with Agent source and Runtime workflow.""" + _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") + runtime_name = runtime_name.strip() + runtime_id = runtime_id.strip() + if not runtime_name: + raise GitHubCicdError("Runtime name is required", phase="cicd") + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="cicd") + cloud_provider = _normalize_delivery_cloud_provider(cloud_provider) + project_path = _validate_project_path(project_path) + 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) + pipeline_id = _pipeline_id(owner, repo, base_branch) + + client.ensure_repository_access(owner, repo) + _configure_runtime_delivery_secrets( + client, + owner, + repo, + access_key=volcengine_access_key, + secret_key=volcengine_secret_key, + session_token=volcengine_session_token, + cloud_provider=cloud_provider, + progress=progress, + ) + files = [ + *project["files"], + { + "path": WORKFLOW_PATH, + "content": _agentkit_runtime_workflow( + base_branch=base_branch, + project_path=project_path, + runtime_name=runtime_name, + runtime_id=runtime_id, + region=region, + cloud_provider=cloud_provider, + ), + }, + ] + _emit(progress, f"Initializing {base_branch} with Agent source and workflow...") + commit_sha = client.commit_files( + owner, + repo, + branch=base_branch, + files=files, + message=f"Studio: initialize {project['name']} delivery [skip runtime]", + ) + + 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=base_branch, + pull_request_url="", + pull_request_number=0, + runtime_id=runtime_id, + region=region, + cloud_provider=cloud_provider, + latest_commit_sha=commit_sha, + github_token=token, + status="cicd-bound", + phase="ready", + last_error=None, + ) + record = state[pipeline_id] + record["cicdEnabled"] = True + record["workflowPath"] = WORKFLOW_PATH + record["projectPath"] = project_path + _append_version( + record, + commit_sha=commit_sha, + branch=base_branch, + pull_request_url="", + pull_request_number=0, + author="Studio", + status="current", + source="github-cicd", + description="初始化 GitHub 持续交付", + created_at=updated_at, + ) + _save_state(state_file, state) + result = _state_to_response(record) + result["updatedAt"] = updated_at + return result + + +def attach_github_delivery_cicd_pipeline( + *, + pipeline_id: str, + runtime_name: str, + runtime_id: str, + region: str = "cn-beijing", + cloud_provider: CloudProvider | None = None, + project_path: str = ".", + github_token: str = "", + volcengine_access_key: str = "", + volcengine_secret_key: str = "", + volcengine_session_token: str = "", + github_client: Any | None = None, + state_path: str | Path | None = None, + progress: ProgressCallback | None = None, +) -> dict[str, Any]: + """Attach GitHub Actions Runtime delivery to an existing source sync branch.""" + pipeline_id = pipeline_id.strip() + runtime_name = runtime_name.strip() + runtime_id = runtime_id.strip() + if not pipeline_id: + raise GitHubCicdError("GitHub CI/CD pipelineId is required", phase="cicd") + if not runtime_name: + raise GitHubCicdError("Runtime name is required", phase="cicd") + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="cicd") + project_path = _validate_project_path(project_path) + 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 source sync binding is not found: {pipeline_id}", + phase="cicd", + runtime_id=runtime_id, + ) + cloud_provider = _normalize_delivery_cloud_provider( + cloud_provider or str(record.get("cloudProvider") or DEFAULT_CLOUD_PROVIDER) + ) + + token = github_token.strip() or str(record.get("githubToken") or "").strip() + if not token: + raise GitHubCicdError( + "GitHub token is required to attach CICD to this source sync branch", + 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 source sync binding is incomplete", + phase="cicd", + runtime_id=runtime_id, + ) + + _emit(progress, f"Writing GitHub Actions workflow to {studio_branch}...") + client = github_client or GitHubClient(token) + _configure_runtime_delivery_secrets( + client, + owner, + repo, + access_key=volcengine_access_key, + secret_key=volcengine_secret_key, + session_token=volcengine_session_token, + cloud_provider=cloud_provider, + progress=progress, + ) + commit_sha = client.commit_files( + owner, + repo, + branch=studio_branch, + files=[ + { + "path": WORKFLOW_PATH, + "content": _agentkit_runtime_workflow( + base_branch=base_branch, + project_path=project_path, + runtime_name=runtime_name, + runtime_id=runtime_id, + region=region, + cloud_provider=cloud_provider, + ), + } + ], + message="Studio: add GitHub Actions AgentKit Runtime delivery", + ) + + record["runtimeId"] = runtime_id + record["region"] = region + record["cloudProvider"] = cloud_provider + record["latestCommitSha"] = commit_sha + record["githubToken"] = token + record["status"] = "cicd-bound" + record["phase"] = "ready" + record["updatedAt"] = datetime.now(UTC).isoformat() + record["cicdEnabled"] = True + record["workflowPath"] = WORKFLOW_PATH + record["projectPath"] = project_path + _append_version( + record, + commit_sha=commit_sha, + branch=studio_branch, + pull_request_url="", + pull_request_number=0, + author="Studio", + status="pending", + source="github-cicd", + description="挂载 GitHub 持续交付", + created_at=str(record["updatedAt"]), + ) + _save_state(state_file, state) + return _state_to_response(record) + + +def bind_github_cicd_runtime( + *, + pipeline_id: str, + runtime_id: str, + region: str = "cn-beijing", + cloud_provider: CloudProvider | None = None, + 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", + ) + cloud_provider = _normalize_delivery_cloud_provider( + cloud_provider or str(record.get("cloudProvider") or DEFAULT_CLOUD_PROVIDER) + ) + record["runtimeId"] = runtime_id + record["region"] = region + record["cloudProvider"] = cloud_provider + 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 GitHub branch 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") + bound_branch = str(record.get("branch") or "") + if not owner or not repo or not bound_branch: + raise GitHubCicdError( + "GitHub CI/CD binding is incomplete", + phase="binding", + runtime_id=runtime_id, + ) + client = github_client or GitHubClient(token) + github = _push_github_source( + client=client, + owner=owner, + repo=repo, + project=project, + branch=bound_branch, + progress=progress, + ) + latest_commit_sha = github["commitSha"] + saved_branch = bound_branch + if bool(record.get("cicdEnabled")): + status = "submitted" + version_status = "submitted" + version_source = "github-cicd" + version_description = "提交 Agent 源码并触发 GitHub Actions" + else: + status = "succeeded" + version_status = "current" + version_source = "github-source-sync" + version_description = "同步 Agent 源码" + 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=saved_branch, + pull_request_url="", + pull_request_number=0, + runtime_id=runtime_id, + region=str(record.get("region") or "cn-beijing"), + cloud_provider=_normalize_delivery_cloud_provider( + str(record.get("cloudProvider") or DEFAULT_CLOUD_PROVIDER) + ), + latest_commit_sha=latest_commit_sha, + github_token=token, + status=status, + phase="ready", + last_error=None, + ) + saved = state[str(record["pipelineId"])] + _append_version( + saved, + commit_sha=latest_commit_sha, + branch=saved_branch, + pull_request_url="", + pull_request_number=0, + author="Studio", + status=version_status, + source=version_source, + description=version_description, + created_at=updated_at, + ) + _save_state(state_file, state) + result = _state_to_response(saved) + result["updatedAt"] = updated_at + return result + + +def list_github_delivery_versions( + *, + runtime_id: str, + github_client: Any | None = None, + state_path: str | Path | None = None, +) -> dict[str, Any]: + """Return GitHub delivery versions recorded for a Runtime.""" + runtime_id = runtime_id.strip() + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="versions") + 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) + if record is None: + return { + "runtimeId": runtime_id, + "currentCommitSha": "", + "github": {}, + "versions": [], + } + owner = str(record.get("owner") or "") + repo = str(record.get("repo") or "") + base_branch = str(record.get("baseBranch") or "main") + token = str(record.get("githubToken") or "").strip() + github_error = "" + github_versions: list[dict[str, Any]] = [] + if owner and repo and token: + try: + client = github_client or GitHubClient(token) + commits = client.list_branch_commits( + owner, + repo, + branch=base_branch, + limit=30, + ) + workflow_runs: list[dict[str, Any]] = [] + if bool(record.get("cicdEnabled")): + workflow_path = str(record.get("workflowPath") or WORKFLOW_PATH) + try: + workflow_runs = client.list_workflow_runs( + owner, + repo, + workflow_path=workflow_path, + branch=base_branch, + limit=100, + ) + except GitHubCicdError as error: + github_error = str(error) + github_versions = _github_commits_to_versions( + client=client, + owner=owner, + repo=repo, + branch=base_branch, + commits=commits, + workflow_runs=workflow_runs, + recorded_versions=_normalized_versions(record), + rollback_events=_normalized_rollback_events(record), + ) + except GitHubCicdError as error: + github_error = str(error) + + versions = github_versions or _normalized_versions(record) + current_commit_sha = _current_runtime_commit_sha(versions, record) + versions = _mark_current_runtime_version(versions, current_commit_sha) + response = { + "runtimeId": runtime_id, + "currentCommitSha": current_commit_sha, + "runtimeStatus": "published" if current_commit_sha else "unknown", + "latestSourceRuntimeStatus": ( + str(versions[0].get("runtimeStatus") or "unknown") + if versions + else "unknown" + ), + "github": _state_to_response(record)["github"], + "cicd": _state_to_response(record)["cicd"], + "versions": versions, + } + if github_error: + response["githubSyncError"] = github_error + return response + + +def create_github_delivery_rollback_pr( + *, + runtime_id: str, + target_commit_sha: str, + github_token: str = "", + github_client: Any | None = None, + state_path: str | Path | None = None, +) -> dict[str, Any]: + """Create a PR that rolls the target branch back to ``target_commit_sha``.""" + runtime_id = runtime_id.strip() + target_commit_sha = target_commit_sha.strip() + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="rollback") + if not target_commit_sha: + raise GitHubCicdError("Target commit sha is required", phase="rollback") + 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="rollback", + 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 create rollback PR", + 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") + if not owner or not repo: + raise GitHubCicdError( + "GitHub CI/CD binding is incomplete", + phase="rollback", + runtime_id=runtime_id, + ) + + client = github_client or GitHubClient(token) + rollback_branch = f"studio/rollback-{_slug(target_commit_sha[:8])}" + pr = client.create_rollback_pull_request( + owner, + repo, + base_branch=base_branch, + target_commit_sha=target_commit_sha, + rollback_branch=rollback_branch, + title=f"Rollback Agent Runtime to {target_commit_sha[:12]}", + body=( + "Studio generated this rollback PR. Merge it to restore the " + "target branch to the selected Agent source version." + ), + ) + commit_sha = str(getattr(pr, "commit_sha", "") or target_commit_sha) + created_at = datetime.now(UTC).isoformat() + status = "rollback-pr-created" + branch = rollback_branch + version_status = "pending" + runtime_status = "pending" + if bool(record.get("cicdEnabled")): + commit_sha = client.merge_pull_request( + owner, + repo, + pull_request_number=int(pr.number), + commit_title=f"Studio: rollback Agent Runtime to {target_commit_sha[:12]}", + ) + status = "rollback-merged" + branch = base_branch + version_status = "merged" + runtime_status = "publishing" + record["pullRequestUrl"] = str(pr.url) + record["pullRequestNumber"] = int(pr.number) + record["latestCommitSha"] = commit_sha + record["branch"] = branch + record["status"] = status + record["updatedAt"] = created_at + if bool(record.get("cicdEnabled")): + _append_rollback_event( + record, + commit_sha=commit_sha, + target_commit_sha=target_commit_sha, + branch=branch, + pull_request_url=str(pr.url), + pull_request_number=int(pr.number), + author="Studio", + status=version_status, + runtime_status=runtime_status, + description=f"回退到 {target_commit_sha[:12]}", + created_at=created_at, + ) + else: + _append_version( + record, + commit_sha=commit_sha, + branch=branch, + pull_request_url=str(pr.url), + pull_request_number=int(pr.number), + author="Studio", + status=version_status, + source="rollback", + description=f"回退到 {target_commit_sha[:12]}", + created_at=created_at, + ) + _save_state(state_file, state) + return { + "runtimeId": runtime_id, + "status": status, + "github": { + "owner": owner, + "repo": repo, + "baseBranch": base_branch, + "branch": branch, + "commitSha": commit_sha, + "pullRequestUrl": str(pr.url), + "pullRequestNumber": int(pr.number), + }, + "rollback": _normalized_rollback_events(record)[0], + } + + +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 set_actions_secret( + self, + owner: str, + repo: str, + *, + name: str, + value: str, + ) -> None: + public_key = self._request( + "GET", + f"/repos/{owner}/{repo}/actions/secrets/public-key", + ) + key_id = str(public_key.get("key_id") or "") + key = str(public_key.get("key") or "") + if not key_id or not key: + raise GitHubCicdError( + "GitHub Actions secret public key response is incomplete", + phase="github", + ) + self._request( + "PUT", + f"/repos/{owner}/{repo}/actions/secrets/{quote(name, safe='')}", + json={ + "encrypted_value": _encrypt_github_actions_secret(value, key), + "key_id": key_id, + }, + ) + + 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: + try: + head_sha = self.get_branch_head(owner, repo, branch) + except GitHubCicdError as error: + if not _is_empty_repository_error(error): + raise + return self._commit_files_to_empty_branch( + owner, + repo, + branch=branch, + files=files, + message=message, + ) + 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 = self._tree_entries_for_files(owner, repo, files=files) + 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 _commit_files_to_empty_branch( + self, + owner: str, + repo: str, + *, + branch: str, + files: list[dict[str, str]], + message: str, + ) -> str: + tree = self._request( + "POST", + f"/repos/{owner}/{repo}/git/trees", + json={"tree": self._tree_entries_for_files(owner, repo, files=files)}, + ) + commit = self._request( + "POST", + f"/repos/{owner}/{repo}/git/commits", + json={"message": message, "tree": tree["sha"], "parents": []}, + ) + commit_sha = str(commit.get("sha") or "") + if not commit_sha: + raise GitHubCicdError("GitHub commit response did not include sha") + self._request( + "POST", + f"/repos/{owner}/{repo}/git/refs", + json={"ref": f"refs/heads/{branch}", "sha": commit_sha}, + ) + return commit_sha + + def _tree_entries_for_files( + self, + owner: str, + repo: str, + *, + files: list[dict[str, str]], + ) -> list[dict[str, str]]: + tree_entries: list[dict[str, str]] = [] + 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"], + } + ) + return tree_entries + + 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 merge_pull_request( + self, + owner: str, + repo: str, + *, + pull_request_number: int, + commit_title: str, + ) -> str: + if pull_request_number <= 0: + raise GitHubCicdError( + "GitHub pull request number is required", phase="github" + ) + merged = self._request( + "PUT", + f"/repos/{owner}/{repo}/pulls/{pull_request_number}/merge", + json={"commit_title": commit_title}, + ) + sha = str(merged.get("sha") or "") + if not sha: + raise GitHubCicdError("GitHub merge response did not include sha") + return sha + + def list_branch_commits( + self, + owner: str, + repo: str, + *, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + commits = self._request( + "GET", + f"/repos/{owner}/{repo}/commits", + params={"sha": branch, "per_page": max(1, min(limit, 100))}, + ) + return commits if isinstance(commits, list) else [] + + def list_commit_pull_requests( + self, + owner: str, + repo: str, + *, + commit_sha: str, + ) -> list[SimpleNamespace]: + pulls = self._request( + "GET", + f"/repos/{owner}/{repo}/commits/{quote(commit_sha, safe='')}/pulls", + ) + if not isinstance(pulls, list): + return [] + return [_pull_namespace(item) for item in pulls if isinstance(item, dict)] + + def list_workflow_runs( + self, + owner: str, + repo: str, + *, + workflow_path: str, + branch: str, + limit: int, + ) -> list[dict[str, Any]]: + data = self._request( + "GET", + ( + f"/repos/{owner}/{repo}/actions/workflows/" + f"{quote(workflow_path, safe='')}/runs" + ), + params={"branch": branch, "per_page": max(1, min(limit, 100))}, + ) + runs = data.get("workflow_runs") if isinstance(data, dict) else None + return runs if isinstance(runs, list) else [] + + def create_rollback_pull_request( + self, + owner: str, + repo: str, + *, + base_branch: str, + target_commit_sha: str, + rollback_branch: str, + title: str, + body: str, + ) -> SimpleNamespace: + base_sha = self.get_branch_head(owner, repo, base_branch) + target_commit = self._request( + "GET", + f"/repos/{owner}/{repo}/git/commits/{quote(target_commit_sha, safe='')}", + ) + target_tree = str(((target_commit.get("tree") or {}).get("sha")) or "") + if not target_tree: + raise GitHubCicdError("Target GitHub commit has no tree", phase="github") + self.ensure_branch( + owner, + repo, + branch=rollback_branch, + source_sha=base_sha, + ) + commit = self._request( + "POST", + f"/repos/{owner}/{repo}/git/commits", + json={ + "message": f"Studio: rollback Agent to {target_commit_sha[:12]}", + "tree": target_tree, + "parents": [base_sha], + }, + ) + rollback_sha = str(commit.get("sha") or "") + if not rollback_sha: + raise GitHubCicdError("GitHub rollback commit response did not include sha") + self._request( + "PATCH", + f"/repos/{owner}/{repo}/git/refs/heads/{quote(rollback_branch, safe='')}", + json={"sha": rollback_sha, "force": True}, + ) + pr = self.ensure_pull_request( + owner, + repo, + head_branch=rollback_branch, + base_branch=base_branch, + title=title, + body=body, + ) + pr.commit_sha = rollback_sha + return pr + + 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 _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, + ) + _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 _push_github_source( + *, + client: Any, + owner: str, + repo: str, + project: dict[str, Any], + branch: str, + progress: ProgressCallback | None, +) -> dict[str, Any]: + client.ensure_repository_access(owner, repo) + _emit(progress, f"Pushing {len(project['files'])} file(s) to {branch}...") + commit_sha = client.commit_files( + owner, + repo, + branch=branch, + files=project["files"], + message=f"Studio: sync {project['name']} Agent source", + ) + return { + "owner": owner, + "repo": repo, + "baseBranch": branch, + "branch": branch, + "commitSha": commit_sha, + "pullRequestUrl": "", + "pullRequestNumber": 0, + } + + +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 _is_empty_repository_error(error: GitHubCicdError) -> bool: + message = str(error) + return "409" in message and "Git Repository is empty" in message + + +def _validate_project_path(value: str) -> str: + candidate = (value or ".").strip() or "." + if candidate.startswith("/") or "\x00" in candidate: + raise GitHubCicdError("Project path must be a repository-relative path") + parts = Path(candidate).parts + if any(part in ("", "..") for part in parts): + raise GitHubCicdError("Project path must be a safe repository-relative path") + return "." if candidate == "." else candidate.rstrip("/") + + +def _normalize_delivery_cloud_provider(value: str | None) -> CloudProvider: + try: + return normalize_cloud_provider(value) + except ValueError as error: + raise GitHubCicdError(str(error), phase="cicd") from error + + +def _credential_secret_names(cloud_provider: CloudProvider) -> tuple[str, str, str]: + if cloud_provider == "byteplus": + return ( + "BYTEPLUS_ACCESS_KEY", + "BYTEPLUS_SECRET_KEY", + "BYTEPLUS_SESSION_TOKEN", + ) + return ( + "VOLCENGINE_ACCESS_KEY", + "VOLCENGINE_SECRET_KEY", + "VOLCENGINE_SESSION_TOKEN", + ) + + +def _cloud_provider_display_name(cloud_provider: CloudProvider) -> str: + return "BytePlus" if cloud_provider == "byteplus" else "Volcengine" + + +def _runtime_delivery_secrets( + *, + access_key: str, + secret_key: str, + session_token: str, + cloud_provider: CloudProvider, +) -> dict[str, str]: + access_key = access_key.strip() + secret_key = secret_key.strip() + session_token = session_token.strip() + provider_name = _cloud_provider_display_name(cloud_provider) + if not access_key: + raise GitHubCicdError( + f"{provider_name} access key is required for GitHub Runtime delivery", + phase="cicd", + ) + if not secret_key: + raise GitHubCicdError( + f"{provider_name} secret key is required for GitHub Runtime delivery", + phase="cicd", + ) + access_key_name, secret_key_name, session_token_name = _credential_secret_names( + cloud_provider + ) + secrets = { + access_key_name: access_key, + secret_key_name: secret_key, + } + if session_token: + secrets[session_token_name] = session_token + return secrets + + +def _configure_runtime_delivery_secrets( + client: Any, + owner: str, + repo: str, + *, + access_key: str, + secret_key: str, + session_token: str, + cloud_provider: CloudProvider, + progress: ProgressCallback | None, +) -> None: + secrets = _runtime_delivery_secrets( + access_key=access_key, + secret_key=secret_key, + session_token=session_token, + cloud_provider=cloud_provider, + ) + _emit(progress, "Writing GitHub Actions secrets...") + for name, value in secrets.items(): + client.set_actions_secret(owner, repo, name=name, value=value) + + +def _encrypt_github_actions_secret(value: str, public_key: str) -> str: + try: + from nacl import encoding, public + except ImportError as error: + raise GitHubCicdError( + "PyNaCl is required to write GitHub Actions secrets. " + 'Install it with `pip install "veadk-python[github-cicd]"`.', + phase="github", + ) from error + + sealed_box = public.SealedBox( + public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()), + ) + encrypted = sealed_box.encrypt(value.encode("utf-8")) + return base64.b64encode(encrypted).decode("utf-8") + + +def _agentkit_runtime_workflow( + *, + base_branch: str, + project_path: str, + runtime_name: str, + runtime_id: str, + region: str, + cloud_provider: CloudProvider, +) -> str: + access_key_secret, secret_key_secret, session_token_secret = ( + _credential_secret_names(cloud_provider) + ) + byteplus_env = "" + byteplus_runtime_env = "" + if cloud_provider == "byteplus": + byteplus_env = f""" + VOLCENGINE_ACCESS_KEY: ${{{{ secrets.{access_key_secret} }}}} + VOLCENGINE_SECRET_KEY: ${{{{ secrets.{secret_key_secret} }}}} + VOLCENGINE_SESSION_TOKEN: ${{{{ secrets.{session_token_secret} }}}} + BYTEPLUS_REGION: {json.dumps(region)}""" + byteplus_runtime_env = f""" + "DATABASE_VIKING_REGION": {json.dumps(DEFAULT_BYTEPLUS_VIKING_MEMORY_REGION)},""" + return f"""name: Publish to AgentKit Runtime + +on: + push: + branches: + - {json.dumps(base_branch)} + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: {json.dumps(f"agentkit-runtime-{runtime_id}")} + cancel-in-progress: true + +jobs: + publish: + if: ${{{{ github.event_name != 'push' || !contains(github.event.head_commit.message, '[skip runtime]') }}}} + runs-on: ubuntu-latest + defaults: + run: + working-directory: {json.dumps(project_path)} + env: + AGENTKIT_CLOUD_PROVIDER: {json.dumps(cloud_provider)} + CLOUD_PROVIDER: {json.dumps(cloud_provider)} + {access_key_secret}: ${{{{ secrets.{access_key_secret} }}}} + {secret_key_secret}: ${{{{ secrets.{secret_key_secret} }}}} + {session_token_secret}: ${{{{ secrets.{session_token_secret} }}}}{byteplus_env} + AGENTKIT_RUNTIME_NAME: {json.dumps(runtime_name)} + AGENTKIT_RUNTIME_ID: {json.dumps(runtime_id)} + AGENTKIT_REGION: {json.dumps(region)} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Install project and AgentKit SDK + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then python -m pip install -r requirements.txt; fi + python -m pip install "agentkit-sdk-python>=0.8.0" + - name: Publish Runtime + shell: bash + run: | + python - <<'PY' + import os + from pathlib import Path + + import yaml + from agentkit.sdk.runtime import types as runtime_types + from agentkit.sdk.runtime.client import AgentkitRuntimeClient + from agentkit.toolkit import sdk + from agentkit.toolkit.models import PreflightMode + + credential_prefix = ( + "BYTEPLUS" + if os.environ["AGENTKIT_CLOUD_PROVIDER"] == "byteplus" + else "VOLCENGINE" + ) + runtime_client = AgentkitRuntimeClient( + access_key=os.environ[f"{{credential_prefix}}_ACCESS_KEY"], + secret_key=os.environ[f"{{credential_prefix}}_SECRET_KEY"], + session_token=os.environ.get(f"{{credential_prefix}}_SESSION_TOKEN", ""), + region=os.environ["AGENTKIT_REGION"], + ) + runtime = runtime_client.get_runtime( + runtime_types.GetRuntimeRequest( + runtime_id=os.environ["AGENTKIT_RUNTIME_ID"], + ) + ) + runtime_name = getattr(runtime, "name", "") or os.environ["AGENTKIT_RUNTIME_NAME"] + runtime_role_name = getattr(runtime, "role_name", "") or "Auto" + next_version = (getattr(runtime, "current_version_number", 0) or 0) + 1 + + config = {{ + "common": {{ + "agent_name": runtime_name, + "entry_point": "app.py", + "description": "Continuously published from GitHub", + "python_version": "3.12", + "launch_type": "cloud", + }}, + "launch_types": {{ + "cloud": {{ + "region": os.environ["AGENTKIT_REGION"], + "project_name": "default", + "image_tag": f"veadk-v{{next_version}}", + "runtime_id": os.environ["AGENTKIT_RUNTIME_ID"], + "runtime_name": runtime_name, + "runtime_role_name": runtime_role_name, + "python_version": "3.12", + "runtime_envs": {{ + "CLOUD_PROVIDER": os.environ["CLOUD_PROVIDER"], + "AGENTKIT_CLOUD_PROVIDER": os.environ["AGENTKIT_CLOUD_PROVIDER"],{byteplus_runtime_env} + }}, + }} + }}, + }} + config_path = Path("agentkit.yaml") + config_path.write_text(yaml.safe_dump(config, allow_unicode=True), encoding="utf-8") + result = sdk.launch( + config_file=str(config_path), + preflight_mode=PreflightMode.WARN, + ) + if not result.success: + raise SystemExit(f"AgentKit publish failed: {{result.error}}") + PY +""" + + +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, + pull_request_number: int, + runtime_id: str, + region: str, + cloud_provider: CloudProvider, + latest_commit_sha: str, + github_token: str, + status: str, + phase: str, + last_error: dict[str, Any] | None, +) -> str: + updated_at = datetime.now(UTC).isoformat() + previous = state.get(pipeline_id) + previous_record = previous if isinstance(previous, dict) else {} + next_record: dict[str, Any] = { + "pipelineId": pipeline_id, + "githubUrl": github_url, + "owner": owner, + "repo": repo, + "baseBranch": base_branch, + "branch": studio_branch, + "pullRequestUrl": pull_request_url, + "pullRequestNumber": pull_request_number, + "runtimeId": runtime_id, + "region": region, + "cloudProvider": cloud_provider, + "latestCommitSha": latest_commit_sha, + "githubToken": github_token, + "status": status, + "phase": phase, + "updatedAt": updated_at, + } + for key in ( + "cicdEnabled", + "workflowPath", + "projectPath", + "versions", + "rollbackEvents", + ): + if key in previous_record: + next_record[key] = previous_record[key] + if last_error is not None: + next_record["lastError"] = last_error + state[pipeline_id] = next_record + _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 _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 ""), + "cloudProvider": str(record.get("cloudProvider") or DEFAULT_CLOUD_PROVIDER), + "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), + }, + "cicd": { + "enabled": bool(record.get("cicdEnabled")), + "workflowPath": str(record.get("workflowPath") or ""), + "projectPath": str(record.get("projectPath") or ""), + }, + } + + +def _append_version( + record: dict[str, Any], + *, + commit_sha: str, + branch: str, + pull_request_url: str, + pull_request_number: int, + author: str, + status: str, + source: str, + description: str, + created_at: str, +) -> None: + versions = record.get("versions") + if not isinstance(versions, list): + versions = [] + next_version = { + "version": f"v{len(versions) + 1}", + "createdAt": created_at, + "source": source, + "description": description, + "commitSha": commit_sha, + "branch": branch, + "pullRequestUrl": pull_request_url, + "pullRequestNumber": pull_request_number, + "author": author, + "status": status, + } + record["versions"] = [next_version, *versions] + + +def _append_rollback_event( + record: dict[str, Any], + *, + commit_sha: str, + target_commit_sha: str, + branch: str, + pull_request_url: str, + pull_request_number: int, + author: str, + status: str, + runtime_status: str, + description: str, + created_at: str, +) -> None: + events = record.get("rollbackEvents") + if not isinstance(events, list): + events = [] + next_event = { + "version": "回退事件", + "createdAt": created_at, + "source": "rollback", + "changeType": "rollback", + "description": description, + "commitSha": commit_sha, + "targetCommitSha": target_commit_sha, + "rollbackTargetCommitSha": target_commit_sha, + "branch": branch, + "pullRequestUrl": pull_request_url, + "pullRequestNumber": pull_request_number, + "author": author, + "status": status, + "runtimeStatus": runtime_status, + } + record["rollbackEvents"] = [next_event, *events] + + +def _normalized_versions(record: dict[str, Any]) -> list[dict[str, Any]]: + versions = record.get("versions") + if not isinstance(versions, list) or not versions: + commit_sha = str(record.get("latestCommitSha") or "") + if not commit_sha: + return [] + versions = [ + { + "version": "v1", + "createdAt": str(record.get("updatedAt") or ""), + "source": "studio", + "description": "Studio 更新", + "commitSha": commit_sha, + "branch": str(record.get("branch") or ""), + "pullRequestUrl": str(record.get("pullRequestUrl") or ""), + "pullRequestNumber": int(record.get("pullRequestNumber") or 0), + "author": "Studio", + "status": "current", + "runtimeStatus": "published", + "changeType": "source", + } + ] + normalized: list[dict[str, Any]] = [] + current_commit = str(record.get("latestCommitSha") or "") + for index, item in enumerate(versions): + if not isinstance(item, dict): + continue + commit_sha = str(item.get("commitSha") or "") + normalized.append( + { + "version": str(item.get("version") or f"v{len(versions) - index}"), + "createdAt": str(item.get("createdAt") or ""), + "source": str(item.get("source") or "studio"), + "description": str(item.get("description") or ""), + "commitSha": commit_sha, + "branch": str(item.get("branch") or ""), + "pullRequestUrl": str(item.get("pullRequestUrl") or ""), + "pullRequestNumber": int(item.get("pullRequestNumber") or 0), + "author": str(item.get("author") or "Studio"), + "runtimeStatus": str(item.get("runtimeStatus") or "published"), + "changeType": str(item.get("changeType") or "source"), + "status": str( + item.get("status") + or ("current" if commit_sha == current_commit else "pending") + ), + } + ) + return normalized + + +def _normalized_rollback_events(record: dict[str, Any]) -> list[dict[str, Any]]: + events = record.get("rollbackEvents") + if not isinstance(events, list): + return [] + normalized: list[dict[str, Any]] = [] + for item in events: + if not isinstance(item, dict): + continue + normalized.append( + { + "version": str(item.get("version") or "回退事件"), + "createdAt": str(item.get("createdAt") or ""), + "source": "rollback", + "changeType": "rollback", + "description": str(item.get("description") or "回退版本"), + "commitSha": str(item.get("commitSha") or ""), + "targetCommitSha": str( + item.get("targetCommitSha") + or item.get("rollbackTargetCommitSha") + or "" + ), + "rollbackTargetCommitSha": str( + item.get("rollbackTargetCommitSha") + or item.get("targetCommitSha") + or "" + ), + "branch": str(item.get("branch") or ""), + "pullRequestUrl": str(item.get("pullRequestUrl") or ""), + "pullRequestNumber": int(item.get("pullRequestNumber") or 0), + "author": str(item.get("author") or "Studio"), + "runtimeStatus": str(item.get("runtimeStatus") or "publishing"), + "status": str(item.get("status") or "merged"), + } + ) + return normalized + + +def _github_commits_to_versions( + *, + client: Any, + owner: str, + repo: str, + branch: str, + commits: list[dict[str, Any]], + workflow_runs: list[dict[str, Any]], + recorded_versions: list[dict[str, Any]], + rollback_events: list[dict[str, Any]], +) -> list[dict[str, Any]]: + workflow_runs_by_sha = _workflow_runs_by_head_sha(workflow_runs) + recorded_by_sha = { + str(item.get("commitSha") or ""): item + for item in recorded_versions + if str(item.get("commitSha") or "") + } + rollback_by_sha = { + str(item.get("commitSha") or ""): item + for item in rollback_events + if str(item.get("commitSha") or "") + } + non_rollback_total = sum( + 1 + for item in commits + if isinstance(item, dict) + and str(item.get("sha") or "") + and str(item.get("sha") or "") not in rollback_by_sha + ) + non_rollback_index = 0 + versions: list[dict[str, Any]] = [] + for item in commits: + if not isinstance(item, dict): + continue + commit_sha = str(item.get("sha") or "") + if not commit_sha: + continue + commit = item.get("commit") if isinstance(item.get("commit"), dict) else {} + message = str(commit.get("message") or "").splitlines()[0].strip() + author_info = ( + commit.get("author") if isinstance(commit.get("author"), dict) else {} + ) + author = item.get("author") if isinstance(item.get("author"), dict) else {} + pull_request_url = "" + pull_request_number = 0 + try: + pulls = client.list_commit_pull_requests( + owner, + repo, + commit_sha=commit_sha, + ) + except GitHubCicdError: + pulls = [] + if pulls: + pull_request_url = str(getattr(pulls[0], "url", "") or "") + pull_request_number = int(getattr(pulls[0], "number", 0) or 0) + run = workflow_runs_by_sha.get(commit_sha) + rollback_event = rollback_by_sha.get(commit_sha) + recorded = recorded_by_sha.get(commit_sha, {}) + runtime_status = _runtime_status_for_commit( + run=run, + recorded_version=recorded, + rollback_event=rollback_event, + ) + workflow_run_url = str((run or {}).get("html_url") or "") + if rollback_event: + versions.append( + { + **rollback_event, + "createdAt": str( + author_info.get("date") or rollback_event.get("createdAt") or "" + ), + "description": str(rollback_event.get("description") or message), + "commitSha": commit_sha, + "branch": branch, + "pullRequestUrl": pull_request_url + or str(rollback_event.get("pullRequestUrl") or ""), + "pullRequestNumber": pull_request_number + or int(rollback_event.get("pullRequestNumber") or 0), + "author": str( + author.get("login") + or author_info.get("name") + or rollback_event.get("author") + or "GitHub" + ), + "runtimeStatus": runtime_status, + "workflowRunUrl": workflow_run_url, + } + ) + continue + non_rollback_index += 1 + versions.append( + { + "version": f"v{non_rollback_total - non_rollback_index + 1}", + "createdAt": str(author_info.get("date") or ""), + "source": "github-main", + "changeType": "source", + "description": message, + "commitSha": commit_sha, + "branch": branch, + "pullRequestUrl": pull_request_url, + "pullRequestNumber": pull_request_number, + "author": str( + author.get("login") or author_info.get("name") or "GitHub" + ), + "runtimeStatus": runtime_status, + "workflowRunUrl": workflow_run_url, + "status": runtime_status, + } + ) + return versions + + +def _workflow_runs_by_head_sha( + workflow_runs: list[dict[str, Any]], +) -> dict[str, dict[str, Any]]: + runs_by_sha: dict[str, dict[str, Any]] = {} + for run in workflow_runs: + if not isinstance(run, dict): + continue + sha = str(run.get("head_sha") or "") + if sha and sha not in runs_by_sha: + runs_by_sha[sha] = run + return runs_by_sha + + +def _runtime_status_for_commit( + *, + run: dict[str, Any] | None, + recorded_version: dict[str, Any], + rollback_event: dict[str, Any] | None, +) -> str: + if run: + status = str(run.get("status") or "") + conclusion = str(run.get("conclusion") or "") + if status == "completed": + return "published" if conclusion == "success" else "failed" + return "publishing" + recorded_runtime_status = str(recorded_version.get("runtimeStatus") or "") + if recorded_runtime_status: + return recorded_runtime_status + if str(recorded_version.get("status") or "") == "current": + return "published" + if rollback_event: + return str(rollback_event.get("runtimeStatus") or "publishing") + return "unknown" + + +def _current_runtime_commit_sha( + versions: list[dict[str, Any]], + record: dict[str, Any], +) -> str: + for item in versions: + if str(item.get("runtimeStatus") or "") != "published": + continue + if str(item.get("changeType") or "") == "rollback": + target = str(item.get("rollbackTargetCommitSha") or "") + if target: + return target + commit_sha = str(item.get("commitSha") or "") + if commit_sha: + return commit_sha + for item in _normalized_versions(record): + if str(item.get("status") or "") == "current": + return str(item.get("commitSha") or "") + return "" + + +def _mark_current_runtime_version( + versions: list[dict[str, Any]], + current_commit_sha: str, +) -> list[dict[str, Any]]: + marked: list[dict[str, Any]] = [] + for item in versions: + next_item = dict(item) + runtime_status = str(next_item.get("runtimeStatus") or "unknown") + commit_sha = str(next_item.get("commitSha") or "") + rollback_target = str(next_item.get("rollbackTargetCommitSha") or "") + if commit_sha == current_commit_sha or rollback_target == current_commit_sha: + next_item["status"] = "current" + elif runtime_status == "publishing": + next_item["status"] = "publishing" + elif runtime_status == "failed": + next_item["status"] = "failed" + else: + next_item["status"] = "historical" + marked.append(next_item) + return marked + + +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: + result = text + for secret in secrets: + if secret: + result = result.replace(secret, "***") + return result From 0b3725cc8cf838e5e54005bd4689793c287d3e94 Mon Sep 17 00:00:00 2001 From: chuhanku Date: Thu, 20 Aug 2026 18:05:40 +0800 Subject: [PATCH 2/3] feat(studio): add GitHub CI/CD delivery UI --- frontend/src/adk/client.ts | 325 +++++++++- frontend/src/ui/AgentWorkspace.css | 116 ++++ frontend/src/ui/AgentWorkspace.tsx | 322 +++++++++- frontend/src/ui/GithubCicdPanel.tsx | 568 ++++++++++++++++++ frontend/src/ui/ProjectPreview.css | 234 ++++++++ frontend/src/ui/ProjectPreview.tsx | 278 ++++++++- frontend/tests/agentWorkspace.test.mjs | 37 +- .../tests/debugErrorPresentation.test.mjs | 6 +- frontend/tests/githubCicdPanel.test.mjs | 92 +++ frontend/tests/runtimeScalingDeploy.test.mjs | 8 +- 10 files changed, 1943 insertions(+), 43 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 36b4d19de..25aad9e19 100644 --- a/frontend/src/adk/client.ts +++ b/frontend/src/adk/client.ts @@ -2250,8 +2250,75 @@ export async function listIdentityUserPools( }); } +export interface GithubCicdPipelineResult { + pipelineId?: string; + status?: string; + phase?: string; + updatedAt?: string; + runtimeId?: string; + region?: string; + cloudProvider?: CloudProvider; + github?: { + owner?: string; + repo?: string; + baseBranch?: string; + branch?: string; + commitSha?: string; + pullRequestUrl?: string; + pullRequestNumber?: number; + }; + cicd?: { + enabled?: boolean; + workflowPath?: string; + projectPath?: string; + }; +} + +export interface GithubDeliveryVersion { + version: string; + createdAt?: string; + source?: string; + changeType?: "source" | "rollback" | string; + description?: string; + commitSha?: string; + targetCommitSha?: string; + rollbackTargetCommitSha?: string; + branch?: string; + pullRequestUrl?: string; + pullRequestNumber?: number; + author?: string; + status?: string; + runtimeStatus?: "published" | "publishing" | "failed" | "unknown" | string; + workflowRunUrl?: string; +} + +export interface GithubDeliveryVersionsResult { + runtimeId: string; + currentCommitSha?: string; + runtimeStatus?: string; + latestSourceRuntimeStatus?: string; + github?: GithubCicdPipelineResult["github"]; + cicd?: GithubCicdPipelineResult["cicd"]; + githubSyncError?: string; + versions: GithubDeliveryVersion[]; +} + +export interface GithubDeliveryRollbackResult { + runtimeId: string; + status: string; + github?: GithubCicdPipelineResult["github"]; + version?: GithubDeliveryVersion; +} + +export interface GithubCicdPipelineErrorDetail { + message: string; + phase?: string; + runtimeId?: string; + logPath?: string; +} + export interface DeployBuildLogSnapshot { - source: "code-pipeline"; + source: "code-pipeline" | "github-delivery"; status: "running" | "complete" | "error"; text: string; lineCount: number; @@ -2287,6 +2354,262 @@ 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: `同步 GitHub 代码失败 (${res.status})` }); +} + +export async function createGithubCicdPipeline(params: { + project: { name: string; files: { path: string; content: string }[] }; + githubUrl: string; + githubToken: string; + baseBranch: string; + region: string; + cloudProvider: CloudProvider; +}): Promise { + const res = await apiFetch( + "/web/github-delivery/source-sync", + { + 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, + cloudProvider: params.cloudProvider, + }), + }, + {}, + 0, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + +export async function createGithubDeliveryCicdPipeline(params: { + githubUrl: string; + githubToken: string; + baseBranch: string; + runtimeName: string; + runtimeId: string; + region: string; + cloudProvider: CloudProvider; + projectPath?: string; + volcengineAccessKey: string; + volcengineSecretKey: string; + volcengineSessionToken?: string; +}): Promise { + const res = await apiFetch( + "/web/github-delivery/cicd-pipeline", + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + githubUrl: params.githubUrl, + githubToken: params.githubToken, + baseBranch: params.baseBranch, + runtimeName: params.runtimeName, + runtimeId: params.runtimeId, + region: params.region, + cloudProvider: params.cloudProvider, + projectPath: params.projectPath ?? ".", + volcengineAccessKey: params.volcengineAccessKey, + volcengineSecretKey: params.volcengineSecretKey, + volcengineSessionToken: params.volcengineSessionToken ?? "", + }), + }, + {}, + 0, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + +export async function initializeGithubDeliveryMain(params: { + project: { name: string; files: { path: string; content: string }[] }; + githubUrl: string; + githubToken: string; + baseBranch: string; + runtimeName: string; + runtimeId: string; + region: string; + cloudProvider: CloudProvider; + projectPath?: string; + volcengineAccessKey: string; + volcengineSecretKey: string; + volcengineSessionToken?: string; +}): Promise { + const res = await apiFetch( + "/web/github-delivery/init-main", + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + project: params.project, + githubUrl: params.githubUrl, + githubToken: params.githubToken, + baseBranch: params.baseBranch, + runtimeName: params.runtimeName, + runtimeId: params.runtimeId, + region: params.region, + cloudProvider: params.cloudProvider, + projectPath: params.projectPath ?? ".", + volcengineAccessKey: params.volcengineAccessKey, + volcengineSecretKey: params.volcengineSecretKey, + volcengineSessionToken: params.volcengineSessionToken ?? "", + }), + }, + {}, + 0, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + +export async function attachGithubDeliveryCicdToSourceSync(params: { + pipelineId: string; + runtimeName: string; + runtimeId: string; + region: string; + cloudProvider: CloudProvider; + projectPath?: string; + volcengineAccessKey: string; + volcengineSecretKey: string; + volcengineSessionToken?: string; +}): Promise { + const res = await apiFetch( + "/web/github-delivery/source-sync/cicd", + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + pipelineId: params.pipelineId, + runtimeName: params.runtimeName, + runtimeId: params.runtimeId, + region: params.region, + cloudProvider: params.cloudProvider, + projectPath: params.projectPath ?? ".", + volcengineAccessKey: params.volcengineAccessKey, + volcengineSecretKey: params.volcengineSecretKey, + volcengineSessionToken: params.volcengineSessionToken ?? "", + }), + }, + {}, + 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 getGithubDeliveryVersions( + runtimeId: string, +): Promise { + const res = await apiFetch( + `/web/github-delivery/versions?runtimeId=${encodeURIComponent(runtimeId)}`, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + +export async function createGithubDeliveryRollbackPr(params: { + runtimeId: string; + targetCommitSha: string; +}): Promise { + const res = await apiFetch("/web/github-delivery/rollback-pr", { + 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 bindGithubCicdRuntime(params: { + pipelineId: string; + runtimeId: string; + region: string; + cloudProvider: CloudProvider; +}): 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/AgentWorkspace.css b/frontend/src/ui/AgentWorkspace.css index 7716cd382..8754605f9 100644 --- a/frontend/src/ui/AgentWorkspace.css +++ b/frontend/src/ui/AgentWorkspace.css @@ -1369,6 +1369,19 @@ font: inherit; } +.aw-integration-notice { + display: flex; + align-items: center; + min-height: 36px; + padding: 10px 12px; + border: 1px solid hsl(42 72% 74% / 0.45); + border-radius: 8px; + background: hsl(42 92% 96%); + color: hsl(42 72% 32%); + font-size: 12.5px; + line-height: 1.55; +} + .aw-canvas-card, .aw-details-card { min-width: 0; @@ -1856,6 +1869,109 @@ white-space: nowrap; } +.aw-version-stack { + display: flex; + flex-direction: column; + gap: 14px; +} + +.aw-version-list { + display: flex; + flex-direction: column; + overflow: hidden; + border: 1px solid hsl(var(--border)); + border-radius: 12px; +} + +.aw-version-row { + display: grid; + grid-template-columns: + minmax(120px, 1fr) minmax(104px, 0.9fr) minmax(96px, 0.7fr) + minmax(86px, 0.6fr) auto; + gap: 12px; + align-items: center; + padding: 13px 16px; + border-top: 1px solid hsl(var(--border) / 0.72); + background: hsl(var(--panel)); + font-size: 12px; +} + +.aw-version-row:first-child { + border-top: 0; +} + +.aw-version-row > div { + min-width: 0; + display: flex; + flex-direction: column; + gap: 3px; +} + +.aw-version-row strong { + overflow: hidden; + color: hsl(var(--foreground)); + font-size: 13px; + font-weight: 650; + text-overflow: ellipsis; + white-space: nowrap; +} + +.aw-version-row small, +.aw-version-row span { + color: hsl(var(--muted-foreground)); + font-size: 11px; +} + +.aw-version-row em { + overflow: hidden; + color: hsl(var(--foreground) / 0.82); + font-style: normal; + text-overflow: ellipsis; + white-space: nowrap; +} + +.aw-version-row p { + grid-column: 2 / -1; + margin: 0; + color: hsl(var(--muted-foreground)); +} + +.aw-version-row a { + color: hsl(var(--foreground)); + font-weight: 600; + text-decoration: none; +} + +.aw-version-row a:hover { + text-decoration: underline; +} + +.aw-version-actions { + align-items: flex-end; +} + +.aw-version-actions button { + min-height: 30px; + padding: 0 10px; + 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; +} + +.aw-version-actions button:hover:not(:disabled) { + background: hsl(var(--muted) / 0.55); +} + +.aw-version-actions button:disabled { + cursor: not-allowed; + color: hsl(var(--muted-foreground)); + opacity: 0.62; +} + .aw-status-dot { width: 6px; height: 6px; diff --git a/frontend/src/ui/AgentWorkspace.tsx b/frontend/src/ui/AgentWorkspace.tsx index f6e67b983..5dbcf4a88 100644 --- a/frontend/src/ui/AgentWorkspace.tsx +++ b/frontend/src/ui/AgentWorkspace.tsx @@ -22,12 +22,14 @@ import { } from "lucide-react"; import { deleteAgentFeedbackCases, + createGithubDeliveryRollbackPr, getCachedAgentFeedbackCases, getCachedRuntimeAgentInfo, getCachedRuntimeDetail, getAgentUsage, getAgentFeedbackCases, getAgentOptimizations, + getGithubDeliveryVersions, getRuntimeAgentInfo, getRuntimeDetail, getRuntimeUpdateCapability, @@ -46,6 +48,8 @@ import { type AgentOptimizationModule, type AgentOptimizationPriority, type AgentUsageResponse, + type GithubDeliveryVersionsResult, + type GithubDeliveryVersion, type RuntimeA2aIntegration, RuntimeProbeError, type RuntimeDetail, @@ -74,7 +78,7 @@ import { TextShimmer } from "./text-shimmer/TextShimmer"; import "./AgentWorkspace.css"; type WorkspaceView = "library" | "evaluation"; -type AgentSection = "basic" | "usage" | "evaluations" | "optimizations" | "integrations"; +type AgentSection = "basic" | "usage" | "evaluations" | "optimizations" | "integrations" | "versions"; type IntegrationProtocol = "api-server" | "a2a"; type EvaluationSection = "config" | "history"; type CaseKind = "good" | "bad"; @@ -250,6 +254,7 @@ const AGENT_SECTIONS: Array<{ id: AgentSection; label: string }> = [ { id: "evaluations", label: "评测集" }, { id: "optimizations", label: "优化项" }, { id: "integrations", label: "接入方法" }, + { id: "versions", label: "版本" }, ]; const AGENT_USAGE_PAGE_SIZE = 20; @@ -319,6 +324,19 @@ function authTypeLabel(authType?: RuntimeDetail["authType"]): string { return "暂无"; } +function githubRuntimeStatusLabel(status?: string): string { + if (status === "published") return "已发布"; + if (status === "publishing") return "发布中"; + if (status === "failed") return "发布失败"; + if (status === "pending") return "等待发布"; + return "未知"; +} + +function githubVersionTitle(version: GithubDeliveryVersion): string { + if (version.changeType === "rollback") return "回退事件"; + return version.version; +} + function pythonString(value: string): string { return JSON.stringify(value); } @@ -652,6 +670,11 @@ const EVALUATION_SET_STEP = { label: "创建评测集", description: "自动创建 Good Case 和 Bad Case 评测集", } as const; +const GITHUB_DELIVERY_STEP = { + phase: "github", + label: "挂载 GitHub 持续交付", + description: "初始化目标分支与 GitHub Actions workflow", +} as const; function instanceUpdateStep(range: { min: number; max: number }) { return { phase: "update", @@ -661,21 +684,19 @@ function instanceUpdateStep(range: { min: number; max: number }) { } const BUILD_STEP_INDEX = DEPLOYMENT_STEPS.findIndex((step) => step.phase === "build"); -function deploymentSteps(task: DeploymentTaskUpdate) { - const steps = task.instanceRange - ? [ - ...DEPLOYMENT_STEPS.slice(0, -1), - instanceUpdateStep(task.instanceRange), - DEPLOYMENT_STEPS[DEPLOYMENT_STEPS.length - 1], - ] - : DEPLOYMENT_STEPS; - return task.createEvaluationSets - ? [ - ...steps.slice(0, -1), - EVALUATION_SET_STEP, - steps[steps.length - 1], - ] - : steps; +function deploymentSteps(task: DeploymentTaskUpdate): Array<{ + phase: string; + label: string; + description: string; +}> { + const steps: Array<{ phase: string; label: string; description: string }> = [ + ...DEPLOYMENT_STEPS.slice(0, -1), + ]; + if (task.instanceRange) steps.push(instanceUpdateStep(task.instanceRange)); + if (task.createEvaluationSets) steps.push(EVALUATION_SET_STEP); + if (task.githubDelivery) steps.push(GITHUB_DELIVERY_STEP); + steps.push(DEPLOYMENT_STEPS[DEPLOYMENT_STEPS.length - 1]); + return steps; } function deploymentStepIndex(task: DeploymentTaskUpdate): number { @@ -687,6 +708,7 @@ function deploymentStepIndex(task: DeploymentTaskUpdate): number { 部署: "deploy", 发布: "publish", 创建评测集: "evaluation", + "挂载 GitHub 持续交付": "github", 部署完成: "complete", } as Record)[task.label]; const index = steps.findIndex((step) => step.phase === phase); @@ -707,26 +729,37 @@ function formatBuildLogTime(updatedAt: number): string { } } -function DeploymentBuildLog({ task }: { task: DeploymentTaskUpdate }) { - const log = task.buildLog; +type DeploymentLogSnapshot = NonNullable; + +function DeploymentStepLog({ + log, + autoExpand, + title, + ariaLabel, + copyLabel, + defaultPendingMessage, +}: { + log?: DeploymentLogSnapshot; + autoExpand: boolean; + title: string; + ariaLabel: string; + copyLabel: string; + defaultPendingMessage: string; +}) { const logTextRef = useRef(null); - const shouldAutoExpand = Boolean( - log?.status !== "complete" - && (task.status === "running" || task.status === "error") - && deploymentStepIndex(task) === BUILD_STEP_INDEX, - ); + const shouldAutoExpand = Boolean(log?.status !== "complete" && autoExpand); const [expanded, setExpanded] = useState(shouldAutoExpand); const [copied, setCopied] = useState(false); const hasLogText = Boolean(log?.text || log?.error); const text = log?.text || log?.error || ""; const lines = text.split("\n"); const visibleText = expanded ? text : lines.slice(-36).join("\n"); - const pendingMessage = log?.pendingMessage || "正在等待构建日志…"; + const pendingMessage = log?.pendingMessage || defaultPendingMessage; useEffect(() => { if (!log) return; setExpanded(shouldAutoExpand); - }, [task.id, log?.status, shouldAutoExpand]); + }, [log?.status, shouldAutoExpand]); useEffect(() => { if (!expanded || !hasLogText) return; @@ -770,11 +803,11 @@ function DeploymentBuildLog({ task }: { task: DeploymentTaskUpdate }) { return (
- 构建日志 + {title} {meta}
@@ -790,8 +823,8 @@ function DeploymentBuildLog({ task }: { task: DeploymentTaskUpdate }) {
)} + {step.phase === "github" && task.githubLog && ( +
+ +
+ )} ); @@ -995,6 +1067,11 @@ export function AgentWorkspace({ const [apiKeyVisible, setApiKeyVisible] = useState(false); const [apiKeyLoading, setApiKeyLoading] = useState(false); const [apiKeyError, setApiKeyError] = useState(""); + const [githubVersions, setGithubVersions] = + useState(null); + const [githubVersionsLoading, setGithubVersionsLoading] = useState(false); + const [githubVersionsError, setGithubVersionsError] = useState(""); + const [rollbackCommit, setRollbackCommit] = useState(""); const [updateCapability, setUpdateCapability] = useState<{ requestKey: string; value: RuntimeUpdateCapability; @@ -1704,6 +1781,36 @@ export function AgentWorkspace({ selectedAgent?.runtimeId, ]); + useEffect(() => { + let cancelled = false; + const runtimeId = selectedAgent?.runtimeId ?? ""; + setGithubVersionsError(""); + if (section !== "versions" || !runtimeId) { + setGithubVersionsLoading(false); + if (!runtimeId) setGithubVersions(null); + return; + } + setGithubVersionsLoading(true); + void getGithubDeliveryVersions(runtimeId) + .then((value) => { + if (!cancelled) setGithubVersions(value); + }) + .catch((error: unknown) => { + if (!cancelled) { + setGithubVersions(null); + setGithubVersionsError( + error instanceof Error ? error.message : "读取 GitHub 版本失败。", + ); + } + }) + .finally(() => { + if (!cancelled) setGithubVersionsLoading(false); + }); + return () => { + cancelled = true; + }; + }, [section, selectedAgent?.currentVersion, selectedAgent?.runtimeId]); + useEffect(() => { let cancelled = false; const runtimeId = selectedAgent?.runtimeId ?? ""; @@ -1811,6 +1918,28 @@ export function AgentWorkspace({ selectedAgent?.runtimeId, ]); + async function createRollbackPr(version: GithubDeliveryVersion) { + const runtimeId = selectedAgent?.runtimeId ?? ""; + const commitSha = version.commitSha ?? ""; + if (!runtimeId || !commitSha || rollbackCommit) return; + setRollbackCommit(commitSha); + setGithubVersionsError(""); + try { + await createGithubDeliveryRollbackPr({ + runtimeId, + targetCommitSha: commitSha, + }); + const refreshed = await getGithubDeliveryVersions(runtimeId); + setGithubVersions(refreshed); + } catch (error) { + setGithubVersionsError( + error instanceof Error ? error.message : "回退版本失败。", + ); + } finally { + setRollbackCommit(""); + } + } + useEffect(() => { const caseIds = new Set(feedbackCases.map((item) => item.id)); setSelectedCaseIds((current) => { @@ -2961,6 +3090,141 @@ export function AgentWorkspace({ )}
)} + {section === "versions" && ( +
+
+

GitHub 交付版本

+

+ {githubVersions?.cicd?.enabled + ? "展示当前 Runtime 绑定 GitHub 后由 Studio 记录的版本与 PR。" + : "未挂载 GitHub 时仅展示 Studio 当前版本。"} +

+
+ {githubVersionsLoading && ( +
正在读取版本…
+ )} + {githubVersionsError && ( +
+ {githubVersionsError} + {selectedAgent?.runtimeId && ( + + )} +
+ )} + {!githubVersionsLoading && !githubVersionsError && ( +
+ {githubVersions?.githubSyncError && ( +
+ {githubVersions.githubSyncError} +
+ )} + {githubVersions?.latestSourceRuntimeStatus + && githubVersions.latestSourceRuntimeStatus !== "published" + && githubVersions.versions[0]?.commitSha + && githubVersions.versions[0].commitSha + !== githubVersions.currentCommitSha && ( +
+ + 源码已合入 main,Runtime 仍在 + {githubRuntimeStatusLabel( + githubVersions.latestSourceRuntimeStatus, + )} + ;当前线上版本保持在最近一次发布成功的版本。 + +
+ )} + {githubVersions?.versions.length ? ( + githubVersions.versions.map((version) => { + const commitSha = version.commitSha ?? ""; + const runtimeStatus = version.runtimeStatus ?? version.status; + const isRollbackEvent = version.changeType === "rollback"; + const canRollback = + Boolean(githubVersions.cicd?.enabled) && + Boolean(commitSha) && + !isRollbackEvent && + commitSha !== githubVersions.currentCommitSha; + return ( +
+
+ {githubVersionTitle(version)} + {version.createdAt || "暂无时间"} +
+
+ PR 链接 + {version.pullRequestUrl ? ( + + 查看 PR + + ) : ( + 无 PR + )} +
+
+ 提交人 + {version.author || "Studio"} +
+
+ 发布状态 + {githubRuntimeStatusLabel(runtimeStatus)} +
+
+ + {version.workflowRunUrl && ( + + 查看发布 + + )} +
+
+ ); + }) + ) : ( +
+
+ + {displayCurrentVersion != null + ? `v${displayCurrentVersion}` + : "暂无版本"} + + {runtimeDetail?.updatedAt || "暂无时间"} +
+

未挂载 GitHub 时仅展示 Studio 当前版本。

+
+ )} +
+ )} +
+ )} {section === "integrations" && (
diff --git a/frontend/src/ui/GithubCicdPanel.tsx b/frontend/src/ui/GithubCicdPanel.tsx new file mode 100644 index 000000000..c69d95e9b --- /dev/null +++ b/frontend/src/ui/GithubCicdPanel.tsx @@ -0,0 +1,568 @@ +import { useEffect, useMemo, useState, type FormEvent, type SVGProps } from "react"; +import { + bindGithubCicdRuntime, + createGithubCicdPipeline, + createGithubDeliveryCicdPipeline, + getGithubCicdRuntimeBinding, + GithubCicdPipelineError, + type GithubCicdPipelineErrorDetail, + type GithubCicdPipelineResult, +} from "../adk/client"; +import type { CloudProvider } from "../adk/cloudProvider"; +import type { AgentProject } from "../create/project"; + +interface GithubCicdPanelProps { + project: AgentProject; + region: string; + cloudProvider: CloudProvider; + runtimeId?: string; + binding?: GithubCicdPipelineResult | null; + disabled?: boolean; + showSetup?: boolean; + onPendingCicdChange?: (config: PendingGithubCicdConfig | null) => void; + onBindingChange?: (binding: GithubCicdPipelineResult | null) => void; +} + +type DeliveryMode = "source" | "cicd"; + +export interface PendingGithubCicdConfig { + githubUrl: string; + githubToken: string; + baseBranch: string; + volcengineAccessKey: string; + volcengineSecretKey: string; + volcengineSessionToken?: string; + cloudProvider: CloudProvider; + pipelineId?: string; +} + +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 || "同步 GitHub 代码失败") }; +} + +function deliveryStatusLabel(result: GithubCicdPipelineResult): string { + if (result.status === "cicd-bound") return "已挂载"; + if (result.status === "bound") return "已绑定"; + if (result.status === "succeeded") return "已同步"; + return result.status || "已创建"; +} + +function ExternalLinkIcon(props: SVGProps) { + return ( + + ); +} + +function SpinnerIcon(props: SVGProps) { + return ( + + ); +} + +export function GithubCicdPanel({ + project, + region, + cloudProvider, + runtimeId, + binding, + disabled = false, + showSetup = true, + onPendingCicdChange, + onBindingChange, +}: GithubCicdPanelProps) { + const [githubUrl, setGithubUrl] = useState(""); + const [githubToken, setGithubToken] = useState(""); + const [baseBranch, setBaseBranch] = useState("main"); + const [volcengineAccessKey, setVolcengineAccessKey] = useState(""); + const [volcengineSecretKey, setVolcengineSecretKey] = useState(""); + const [volcengineSessionToken, setVolcengineSessionToken] = useState(""); + const [mode, setMode] = useState("source"); + const [submitting, setSubmitting] = useState(false); + const [loadingBinding, setLoadingBinding] = useState(false); + const [result, setResult] = useState(null); + const [error, setError] = useState(null); + const [pendingCicdSelected, setPendingCicdSelected] = useState(false); + + useEffect(() => { + if (binding?.pipelineId || binding?.runtimeId || binding?.status) { + setResult(binding); + } + }, [binding]); + + 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]); + + useEffect(() => { + if (!onPendingCicdChange) return; + if (runtimeId || mode !== "cicd" || !showSetup) { + onPendingCicdChange(null); + setPendingCicdSelected(false); + return; + } + const nextUrl = githubUrl.trim(); + const nextToken = githubToken.trim(); + const nextAccessKey = volcengineAccessKey.trim(); + const nextSecretKey = volcengineSecretKey.trim(); + if ( + !nextUrl || + !nextToken || + !nextAccessKey || + !nextSecretKey || + project.files.length === 0 + ) { + onPendingCicdChange(null); + setPendingCicdSelected(false); + return; + } + onPendingCicdChange({ + githubUrl: nextUrl, + githubToken, + baseBranch: normalizeBranch(baseBranch), + volcengineAccessKey: nextAccessKey, + volcengineSecretKey, + volcengineSessionToken: volcengineSessionToken.trim(), + pipelineId: result?.pipelineId, + cloudProvider, + }); + }, [ + baseBranch, + cloudProvider, + githubToken, + githubUrl, + mode, + onPendingCicdChange, + project.files.length, + result?.pipelineId, + runtimeId, + showSetup, + volcengineAccessKey, + volcengineSecretKey, + volcengineSessionToken, + ]); + + 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 isCicdMode = mode === "cicd"; + const credentialProviderLabel = + cloudProvider === "byteplus" ? "BytePlus" : "火山"; + const readonlyBinding = !showSetup && Boolean(runtimeId); + const canSubmit = + showSetup && + !disabled && + !submitting && + githubUrl.trim().length > 0 && + githubToken.trim().length > 0 && + (isCicdMode + ? volcengineAccessKey.trim().length > 0 && + volcengineSecretKey.trim().length > 0 && + (Boolean(runtimeId) || project.files.length > 0) + : project.files.length > 0); + const submitLabel = isCicdMode + ? runtimeId + ? "挂载持续交付" + : pendingCicdSelected + ? "已选择,部署时挂载" + : "部署时挂载持续交付" + : "同步代码"; + + async function handleSubmit(event: FormEvent) { + event.preventDefault(); + if (!canSubmit) return; + setSubmitting(true); + setResult(null); + setError(null); + try { + if (isCicdMode && !runtimeId) { + onPendingCicdChange?.({ + githubUrl: githubUrl.trim(), + githubToken, + baseBranch: normalizeBranch(baseBranch), + volcengineAccessKey: volcengineAccessKey.trim(), + volcengineSecretKey, + volcengineSessionToken: volcengineSessionToken.trim(), + cloudProvider, + }); + setPendingCicdSelected(true); + return; + } + const nextResult = isCicdMode && runtimeId + ? await createGithubDeliveryCicdPipeline({ + githubUrl: githubUrl.trim(), + githubToken, + baseBranch: normalizeBranch(baseBranch), + runtimeName: project.name, + runtimeId: runtimeId ?? "", + region, + cloudProvider, + projectPath: ".", + volcengineAccessKey: volcengineAccessKey.trim(), + volcengineSecretKey, + volcengineSessionToken: volcengineSessionToken.trim(), + }) + : await createGithubCicdPipeline({ + project, + githubUrl: githubUrl.trim(), + githubToken, + baseBranch: normalizeBranch(baseBranch), + region, + cloudProvider, + }); + const boundResult = + !isCicdMode && runtimeId && nextResult.pipelineId + ? await bindGithubCicdRuntime({ + pipelineId: nextResult.pipelineId, + runtimeId, + region, + cloudProvider, + }) + : nextResult; + setResult(boundResult); + onBindingChange?.(boundResult); + if (isCicdMode && !runtimeId && boundResult.pipelineId) { + onPendingCicdChange?.({ + githubUrl: githubUrl.trim(), + githubToken, + baseBranch: normalizeBranch(baseBranch), + volcengineAccessKey: volcengineAccessKey.trim(), + volcengineSecretKey, + volcengineSessionToken: volcengineSessionToken.trim(), + pipelineId: boundResult.pipelineId, + cloudProvider, + }); + } + if (!isCicdMode || runtimeId) { + setGithubToken(""); + setVolcengineAccessKey(""); + setVolcengineSecretKey(""); + setVolcengineSessionToken(""); + } + } catch (caught) { + setError(errorDetailFromUnknown(caught)); + } finally { + setSubmitting(false); + } + } + + if (readonlyBinding && !loadingBinding && !result) { + return null; + } + + return ( +
+
+ {showSetup ? ( +
+ + +
+ ) : ( + GitHub 交付 + )} + {(submitting || loadingBinding) && ( + + + {loadingBinding ? "读取中" : "执行中"} + + )} +
+ {showSetup && ( +

+ {isCicdMode + ? runtimeId + ? "写入 AgentKit Runtime GitHub Actions workflow,后续 GitHub 提交会更新绑定 Runtime。" + : "首次部署成功后初始化目标分支,后续 GitHub 提交会更新绑定 Runtime。" + : "Studio 会直接 push 到目标分支;该分支由 Studio 管理,远端冲突时同步会失败。Runtime 仍由部署按钮发布。"} +

+ )} + + {showSetup && ( +
+ + + + {isCicdMode && ( + <> + + + + + )} + +
+ )} + + {pendingCicdSelected && !result && ( +

+ 已选择挂载持续交付。点击部署后,Studio 会等待 Runtime 创建完成并初始化 GitHub 目标分支,初始化成功后才完成部署流程。 +

+ )} + + {result && ( +
+
+ + {result.cicd?.enabled + ? result.runtimeId + ? "已挂载持续交付" + : "已选择挂载持续交付" + : resultRuntimeId + ? "已绑定 GitHub" + : "代码已同步"} + + {deliveryStatusLabel(result)} +
+
+
+
仓库
+
{resultRepo}
+
+
+
分支
+
{resultBranch}
+
+ {resultRuntimeId && ( +
+
Runtime
+
{resultRuntimeId}
+
+ )} + {resultGithub?.commitSha && ( +
+
Commit
+
{resultGithub.commitSha.slice(0, 12)}
+
+ )} + {result.cicd?.workflowPath && ( +
+
Workflow
+
{result.cicd.workflowPath}
+
+ )} +
+
+ {resultGithub?.pullRequestUrl && ( + + + 查看 PR + + )} +
+ {resultRuntimeId && ( +

+ {result.cicd?.enabled + ? "目标分支提交会触发 Runtime 持续交付。" + : "更新并发布时会先同步当前源码到这个分支。"} +

+ )} +
+ )} + + {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 6d39fc1f8..386eac4a2 100644 --- a/frontend/src/ui/ProjectPreview.css +++ b/frontend/src/ui/ProjectPreview.css @@ -923,6 +923,89 @@ font-size: 12.5px; } +.pp-github-cicd-title { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.pp-github-cicd-tabs { + min-width: 0; + display: inline-flex; + align-items: center; + gap: 4px; + padding: 4px; + border: 1px solid hsl(var(--border) / 0.72); + border-radius: 10px; + background: hsl(var(--muted) / 0.42); +} + +.pp-github-cicd-tabs button { + min-height: 34px; + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 12px; + border: 1px solid transparent; + border-radius: 7px; + background: transparent; + color: hsl(var(--muted-foreground)); + font: inherit; + font-size: 12.5px; + font-weight: 600; + cursor: pointer; + white-space: nowrap; +} + +.pp-github-cicd-tabs button.is-active { + border-color: hsl(var(--border)); + background: hsl(var(--panel)); + color: hsl(var(--foreground)); +} + +.pp-github-cicd-tabs button:disabled { + opacity: 0.55; + cursor: default; +} + +.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-deployment-select { position: relative; min-width: 0; @@ -1175,6 +1258,144 @@ outline-offset: 2px; } +.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%); @@ -1207,6 +1428,7 @@ .pp-config-select, .pp-runtime-name-input, .pp-channel-fields input, +.pp-github-cicd-field input, .pp-instance-fields input, .pp-network-fields input, .pp-env-row input, @@ -1237,6 +1459,7 @@ .pp-config-select:focus, .pp-runtime-name-input: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, @@ -1263,6 +1486,7 @@ .pp-config-select:disabled, .pp-runtime-name-input: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, @@ -2390,6 +2614,16 @@ @media (max-width: 520px) { .pp-auth-fields, + .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 51ca025bb..893606fb7 100644 --- a/frontend/src/ui/ProjectPreview.tsx +++ b/frontend/src/ui/ProjectPreview.tsx @@ -5,6 +5,7 @@ import { useEffect, useId, useLayoutEffect, + useCallback, useMemo, useRef, useState, @@ -76,12 +77,16 @@ import { checkRuntimeNameAvailability, listIdentityUserPools, revealModelApiKey, + bindGithubCicdRuntime, + initializeGithubDeliveryMain, + syncGithubCicdRuntime, RuntimeProbeError, type DeployAuthentication, type DeployBuildLogSnapshot, type DeployResources, type DeployStage, type IdentityUserPool, + type GithubCicdPipelineResult, } from "../adk/client"; import { beginAgentDeploy, @@ -111,6 +116,10 @@ import { type DeploymentSelectOption, } from "./DeploymentSelect"; import { mergeDeployBuildLog } from "./deployBuildLog"; +import { + GithubCicdPanel, + type PendingGithubCicdConfig, +} from "./GithubCicdPanel"; import "./ProjectPreview.css"; interface DeploymentTelemetryOrigin { @@ -485,6 +494,7 @@ const DEPLOY_STEPS: { phase: string; label: string }[] = [ { phase: "deploy", label: "部署" }, { phase: "publish", label: "发布" }, ]; +const GITHUB_SYNC_STEP = { phase: "github", label: "同步代码" }; const CODE_PACKAGE_DEPLOY_STEPS: { phase: string; label: string }[] = [ { phase: "upload", label: "上传代码包" }, @@ -575,6 +585,10 @@ export interface DeploymentTaskUpdate { message?: string; pct?: number; buildLog?: DeployBuildLogSnapshot; + /** Whether the detail progress card should include the GitHub delivery step. */ + githubDelivery?: boolean; + /** Logs for GitHub source / workflow initialization shown on the delivery step. */ + githubLog?: DeployBuildLogSnapshot; /** Instance range applied through UpdateRuntime after creation. */ instanceRange?: { min: number; max: number }; /** Whether this deployment initializes the Studio feedback evaluation sets. */ @@ -869,6 +883,10 @@ export function ProjectPreview({ const [feishuUpdating, setFeishuUpdating] = useState(false); const [deployError, setDeployError] = useState(null); const [deployResult, setDeployResult] = useState(null); + const [githubCicdBinding, setGithubCicdBinding] = + useState(null); + const [pendingGithubCicd, setPendingGithubCicd] = + useState(null); // Latest progress frame per deploy phase + the phase currently in flight, // driving the build/deploy/publish stepper. const [stageMap, setStageMap] = useState>({}); @@ -938,9 +956,13 @@ export function ProjectPreview({ const deploymentStepsWithInstanceUpdate = needsInstanceUpdate ? [...baseDeploymentSteps, INSTANCE_UPDATE_STEP] : baseDeploymentSteps; - const deploymentSteps = effectiveCreateEvaluationSets + const deploymentStepsBeforeGithub = effectiveCreateEvaluationSets ? [...deploymentStepsWithInstanceUpdate, EVALUATION_SET_STEP] : deploymentStepsWithInstanceUpdate; + const deploymentSteps = + (deploymentRuntimeId && githubCicdBinding?.pipelineId) || pendingGithubCicd + ? [...deploymentStepsBeforeGithub, GITHUB_SYNC_STEP] + : deploymentStepsBeforeGithub; function clearModelApiKeyReveal() { modelApiKeyRevealAbortRef.current?.abort(); @@ -1360,6 +1382,13 @@ export function ProjectPreview({ } } + const handleGithubCicdBindingChange = useCallback( + (binding: GithubCicdPipelineResult | null) => { + setGithubCicdBinding(binding); + }, + [], + ); + async function requestDeploymentConfirmation() { if (!onDeploy || deploying || runtimeNameChecking || deployDisabled) return; if (runtimeNameError) { @@ -1519,6 +1548,7 @@ export function ProjectPreview({ phase: "prepare", label: "准备部署", agentDraft, + githubDelivery: Boolean(pendingGithubCicd), instanceRange: needsInstanceUpdate ? { min: instanceRange.min, max: instanceRange.max } : undefined, @@ -1527,6 +1557,7 @@ export function ProjectPreview({ onDeploymentTaskChange?.(initialTask); onDeploymentStarted?.(initialTask); let latestBuildLog: DeployBuildLogSnapshot | undefined; + let latestGithubLog: DeployBuildLogSnapshot | undefined; let latestPhase = initialTask.phase ?? "prepare"; const terminalBuildLog = ( status: DeployBuildLogSnapshot["status"], @@ -1550,6 +1581,23 @@ export function ProjectPreview({ updatedAt: Date.now(), pendingMessage: "正在等待构建日志…", }); + const githubDeliveryLog = ( + line: string, + status: DeployBuildLogSnapshot["status"] = "running", + ): DeployBuildLogSnapshot => { + const previousText = latestGithubLog?.text ?? ""; + const text = [previousText, line].filter(Boolean).join("\n"); + latestGithubLog = { + source: "github-delivery", + status, + text, + lineCount: text ? text.split("\n").length : 0, + truncated: false, + updatedAt: Date.now(), + pendingMessage: status === "running" ? "正在等待 GitHub 挂载日志…" : undefined, + }; + return latestGithubLog; + }; const mergeBuildFailureLog = (message: string): DeployBuildLogSnapshot | undefined => { if (latestPhase !== "build") return undefined; const failureText = [ @@ -1568,6 +1616,75 @@ export function ProjectPreview({ return latestBuildLog; }; try { + let activeGithubBinding = githubCicdBinding; + if (deploymentRuntimeId && githubCicdBinding?.pipelineId) { + latestPhase = "github"; + const githubLog = githubDeliveryLog("正在同步当前源码到 GitHub"); + const githubSyncStage: DeployStage = { + level: "info", + phase: "github", + message: "正在同步当前源码到 GitHub", + pct: 0, + }; + if (mountedRef.current) { + setStageMap((prev) => ({ ...prev, github: githubSyncStage })); + setActivePhase("github"); + } + onDeploymentTaskChange?.({ + id: taskId, + agentName: taskAgentName, + runtimeName: taskRuntimeName, + runtimeId: deploymentRuntimeId, + region: deployRegion, + startedAt: taskStartedAt, + status: "running", + phase: "github", + label: "同步 GitHub 代码", + message: githubSyncStage.message, + pct: 0, + githubDelivery: true, + githubLog, + }); + const synced = await syncGithubCicdRuntime({ + runtimeId: deploymentRuntimeId, + project, + }); + activeGithubBinding = synced; + if (mountedRef.current) { + setGithubCicdBinding(synced); + setStageMap((prev) => ({ + ...prev, + github: { + level: "success", + phase: "github", + message: "GitHub 代码已同步", + pct: 100, + }, + })); + setActivePhase(null); + } + if (synced.cicd?.enabled) { + onDeploymentTaskChange?.({ + id: taskId, + agentName: taskAgentName, + runtimeName: taskRuntimeName, + runtimeId: deploymentRuntimeId, + region: deployRegion, + startedAt: taskStartedAt, + status: "success", + phase: "github", + label: "GitHub 代码已提交", + message: "代码已提交到 GitHub,GitHub Actions 正在更新同一个 Runtime", + pct: 100, + githubDelivery: true, + githubLog: githubDeliveryLog( + "代码已提交到 GitHub,GitHub Actions 正在更新同一个 Runtime", + "complete", + ), + }); + return; + } + } const result = await onDeploy( project, (s) => { @@ -1630,6 +1747,129 @@ export function ProjectPreview({ ...(!isRuntimeUpdate ? { resources: deployResources } : {}), }, ); + if ( + !deploymentRuntimeId && + pendingGithubCicd && + result.runtimeId + ) { + latestPhase = "github"; + const githubLog = githubDeliveryLog("开始初始化 GitHub main 分支与 Actions workflow"); + const githubAttachStage: DeployStage = { + level: "info", + phase: "github", + message: "正在初始化 GitHub 持续交付目标分支", + pct: 0, + }; + if (mountedRef.current) { + setStageMap((prev) => ({ ...prev, github: githubAttachStage })); + setActivePhase("github"); + } + onDeploymentTaskChange?.({ + id: taskId, + agentName: result.agentName || taskAgentName, + runtimeName: result.runtimeName || taskRuntimeName, + runtimeId: result.runtimeId, + region: result.region || deployRegion, + startedAt: taskStartedAt, + status: "running", + phase: "github", + label: "挂载 GitHub 持续交付", + message: githubAttachStage.message, + pct: 0, + githubDelivery: true, + githubLog, + }); + try { + const attached = await initializeGithubDeliveryMain({ + project, + githubUrl: pendingGithubCicd.githubUrl, + githubToken: pendingGithubCicd.githubToken, + baseBranch: pendingGithubCicd.baseBranch, + runtimeName: result.agentName || taskRuntimeName, + runtimeId: result.runtimeId, + region: result.region || deployRegion, + cloudProvider: pendingGithubCicd.cloudProvider, + projectPath: ".", + volcengineAccessKey: pendingGithubCicd.volcengineAccessKey, + volcengineSecretKey: pendingGithubCicd.volcengineSecretKey, + volcengineSessionToken: pendingGithubCicd.volcengineSessionToken, + }); + activeGithubBinding = attached; + if (mountedRef.current) { + setGithubCicdBinding(attached); + setPendingGithubCicd(null); + setStageMap((prev) => ({ + ...prev, + github: { + level: "success", + phase: "github", + message: "GitHub 持续交付已初始化目标分支", + pct: 100, + }, + })); + setActivePhase(null); + } + onDeploymentTaskChange?.({ + id: taskId, + agentName: result.agentName || taskAgentName, + runtimeName: result.runtimeName || taskRuntimeName, + runtimeId: result.runtimeId, + region: result.region || deployRegion, + startedAt: taskStartedAt, + status: "running", + phase: "github", + label: "GitHub 持续交付已挂载", + message: "GitHub 持续交付已初始化目标分支", + pct: 100, + githubDelivery: true, + githubLog: githubDeliveryLog("GitHub 持续交付已初始化目标分支", "complete"), + }); + } catch (error) { + const githubLog = githubDeliveryLog( + `GitHub 持续交付挂载失败:${error instanceof Error ? error.message : String(error)}`, + "error", + ); + onDeploymentTaskChange?.({ + id: taskId, + agentName: result.agentName || taskAgentName, + runtimeName: result.runtimeName || taskRuntimeName, + runtimeId: result.runtimeId, + region: result.region || deployRegion, + startedAt: taskStartedAt, + status: "error", + phase: "github", + label: "挂载 GitHub 持续交付失败", + message: "挂载 GitHub 持续交付失败,详见 GitHub 日志。", + pct: 100, + githubDelivery: true, + githubLog, + }); + throw new Error( + `部署成功,但挂载 GitHub 持续交付失败:${ + error instanceof Error ? error.message : String(error) + }`, + ); + } + } else if (!deploymentRuntimeId && activeGithubBinding?.pipelineId && result.runtimeId) { + try { + const bound = await bindGithubCicdRuntime({ + pipelineId: activeGithubBinding.pipelineId, + runtimeId: result.runtimeId, + region: result.region || deployRegion, + cloudProvider: activeGithubBinding.cloudProvider ?? cloudProvider, + }); + activeGithubBinding = bound; + if (mountedRef.current) setGithubCicdBinding(bound); + } catch (error) { + if (mountedRef.current) { + setDeployError( + `部署成功,但绑定 GitHub 失败:${ + error instanceof Error ? error.message : String(error) + }`, + ); + } + } + } if (mountedRef.current) { setDeployResult(result); setActivePhase(null); @@ -1648,6 +1888,8 @@ export function ProjectPreview({ phase: "complete", label: "部署完成", message: result.warnings?.join(";"), + githubDelivery: Boolean(pendingGithubCicd || latestGithubLog), + ...(latestGithubLog ? { githubLog: latestGithubLog } : {}), ...terminalBuildLogUpdate("complete"), }); try { @@ -1694,11 +1936,14 @@ export function ProjectPreview({ return; } if (mountedRef.current) setDeployError(message); + if (mountedRef.current) setDeployResult(null); const buildLog = mergeBuildFailureLog(message); operation.fail({ failedPhase: telemetryDeployPhase(latestPhase), ...classifyTelemetryError(err, { phase: latestPhase }), }); + const failedInBuild = Boolean(buildLog); + const failedInGithub = latestPhase === "github" && Boolean(latestGithubLog); onDeploymentTaskChange?.({ id: taskId, agentName: taskAgentName, @@ -1709,8 +1954,15 @@ export function ProjectPreview({ status: "error", phase: latestPhase, label: "部署失败", - message, + message: failedInBuild + ? "构建镜像失败,详见构建日志。" + : failedInGithub + ? "挂载 GitHub 持续交付失败,详见 GitHub 日志。" + : message, ...(buildLog ? { buildLog } : terminalBuildLogUpdate("complete")), + ...(failedInGithub + ? { githubDelivery: true, githubLog: latestGithubLog } + : {}), retry: requestDeploymentConfirmation, }); } finally { @@ -2200,6 +2452,7 @@ export function ProjectPreview({ )} {!deploymentPrimaryPane && ( + <>
访问鉴权
{isRuntimeUpdate ? ( @@ -2240,6 +2493,23 @@ export function ProjectPreview({
)} + + )} {!deploymentPrimaryPane && ( @@ -2859,14 +3129,14 @@ export function ProjectPreview({ const failed = !!deployError && (activeIndex === -1 ? index === 0 : index === activeIndex); + const frame = stageMap[step.phase]; let status: "pending" | "active" | "done" | "failed"; - if (deployResult) status = "done"; + if (deployResult || frame?.level === "success") status = "done"; else if (failed) status = "failed"; else if (activeIndex === -1) status = deploying ? "active" : "pending"; else if (index < activeIndex) status = "done"; else if (index === activeIndex) status = deployError ? "failed" : "active"; else status = "pending"; - const frame = stageMap[step.phase]; return (
  • diff --git a/frontend/tests/agentWorkspace.test.mjs b/frontend/tests/agentWorkspace.test.mjs index 1bedf9b11..4219ab5dd 100644 --- a/frontend/tests/agentWorkspace.test.mjs +++ b/frontend/tests/agentWorkspace.test.mjs @@ -158,11 +158,11 @@ test("agent details show capability badges and deployment state before the flow" test("agent details expose detected integration methods without inventing unavailable endpoints", () => { assert.match( workspaceSource, - /type AgentSection = "basic" \| "usage" \| "evaluations" \| "optimizations" \| "integrations"/, + /type AgentSection = "basic" \| "usage" \| "evaluations" \| "optimizations" \| "integrations" \| "versions"/, ); assert.match( workspaceSource, - /\{ id: "basic", label: "基本信息" \},\s*\{ id: "usage", label: "用量统计" \},\s*\{ id: "evaluations", label: "评测集" \},\s*\{ id: "optimizations", label: "优化项" \},\s*\{ id: "integrations", label: "接入方法" \}/, + /\{ id: "basic", label: "基本信息" \},\s*\{ id: "usage", label: "用量统计" \},\s*\{ id: "evaluations", label: "评测集" \},\s*\{ id: "optimizations", label: "优化项" \},\s*\{ id: "integrations", label: "接入方法" \},\s*\{ id: "versions", label: "版本" \}/, ); assert.match(workspaceSource, /role="tablist"/); assert.match(workspaceSource, /role="tab"/); @@ -286,7 +286,27 @@ test("runtime-backed Agent details load and paginate usage without stale respons assert.match(workspaceStyles, /\.aw-usage-pagination button:disabled/); }); -test("workspace caches Runtime metadata and loads optional evaluation data on demand", () => { +test("agent details show GitHub delivery versions and rollback actions", () => { + assert.match(clientSource, /export interface GithubDeliveryVersion/); + assert.match(clientSource, /export async function getGithubDeliveryVersions/); + assert.match(clientSource, /export async function createGithubDeliveryRollbackPr/); + assert.match(workspaceSource, /getGithubDeliveryVersions/); + assert.match(workspaceSource, /createGithubDeliveryRollbackPr/); + assert.match(workspaceSource, /const \[githubVersions, setGithubVersions\]/); + assert.match(workspaceSource, /section === "versions"/); + assert.match(workspaceSource, /GitHub 交付版本/); + assert.match(workspaceSource, /源码已合入 main/); + assert.match(workspaceSource, /PR 链接/); + assert.match(workspaceSource, /提交人/); + assert.match(workspaceSource, /发布状态/); + assert.match(workspaceSource, /回退事件/); + assert.match(workspaceSource, /回退到此版本/); + assert.match(workspaceSource, /未挂载 GitHub 时仅展示 Studio 当前版本/); + assert.match(workspaceStyles, /\.aw-version-list/); + assert.match(workspaceStyles, /\.aw-version-actions/); +}); + +test("workspace uses cached runtime data and prefetches likely next views", () => { assert.match(clientSource, /const RUNTIME_METADATA_CACHE_TTL_MS = 5 \* 60 \* 1000/); assert.match(clientSource, /const FEEDBACK_CASES_CACHE_TTL_MS = 60 \* 1000/); assert.match(clientSource, /export function getCachedRuntimeAgentInfo/); @@ -381,7 +401,12 @@ test("workspace publish flow restores PR 748 deployment lifecycle hooks", () => assert.match(projectPreviewSource, /const mergeBuildFailureLog = \(message: string\): DeployBuildLogSnapshot \| undefined =>/); assert.match(projectPreviewSource, /"----- 构建失败 -----"[\s\S]*?latestBuildLog = mergeDeployBuildLog\(latestBuildLog/); assert.match(projectPreviewSource, /latestPhase = s\.phase/); - assert.match(projectPreviewSource, /label: "部署失败",\s*message,\s*\.\.\.\(buildLog/); + assert.match( + projectPreviewSource, + /label: "部署失败"[\s\S]*?message: failedInBuild[\s\S]*?\.\.\.\(buildLog/, + ); + assert.match(projectPreviewSource, /const failedInGithub = latestPhase === "github" && Boolean\(latestGithubLog\)/); + assert.match(projectPreviewSource, /failedInBuild[\s\S]*?"构建镜像失败,详见构建日志。"[\s\S]*?failedInGithub[\s\S]*?"挂载 GitHub 持续交付失败,详见 GitHub 日志。"/); assert.match( projectPreviewSource, /await onDeploymentComplete\?\.\(result\)[\s\S]*?catch \(error\)[\s\S]*?error instanceof RuntimeProbeError[\s\S]*?status: "success"[\s\S]*?label: "部署完成,暂未连接"[\s\S]*?message: error\.message/, @@ -427,6 +452,9 @@ test("workspace publish flow restores PR 748 deployment lifecycle hooks", () => ); assert.match(workspaceStyles, /\.aw-deploy-progress-actions\s*\{/); assert.match(workspaceSource, /const BUILD_STEP_INDEX = DEPLOYMENT_STEPS\.findIndex/); + assert.match(workspaceSource, /const GITHUB_DELIVERY_STEP =/); + assert.match(workspaceSource, /task\.githubDelivery[\s\S]*?GITHUB_DELIVERY_STEP[\s\S]*?DEPLOYMENT_STEPS\[DEPLOYMENT_STEPS\.length - 1\]/); + assert.match(workspaceSource, /phase:\s*"github"[\s\S]*?label:\s*"挂载 GitHub 持续交付"/); assert.match(workspaceSource, /const shouldAutoExpand = Boolean\([\s\S]*?deploymentStepIndex\(task\) === BUILD_STEP_INDEX/); assert.match(workspaceSource, /useState\(shouldAutoExpand\)/); assert.match(workspaceSource, /setExpanded\(shouldAutoExpand\)/); @@ -437,6 +465,7 @@ test("workspace publish flow restores PR 748 deployment lifecycle hooks", () => assert.match(workspaceSource, /className="aw-deploy-log-empty">\{pendingMessage\}/); assert.match(workspaceSource, /hasLogText[\s\S]*?\?
    \{visibleText\}<\/pre>[\s\S]*?: 
    \{pendingMessage\}<\/div>/); assert.match(workspaceSource, /step\.phase === "build" && task\.buildLog[\s\S]*?className="aw-deploy-step-log"[\s\S]*?/); + assert.match(workspaceSource, /step\.phase === "github" && task\.githubLog[\s\S]*?className="aw-deploy-step-log"[\s\S]*?/); assert.doesNotMatch(workspaceSource, /<\/ol>\s*/); assert.match(workspaceStyles, /\.aw-deploy-step-log\s*\{[\s\S]*?margin-top:\s*10px;/); assert.match(workspaceStyles, /\.aw-deploy-log-empty\s*\{/); diff --git a/frontend/tests/debugErrorPresentation.test.mjs b/frontend/tests/debugErrorPresentation.test.mjs index 4c1da7dd6..27191827d 100644 --- a/frontend/tests/debugErrorPresentation.test.mjs +++ b/frontend/tests/debugErrorPresentation.test.mjs @@ -72,11 +72,11 @@ test("creation and deployment keep friendly context and the original error", () assert.match(clientSource, /原始响应:\\n\$\{text\}/); assert.match( projectPreviewSource, - /label: "部署失败",\s*message,\s*\.\.\.\(buildLog/, + /label: "部署失败"[\s\S]*?message: failedInBuild[\s\S]*?\.\.\.\(buildLog/, ); - assert.doesNotMatch( + assert.match( projectPreviewSource, - /message: failedInBuild \? "构建镜像失败,详见构建日志。" : message/, + /failedInBuild[\s\S]*?"构建镜像失败,详见构建日志。"[\s\S]*?failedInGithub[\s\S]*?"挂载 GitHub 持续交付失败,详见 GitHub 日志。"[\s\S]*?: message/, ); }); diff --git a/frontend/tests/githubCicdPanel.test.mjs b/frontend/tests/githubCicdPanel.test.mjs new file mode 100644 index 000000000..d665c8211 --- /dev/null +++ b/frontend/tests/githubCicdPanel.test.mjs @@ -0,0 +1,92 @@ +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-delivery\/source-sync/); + assert.doesNotMatch(clientSource, /\/web\/github-delivery\/source-pr/); + assert.doesNotMatch(clientSource, /\/web\/github-cicd\/pipelines/); + assert.match(clientSource, /createGithubDeliveryCicdPipeline/); + assert.match(clientSource, /\/web\/github-delivery\/cicd-pipeline/); + assert.match(clientSource, /attachGithubDeliveryCicdToSourceSync/); + assert.match(clientSource, /\/web\/github-delivery\/source-sync\/cicd/); + assert.match(clientSource, /initializeGithubDeliveryMain/); + assert.match(clientSource, /\/web\/github-delivery\/init-main/); + assert.match(clientSource, /getGithubDeliveryVersions/); + assert.match(clientSource, /\/web\/github-delivery\/versions/); + assert.match(clientSource, /createGithubDeliveryRollbackPr/); + assert.match(clientSource, /\/web\/github-delivery\/rollback-pr/); + 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.match(clientSource, /cloudProvider: params\.cloudProvider/); + 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(projectPreviewSource, /cloudProvider=\{cloudProvider\}/); + assert.match(panelSource, /GitHub 代码同步/); + assert.match(panelSource, /挂载持续交付/); + assert.doesNotMatch(panelSource, /GitHub 持续交付<\/span>/); + assert.doesNotMatch(panelSource, /disabled\s+title="下一阶段接入 GitHub Actions 持续交付"/); + assert.match(panelSource, /createGithubDeliveryCicdPipeline/); + assert.match(panelSource, /挂载持续交付/); + assert.match(panelSource, /workflowPath/); + assert.match(panelSource, /githubUrl/); + assert.match(panelSource, /githubToken/); + assert.match(panelSource, /baseBranch/); + assert.match(panelSource, /volcengineAccessKey/); + assert.match(panelSource, /volcengineSecretKey/); + assert.match(panelSource, /credentialProviderLabel/); + assert.match(panelSource, /cloudProvider === "byteplus" \? "BytePlus" : "火山"/); + assert.match(projectPreviewSource, /pendingGithubCicd\.volcengineAccessKey/); + assert.match(projectPreviewSource, /pendingGithubCicd\.volcengineSecretKey/); + assert.match(projectPreviewSource, /pendingGithubCicd\.cloudProvider/); + assert.match(clientSource, /volcengineAccessKey/); + assert.match(clientSource, /volcengineSecretKey/); + assert.doesNotMatch(clientSource, /localStorage[\s\S]{0,160}volcengineAccessKey/); + assert.doesNotMatch(clientSource, /sessionStorage[\s\S]{0,160}volcengineAccessKey/); + assert.match(panelSource, /onPendingCicdChange/); + assert.match(panelSource, /部署时挂载持续交付/); + assert.match(panelSource, /直接 push 到目标分支/); + assert.match(panelSource, /同步代码/); + assert.doesNotMatch(panelSource, /创建 PR/); + assert.doesNotMatch(panelSource, /更新 PR/); + assert.match(panelSource, /首次部署成功后初始化目标分支/); + assert.doesNotMatch(panelSource, /pendingResult/); + assert.doesNotMatch(panelSource, /status:\s*"pending"/); + assert.match(panelSource, /已选择,部署时挂载/); + assert.doesNotMatch(panelSource, /挂载持续交付需要先部署 Runtime/); + 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[\s\S]*?createEvaluationSets/, + /deploymentStepsWithInstanceUpdate = needsInstanceUpdate[\s\S]*?\[\.\.\.baseDeploymentSteps, INSTANCE_UPDATE_STEP\][\s\S]*?: baseDeploymentSteps[\s\S]*?deploymentStepsBeforeGithub = effectiveCreateEvaluationSets[\s\S]*?EVALUATION_SET_STEP[\s\S]*?pendingGithubCicd[\s\S]*?GITHUB_SYNC_STEP/, ); assert.match( workspaceSource, - /task\.instanceRange[\s\S]*?instanceUpdateStep\(task\.instanceRange\)[\s\S]*?: DEPLOYMENT_STEPS/, + /if \(task\.instanceRange\) steps\.push\(instanceUpdateStep\(task\.instanceRange\)\)/, + ); + assert.match( + workspaceSource, + /if \(task\.instanceRange\)[\s\S]*?if \(task\.createEvaluationSets\) steps\.push\(EVALUATION_SET_STEP\);[\s\S]*?if \(task\.githubDelivery\) steps\.push\(GITHUB_DELIVERY_STEP\)[\s\S]*?steps\.push\(DEPLOYMENT_STEPS\[DEPLOYMENT_STEPS\.length - 1\]\)/, ); assert.match( workspaceSource, From c5d317b7acf6dde7818d6d47e37924c6327b5a7a Mon Sep 17 00:00:00 2001 From: chuhanku Date: Thu, 20 Aug 2026 20:38:49 +0800 Subject: [PATCH 3/3] chore(studio): rebuild frontend assets --- .../{index-Bj9lylJf.js => index-sh8QRNzm.js} | 546 +++++++++--------- ...re.js => MarkdownPromptEditor-9wo3f6ga.js} | 2 +- .../{arc-BKJrW-GX.js => arc-B7D7fKkF.js} | 2 +- ...hannel-BQo1oGxG.js => channel-Cip7x_1m.js} | 2 +- ...{linear-Dil5wD59.js => linear-BmzcZuEF.js} | 2 +- ...{index-DWyU2bL1.css => index-s77xcnYE.css} | 2 +- ...dy.js => abnfDiagram-N423BO3Z-Cud6OJj5.js} | 2 +- ... architectureDiagram-T3A2C74G-fRh8vhJG.js} | 2 +- ...B.js => blockDiagram-VBNYF7ZC-gakGyyJ-.js} | 2 +- ...Xd8C.js => c4Diagram-5PPSVZJV-BouUrM0V.js} | 2 +- ...B2asRype.js => chunk-2GRJ4B5K-8JeziMcZ.js} | 2 +- ...CcAB9q97.js => chunk-2Q5K7J3B-DyH4ylUc.js} | 2 +- ...1IWafkh5.js => chunk-5RXB4S5H-B8NYulM6.js} | 2 +- ...CT700Zc5.js => chunk-5VM5RSS4-DW5_javj.js} | 2 +- ...D1vbrjoS.js => chunk-6Q2QTUOP-LmTMnw7Y.js} | 2 +- ...DqMkuj7n.js => chunk-GF5L2VYU-CcKNV6UO.js} | 2 +- ...8-vh9tdk.js => chunk-JWPE2WC7-DKTpV34k.js} | 2 +- ...svjqEuWZ.js => chunk-KBJHAD2P-BJQBtkor.js} | 2 +- ...Cqxp3wyY.js => chunk-RYQCIY6F-8wtkB9Bx.js} | 2 +- ...Du2hH_W_.js => chunk-XXDRQBXY-DqdKXcqv.js} | 2 +- .../mermaid/classDiagram-JCYQIIEL-DN0k_PIr.js | 1 + .../mermaid/classDiagram-JCYQIIEL-zSKdSbJy.js | 1 - .../classDiagram-v2-OCEON4UE-DN0k_PIr.js | 1 + .../classDiagram-v2-OCEON4UE-zSKdSbJy.js | 1 - ...G.js => cose-bilkent-JH36ORCC-CPiC1B6a.js} | 2 +- ...-F1ZLy.js => cynefin-OW5HDTMX-CVRcDGzI.js} | 2 +- ...js => cynefinDiagram-MW4NZA55-oYGksW2C.js} | 2 +- ...C5CLJfcV.js => dagre-VZM6K2ZE-jpR8BtJi.js} | 2 +- ...qbHV5N.js => diagram-7IWD3JNH-8KW8pRlJ.js} | 2 +- ...DWlu8p.js => diagram-B4RE2ZJO-Zn-3nBVO.js} | 2 +- ...5BMbsw.js => diagram-LBJQPF4R-sifT50JQ.js} | 2 +- ...esnco4.js => diagram-Q27KOJAE-D9fRizrn.js} | 2 +- ...baGY6Y.js => diagram-UB23O5K3-CgqkXTUU.js} | 2 +- ...3-.js => ebnfDiagram-BXEA7PRR-_hmiJ3YD.js} | 2 +- ...xMoL.js => erDiagram-JOGREHBK-Dj7zNU_j.js} | 2 +- ...M5.js => flowDiagram-UKHOOZJN-2fX5nZXI.js} | 2 +- ...e.js => ganttDiagram-PKOTCBZU-X7kwbkc4.js} | 2 +- ...s => gitGraphDiagram-DS77QQ5N-RzHaRRjn.js} | 2 +- ...3K.js => infoDiagram-6WML65LV-NV32ThPD.js} | 2 +- ...s => ishikawaDiagram-WSZJBQD7-DcfYA8UA.js} | 2 +- ...js => journeyDiagram-NVQOT4AX-DpRdtcYa.js} | 2 +- ...=> kanban-definition-27J2QSJJ-T-j7ARpv.js} | 2 +- ...e-OQ-NoIeH.js => mermaid.core-DAX2QfGO.js} | 8 +- ...> mindmap-definition-FAOFIHXS-dSs8oJom.js} | 2 +- ...jFv.js => pegDiagram-VL7TDLO6-Db2QQPgl.js} | 2 +- ...F-G.js => pieDiagram-7S7Q4E2Y-b-0AZ4cR.js} | 2 +- ...s => quadrantDiagram-CIZ2JOQS-DnyqEKV8.js} | 2 +- ...s => railroadDiagram-AXF67PYL-UgdXcxSH.js} | 2 +- ...> requirementDiagram-LRYGKXZP-CVhjvLne.js} | 2 +- ....js => sankeyDiagram-W5VNT64P-gmgsn_hR.js} | 2 +- ...s => sequenceDiagram-SI44F4Z6-DvRxUXnN.js} | 2 +- ...YX.js => sizeCapture-X5ZJPWSS-dTWDZWf3.js} | 2 +- ...t.js => stateDiagram-OKZ733FA-B-xg4vQW.js} | 2 +- .../stateDiagram-v2-UEYNNEHI-C6zkrfcd.js | 1 + .../stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js | 1 - ...mjCw.js => swimlanes-SLNWSIFB-DG4EYeZk.js} | 4 +- .../swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js | 8 - .../swimlanesDiagram-ULZ7WXOC-CPpKyqwL.js | 8 + ... timeline-definition-Z64GVDOM-DwO_fygu.js} | 2 +- ...--.js => vennDiagram-T6HMQDX7-Dsch8ylL.js} | 2 +- ...js => wardleyDiagram-T6FBY63Y-D4DBl3bi.js} | 2 +- ...js => xychartDiagram-ELKLHX3M-D97HCDoV.js} | 2 +- veadk/webui/index.html | 4 +- 63 files changed, 344 insertions(+), 342 deletions(-) rename veadk/webui/assets/app/{index-Bj9lylJf.js => index-sh8QRNzm.js} (58%) rename veadk/webui/assets/chunks/{MarkdownPromptEditor-CVe_5Dre.js => MarkdownPromptEditor-9wo3f6ga.js} (99%) rename veadk/webui/assets/chunks/{arc-BKJrW-GX.js => arc-B7D7fKkF.js} (98%) rename veadk/webui/assets/chunks/{channel-BQo1oGxG.js => channel-Cip7x_1m.js} (53%) rename veadk/webui/assets/chunks/{linear-Dil5wD59.js => linear-BmzcZuEF.js} (98%) rename veadk/webui/assets/styles/{index-DWyU2bL1.css => index-s77xcnYE.css} (55%) rename veadk/webui/assets/visualizations/mermaid/{abnfDiagram-N423BO3Z-p-mgwcdy.js => abnfDiagram-N423BO3Z-Cud6OJj5.js} (85%) rename veadk/webui/assets/visualizations/mermaid/{architectureDiagram-T3A2C74G-D18k4SUP.js => architectureDiagram-T3A2C74G-fRh8vhJG.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{blockDiagram-VBNYF7ZC-BwNY7lEB.js => blockDiagram-VBNYF7ZC-gakGyyJ-.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{c4Diagram-5PPSVZJV-CEzZXd8C.js => c4Diagram-5PPSVZJV-BouUrM0V.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-2GRJ4B5K-B2asRype.js => chunk-2GRJ4B5K-8JeziMcZ.js} (93%) rename veadk/webui/assets/visualizations/mermaid/{chunk-2Q5K7J3B-CcAB9q97.js => chunk-2Q5K7J3B-DyH4ylUc.js} (66%) rename veadk/webui/assets/visualizations/mermaid/{chunk-5RXB4S5H-1IWafkh5.js => chunk-5RXB4S5H-B8NYulM6.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-5VM5RSS4-CT700Zc5.js => chunk-5VM5RSS4-DW5_javj.js} (83%) rename veadk/webui/assets/visualizations/mermaid/{chunk-6Q2QTUOP-D1vbrjoS.js => chunk-6Q2QTUOP-LmTMnw7Y.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-GF5L2VYU-DqMkuj7n.js => chunk-GF5L2VYU-CcKNV6UO.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-JWPE2WC7-8-vh9tdk.js => chunk-JWPE2WC7-DKTpV34k.js} (78%) rename veadk/webui/assets/visualizations/mermaid/{chunk-KBJHAD2P-svjqEuWZ.js => chunk-KBJHAD2P-BJQBtkor.js} (87%) rename veadk/webui/assets/visualizations/mermaid/{chunk-RYQCIY6F-Cqxp3wyY.js => chunk-RYQCIY6F-8wtkB9Bx.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{chunk-XXDRQBXY-Du2hH_W_.js => chunk-XXDRQBXY-DqdKXcqv.js} (52%) create mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DN0k_PIr.js delete mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-zSKdSbJy.js create mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DN0k_PIr.js delete mode 100644 veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-zSKdSbJy.js rename veadk/webui/assets/visualizations/mermaid/{cose-bilkent-JH36ORCC-DtOdEs-G.js => cose-bilkent-JH36ORCC-CPiC1B6a.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{cynefin-OW5HDTMX-YC-F1ZLy.js => cynefin-OW5HDTMX-CVRcDGzI.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{cynefinDiagram-MW4NZA55-Dtr39XDB.js => cynefinDiagram-MW4NZA55-oYGksW2C.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{dagre-VZM6K2ZE-C5CLJfcV.js => dagre-VZM6K2ZE-jpR8BtJi.js} (97%) rename veadk/webui/assets/visualizations/mermaid/{diagram-7IWD3JNH-BGqbHV5N.js => diagram-7IWD3JNH-8KW8pRlJ.js} (96%) rename veadk/webui/assets/visualizations/mermaid/{diagram-B4RE2ZJO-jvDWlu8p.js => diagram-B4RE2ZJO-Zn-3nBVO.js} (97%) rename veadk/webui/assets/visualizations/mermaid/{diagram-LBJQPF4R-Dc5BMbsw.js => diagram-LBJQPF4R-sifT50JQ.js} (93%) rename veadk/webui/assets/visualizations/mermaid/{diagram-Q27KOJAE-Chesnco4.js => diagram-Q27KOJAE-D9fRizrn.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{diagram-UB23O5K3-B_baGY6Y.js => diagram-UB23O5K3-CgqkXTUU.js} (95%) rename veadk/webui/assets/visualizations/mermaid/{ebnfDiagram-BXEA7PRR-WhNodH3-.js => ebnfDiagram-BXEA7PRR-_hmiJ3YD.js} (87%) rename veadk/webui/assets/visualizations/mermaid/{erDiagram-JOGREHBK-DNCYxMoL.js => erDiagram-JOGREHBK-Dj7zNU_j.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{flowDiagram-UKHOOZJN-DDwOl6M5.js => flowDiagram-UKHOOZJN-2fX5nZXI.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{ganttDiagram-PKOTCBZU-D_QbS2Qe.js => ganttDiagram-PKOTCBZU-X7kwbkc4.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{gitGraphDiagram-DS77QQ5N-CMdbkt4j.js => gitGraphDiagram-DS77QQ5N-RzHaRRjn.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{infoDiagram-6WML65LV-ZpsMRN3K.js => infoDiagram-6WML65LV-NV32ThPD.js} (67%) rename veadk/webui/assets/visualizations/mermaid/{ishikawaDiagram-WSZJBQD7-h593HVGE.js => ishikawaDiagram-WSZJBQD7-DcfYA8UA.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{journeyDiagram-NVQOT4AX-B5NSsZK6.js => journeyDiagram-NVQOT4AX-DpRdtcYa.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{kanban-definition-27J2QSJJ-B08icks5.js => kanban-definition-27J2QSJJ-T-j7ARpv.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{mermaid.core-OQ-NoIeH.js => mermaid.core-DAX2QfGO.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{mindmap-definition-FAOFIHXS-DNoYLn6r.js => mindmap-definition-FAOFIHXS-dSs8oJom.js} (98%) rename veadk/webui/assets/visualizations/mermaid/{pegDiagram-VL7TDLO6-CajLPjFv.js => pegDiagram-VL7TDLO6-Db2QQPgl.js} (86%) rename veadk/webui/assets/visualizations/mermaid/{pieDiagram-7S7Q4E2Y-B3JugF-G.js => pieDiagram-7S7Q4E2Y-b-0AZ4cR.js} (95%) rename veadk/webui/assets/visualizations/mermaid/{quadrantDiagram-CIZ2JOQS-Di4W4xlE.js => quadrantDiagram-CIZ2JOQS-DnyqEKV8.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{railroadDiagram-AXF67PYL-DInD2Qc7.js => railroadDiagram-AXF67PYL-UgdXcxSH.js} (84%) rename veadk/webui/assets/visualizations/mermaid/{requirementDiagram-LRYGKXZP-C5Xl4FSh.js => requirementDiagram-LRYGKXZP-CVhjvLne.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{sankeyDiagram-W5VNT64P-DZLBHHS3.js => sankeyDiagram-W5VNT64P-gmgsn_hR.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{sequenceDiagram-SI44F4Z6-YlNpDd9i.js => sequenceDiagram-SI44F4Z6-DvRxUXnN.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{sizeCapture-X5ZJPWSS-BaMicUYX.js => sizeCapture-X5ZJPWSS-dTWDZWf3.js} (87%) rename veadk/webui/assets/visualizations/mermaid/{stateDiagram-OKZ733FA-D97-90Mt.js => stateDiagram-OKZ733FA-B-xg4vQW.js} (96%) create mode 100644 veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-C6zkrfcd.js delete mode 100644 veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js rename veadk/webui/assets/visualizations/mermaid/{swimlanes-SLNWSIFB-Ct5lmjCw.js => swimlanes-SLNWSIFB-DG4EYeZk.js} (99%) delete mode 100644 veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js create mode 100644 veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-CPpKyqwL.js rename veadk/webui/assets/visualizations/mermaid/{timeline-definition-Z64GVDOM-CGPnYrRB.js => timeline-definition-Z64GVDOM-DwO_fygu.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{vennDiagram-T6HMQDX7-hw-tux--.js => vennDiagram-T6HMQDX7-Dsch8ylL.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{wardleyDiagram-T6FBY63Y-ChSED9Ny.js => wardleyDiagram-T6FBY63Y-D4DBl3bi.js} (99%) rename veadk/webui/assets/visualizations/mermaid/{xychartDiagram-ELKLHX3M-Dh29HzQv.js => xychartDiagram-ELKLHX3M-D97HCDoV.js} (99%) diff --git a/veadk/webui/assets/app/index-Bj9lylJf.js b/veadk/webui/assets/app/index-sh8QRNzm.js similarity index 58% rename from veadk/webui/assets/app/index-Bj9lylJf.js rename to veadk/webui/assets/app/index-sh8QRNzm.js index fedac5936..8d312f170 100644 --- a/veadk/webui/assets/app/index-Bj9lylJf.js +++ b/veadk/webui/assets/app/index-sh8QRNzm.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/MarkdownPromptEditor-CVe_5Dre.js","assets/styles/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); -var ROe=Object.defineProperty;var zB=e=>{throw TypeError(e)};var DOe=(e,t,n)=>t in e?ROe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Rr=(e,t,n)=>DOe(e,typeof t!="symbol"?t+"":t,n),VB=(e,t,n)=>t.has(e)||zB("Cannot "+n);var ca=(e,t,n)=>(VB(e,t,"read from private field"),n?n.call(e):t.get(e)),qB=(e,t,n)=>t.has(e)?zB("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),XC=(e,t,n,i)=>(VB(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function IOe(e,t){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Lf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _b(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var CW={exports:{}},q_={};/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/MarkdownPromptEditor-9wo3f6ga.js","assets/styles/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); +var HOe=Object.defineProperty;var KB=e=>{throw TypeError(e)};var GOe=(e,t,n)=>t in e?HOe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Lr=(e,t,n)=>GOe(e,typeof t!="symbol"?t+"":t,n),JB=(e,t,n)=>t.has(e)||KB("Cannot "+n);var ba=(e,t,n)=>(JB(e,t,"read from private field"),n?n.call(e):t.get(e)),e8=(e,t,n)=>t.has(e)?KB("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),tN=(e,t,n,i)=>(JB(e,t,"write to private field"),i?i.call(e,n):t.set(e,n),n);function YOe(e,t){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();var Uf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Pb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var FW={exports:{}},Z_={};/** * @license React * react-jsx-runtime.production.js * @@ -7,7 +7,7 @@ var ROe=Object.defineProperty;var zB=e=>{throw TypeError(e)};var DOe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var POe=Symbol.for("react.transitional.element"),MOe=Symbol.for("react.fragment");function NW(e,t,n){var i=null;if(n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),"key"in t){n={};for(var r in t)r!=="key"&&(n[r]=t[r])}else n=t;return t=n.ref,{$$typeof:POe,type:e,key:i,ref:t!==void 0?t:null,props:n}}q_.Fragment=MOe;q_.jsx=NW;q_.jsxs=NW;CW.exports=q_;var l=CW.exports,jW={exports:{}},dn={};/** + */var WOe=Symbol.for("react.transitional.element"),ZOe=Symbol.for("react.fragment");function UW(e,t,n){var i=null;if(n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),"key"in t){n={};for(var r in t)r!=="key"&&(n[r]=t[r])}else n=t;return t=n.ref,{$$typeof:WOe,type:e,key:i,ref:t!==void 0?t:null,props:n}}Z_.Fragment=ZOe;Z_.jsx=UW;Z_.jsxs=UW;FW.exports=Z_;var l=FW.exports,zW={exports:{}},xn={};/** * @license React * react.production.js * @@ -15,7 +15,7 @@ var ROe=Object.defineProperty;var zB=e=>{throw TypeError(e)};var DOe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var mL=Symbol.for("react.transitional.element"),LOe=Symbol.for("react.portal"),$Oe=Symbol.for("react.fragment"),QOe=Symbol.for("react.strict_mode"),BOe=Symbol.for("react.profiler"),FOe=Symbol.for("react.consumer"),UOe=Symbol.for("react.context"),zOe=Symbol.for("react.forward_ref"),VOe=Symbol.for("react.suspense"),qOe=Symbol.for("react.memo"),RW=Symbol.for("react.lazy"),XOe=Symbol.for("react.activity"),XB=Symbol.iterator;function HOe(e){return e===null||typeof e!="object"?null:(e=XB&&e[XB]||e["@@iterator"],typeof e=="function"?e:null)}var DW={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},IW=Object.assign,PW={};function Ab(e,t,n){this.props=e,this.context=t,this.refs=PW,this.updater=n||DW}Ab.prototype.isReactComponent={};Ab.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")};Ab.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function MW(){}MW.prototype=Ab.prototype;function gL(e,t,n){this.props=e,this.context=t,this.refs=PW,this.updater=n||DW}var bL=gL.prototype=new MW;bL.constructor=gL;IW(bL,Ab.prototype);bL.isPureReactComponent=!0;var HB=Array.isArray;function XD(){}var ar={H:null,A:null,T:null,S:null},LW=Object.prototype.hasOwnProperty;function OL(e,t,n){var i=n.ref;return{$$typeof:mL,type:e,key:t,ref:i!==void 0?i:null,props:n}}function YOe(e,t){return OL(e.type,t,e.props)}function yL(e){return typeof e=="object"&&e!==null&&e.$$typeof===mL}function GOe(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var YB=/\/+/g;function HC(e,t){return typeof e=="object"&&e!==null&&e.key!=null?GOe(""+e.key):t.toString(36)}function WOe(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(XD,XD):(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 yg(e,t,n,i,r){var s=typeof e;(s==="undefined"||s==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(s){case"bigint":case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case mL:case LOe:a=!0;break;case RW:return a=e._init,yg(a(e._payload),t,n,i,r)}}if(a)return r=r(e),a=i===""?"."+HC(e,0):i,HB(r)?(n="",a!=null&&(n=a.replace(YB,"$&/")+"/"),yg(r,t,n,"",function(u){return u})):r!=null&&(yL(r)&&(r=YOe(r,n+(r.key==null||e&&e.key===r.key?"":(""+r.key).replace(YB,"$&/")+"/")+a)),t.push(r)),1;a=0;var o=i===""?".":i+":";if(HB(e))for(var c=0;c{throw TypeError(e)};var DOe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(j,D){var F=j.length;j.push(D);e:for(;0>>1,M=j[Q];if(0>>1;Qr(U,F))qr(ie,U)?(j[Q]=ie,j[q]=F,Q=q):(j[Q]=U,j[H]=F,Q=H);else if(qr(ie,F))j[Q]=ie,j[q]=F,Q=q;else break e}}return D}function r(j,D){var F=j.sortIndex-D.sortIndex;return F!==0?F:j.id-D.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var a=Date,o=a.now();e.unstable_now=function(){return a.now()-o}}var c=[],u=[],d=1,f=null,h=3,p=!1,b=!1,g=!1,O=!1,y=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function w(j){for(var D=n(u);D!==null;){if(D.callback===null)i(u);else if(D.startTime<=j)i(u),D.sortIndex=D.expirationTime,t(c,D);else break;D=n(u)}}function E(j){if(g=!1,w(j),!b)if(n(c)!==null)b=!0,S||(S=!0,P());else{var D=n(u);D!==null&&$(E,D.startTime-j)}}var S=!1,k=-1,T=5,C=-1;function A(){return O?!0:!(e.unstable_now()-Cj&&A());){var Q=f.callback;if(typeof Q=="function"){f.callback=null,h=f.priorityLevel;var M=Q(f.expirationTime<=j);if(j=e.unstable_now(),typeof M=="function"){f.callback=M,w(j),D=!0;break t}f===n(c)&&i(c),w(j)}else i(c);f=n(c)}if(f!==null)D=!0;else{var G=n(u);G!==null&&$(E,G.startTime-j),D=!1}}break e}finally{f=null,h=F,p=!1}D=void 0}}finally{D?P():S=!1}}}var P;if(typeof x=="function")P=function(){x(R)};else if(typeof MessageChannel<"u"){var B=new MessageChannel,I=B.port2;B.port1.onmessage=R,P=function(){I.postMessage(null)}}else P=function(){y(R,0)};function $(j,D){k=y(function(){j(e.unstable_now())},D)}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(j){j.callback=null},e.unstable_forceFrameRate=function(j){0>j||125Q?(j.sortIndex=F,t(u,j),n(c)===null&&j===n(u)&&(g?(v(k),k=-1):g=!0,$(E,F-Q))):(j.sortIndex=M,t(c,j),b||p||(b=!0,S||(S=!0,P()))),j},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(j){var D=h;return function(){var F=h;h=D;try{return j.apply(this,arguments)}finally{h=F}}}})(BW);QW.exports=BW;var JOe=QW.exports,FW={exports:{}},$a={};/** + */(function(e){function t(j,I){var F=j.length;j.push(I);e:for(;0>>1,M=j[B];if(0>>1;Br(U,F))Vr(re,U)?(j[B]=re,j[V]=F,B=V):(j[B]=U,j[q]=F,B=q);else if(Vr(re,F))j[B]=re,j[V]=F,B=V;else break e}}return I}function r(j,I){var F=j.sortIndex-I.sortIndex;return F!==0?F:j.id-I.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var a=Date,o=a.now();e.unstable_now=function(){return a.now()-o}}var c=[],u=[],d=1,f=null,h=3,p=!1,b=!1,g=!1,O=!1,y=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;function w(j){for(var I=n(u);I!==null;){if(I.callback===null)i(u);else if(I.startTime<=j)i(u),I.sortIndex=I.expirationTime,t(c,I);else break;I=n(u)}}function E(j){if(g=!1,w(j),!b)if(n(c)!==null)b=!0,S||(S=!0,P());else{var I=n(u);I!==null&&$(E,I.startTime-j)}}var S=!1,k=-1,T=5,C=-1;function A(){return O?!0:!(e.unstable_now()-Cj&&A());){var B=f.callback;if(typeof B=="function"){f.callback=null,h=f.priorityLevel;var M=B(f.expirationTime<=j);if(j=e.unstable_now(),typeof M=="function"){f.callback=M,w(j),I=!0;break t}f===n(c)&&i(c),w(j)}else i(c);f=n(c)}if(f!==null)I=!0;else{var Y=n(u);Y!==null&&$(E,Y.startTime-j),I=!1}}break e}finally{f=null,h=F,p=!1}I=void 0}}finally{I?P():S=!1}}}var P;if(typeof x=="function")P=function(){x(N)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,D=Q.port2;Q.port1.onmessage=N,P=function(){D.postMessage(null)}}else P=function(){y(N,0)};function $(j,I){k=y(function(){j(e.unstable_now())},I)}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(j){j.callback=null},e.unstable_forceFrameRate=function(j){0>j||125B?(j.sortIndex=F,t(u,j),n(c)===null&&j===n(u)&&(g?(v(k),k=-1):g=!0,$(E,F-B))):(j.sortIndex=M,t(c,j),b||p||(b=!0,S||(S=!0,P()))),j},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(j){var I=h;return function(){var F=h;h=I;try{return j.apply(this,arguments)}finally{h=F}}}})(KW);ZW.exports=KW;var pye=ZW.exports,JW={exports:{}},qa={};/** * @license React * react-dom.production.js * @@ -31,7 +31,7 @@ var ROe=Object.defineProperty;var zB=e=>{throw TypeError(e)};var DOe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var eye=m;function UW(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(zW)}catch(e){console.error(e)}}zW(),FW.exports=$a;var zi=FW.exports;/** + */var mye=m;function eZ(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(tZ)}catch(e){console.error(e)}}tZ(),JW.exports=qa;var Gi=JW.exports;/** * @license React * react-dom-client.production.js * @@ -39,15 +39,15 @@ var ROe=Object.defineProperty;var zB=e=>{throw TypeError(e)};var DOe=(e,t,n)=>t * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var vs=JOe,VW=m,iye=zi;function ze(e){var t="https://react.dev/errors/"+e;if(1Ig||(e.current=KD[Ig],KD[Ig]=null,Ig--)}function Ki(e,t){Ig++,KD[Ig]=e.current,e.current=t}var su=bu(null),Px=bu(null),Hf=bu(null),Nk=bu(null);function jk(e,t){switch(Ki(Hf,t),Ki(Px,e),Ki(su,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?i9(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=i9(t),e=gJ(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Qs(su),Ki(su,e)}function $0(){Qs(su),Qs(Px),Qs(Hf)}function JD(e){e.memoizedState!==null&&Ki(Nk,e);var t=su.current,n=gJ(t,e.type);t!==n&&(Ki(Px,e),Ki(su,n))}function Rk(e){Px.current===e&&(Qs(su),Qs(Px)),Nk.current===e&&(Qs(Nk),Xx._currentValue=Ip)}var YC,KB;function rp(e){if(YC===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);YC=t&&t[1]||"",KB=-1Ug||(e.current=oD[Ug],oD[Ug]=null,Ug--)}function sr(e,t){Ug++,oD[Ug]=e.current,e.current=t}var gu=Au(null),zx=Au(null),Kf=Au(null),Mk=Au(null);function Lk(e,t){switch(sr(Kf,t),sr(zx,e),sr(gu,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?f9(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=f9(t),e=AJ(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}qs(gu),sr(gu,e)}function X0(){qs(gu),qs(zx),qs(Kf)}function lD(e){e.memoizedState!==null&&sr(Mk,e);var t=gu.current,n=AJ(t,e.type);t!==n&&(sr(zx,e),sr(gu,n))}function $k(e){zx.current===e&&(qs(gu),qs(zx)),Mk.current===e&&(qs(Mk),e1._currentValue=zp)}var iN,o8;function hp(e){if(iN===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);iN=t&&t[1]||"",o8=-1)":-1r||c[i]!==u[r]){var d=` -`+c[i].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=i&&0<=r);break}}}finally{GC=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?rp(n):""}function lye(e,t){switch(e.tag){case 26:case 27:case 5:return rp(e.type);case 16:return rp("Lazy");case 13:return e.child!==t&&t!==null?rp("Suspense Fallback"):rp("Suspense");case 19:return rp("SuspenseList");case 0:case 15:return WC(e.type,!1);case 11:return WC(e.type.render,!1);case 1:return WC(e.type,!0);case 31:return rp("Activity");default:return""}}function JB(e){try{var t="",n=null;do t+=lye(e,n),n=e,e=e.return;while(e);return t}catch(i){return` +`+c[i].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=i&&0<=r);break}}}finally{rN=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?hp(n):""}function Sye(e,t){switch(e.tag){case 26:case 27:case 5:return hp(e.type);case 16:return hp("Lazy");case 13:return e.child!==t&&t!==null?hp("Suspense Fallback"):hp("Suspense");case 19:return hp("SuspenseList");case 0:case 15:return sN(e.type,!1);case 11:return sN(e.type.render,!1);case 1:return sN(e.type,!0);case 31:return hp("Activity");default:return""}}function l8(e){try{var t="",n=null;do t+=Sye(e,n),n=e,e=e.return;while(e);return t}catch(i){return` Error generating stack: `+i.message+` -`+i.stack}}var eI=Object.prototype.hasOwnProperty,wL=vs.unstable_scheduleCallback,ZC=vs.unstable_cancelCallback,cye=vs.unstable_shouldYield,uye=vs.unstable_requestPaint,zo=vs.unstable_now,dye=vs.unstable_getCurrentPriorityLevel,ZW=vs.unstable_ImmediatePriority,KW=vs.unstable_UserBlockingPriority,Dk=vs.unstable_NormalPriority,fye=vs.unstable_LowPriority,JW=vs.unstable_IdlePriority,hye=vs.log,pye=vs.unstable_setDisableYieldValue,av=null,Vo=null;function $f(e){if(typeof hye=="function"&&pye(e),Vo&&typeof Vo.setStrictMode=="function")try{Vo.setStrictMode(av,e)}catch{}}var qo=Math.clz32?Math.clz32:bye,mye=Math.log,gye=Math.LN2;function bye(e){return e>>>=0,e===0?32:31-(mye(e)/gye|0)|0}var Lw=256,$w=262144,Qw=4194304;function sp(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 Y_(e,t,n){var i=e.pendingLanes;if(i===0)return 0;var r=0,s=e.suspendedLanes,a=e.pingedLanes;e=e.warmLanes;var o=i&134217727;return o!==0?(i=o&~s,i!==0?r=sp(i):(a&=o,a!==0?r=sp(a):n||(n=o&~e,n!==0&&(r=sp(n))))):(o=i&~s,o!==0?r=sp(o):a!==0?r=sp(a):n||(n=i&~e,n!==0&&(r=sp(n)))),r===0?0:t!==0&&t!==r&&!(t&s)&&(s=r&-r,n=t&-t,s>=n||s===32&&(n&4194048)!==0)?t:r}function ov(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Oye(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 eZ(){var e=Qw;return Qw<<=1,!(Qw&62914560)&&(Qw=4194304),e}function KC(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function lv(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function yye(e,t,n,i,r,s){var a=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,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 kye=/[\n"\\]/g;function pl(e){return e.replace(kye,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function iI(e,t,n,i,r,s,a,o){e.name="",a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"?e.type=a:e.removeAttribute("type"),t!=null?a==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+cl(t)):e.value!==""+cl(t)&&(e.value=""+cl(t)):a!=="submit"&&a!=="reset"||e.removeAttribute("value"),t!=null?rI(e,a,cl(t)):n!=null?rI(e,a,cl(n)):i!=null&&e.removeAttribute("value"),r==null&&s!=null&&(e.defaultChecked=!!s),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+cl(o):e.removeAttribute("name")}function cZ(e,t,n,i,r,s,a,o){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||n!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){nI(e);return}n=n!=null?""+cl(n):"",t=t!=null?""+cl(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}i=i??r,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=o?e.checked:!!i,e.defaultChecked=!!i,a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.name=a),nI(e)}function rI(e,t,n){t==="number"&&Ik(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function d0(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),aI=!1;if(kd)try{var PO={};Object.defineProperty(PO,"passive",{get:function(){aI=!0}}),window.addEventListener("test",PO,PO),window.removeEventListener("test",PO,PO)}catch{aI=!1}var Qf=null,AL=null,SE=null;function pZ(){if(SE)return SE;var e,t=AL,n=t.length,i,r="value"in Qf?Qf.value:Qf.textContent,s=r.length;for(e=0;e=Uy),u8=" ",d8=!1;function gZ(e,t){switch(e){case"keyup":return Jye.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function bZ(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Lg=!1;function txe(e,t){switch(e){case"compositionend":return bZ(t);case"keypress":return t.which!==32?null:(d8=!0,u8);case"textInput":return e=t.data,e===u8&&d8?null:e;default:return null}}function nxe(e,t){if(Lg)return e==="compositionend"||!NL&&gZ(e,t)?(e=pZ(),SE=AL=Qf=null,Lg=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=g8(n)}}function vZ(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?vZ(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wZ(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ik(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=Ik(e.document)}return t}function jL(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 uxe=kd&&"documentMode"in document&&11>=document.documentMode,$g=null,oI=null,Vy=null,lI=!1;function O8(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;lI||$g==null||$g!==Ik(i)||(i=$g,"selectionStart"in i&&jL(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Vy&&$x(Vy,i)||(Vy=i,i=Kk(oI,"onSelect"),0>=a,r-=a,Gc=1<<32-qo(t)+r|n<T?(C=k,k=null):C=k.sibling;var A=h(y,k,x[T],w);if(A===null){k===null&&(k=C);break}e&&k&&A.alternate===null&&t(y,k),v=s(A,v,T),S===null?E=A:S.sibling=A,S=A,k=C}if(T===x.length)return n(y,k),Wn&&ed(y,T),E;if(k===null){for(;TT?(C=k,k=null):C=k.sibling;var R=h(y,k,A.value,w);if(R===null){k===null&&(k=C);break}e&&k&&R.alternate===null&&t(y,k),v=s(R,v,T),S===null?E=R:S.sibling=R,S=R,k=C}if(A.done)return n(y,k),Wn&&ed(y,T),E;if(k===null){for(;!A.done;T++,A=x.next())A=f(y,A.value,w),A!==null&&(v=s(A,v,T),S===null?E=A:S.sibling=A,S=A);return Wn&&ed(y,T),E}for(k=i(k);!A.done;T++,A=x.next())A=p(k,y,T,A.value,w),A!==null&&(e&&A.alternate!==null&&k.delete(A.key===null?T:A.key),v=s(A,v,T),S===null?E=A:S.sibling=A,S=A);return e&&k.forEach(function(P){return t(y,P)}),Wn&&ed(y,T),E}function O(y,v,x,w){if(typeof x=="object"&&x!==null&&x.type===Dg&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Mw:e:{for(var E=x.key;v!==null;){if(v.key===E){if(E=x.type,E===Dg){if(v.tag===7){n(y,v.sibling),w=r(v,x.props.children),w.return=y,y=w;break e}}else if(v.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ef&&ap(E)===v.type){n(y,v.sibling),w=r(v,x.props),LO(w,x),w.return=y,y=w;break e}n(y,v);break}else t(y,v);v=v.sibling}x.type===Dg?(w=Pp(x.props.children,y.mode,w,x.key),w.return=y,y=w):(w=kE(x.type,x.key,x.props,null,y.mode,w),LO(w,x),w.return=y,y=w)}return a(y);case gy:e:{for(E=x.key;v!==null;){if(v.key===E)if(v.tag===4&&v.stateNode.containerInfo===x.containerInfo&&v.stateNode.implementation===x.implementation){n(y,v.sibling),w=r(v,x.children||[]),w.return=y,y=w;break e}else{n(y,v);break}else t(y,v);v=v.sibling}w=oN(x,y.mode,w),w.return=y,y=w}return a(y);case Ef:return x=ap(x),O(y,v,x,w)}if(by(x))return b(y,v,x,w);if(IO(x)){if(E=IO(x),typeof E!="function")throw Error(ze(150));return x=E.call(x),g(y,v,x,w)}if(typeof x.then=="function")return O(y,v,zw(x),w);if(x.$$typeof===ad)return O(y,v,Uw(y,x),w);Vw(y,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,v!==null&&v.tag===6?(n(y,v.sibling),w=r(v,x),w.return=y,y=w):(n(y,v),w=aN(x,y.mode,w),w.return=y,y=w),a(y)):n(y,v)}return function(y,v,x,w){try{Fx=0;var E=O(y,v,x,w);return p0=null,E}catch(k){if(k===Db||k===eA)throw k;var S=Lo(29,k,null,y.mode);return S.lanes=w,S.return=y,S}finally{}}}var Jp=LZ(!0),$Z=LZ(!1),kf=!1;function BL(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function mI(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 Gf(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Wf(e,t,n){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,hi&2){var r=i.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=Mk(e),CZ(e,null,n),t}return J_(e,i,t,n),Mk(e)}function Xy(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,nZ(e,n)}}function cN(e,t){var n=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var r=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var a={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};s===null?r=s=a:s=s.next=a,n=n.next}while(n!==null);s===null?r=s=t:s=s.next=t}else r=s=t;n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,callbacks:i.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var gI=!1;function Hy(){if(gI){var e=h0;if(e!==null)throw e}}function Yy(e,t,n,i){gI=!1;var r=e.updateQueue;kf=!1;var s=r.firstBaseUpdate,a=r.lastBaseUpdate,o=r.shared.pending;if(o!==null){r.shared.pending=null;var c=o,u=c.next;c.next=null,a===null?s=u:a.next=u,a=c;var d=e.alternate;d!==null&&(d=d.updateQueue,o=d.lastBaseUpdate,o!==a&&(o===null?d.firstBaseUpdate=u:o.next=u,d.lastBaseUpdate=c))}if(s!==null){var f=r.baseState;a=0,d=u=c=null,o=s;do{var h=o.lane&-536870913,p=h!==o.lane;if(p?(Vn&h)===h:(i&h)===h){h!==0&&h===F0&&(gI=!0),d!==null&&(d=d.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var b=e,g=o;h=t;var O=n;switch(g.tag){case 1:if(b=g.payload,typeof b=="function"){f=b.call(O,f,h);break e}f=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=g.payload,h=typeof b=="function"?b.call(O,f,h):b,h==null)break e;f=lr({},f,h);break e;case 2:kf=!0}}h=o.callback,h!==null&&(e.flags|=64,p&&(e.flags|=8192),p=r.callbacks,p===null?r.callbacks=[h]:p.push(h))}else p={lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},d===null?(u=d=p,c=f):d=d.next=p,a|=h;if(o=o.next,o===null){if(o=r.shared.pending,o===null)break;p=o,o=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);d===null&&(c=f),r.baseState=c,r.firstBaseUpdate=u,r.lastBaseUpdate=d,s===null&&(r.shared.lanes=0),fh|=a,e.lanes=a,e.memoizedState=f}}function QZ(e,t){if(typeof e!="function")throw Error(ze(191,e));e.call(t)}function BZ(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;es?s:8;var a=en.T,o={};en.T=o,JL(e,!1,t,n);try{var c=r(),u=en.S;if(u!==null&&u(o,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=yxe(c,i);Gy(e,t,d,Xo(e))}else Gy(e,t,i,Xo(e))}catch(f){Gy(e,t,{then:function(){},status:"rejected",reason:f},Xo())}finally{pi.p=s,a!==null&&o.types!==null&&(a.types=o.types),en.T=a}}function kxe(){}function vI(e,t,n,i){if(e.tag!==5)throw Error(ze(476));var r=dK(e).queue;uK(e,r,t,Ip,n===null?kxe:function(){return fK(e),n(i)})}function dK(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ip,baseState:Ip,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_d,lastRenderedState:Ip},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_d,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function fK(e){var t=dK(e);t.next===null&&(t=e.alternate.memoizedState),Gy(e,t.next.queue,{},Xo())}function KL(){return Js(Xx)}function hK(){return Yr().memoizedState}function pK(){return Yr().memoizedState}function Txe(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Xo();e=Gf(n);var i=Wf(t,e,n);i!==null&&(oo(i,t,n),Xy(i,t,n)),t={cache:LL()},e.payload=t;return}t=t.return}}function _xe(e,t,n){var i=Xo();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},rA(e)?gK(t,n):(n=DL(e,t,n,i),n!==null&&(oo(n,e,i),bK(n,t,i)))}function mK(e,t,n){var i=Xo();Gy(e,t,n,i)}function Gy(e,t,n,i){var r={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(rA(e))gK(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var a=t.lastRenderedState,o=s(a,n);if(r.hasEagerState=!0,r.eagerState=o,Wo(o,a))return J_(e,t,r,0),Fi===null&&K_(),!1}catch{}finally{}if(n=DL(e,t,r,i),n!==null)return oo(n,e,i),bK(n,t,i),!0}return!1}function JL(e,t,n,i){if(i={lane:2,revertLane:l3(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},rA(e)){if(t)throw Error(ze(479))}else t=DL(e,n,i,2),t!==null&&oo(t,e,2)}function rA(e){var t=e.alternate;return e===mn||t!==null&&t===mn}function gK(e,t){m0=Uk=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function bK(e,t,n){if(n&4194048){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,nZ(e,n)}}var zx={readContext:Js,use:nA,useCallback:Dr,useContext:Dr,useEffect:Dr,useImperativeHandle:Dr,useLayoutEffect:Dr,useInsertionEffect:Dr,useMemo:Dr,useReducer:Dr,useRef:Dr,useState:Dr,useDebugValue:Dr,useDeferredValue:Dr,useTransition:Dr,useSyncExternalStore:Dr,useId:Dr,useHostTransitionStatus:Dr,useFormState:Dr,useActionState:Dr,useOptimistic:Dr,useMemoCache:Dr,useCacheRefresh:Dr};zx.useEffectEvent=Dr;var OK={readContext:Js,use:nA,useCallback:function(e,t){return Ea().memoizedState=[e,t===void 0?null:t],e},useContext:Js,useEffect:D8,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,AE(4194308,4,sK.bind(null,t,e),n)},useLayoutEffect:function(e,t){return AE(4194308,4,e,t)},useInsertionEffect:function(e,t){AE(4,2,e,t)},useMemo:function(e,t){var n=Ea();t=t===void 0?null:t;var i=e();if(em){$f(!0);try{e()}finally{$f(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=Ea();if(n!==void 0){var r=n(t);if(em){$f(!0);try{n(t)}finally{$f(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=_xe.bind(null,mn,e),[i.memoizedState,e]},useRef:function(e){var t=Ea();return e={current:e},t.memoizedState=e},useState:function(e){e=yI(e);var t=e.queue,n=mK.bind(null,mn,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:WL,useDeferredValue:function(e,t){var n=Ea();return ZL(n,e,t)},useTransition:function(){var e=yI(!1);return e=uK.bind(null,mn,e.queue,!0,!1),Ea().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=mn,r=Ea();if(Wn){if(n===void 0)throw Error(ze(407));n=n()}else{if(n=t(),Fi===null)throw Error(ze(349));Vn&127||qZ(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,D8(HZ.bind(null,i,s,e),[e]),i.flags|=2048,z0(9,{destroy:void 0},XZ.bind(null,i,s,n,t),null),n},useId:function(){var e=Ea(),t=Fi.identifierPrefix;if(Wn){var n=Wc,i=Gc;n=(i&~(1<<32-qo(i)-1)).toString(32)+n,t="_"+t+"R_"+n,n=zk++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof i.is=="string"?a.createElement("select",{is:i.is}):a.createElement("select"),i.multiple?s.multiple=!0:i.size&&(s.size=i.size);break;default:s=typeof i.is=="string"?a.createElement(r,{is:i.is}):a.createElement(r)}}s[Ws]=t,s[ho]=i;e:for(a=t.child;a!==null;){if(a.tag===5||a.tag===6)s.appendChild(a.stateNode);else if(a.tag!==4&&a.tag!==27&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=s;e:switch(ta(s,r,i),r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&$u(t)}}return nr(t),bN(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&$u(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(ze(166));if(e=Hf.current,Km(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,r=Zs,r!==null)switch(r.tag){case 27:case 5:i=r.memoizedProps}e[Ws]=t,e=!!(e.nodeValue===n||i!==null&&i.suppressHydrationWarning===!0||mJ(e.nodeValue,n)),e||uh(t,!0)}else e=Jk(e).createTextNode(i),e[Ws]=t,t.stateNode=e}return nr(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=Km(t),n!==null){if(e===null){if(!i)throw Error(ze(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(ze(557));e[Ws]=t}else Zp(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;nr(t),e=!1}else n=lN(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Mo(t),t):(Mo(t),null);if(t.flags&128)throw Error(ze(558))}return nr(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Km(t),i!==null&&i.dehydrated!==null){if(e===null){if(!r)throw Error(ze(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(ze(317));r[Ws]=t}else Zp(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;nr(t),r=!1}else r=lN(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Mo(t),t):(Mo(t),null)}return Mo(t),t.flags&128?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,r=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(r=i.alternate.memoizedState.cachePool.pool),s=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),s!==r&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),qw(t,t.updateQueue),nr(t),null);case 4:return $0(),e===null&&c3(t.stateNode.containerInfo),nr(t),null;case 10:return hd(t.type),nr(t),null;case 19:if(Qs(qr),i=t.memoizedState,i===null)return nr(t),null;if(r=(t.flags&128)!==0,s=i.rendering,s===null)if(r)$O(i,!1);else{if(Pr!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=Fk(e),s!==null){for(t.flags|=128,$O(i,!1),e=s.updateQueue,t.updateQueue=e,qw(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)NZ(n,e),n=n.sibling;return Ki(qr,qr.current&1|2),Wn&&ed(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&zo()>Hk&&(t.flags|=128,r=!0,$O(i,!1),t.lanes=4194304)}else{if(!r)if(e=Fk(s),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,qw(t,e),$O(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Wn)return nr(t),null}else 2*zo()-i.renderingStartTime>Hk&&n!==536870912&&(t.flags|=128,r=!0,$O(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(e=i.last,e!==null?e.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=zo(),e.sibling=null,n=qr.current,Ki(qr,r?n&1|2:n&1),Wn&&ed(t,i.treeForkCount),e):(nr(t),null);case 22:case 23:return Mo(t),FL(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?n&536870912&&!(t.flags&128)&&(nr(t),t.subtreeFlags&6&&(t.flags|=8192)):nr(t),n=t.updateQueue,n!==null&&qw(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&Qs(Mp),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),hd(rs),nr(t),null;case 25:return null;case 30:return null}throw Error(ze(156,t.tag))}function Rxe(e,t){switch(ML(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return hd(rs),$0(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Rk(t),null;case 31:if(t.memoizedState!==null){if(Mo(t),t.alternate===null)throw Error(ze(340));Zp()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ze(340));Zp()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Qs(qr),null;case 4:return $0(),null;case 10:return hd(t.type),null;case 22:case 23:return Mo(t),FL(),e!==null&&Qs(Mp),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return hd(rs),null;case 25:return null;default:return null}}function NK(e,t){switch(ML(t),t.tag){case 3:hd(rs),$0();break;case 26:case 27:case 5:Rk(t);break;case 4:$0();break;case 31:t.memoizedState!==null&&Mo(t);break;case 13:Mo(t);break;case 19:Qs(qr);break;case 10:hd(t.type);break;case 22:case 23:Mo(t),FL(),e!==null&&Qs(Mp);break;case 24:hd(rs)}}function hv(e,t){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var s=n.create,a=n.inst;i=s(),a.destroy=i}n=n.next}while(n!==r)}}catch(o){_i(t,t.return,o)}}function dh(e,t,n){try{var i=t.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var s=r.next;i=s;do{if((i.tag&e)===e){var a=i.inst,o=a.destroy;if(o!==void 0){a.destroy=void 0,r=t;var c=n,u=o;try{u()}catch(d){_i(r,c,d)}}}i=i.next}while(i!==s)}}catch(d){_i(t,t.return,d)}}function jK(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{BZ(t,n)}catch(i){_i(e,e.return,i)}}}function RK(e,t,n){n.props=tm(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(i){_i(e,t,i)}}function Wy(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof n=="function"?e.refCleanup=n(i):n.current=i}}catch(r){_i(e,t,r)}}function Zc(e,t){var n=e.ref,i=e.refCleanup;if(n!==null)if(typeof i=="function")try{i()}catch(r){_i(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){_i(e,t,r)}else n.current=null}function DK(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(r){_i(e,e.return,r)}}function ON(e,t,n){try{var i=e.stateNode;e1e(i,e.type,n,t),i[ho]=t}catch(r){_i(e,e.return,r)}}function IK(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Dh(e.type)||e.tag===4}function yN(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||IK(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&&Dh(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 TI(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=od));else if(i!==4&&(i===27&&Dh(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(TI(e,t,n),e=e.sibling;e!==null;)TI(e,t,n),e=e.sibling}function Xk(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(i===27&&Dh(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Xk(e,t,n),e=e.sibling;e!==null;)Xk(e,t,n),e=e.sibling}function PK(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);ta(t,i,n),t[Ws]=e,t[ho]=n}catch(s){_i(e,e.return,s)}}var nd=!1,is=!1,xN=!1,X8=typeof WeakSet=="function"?WeakSet:Set,Ns=null;function Dxe(e,t){if(e=e.containerInfo,DI=iT,e=wZ(e),jL(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var a=0,o=-1,c=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var p;f!==n||r!==0&&f.nodeType!==3||(o=a+r),f!==s||i!==0&&f.nodeType!==3||(c=a+i),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++u===r&&(o=a),h===s&&++d===i&&(c=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=o===-1||c===-1?null:{start:o,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(II={focusedElem:e,selectionRange:n},iT=!1,Ns=t;Ns!==null;)if(t=Ns,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ns=e;else for(;Ns!==null;){switch(t=Ns,s=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),ta(s,i,n),s[Ws]=e,Ds(s),i=s;break e;case"link":var a=f9("link","href",r).get(i+(n.href||""));if(a){for(var o=0;oO&&(a=O,O=g,g=a);var y=b8(o,g),v=b8(o,O);if(y&&v&&(p.rangeCount!==1||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var x=f.createRange();x.setStart(y.node,y.offset),p.removeAllRanges(),g>O?(p.addRange(x),p.extend(v.node,v.offset)):(x.setEnd(v.node,v.offset),p.addRange(x))}}}}for(f=[],p=o;p=p.parentNode;)p.nodeType===1&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;on?32:n,en.T=null,n=CI,CI=null;var s=Kf,a=pd;if(xs=0,q0=Kf=null,pd=0,hi&6)throw Error(ze(331));var o=hi;if(hi|=4,XK(s.current),zK(s,s.current,a,n),hi=o,pv(0,!1),Vo&&typeof Vo.onPostCommitFiberRoot=="function")try{Vo.onPostCommitFiberRoot(av,s)}catch{}return!0}finally{pi.p=r,en.T=i,oJ(e,t)}}function W8(e,t,n){t=ml(n,t),t=SI(e.stateNode,t,2),e=Wf(e,t,2),e!==null&&(lv(e,2),Ou(e))}function _i(e,t,n){if(e.tag===3)W8(e,e,n);else for(;t!==null;){if(t.tag===3){W8(t,e,n);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Zf===null||!Zf.has(i))){e=ml(n,e),n=SK(2),i=Wf(t,n,2),i!==null&&(EK(n,i,t,e),lv(i,2),Ou(i));break}}t=t.return}}function wN(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Mxe;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(s3=!0,r.add(n),e=Fxe.bind(null,e,t,n),t.then(e,e))}function Fxe(e,t,n){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Fi===e&&(Vn&n)===n&&(Pr===4||Pr===3&&(Vn&62914560)===Vn&&300>zo()-sA?!(hi&2)&&X0(e,0):a3|=n,V0===Vn&&(V0=0)),Ou(e)}function cJ(e,t){t===0&&(t=eZ()),e=Sm(e,t),e!==null&&(lv(e,t),Ou(e))}function Uxe(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),cJ(e,n)}function zxe(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(ze(314))}i!==null&&i.delete(t),cJ(e,n)}function Vxe(e,t){return wL(e,t)}var Wk=null,vg=null,jI=!1,Zk=!1,SN=!1,Uf=0;function Ou(e){e!==vg&&e.next===null&&(vg===null?Wk=vg=e:vg=vg.next=e),Zk=!0,jI||(jI=!0,Xxe())}function pv(e,t){if(!SN&&Zk){SN=!0;do for(var n=!1,i=Wk;i!==null;){if(e!==0){var r=i.pendingLanes;if(r===0)var s=0;else{var a=i.suspendedLanes,o=i.pingedLanes;s=(1<<31-qo(42|e)+1)-1,s&=r&~(a&~o),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(n=!0,Z8(i,s))}else s=Vn,s=Y_(i,i===Fi?s:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),!(s&3)||ov(i,s)||(n=!0,Z8(i,s));i=i.next}while(n);SN=!1}}function qxe(){uJ()}function uJ(){Zk=jI=!1;var e=0;Uf!==0&&n1e()&&(e=Uf);for(var t=zo(),n=null,i=Wk;i!==null;){var r=i.next,s=dJ(i,t);s===0?(i.next=null,n===null?Wk=r:n.next=r,r===null&&(vg=n)):(n=i,(e!==0||s&3)&&(Zk=!0)),i=r}xs!==0&&xs!==5||pv(e),Uf!==0&&(Uf=0)}function dJ(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes&-62914561;0o)break;var d=c.transferSize,f=c.initiatorType;d&&n9(f)&&(c=c.responseEnd,a+=d*(c"u"?null:document;function xJ(e,t,n){var i=Pb;if(i&&typeof t=="string"&&t){var r=pl(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),c9.has(r)||(c9.add(r),e={rel:e,crossOrigin:n,href:t},i.querySelector(r)===null&&(t=i.createElement("link"),ta(t,"link",e),Ds(t),i.head.appendChild(t)))}}function d1e(e){Fd.D(e),xJ("dns-prefetch",e,null)}function f1e(e,t){Fd.C(e,t),xJ("preconnect",e,t)}function h1e(e,t,n){Fd.L(e,t,n);var i=Pb;if(i&&e&&t){var r='link[rel="preload"][as="'+pl(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+pl(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+pl(n.imageSizes)+'"]')):r+='[href="'+pl(e)+'"]';var s=r;switch(t){case"style":s=H0(e);break;case"script":s=Mb(e)}Cl.has(s)||(e=lr({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Cl.set(s,e),i.querySelector(r)!==null||t==="style"&&i.querySelector(mv(s))||t==="script"&&i.querySelector(gv(s))||(t=i.createElement("link"),ta(t,"link",e),Ds(t),i.head.appendChild(t)))}}function p1e(e,t){Fd.m(e,t);var n=Pb;if(n&&e){var i=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+pl(i)+'"][href="'+pl(e)+'"]',s=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=Mb(e)}if(!Cl.has(s)&&(e=lr({rel:"modulepreload",href:e},t),Cl.set(s,e),n.querySelector(r)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(gv(s)))return}i=n.createElement("link"),ta(i,"link",e),Ds(i),n.head.appendChild(i)}}}function m1e(e,t,n){Fd.S(e,t,n);var i=Pb;if(i&&e){var r=u0(i).hoistableStyles,s=H0(e);t=t||"default";var a=r.get(s);if(!a){var o={loading:0,preload:null};if(a=i.querySelector(mv(s)))o.loading=5;else{e=lr({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Cl.get(s))&&u3(e,n);var c=a=i.createElement("link");Ds(c),ta(c,"link",e),c._p=new Promise(function(u,d){c.onload=u,c.onerror=d}),c.addEventListener("load",function(){o.loading|=1}),c.addEventListener("error",function(){o.loading|=2}),o.loading|=4,RE(a,t,i)}a={type:"stylesheet",instance:a,count:1,state:o},r.set(s,a)}}}function g1e(e,t){Fd.X(e,t);var n=Pb;if(n&&e){var i=u0(n).hoistableScripts,r=Mb(e),s=i.get(r);s||(s=n.querySelector(gv(r)),s||(e=lr({src:e,async:!0},t),(t=Cl.get(r))&&d3(e,t),s=n.createElement("script"),Ds(s),ta(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function b1e(e,t){Fd.M(e,t);var n=Pb;if(n&&e){var i=u0(n).hoistableScripts,r=Mb(e),s=i.get(r);s||(s=n.querySelector(gv(r)),s||(e=lr({src:e,async:!0,type:"module"},t),(t=Cl.get(r))&&d3(e,t),s=n.createElement("script"),Ds(s),ta(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function u9(e,t,n,i){var r=(r=Hf.current)?eT(r):null;if(!r)throw Error(ze(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=H0(n.href),n=u0(r).hoistableStyles,i=n.get(t),i||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=H0(n.href);var s=u0(r).hoistableStyles,a=s.get(e);if(a||(r=r.ownerDocument||r,a={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,a),(s=r.querySelector(mv(e)))&&!s._p&&(a.instance=s,a.state.loading=5),Cl.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},Cl.set(e,n),s||O1e(r,e,n,a.state))),t&&i===null)throw Error(ze(528,""));return a}if(t&&i!==null)throw Error(ze(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Mb(n),n=u0(r).hoistableScripts,i=n.get(t),i||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(ze(444,e))}}function H0(e){return'href="'+pl(e)+'"'}function mv(e){return'link[rel="stylesheet"]['+e+"]"}function vJ(e){return lr({},e,{"data-precedence":e.precedence,precedence:null})}function O1e(e,t,n,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),ta(t,"link",n),Ds(t),e.head.appendChild(t))}function Mb(e){return'[src="'+pl(e)+'"]'}function gv(e){return"script[async]"+e}function d9(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+pl(n.href)+'"]');if(i)return t.instance=i,Ds(i),i;var r=lr({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),Ds(i),ta(i,"style",r),RE(i,n.precedence,e),t.instance=i;case"stylesheet":r=H0(n.href);var s=e.querySelector(mv(r));if(s)return t.state.loading|=4,t.instance=s,Ds(s),s;i=vJ(n),(r=Cl.get(r))&&u3(i,r),s=(e.ownerDocument||e).createElement("link"),Ds(s);var a=s;return a._p=new Promise(function(o,c){a.onload=o,a.onerror=c}),ta(s,"link",i),t.state.loading|=4,RE(s,n.precedence,e),t.instance=s;case"script":return s=Mb(n.src),(r=e.querySelector(gv(s)))?(t.instance=r,Ds(r),r):(i=n,(r=Cl.get(s))&&(i=lr({},n),d3(i,r)),e=e.ownerDocument||e,r=e.createElement("script"),Ds(r),ta(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(ze(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(i=t.instance,t.state.loading|=4,RE(i,n.precedence,e));return t.instance}function RE(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,s=r,a=0;a title"):null)}function y1e(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 wJ(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}function x1e(e,t,n,i){if(n.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var r=H0(i.href),s=t.querySelector(mv(r));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=tT.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=s,Ds(s);return}s=t.ownerDocument||t,i=vJ(i),(r=Cl.get(r))&&u3(i,r),s=s.createElement("link"),Ds(s);var a=s;a._p=new Promise(function(o,c){a.onload=o,a.onerror=c}),ta(s,"link",i),n.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tT.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var CN=0;function v1e(e,t){return e.stylesheets&&e.count===0&&IE(e,e.stylesheets),0CN?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(r)}}:null}function tT(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)IE(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var nT=null;function IE(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,nT=new Map,t.forEach(w1e,e),nT=null,tT.call(e))}function w1e(e,t){if(!(t.state.loading&4)){var n=nT.get(e);if(n)var i=n.get(null);else{n=new Map,nT.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(NJ)}catch(e){console.error(e)}}NJ(),$W.exports=X_;var N1e=$W.exports;const j1e=_b(N1e),g3=m.createContext({});function uA(e){const t=m.useRef(null);return t.current===null&&(t.current=e()),t.current}const dA=m.createContext(null),Gx=m.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class R1e extends m.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const i=this.props.sizeRef.current;i.height=n.offsetHeight||0,i.width=n.offsetWidth||0,i.top=n.offsetTop,i.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function D1e({children:e,isPresent:t}){const n=m.useId(),i=m.useRef(null),r=m.useRef({width:0,height:0,top:0,left:0}),{nonce:s}=m.useContext(Gx);return m.useInsertionEffect(()=>{const{width:a,height:o,top:c,left:u}=r.current;if(t||!i.current||!a||!o)return;i.current.dataset.motionPopId=n;const d=document.createElement("style");return s&&(d.nonce=s),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` +`+i.stack}}var cD=Object.prototype.hasOwnProperty,j5=Cs.unstable_scheduleCallback,aN=Cs.unstable_cancelCallback,Eye=Cs.unstable_shouldYield,kye=Cs.unstable_requestPaint,Zo=Cs.unstable_now,Tye=Cs.unstable_getCurrentPriorityLevel,cZ=Cs.unstable_ImmediatePriority,uZ=Cs.unstable_UserBlockingPriority,Qk=Cs.unstable_NormalPriority,_ye=Cs.unstable_LowPriority,dZ=Cs.unstable_IdlePriority,Aye=Cs.log,Cye=Cs.unstable_setDisableYieldValue,pv=null,Ko=null;function zf(e){if(typeof Aye=="function"&&Cye(e),Ko&&typeof Ko.setStrictMode=="function")try{Ko.setStrictMode(pv,e)}catch{}}var Jo=Math.clz32?Math.clz32:Rye,Nye=Math.log,jye=Math.LN2;function Rye(e){return e>>>=0,e===0?32:31-(Nye(e)/jye|0)|0}var Fw=256,Uw=262144,zw=4194304;function pp(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 eA(e,t,n){var i=e.pendingLanes;if(i===0)return 0;var r=0,s=e.suspendedLanes,a=e.pingedLanes;e=e.warmLanes;var o=i&134217727;return o!==0?(i=o&~s,i!==0?r=pp(i):(a&=o,a!==0?r=pp(a):n||(n=o&~e,n!==0&&(r=pp(n))))):(o=i&~s,o!==0?r=pp(o):a!==0?r=pp(a):n||(n=i&~e,n!==0&&(r=pp(n)))),r===0?0:t!==0&&t!==r&&!(t&s)&&(s=r&-r,n=t&-t,s>=n||s===32&&(n&4194048)!==0)?t:r}function mv(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Iye(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 fZ(){var e=zw;return zw<<=1,!(zw&62914560)&&(zw=4194304),e}function oN(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function gv(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Dye(e,t,n,i,r,s){var a=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,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 Bye=/[\n"\\]/g;function El(e){return e.replace(Bye,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function fD(e,t,n,i,r,s,a,o){e.name="",a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"?e.type=a:e.removeAttribute("type"),t!=null?a==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+yl(t)):e.value!==""+yl(t)&&(e.value=""+yl(t)):a!=="submit"&&a!=="reset"||e.removeAttribute("value"),t!=null?hD(e,a,yl(t)):n!=null?hD(e,a,yl(n)):i!=null&&e.removeAttribute("value"),r==null&&s!=null&&(e.defaultChecked=!!s),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.name=""+yl(o):e.removeAttribute("name")}function vZ(e,t,n,i,r,s,a,o){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||n!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){dD(e);return}n=n!=null?""+yl(n):"",t=t!=null?""+yl(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}i=i??r,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=o?e.checked:!!i,e.defaultChecked=!!i,a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.name=a),dD(e)}function hD(e,t,n){t==="number"&&Bk(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function y0(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mD=!1;if(jd)try{var zO={};Object.defineProperty(zO,"passive",{get:function(){mD=!0}}),window.addEventListener("test",zO,zO),window.removeEventListener("test",zO,zO)}catch{mD=!1}var Vf=null,L5=null,_E=null;function TZ(){if(_E)return _E;var e,t=L5,n=t.length,i,r="value"in Vf?Vf.value:Vf.textContent,s=r.length;for(e=0;e=Yy),y8=" ",x8=!1;function AZ(e,t){switch(e){case"keyup":return pxe.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function CZ(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var qg=!1;function gxe(e,t){switch(e){case"compositionend":return CZ(t);case"keypress":return t.which!==32?null:(x8=!0,y8);case"textInput":return e=t.data,e===y8&&x8?null:e;default:return null}}function bxe(e,t){if(qg)return e==="compositionend"||!Q5&&AZ(e,t)?(e=TZ(),_E=L5=Vf=null,qg=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=k8(n)}}function IZ(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?IZ(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function DZ(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Bk(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=Bk(e.document)}return t}function B5(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 kxe=jd&&"documentMode"in document&&11>=document.documentMode,Xg=null,gD=null,Zy=null,bD=!1;function _8(e,t,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bD||Xg==null||Xg!==Bk(i)||(i=Xg,"selectionStart"in i&&B5(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Zy&&Xx(Zy,i)||(Zy=i,i=rT(gD,"onSelect"),0>=a,r-=a,au=1<<32-Jo(t)+r|n<T?(C=k,k=null):C=k.sibling;var A=h(y,k,x[T],w);if(A===null){k===null&&(k=C);break}e&&k&&A.alternate===null&&t(y,k),v=s(A,v,T),S===null?E=A:S.sibling=A,S=A,k=C}if(T===x.length)return n(y,k),ti&&ad(y,T),E;if(k===null){for(;TT?(C=k,k=null):C=k.sibling;var N=h(y,k,A.value,w);if(N===null){k===null&&(k=C);break}e&&k&&N.alternate===null&&t(y,k),v=s(N,v,T),S===null?E=N:S.sibling=N,S=N,k=C}if(A.done)return n(y,k),ti&&ad(y,T),E;if(k===null){for(;!A.done;T++,A=x.next())A=f(y,A.value,w),A!==null&&(v=s(A,v,T),S===null?E=A:S.sibling=A,S=A);return ti&&ad(y,T),E}for(k=i(k);!A.done;T++,A=x.next())A=p(k,y,T,A.value,w),A!==null&&(e&&A.alternate!==null&&k.delete(A.key===null?T:A.key),v=s(A,v,T),S===null?E=A:S.sibling=A,S=A);return e&&k.forEach(function(P){return t(y,P)}),ti&&ad(y,T),E}function O(y,v,x,w){if(typeof x=="object"&&x!==null&&x.type===Fg&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Bw:e:{for(var E=x.key;v!==null;){if(v.key===E){if(E=x.type,E===Fg){if(v.tag===7){n(y,v.sibling),w=r(v,x.props.children),w.return=y,y=w;break e}}else if(v.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Cf&&mp(E)===v.type){n(y,v.sibling),w=r(v,x.props),qO(w,x),w.return=y,y=w;break e}n(y,v);break}else t(y,v);v=v.sibling}x.type===Fg?(w=Vp(x.props.children,y.mode,w,x.key),w.return=y,y=w):(w=CE(x.type,x.key,x.props,null,y.mode,w),qO(w,x),w.return=y,y=w)}return a(y);case Ey:e:{for(E=x.key;v!==null;){if(v.key===E)if(v.tag===4&&v.stateNode.containerInfo===x.containerInfo&&v.stateNode.implementation===x.implementation){n(y,v.sibling),w=r(v,x.children||[]),w.return=y,y=w;break e}else{n(y,v);break}else t(y,v);v=v.sibling}w=gN(x,y.mode,w),w.return=y,y=w}return a(y);case Cf:return x=mp(x),O(y,v,x,w)}if(ky(x))return b(y,v,x,w);if(UO(x)){if(E=UO(x),typeof E!="function")throw Error(qe(150));return x=E.call(x),g(y,v,x,w)}if(typeof x.then=="function")return O(y,v,Hw(x),w);if(x.$$typeof===fd)return O(y,v,Xw(y,x),w);Gw(y,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,v!==null&&v.tag===6?(n(y,v.sibling),w=r(v,x),w.return=y,y=w):(n(y,v),w=mN(x,y.mode,w),w.return=y,y=w),a(y)):n(y,v)}return function(y,v,x,w){try{Yx=0;var E=O(y,v,x,w);return w0=null,E}catch(k){if(k===Fb||k===aA)throw k;var S=qo(29,k,null,y.mode);return S.lanes=w,S.return=y,S}finally{}}}var lm=YZ(!0),WZ=YZ(!1),Nf=!1;function Y5(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ED(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 eh(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function th(e,t,n){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,vi&2){var r=i.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=Uk(e),FZ(e,null,n),t}return sA(e,i,t,n),Uk(e)}function Jy(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,pZ(e,n)}}function ON(e,t){var n=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var r=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var a={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};s===null?r=s=a:s=s.next=a,n=n.next}while(n!==null);s===null?r=s=t:s=s.next=t}else r=s=t;n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,callbacks:i.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var kD=!1;function ex(){if(kD){var e=v0;if(e!==null)throw e}}function tx(e,t,n,i){kD=!1;var r=e.updateQueue;Nf=!1;var s=r.firstBaseUpdate,a=r.lastBaseUpdate,o=r.shared.pending;if(o!==null){r.shared.pending=null;var c=o,u=c.next;c.next=null,a===null?s=u:a.next=u,a=c;var d=e.alternate;d!==null&&(d=d.updateQueue,o=d.lastBaseUpdate,o!==a&&(o===null?d.firstBaseUpdate=u:o.next=u,d.lastBaseUpdate=c))}if(s!==null){var f=r.baseState;a=0,d=u=c=null,o=s;do{var h=o.lane&-536870913,p=h!==o.lane;if(p?(Xn&h)===h:(i&h)===h){h!==0&&h===Y0&&(kD=!0),d!==null&&(d=d.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var b=e,g=o;h=t;var O=n;switch(g.tag){case 1:if(b=g.payload,typeof b=="function"){f=b.call(O,f,h);break e}f=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=g.payload,h=typeof b=="function"?b.call(O,f,h):b,h==null)break e;f=mr({},f,h);break e;case 2:Nf=!0}}h=o.callback,h!==null&&(e.flags|=64,p&&(e.flags|=8192),p=r.callbacks,p===null?r.callbacks=[h]:p.push(h))}else p={lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},d===null?(u=d=p,c=f):d=d.next=p,a|=h;if(o=o.next,o===null){if(o=r.shared.pending,o===null)break;p=o,o=p.next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}while(!0);d===null&&(c=f),r.baseState=c,r.firstBaseUpdate=u,r.lastBaseUpdate=d,s===null&&(r.shared.lanes=0),bh|=a,e.lanes=a,e.memoizedState=f}}function ZZ(e,t){if(typeof e!="function")throw Error(qe(191,e));e.call(t)}function KZ(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;es?s:8;var a=ln.T,o={};ln.T=o,l3(e,!1,t,n);try{var c=r(),u=ln.S;if(u!==null&&u(o,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=Dxe(c,i);nx(e,t,d,el(e))}else nx(e,t,i,el(e))}catch(f){nx(e,t,{then:function(){},status:"rejected",reason:f},el())}finally{wi.p=s,a!==null&&o.types!==null&&(a.types=o.types),ln.T=a}}function Bxe(){}function ND(e,t,n,i){if(e.tag!==5)throw Error(qe(476));var r=SK(e).queue;wK(e,r,t,zp,n===null?Bxe:function(){return EK(e),n(i)})}function SK(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:zp,baseState:zp,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Id,lastRenderedState:zp},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Id,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function EK(e){var t=SK(e);t.next===null&&(t=e.alternate.memoizedState),nx(e,t.next.queue,{},el())}function o3(){return sa(e1)}function kK(){return ts().memoizedState}function TK(){return ts().memoizedState}function Fxe(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=el();e=eh(n);var i=th(t,e,n);i!==null&&(po(i,t,n),Jy(i,t,n)),t={cache:X5()},e.payload=t;return}t=t.return}}function Uxe(e,t,n){var i=el();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},uA(e)?AK(t,n):(n=U5(e,t,n,i),n!==null&&(po(n,e,i),CK(n,t,i)))}function _K(e,t,n){var i=el();nx(e,t,n,i)}function nx(e,t,n,i){var r={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(uA(e))AK(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var a=t.lastRenderedState,o=s(a,n);if(r.hasEagerState=!0,r.eagerState=o,rl(o,a))return sA(e,t,r,0),Xi===null&&rA(),!1}catch{}finally{}if(n=U5(e,t,r,i),n!==null)return po(n,e,i),CK(n,t,i),!0}return!1}function l3(e,t,n,i){if(i={lane:2,revertLane:b3(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},uA(e)){if(t)throw Error(qe(479))}else t=U5(e,n,i,2),t!==null&&po(t,e,2)}function uA(e){var t=e.alternate;return e===Sn||t!==null&&t===Sn}function AK(e,t){S0=Gk=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function CK(e,t,n){if(n&4194048){var i=t.lanes;i&=e.pendingLanes,n|=i,t.lanes=n,pZ(e,n)}}var Zx={readContext:sa,use:lA,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useLayoutEffect:$r,useInsertionEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useSyncExternalStore:$r,useId:$r,useHostTransitionStatus:$r,useFormState:$r,useActionState:$r,useOptimistic:$r,useMemoCache:$r,useCacheRefresh:$r};Zx.useEffectEvent=$r;var NK={readContext:sa,use:lA,useCallback:function(e,t){return ja().memoizedState=[e,t===void 0?null:t],e},useContext:sa,useEffect:U8,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,RE(4194308,4,bK.bind(null,t,e),n)},useLayoutEffect:function(e,t){return RE(4194308,4,e,t)},useInsertionEffect:function(e,t){RE(4,2,e,t)},useMemo:function(e,t){var n=ja();t=t===void 0?null:t;var i=e();if(cm){zf(!0);try{e()}finally{zf(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=ja();if(n!==void 0){var r=n(t);if(cm){zf(!0);try{n(t)}finally{zf(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=Uxe.bind(null,Sn,e),[i.memoizedState,e]},useRef:function(e){var t=ja();return e={current:e},t.memoizedState=e},useState:function(e){e=AD(e);var t=e.queue,n=_K.bind(null,Sn,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:s3,useDeferredValue:function(e,t){var n=ja();return a3(n,e,t)},useTransition:function(){var e=AD(!1);return e=wK.bind(null,Sn,e.queue,!0,!1),ja().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=Sn,r=ja();if(ti){if(n===void 0)throw Error(qe(407));n=n()}else{if(n=t(),Xi===null)throw Error(qe(349));Xn&127||iK(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,U8(sK.bind(null,i,s,e),[e]),i.flags|=2048,Z0(9,{destroy:void 0},rK.bind(null,i,s,n,t),null),n},useId:function(){var e=ja(),t=Xi.identifierPrefix;if(ti){var n=ou,i=au;n=(i&~(1<<32-Jo(i)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Yk++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof i.is=="string"?a.createElement("select",{is:i.is}):a.createElement("select"),i.multiple?s.multiple=!0:i.size&&(s.size=i.size);break;default:s=typeof i.is=="string"?a.createElement(r,{is:i.is}):a.createElement(r)}}s[na]=t,s[yo]=i;e:for(a=t.child;a!==null;){if(a.tag===5||a.tag===6)s.appendChild(a.stateNode);else if(a.tag!==4&&a.tag!==27&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=s;e:switch(aa(s,r,i),r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Vu(t)}}return cr(t),TN(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&Vu(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(qe(166));if(e=Kf.current,sg(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,r=ia,r!==null)switch(r.tag){case 27:case 5:i=r.memoizedProps}e[na]=t,e=!!(e.nodeValue===n||i!==null&&i.suppressHydrationWarning===!0||_J(e.nodeValue,n)),e||mh(t,!0)}else e=sT(e).createTextNode(i),e[na]=t,t.stateNode=e}return cr(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(i=sg(t),n!==null){if(e===null){if(!i)throw Error(qe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(qe(557));e[na]=t}else am(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;cr(t),e=!1}else n=bN(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Vo(t),t):(Vo(t),null);if(t.flags&128)throw Error(qe(558))}return cr(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=sg(t),i!==null&&i.dehydrated!==null){if(e===null){if(!r)throw Error(qe(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(qe(317));r[na]=t}else am(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;cr(t),r=!1}else r=bN(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(Vo(t),t):(Vo(t),null)}return Vo(t),t.flags&128?(t.lanes=n,t):(n=i!==null,e=e!==null&&e.memoizedState!==null,n&&(i=t.child,r=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(r=i.alternate.memoizedState.cachePool.pool),s=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),s!==r&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Yw(t,t.updateQueue),cr(t),null);case 4:return X0(),e===null&&O3(t.stateNode.containerInfo),cr(t),null;case 10:return yd(t.type),cr(t),null;case 19:if(qs(Kr),i=t.memoizedState,i===null)return cr(t),null;if(r=(t.flags&128)!==0,s=i.rendering,s===null)if(r)XO(i,!1);else{if(Br!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=Hk(e),s!==null){for(t.flags|=128,XO(i,!1),e=s.updateQueue,t.updateQueue=e,Yw(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)UZ(n,e),n=n.sibling;return sr(Kr,Kr.current&1|2),ti&&ad(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&Zo()>Jk&&(t.flags|=128,r=!0,XO(i,!1),t.lanes=4194304)}else{if(!r)if(e=Hk(s),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Yw(t,e),XO(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!ti)return cr(t),null}else 2*Zo()-i.renderingStartTime>Jk&&n!==536870912&&(t.flags|=128,r=!0,XO(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(e=i.last,e!==null?e.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Zo(),e.sibling=null,n=Kr.current,sr(Kr,r?n&1|2:n&1),ti&&ad(t,i.treeForkCount),e):(cr(t),null);case 22:case 23:return Vo(t),W5(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?n&536870912&&!(t.flags&128)&&(cr(t),t.subtreeFlags&6&&(t.flags|=8192)):cr(t),n=t.updateQueue,n!==null&&Yw(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),e!==null&&qs(qp),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),yd(ds),cr(t),null;case 25:return null;case 30:return null}throw Error(qe(156,t.tag))}function Hxe(e,t){switch(q5(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return yd(ds),X0(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return $k(t),null;case 31:if(t.memoizedState!==null){if(Vo(t),t.alternate===null)throw Error(qe(340));am()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Vo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(qe(340));am()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return qs(Kr),null;case 4:return X0(),null;case 10:return yd(t.type),null;case 22:case 23:return Vo(t),W5(),e!==null&&qs(qp),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return yd(ds),null;case 25:return null;default:return null}}function UK(e,t){switch(q5(t),t.tag){case 3:yd(ds),X0();break;case 26:case 27:case 5:$k(t);break;case 4:X0();break;case 31:t.memoizedState!==null&&Vo(t);break;case 13:Vo(t);break;case 19:qs(Kr);break;case 10:yd(t.type);break;case 22:case 23:Vo(t),W5(),e!==null&&qs(qp);break;case 24:yd(ds)}}function vv(e,t){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var s=n.create,a=n.inst;i=s(),a.destroy=i}n=n.next}while(n!==r)}}catch(o){Ni(t,t.return,o)}}function gh(e,t,n){try{var i=t.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var s=r.next;i=s;do{if((i.tag&e)===e){var a=i.inst,o=a.destroy;if(o!==void 0){a.destroy=void 0,r=t;var c=n,u=o;try{u()}catch(d){Ni(r,c,d)}}}i=i.next}while(i!==s)}}catch(d){Ni(t,t.return,d)}}function zK(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{KZ(t,n)}catch(i){Ni(e,e.return,i)}}}function VK(e,t,n){n.props=um(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(i){Ni(e,t,i)}}function ix(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof n=="function"?e.refCleanup=n(i):n.current=i}}catch(r){Ni(e,t,r)}}function lu(e,t){var n=e.ref,i=e.refCleanup;if(n!==null)if(typeof i=="function")try{i()}catch(r){Ni(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){Ni(e,t,r)}else n.current=null}function qK(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(r){Ni(e,e.return,r)}}function _N(e,t,n){try{var i=e.stateNode;m1e(i,e.type,n,t),i[yo]=t}catch(r){Ni(e,e.return,r)}}function XK(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&$h(e.type)||e.tag===4}function AN(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||XK(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&&$h(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 PD(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=hd));else if(i!==4&&(i===27&&$h(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(PD(e,t,n),e=e.sibling;e!==null;)PD(e,t,n),e=e.sibling}function Kk(e,t,n){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(i!==4&&(i===27&&$h(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Kk(e,t,n),e=e.sibling;e!==null;)Kk(e,t,n),e=e.sibling}function HK(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);aa(t,i,n),t[na]=e,t[yo]=n}catch(s){Ni(e,e.return,s)}}var ld=!1,us=!1,CN=!1,t9=typeof WeakSet=="function"?WeakSet:Set,Ms=null;function Gxe(e,t){if(e=e.containerInfo,UD=cT,e=DZ(e),B5(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var a=0,o=-1,c=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var p;f!==n||r!==0&&f.nodeType!==3||(o=a+r),f!==s||i!==0&&f.nodeType!==3||(c=a+i),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++u===r&&(o=a),h===s&&++d===i&&(c=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=o===-1||c===-1?null:{start:o,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(zD={focusedElem:e,selectionRange:n},cT=!1,Ms=t;Ms!==null;)if(t=Ms,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ms=e;else for(;Ms!==null;){switch(t=Ms,s=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),aa(s,i,n),s[na]=e,Qs(s),i=s;break e;case"link":var a=v9("link","href",r).get(i+(n.href||""));if(a){for(var o=0;oO&&(a=O,O=g,g=a);var y=T8(o,g),v=T8(o,O);if(y&&v&&(p.rangeCount!==1||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var x=f.createRange();x.setStart(y.node,y.offset),p.removeAllRanges(),g>O?(p.addRange(x),p.extend(v.node,v.offset)):(x.setEnd(v.node,v.offset),p.addRange(x))}}}}for(f=[],p=o;p=p.parentNode;)p.nodeType===1&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;on?32:n,ln.T=null,n=$D,$D=null;var s=ih,a=xd;if(As=0,J0=ih=null,xd=0,vi&6)throw Error(qe(331));var o=vi;if(vi|=4,rJ(s.current),tJ(s,s.current,a,n),vi=o,wv(0,!1),Ko&&typeof Ko.onPostCommitFiberRoot=="function")try{Ko.onPostCommitFiberRoot(pv,s)}catch{}return!0}finally{wi.p=r,ln.T=i,yJ(e,t)}}function s9(e,t,n){t=kl(n,t),t=RD(e.stateNode,t,2),e=th(e,t,2),e!==null&&(gv(e,2),Cu(e))}function Ni(e,t,n){if(e.tag===3)s9(e,e,n);else for(;t!==null;){if(t.tag===3){s9(t,e,n);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(nh===null||!nh.has(i))){e=kl(n,e),n=PK(2),i=th(t,n,2),i!==null&&(MK(n,i,t,e),gv(i,2),Cu(i));break}}t=t.return}}function jN(e,t,n){var i=e.pingCache;if(i===null){i=e.pingCache=new Zxe;var r=new Set;i.set(t,r)}else r=i.get(t),r===void 0&&(r=new Set,i.set(t,r));r.has(n)||(p3=!0,r.add(n),e=n1e.bind(null,e,t,n),t.then(e,e))}function n1e(e,t,n){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Xi===e&&(Xn&n)===n&&(Br===4||Br===3&&(Xn&62914560)===Xn&&300>Zo()-dA?!(vi&2)&&eb(e,0):m3|=n,K0===Xn&&(K0=0)),Cu(e)}function vJ(e,t){t===0&&(t=fZ()),e=Rm(e,t),e!==null&&(gv(e,t),Cu(e))}function i1e(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vJ(e,n)}function r1e(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(qe(314))}i!==null&&i.delete(t),vJ(e,n)}function s1e(e,t){return j5(e,t)}var nT=null,Cg=null,BD=!1,iT=!1,RN=!1,Hf=0;function Cu(e){e!==Cg&&e.next===null&&(Cg===null?nT=Cg=e:Cg=Cg.next=e),iT=!0,BD||(BD=!0,o1e())}function wv(e,t){if(!RN&&iT){RN=!0;do for(var n=!1,i=nT;i!==null;){if(e!==0){var r=i.pendingLanes;if(r===0)var s=0;else{var a=i.suspendedLanes,o=i.pingedLanes;s=(1<<31-Jo(42|e)+1)-1,s&=r&~(a&~o),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(n=!0,a9(i,s))}else s=Xn,s=eA(i,i===Xi?s:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),!(s&3)||mv(i,s)||(n=!0,a9(i,s));i=i.next}while(n);RN=!1}}function a1e(){wJ()}function wJ(){iT=BD=!1;var e=0;Hf!==0&&b1e()&&(e=Hf);for(var t=Zo(),n=null,i=nT;i!==null;){var r=i.next,s=SJ(i,t);s===0?(i.next=null,n===null?nT=r:n.next=r,r===null&&(Cg=n)):(n=i,(e!==0||s&3)&&(iT=!0)),i=r}As!==0&&As!==5||wv(e),Hf!==0&&(Hf=0)}function SJ(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes&-62914561;0o)break;var d=c.transferSize,f=c.initiatorType;d&&d9(f)&&(c=c.responseEnd,a+=d*(c"u"?null:document;function RJ(e,t,n){var i=zb;if(i&&typeof t=="string"&&t){var r=El(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),O9.has(r)||(O9.add(r),e={rel:e,crossOrigin:n,href:t},i.querySelector(r)===null&&(t=i.createElement("link"),aa(t,"link",e),Qs(t),i.head.appendChild(t)))}}function T1e(e){Hd.D(e),RJ("dns-prefetch",e,null)}function _1e(e,t){Hd.C(e,t),RJ("preconnect",e,t)}function A1e(e,t,n){Hd.L(e,t,n);var i=zb;if(i&&e&&t){var r='link[rel="preload"][as="'+El(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+El(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+El(n.imageSizes)+'"]')):r+='[href="'+El(e)+'"]';var s=r;switch(t){case"style":s=tb(e);break;case"script":s=Vb(e)}Ql.has(s)||(e=mr({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Ql.set(s,e),i.querySelector(r)!==null||t==="style"&&i.querySelector(Sv(s))||t==="script"&&i.querySelector(Ev(s))||(t=i.createElement("link"),aa(t,"link",e),Qs(t),i.head.appendChild(t)))}}function C1e(e,t){Hd.m(e,t);var n=zb;if(n&&e){var i=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+El(i)+'"][href="'+El(e)+'"]',s=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=Vb(e)}if(!Ql.has(s)&&(e=mr({rel:"modulepreload",href:e},t),Ql.set(s,e),n.querySelector(r)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Ev(s)))return}i=n.createElement("link"),aa(i,"link",e),Qs(i),n.head.appendChild(i)}}}function N1e(e,t,n){Hd.S(e,t,n);var i=zb;if(i&&e){var r=O0(i).hoistableStyles,s=tb(e);t=t||"default";var a=r.get(s);if(!a){var o={loading:0,preload:null};if(a=i.querySelector(Sv(s)))o.loading=5;else{e=mr({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Ql.get(s))&&y3(e,n);var c=a=i.createElement("link");Qs(c),aa(c,"link",e),c._p=new Promise(function(u,d){c.onload=u,c.onerror=d}),c.addEventListener("load",function(){o.loading|=1}),c.addEventListener("error",function(){o.loading|=2}),o.loading|=4,ME(a,t,i)}a={type:"stylesheet",instance:a,count:1,state:o},r.set(s,a)}}}function j1e(e,t){Hd.X(e,t);var n=zb;if(n&&e){var i=O0(n).hoistableScripts,r=Vb(e),s=i.get(r);s||(s=n.querySelector(Ev(r)),s||(e=mr({src:e,async:!0},t),(t=Ql.get(r))&&x3(e,t),s=n.createElement("script"),Qs(s),aa(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function R1e(e,t){Hd.M(e,t);var n=zb;if(n&&e){var i=O0(n).hoistableScripts,r=Vb(e),s=i.get(r);s||(s=n.querySelector(Ev(r)),s||(e=mr({src:e,async:!0,type:"module"},t),(t=Ql.get(r))&&x3(e,t),s=n.createElement("script"),Qs(s),aa(s,"link",e),n.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},i.set(r,s))}}function y9(e,t,n,i){var r=(r=Kf.current)?aT(r):null;if(!r)throw Error(qe(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=tb(n.href),n=O0(r).hoistableStyles,i=n.get(t),i||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=tb(n.href);var s=O0(r).hoistableStyles,a=s.get(e);if(a||(r=r.ownerDocument||r,a={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,a),(s=r.querySelector(Sv(e)))&&!s._p&&(a.instance=s,a.state.loading=5),Ql.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},Ql.set(e,n),s||I1e(r,e,n,a.state))),t&&i===null)throw Error(qe(528,""));return a}if(t&&i!==null)throw Error(qe(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Vb(n),n=O0(r).hoistableScripts,i=n.get(t),i||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(qe(444,e))}}function tb(e){return'href="'+El(e)+'"'}function Sv(e){return'link[rel="stylesheet"]['+e+"]"}function IJ(e){return mr({},e,{"data-precedence":e.precedence,precedence:null})}function I1e(e,t,n,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),aa(t,"link",n),Qs(t),e.head.appendChild(t))}function Vb(e){return'[src="'+El(e)+'"]'}function Ev(e){return"script[async]"+e}function x9(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+El(n.href)+'"]');if(i)return t.instance=i,Qs(i),i;var r=mr({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),Qs(i),aa(i,"style",r),ME(i,n.precedence,e),t.instance=i;case"stylesheet":r=tb(n.href);var s=e.querySelector(Sv(r));if(s)return t.state.loading|=4,t.instance=s,Qs(s),s;i=IJ(n),(r=Ql.get(r))&&y3(i,r),s=(e.ownerDocument||e).createElement("link"),Qs(s);var a=s;return a._p=new Promise(function(o,c){a.onload=o,a.onerror=c}),aa(s,"link",i),t.state.loading|=4,ME(s,n.precedence,e),t.instance=s;case"script":return s=Vb(n.src),(r=e.querySelector(Ev(s)))?(t.instance=r,Qs(r),r):(i=n,(r=Ql.get(s))&&(i=mr({},n),x3(i,r)),e=e.ownerDocument||e,r=e.createElement("script"),Qs(r),aa(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(qe(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(i=t.instance,t.state.loading|=4,ME(i,n.precedence,e));return t.instance}function ME(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,s=r,a=0;a title"):null)}function D1e(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 DJ(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}function P1e(e,t,n,i){if(n.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var r=tb(i.href),s=t.querySelector(Sv(r));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=oT.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=s,Qs(s);return}s=t.ownerDocument||t,i=IJ(i),(r=Ql.get(r))&&y3(i,r),s=s.createElement("link"),Qs(s);var a=s;a._p=new Promise(function(o,c){a.onload=o,a.onerror=c}),aa(s,"link",i),n.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=oT.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var $N=0;function M1e(e,t){return e.stylesheets&&e.count===0&&$E(e,e.stylesheets),0$N?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(r)}}:null}function oT(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)$E(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var lT=null;function $E(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,lT=new Map,t.forEach(L1e,e),lT=null,oT.call(e))}function L1e(e,t){if(!(t.state.loading&4)){var n=lT.get(e);if(n)var i=n.get(null);else{n=new Map,lT.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(UJ)}catch(e){console.error(e)}}UJ(),WW.exports=K_;var q1e=WW.exports;const X1e=Pb(q1e),k3=m.createContext({});function gA(e){const t=m.useRef(null);return t.current===null&&(t.current=e()),t.current}const bA=m.createContext(null),i1=m.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class H1e extends m.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const i=this.props.sizeRef.current;i.height=n.offsetHeight||0,i.width=n.offsetWidth||0,i.top=n.offsetTop,i.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function G1e({children:e,isPresent:t}){const n=m.useId(),i=m.useRef(null),r=m.useRef({width:0,height:0,top:0,left:0}),{nonce:s}=m.useContext(i1);return m.useInsertionEffect(()=>{const{width:a,height:o,top:c,left:u}=r.current;if(t||!i.current||!a||!o)return;i.current.dataset.motionPopId=n;const d=document.createElement("style");return s&&(d.nonce=s),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${a}px !important; @@ -55,374 +55,374 @@ Error generating stack: `+i.message+` top: ${c}px !important; left: ${u}px !important; } - `),()=>{document.head.removeChild(d)}},[t]),l.jsx(R1e,{isPresent:t,childRef:i,sizeRef:r,children:m.cloneElement(e,{ref:i})})}const I1e=({children:e,initial:t,isPresent:n,onExitComplete:i,custom:r,presenceAffectsLayout:s,mode:a})=>{const o=uA(P1e),c=m.useId(),u=m.useCallback(f=>{o.set(f,!0);for(const h of o.values())if(!h)return;i&&i()},[o,i]),d=m.useMemo(()=>({id:c,initial:t,isPresent:n,custom:r,onExitComplete:u,register:f=>(o.set(f,!1),()=>o.delete(f))}),s?[Math.random(),u]:[n,u]);return m.useMemo(()=>{o.forEach((f,h)=>o.set(h,!1))},[n]),m.useEffect(()=>{!n&&!o.size&&i&&i()},[n]),a==="popLayout"&&(e=l.jsx(D1e,{isPresent:n,children:e})),l.jsx(dA.Provider,{value:d,children:e})};function P1e(){return new Map}function jJ(e=!0){const t=m.useContext(dA);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:i,register:r}=t,s=m.useId();m.useEffect(()=>{e&&r(s)},[e]);const a=m.useCallback(()=>e&&i&&i(s),[s,i,e]);return!n&&i?[!1,a]:[!0]}const Zw=e=>e.key||"";function x9(e){const t=[];return m.Children.forEach(e,n=>{m.isValidElement(n)&&t.push(n)}),t}const b3=typeof window<"u",RJ=b3?m.useLayoutEffect:m.useEffect,nh=({children:e,custom:t,initial:n=!0,onExitComplete:i,presenceAffectsLayout:r=!0,mode:s="sync",propagate:a=!1})=>{const[o,c]=jJ(a),u=m.useMemo(()=>x9(e),[e]),d=a&&!o?[]:u.map(Zw),f=m.useRef(!0),h=m.useRef(u),p=uA(()=>new Map),[b,g]=m.useState(u),[O,y]=m.useState(u);RJ(()=>{f.current=!1,h.current=u;for(let w=0;w{const E=Zw(w),S=a&&!o?!1:u===O||d.includes(E),k=()=>{if(p.has(E))p.set(E,!0);else return;let T=!0;p.forEach(C=>{C||(T=!1)}),T&&(x==null||x(),y(h.current),a&&(c==null||c()),i&&i())};return l.jsx(I1e,{isPresent:S,initial:!f.current||n?void 0:!1,custom:S?void 0:t,presenceAffectsLayout:r,mode:s,onExitComplete:S?void 0:k,children:w},E)})})},Ho=e=>e;let DJ=Ho;const M1e={useManualTiming:!1};function L1e(e){let t=new Set,n=new Set,i=!1,r=!1;const s=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function o(u){s.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,f=!1)=>{const p=f&&i?t:n;return d&&s.add(u),p.has(u)||p.add(u),u},cancel:u=>{n.delete(u),s.delete(u)},process:u=>{if(a=u,i){r=!0;return}i=!0,[t,n]=[n,t],t.forEach(o),t.clear(),i=!1,r&&(r=!1,c.process(u))}};return c}const Kw=["read","resolveKeyframes","update","preRender","render","postRender"],$1e=40;function IJ(e,t){let n=!1,i=!0;const r={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,a=Kw.reduce((y,v)=>(y[v]=L1e(s),y),{}),{read:o,resolveKeyframes:c,update:u,preRender:d,render:f,postRender:h}=a,p=()=>{const y=performance.now();n=!1,r.delta=i?1e3/60:Math.max(Math.min(y-r.timestamp,$1e),1),r.timestamp=y,r.isProcessing=!0,o.process(r),c.process(r),u.process(r),d.process(r),f.process(r),h.process(r),r.isProcessing=!1,n&&t&&(i=!1,e(p))},b=()=>{n=!0,i=!0,r.isProcessing||e(p)};return{schedule:Kw.reduce((y,v)=>{const x=a[v];return y[v]=(w,E=!1,S=!1)=>(n||b(),x.schedule(w,E,S)),y},{}),cancel:y=>{for(let v=0;vv9[e].some(n=>!!t[n])};function Q1e(e){for(const t in e)G0[t]={...G0[t],...e[t]}}const B1e=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 sT(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||B1e.has(e)}let MJ=e=>!sT(e);function LJ(e){e&&(MJ=t=>t.startsWith("on")?!sT(t):e(t))}try{LJ(require("@emotion/is-prop-valid").default)}catch{}function F1e(e,t,n){const i={};for(const r in e)r==="values"&&typeof e.values=="object"||(MJ(r)||n===!0&&sT(r)||!t&&!sT(r)||e.draggable&&r.startsWith("onDrag"))&&(i[r]=e[r]);return i}function U1e({children:e,isValidProp:t,...n}){t&&LJ(t),n={...m.useContext(Gx),...n},n.isStatic=uA(()=>n.isStatic);const i=m.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return l.jsx(Gx.Provider,{value:i,children:e})}function z1e(e){if(typeof Proxy>"u")return e;const t=new Map,n=(...i)=>e(...i);return new Proxy(n,{get:(i,r)=>r==="create"?e:(t.has(r)||t.set(r,e(r)),t.get(r))})}const fA=m.createContext({});function Wx(e){return typeof e=="string"||Array.isArray(e)}function hA(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const O3=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],y3=["initial",...O3];function pA(e){return hA(e.animate)||y3.some(t=>Wx(e[t]))}function $J(e){return!!(pA(e)||e.variants)}function V1e(e,t){if(pA(e)){const{initial:n,animate:i}=e;return{initial:n===!1||Wx(n)?n:void 0,animate:Wx(i)?i:void 0}}return e.inherit!==!1?t:{}}function q1e(e){const{initial:t,animate:n}=V1e(e,m.useContext(fA));return m.useMemo(()=>({initial:t,animate:n}),[w9(t),w9(n)])}function w9(e){return Array.isArray(e)?e.join(" "):e}const X1e=Symbol.for("motionComponentSymbol");function qg(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function H1e(e,t,n){return m.useCallback(i=>{i&&e.onMount&&e.onMount(i),t&&(i?t.mount(i):t.unmount()),n&&(typeof n=="function"?n(i):qg(n)&&(n.current=i))},[t])}const x3=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),Y1e="framerAppearId",QJ="data-"+x3(Y1e),{schedule:v3}=IJ(queueMicrotask,!1),BJ=m.createContext({});function G1e(e,t,n,i,r){var s,a;const{visualElement:o}=m.useContext(fA),c=m.useContext(PJ),u=m.useContext(dA),d=m.useContext(Gx).reducedMotion,f=m.useRef(null);i=i||c.renderer,!f.current&&i&&(f.current=i(e,{visualState:t,parent:o,props:n,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const h=f.current,p=m.useContext(BJ);h&&!h.projection&&r&&(h.type==="html"||h.type==="svg")&&W1e(f.current,n,r,p);const b=m.useRef(!1);m.useInsertionEffect(()=>{h&&b.current&&h.update(n,u)});const g=n[QJ],O=m.useRef(!!g&&!(!((s=window.MotionHandoffIsComplete)===null||s===void 0)&&s.call(window,g))&&((a=window.MotionHasOptimisedAnimation)===null||a===void 0?void 0:a.call(window,g)));return RJ(()=>{h&&(b.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),v3.render(h.render),O.current&&h.animationState&&h.animationState.animateChanges())}),m.useEffect(()=>{h&&(!O.current&&h.animationState&&h.animationState.animateChanges(),O.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)===null||y===void 0||y.call(window,g)}),O.current=!1))}),h}function W1e(e,t,n,i){const{layoutId:r,layout:s,drag:a,dragConstraints:o,layoutScroll:c,layoutRoot:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:FJ(e.parent)),e.projection.setOptions({layoutId:r,layout:s,alwaysMeasureLayout:!!a||o&&qg(o),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:i,layoutScroll:c,layoutRoot:u})}function FJ(e){if(e)return e.options.allowProjection!==!1?e.projection:FJ(e.parent)}function Z1e({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:i,Component:r}){var s,a;e&&Q1e(e);function o(u,d){let f;const h={...m.useContext(Gx),...u,layoutId:K1e(u)},{isStatic:p}=h,b=q1e(u),g=i(u,p);if(!p&&b3){J1e();const O=eve(h);f=O.MeasureLayout,b.visualElement=G1e(r,g,h,t,O.ProjectionNode)}return l.jsxs(fA.Provider,{value:b,children:[f&&b.visualElement?l.jsx(f,{visualElement:b.visualElement,...h}):null,n(r,u,H1e(g,b.visualElement,d),g,p,b.visualElement)]})}o.displayName=`motion.${typeof r=="string"?r:`create(${(a=(s=r.displayName)!==null&&s!==void 0?s:r.name)!==null&&a!==void 0?a:""})`}`;const c=m.forwardRef(o);return c[X1e]=r,c}function K1e({layoutId:e}){const t=m.useContext(g3).id;return t&&e!==void 0?t+"-"+e:e}function J1e(e,t){m.useContext(PJ).strict}function eve(e){const{drag:t,layout:n}=G0;if(!t&&!n)return{};const i={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}const tve=["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 w3(e){return typeof e!="string"||e.includes("-")?!1:!!(tve.indexOf(e)>-1||/[A-Z]/u.test(e))}function S9(e){const t=[{},{}];return e==null||e.values.forEach((n,i)=>{t[0][i]=n.get(),t[1][i]=n.getVelocity()}),t}function S3(e,t,n,i){if(typeof t=="function"){const[r,s]=S9(i);t=t(n!==void 0?n:e.custom,r,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,s]=S9(i);t=t(n!==void 0?n:e.custom,r,s)}return t}const UI=e=>Array.isArray(e),nve=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),ive=e=>UI(e)?e[e.length-1]||0:e,ha=e=>!!(e&&e.getVelocity);function ME(e){const t=ha(e)?e.get():e;return nve(t)?t.toValue():t}function rve({scrapeMotionValuesFromProps:e,createRenderState:t,onUpdate:n},i,r,s){const a={latestValues:sve(i,r,s,e),renderState:t()};return n&&(a.onMount=o=>n({props:i,current:o,...a}),a.onUpdate=o=>n(o)),a}const UJ=e=>(t,n)=>{const i=m.useContext(fA),r=m.useContext(dA),s=()=>rve(e,t,i,r);return n?s():uA(s)};function sve(e,t,n,i){const r={},s=i(e,{});for(const h in s)r[h]=ME(s[h]);let{initial:a,animate:o}=e;const c=pA(e),u=$J(e);t&&u&&!c&&e.inherit!==!1&&(a===void 0&&(a=t.initial),o===void 0&&(o=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const f=d?o:a;if(f&&typeof f!="boolean"&&!hA(f)){const h=Array.isArray(f)?f:[f];for(let p=0;pt=>typeof t=="string"&&t.startsWith(e),VJ=zJ("--"),ave=zJ("var(--"),E3=e=>ave(e)?ove.test(e.split("/*")[0].trim()):!1,ove=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,qJ=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Nd=(e,t,n)=>n>t?t:ntypeof e=="number",parse:parseFloat,transform:e=>e},Zx={...$b,transform:e=>Nd(0,1,e)},Jw={...$b,default:1},bv=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),xf=bv("deg"),au=bv("%"),Zt=bv("px"),lve=bv("vh"),cve=bv("vw"),E9={...au,parse:e=>au.parse(e)/100,transform:e=>au.transform(e*100)},uve={borderWidth:Zt,borderTopWidth:Zt,borderRightWidth:Zt,borderBottomWidth:Zt,borderLeftWidth:Zt,borderRadius:Zt,radius:Zt,borderTopLeftRadius:Zt,borderTopRightRadius:Zt,borderBottomRightRadius:Zt,borderBottomLeftRadius:Zt,width:Zt,maxWidth:Zt,height:Zt,maxHeight:Zt,top:Zt,right:Zt,bottom:Zt,left:Zt,padding:Zt,paddingTop:Zt,paddingRight:Zt,paddingBottom:Zt,paddingLeft:Zt,margin:Zt,marginTop:Zt,marginRight:Zt,marginBottom:Zt,marginLeft:Zt,backgroundPositionX:Zt,backgroundPositionY:Zt},dve={rotate:xf,rotateX:xf,rotateY:xf,rotateZ:xf,scale:Jw,scaleX:Jw,scaleY:Jw,scaleZ:Jw,skew:xf,skewX:xf,skewY:xf,distance:Zt,translateX:Zt,translateY:Zt,translateZ:Zt,x:Zt,y:Zt,z:Zt,perspective:Zt,transformPerspective:Zt,opacity:Zx,originX:E9,originY:E9,originZ:Zt},k9={...$b,transform:Math.round},k3={...uve,...dve,zIndex:k9,size:Zt,fillOpacity:Zx,strokeOpacity:Zx,numOctaves:k9},fve={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},hve=Lb.length;function pve(e,t,n){let i="",r=!0;for(let s=0;s({style:{},transform:{},transformOrigin:{},vars:{}}),XJ=()=>({...A3(),attrs:{}}),C3=e=>typeof e=="string"&&e.toLowerCase()==="svg";function HJ(e,{style:t,vars:n},i,r){Object.assign(e.style,t,r&&r.getProjectionStyles(i));for(const s in n)e.style.setProperty(s,n[s])}const YJ=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 GJ(e,t,n,i){HJ(e,t,void 0,i);for(const r in t.attrs)e.setAttribute(YJ.has(r)?r:x3(r),t.attrs[r])}const aT={};function yve(e){Object.assign(aT,e)}function WJ(e,{layout:t,layoutId:n}){return km.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!aT[e]||e==="opacity")}function N3(e,t,n){var i;const{style:r}=e,s={};for(const a in r)(ha(r[a])||t.style&&ha(t.style[a])||WJ(a,e)||((i=n==null?void 0:n.getValue(a))===null||i===void 0?void 0:i.liveStyle)!==void 0)&&(s[a]=r[a]);return s}function ZJ(e,t,n){const i=N3(e,t,n);for(const r in e)if(ha(e[r])||ha(t[r])){const s=Lb.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;i[s]=e[r]}return i}function xve(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 _9=["x","y","width","height","cx","cy","r"],vve={useVisualState:UJ({scrapeMotionValuesFromProps:ZJ,createRenderState:XJ,onUpdate:({props:e,prevProps:t,current:n,renderState:i,latestValues:r})=>{if(!n)return;let s=!!e.drag;if(!s){for(const o in r)if(km.has(o)){s=!0;break}}if(!s)return;let a=!t;if(t)for(let o=0;o<_9.length;o++){const c=_9[o];e[c]!==t[c]&&(a=!0)}a&&or.read(()=>{xve(n,i),or.render(()=>{_3(i,r,C3(n.tagName),e.transformTemplate),GJ(n,i)})})}})},wve={useVisualState:UJ({scrapeMotionValuesFromProps:N3,createRenderState:A3})};function KJ(e,t,n){for(const i in t)!ha(t[i])&&!WJ(i,n)&&(e[i]=t[i])}function Sve({transformTemplate:e},t){return m.useMemo(()=>{const n=A3();return T3(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Eve(e,t){const n=e.style||{},i={};return KJ(i,n,e),Object.assign(i,Sve(e,t)),i}function kve(e,t){const n={},i=Eve(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=i,n}function Tve(e,t,n,i){const r=m.useMemo(()=>{const s=XJ();return _3(s,t,C3(i),e.transformTemplate),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};KJ(s,e.style,e),r.style={...s,...r.style}}return r}function _ve(e=!1){return(n,i,r,{latestValues:s},a)=>{const c=(w3(n)?Tve:kve)(i,s,a,n),u=F1e(i,typeof n=="string",e),d=n!==m.Fragment?{...u,...c,ref:r}:{},{children:f}=i,h=m.useMemo(()=>ha(f)?f.get():f,[f]);return m.createElement(n,{...d,children:h})}}function Ave(e,t){return function(i,{forwardMotionProps:r}={forwardMotionProps:!1}){const a={...w3(i)?vve:wve,preloadedFeatures:e,useRender:_ve(r),createVisualElement:t,Component:i};return Z1e(a)}}function JJ(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i(LE===void 0&&ou.set(Xs.isProcessing||M1e.useManualTiming?Xs.timestamp:performance.now()),LE),set:e=>{LE=e,queueMicrotask(Cve)}};function R3(e,t){e.indexOf(t)===-1&&e.push(t)}function D3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class I3{constructor(){this.subscriptions=[]}add(t){return R3(this.subscriptions,t),()=>D3(this.subscriptions,t)}notify(t,n,i){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,i);else for(let s=0;s!isNaN(parseFloat(e));class jve{constructor(t,n={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(i,r=!0)=>{const s=ou.now();this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(i),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=ou.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Nve(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 I3);const i=this.events[t].add(n);return t==="change"?()=>{i(),or.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,i){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=ou.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>A9)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,A9);return tee(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 Kx(e,t){return new jve(e,t)}function Rve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Kx(n))}function Dve(e,t){const n=mA(e,t);let{transitionEnd:i={},transition:r={},...s}=n||{};s={...s,...i};for(const a in s){const o=ive(s[a]);Rve(e,a,o)}}function Ive(e){return!!(ha(e)&&e.add)}function zI(e,t){const n=e.getValue("willChange");if(Ive(n))return n.add(t)}function nee(e){return e.props[QJ]}function P3(e){let t;return()=>(t===void 0&&(t=e()),t)}const Pve=P3(()=>window.ScrollTimeline!==void 0);class Mve{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>"finished"in t?t.finished:t))}getAll(t){return this.animations[0][t]}setAll(t,n){for(let i=0;i{if(Pve()&&r.attachTimeline)return r.attachTimeline(t);if(typeof n=="function")return n(r)});return()=>{i.forEach((r,s)=>{r&&r(),this.animations[s].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get startTime(){return this.getAll("startTime")}get duration(){let t=0;for(let n=0;nn[t]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class Lve extends Mve{then(t,n){return Promise.all(this.animations).then(t).catch(n)}}const md=e=>e*1e3,gd=e=>e/1e3;function M3(e){return typeof e=="function"}function C9(e,t){e.timeline=t,e.onfinish=null}const L3=e=>Array.isArray(e)&&typeof e[0]=="number",$ve={linearEasing:void 0};function Qve(e,t){const n=P3(e);return()=>{var i;return(i=$ve[t])!==null&&i!==void 0?i:n()}}const oT=Qve(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),W0=(e,t,n)=>{const i=t-e;return i===0?1:(n-e)/i},iee=(e,t,n=10)=>{let i="";const r=Math.max(Math.round(t/n),2);for(let s=0;s`cubic-bezier(${e}, ${t}, ${n}, ${i})`,VI={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:vy([0,.65,.55,1]),circOut:vy([.55,0,1,.45]),backIn:vy([.31,.01,.66,-.59]),backOut:vy([.33,1.53,.69,.99])};function see(e,t){if(e)return typeof e=="function"&&oT()?iee(e,t):L3(e)?vy(e):Array.isArray(e)?e.map(n=>see(n,t)||VI.easeOut):VI[e]}const aee=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Bve=1e-7,Fve=12;function Uve(e,t,n,i,r){let s,a,o=0;do a=t+(n-t)/2,s=aee(a,i,r)-e,s>0?n=a:t=a;while(Math.abs(s)>Bve&&++oUve(s,0,1,e,n);return s=>s===0||s===1?s:aee(r(s),t,i)}const oee=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,lee=e=>t=>1-e(1-t),cee=Ov(.33,1.53,.69,.99),$3=lee(cee),uee=oee($3),dee=e=>(e*=2)<1?.5*$3(e):.5*(2-Math.pow(2,-10*(e-1))),Q3=e=>1-Math.sin(Math.acos(e)),fee=lee(Q3),hee=oee(Q3),pee=e=>/^0[^.\s]+$/u.test(e);function zve(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||pee(e):!0}const tx=e=>Math.round(e*1e5)/1e5,B3=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Vve(e){return e==null}const qve=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,F3=(e,t)=>n=>!!(typeof n=="string"&&qve.test(n)&&n.startsWith(e)||t&&!Vve(n)&&Object.prototype.hasOwnProperty.call(n,t)),mee=(e,t,n)=>i=>{if(typeof i!="string")return i;const[r,s,a,o]=i.match(B3);return{[e]:parseFloat(r),[t]:parseFloat(s),[n]:parseFloat(a),alpha:o!==void 0?parseFloat(o):1}},Xve=e=>Nd(0,255,e),jN={...$b,transform:e=>Math.round(Xve(e))},Ep={test:F3("rgb","red"),parse:mee("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:i=1})=>"rgba("+jN.transform(e)+", "+jN.transform(t)+", "+jN.transform(n)+", "+tx(Zx.transform(i))+")"};function Hve(e){let t="",n="",i="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),i=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),i=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,i+=i,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:r?parseInt(r,16)/255:1}}const qI={test:F3("#"),parse:Hve,transform:Ep.transform},Xg={test:F3("hsl","hue"),parse:mee("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:i=1})=>"hsla("+Math.round(e)+", "+au.transform(tx(t))+", "+au.transform(tx(n))+", "+tx(Zx.transform(i))+")"},ua={test:e=>Ep.test(e)||qI.test(e)||Xg.test(e),parse:e=>Ep.test(e)?Ep.parse(e):Xg.test(e)?Xg.parse(e):qI.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Ep.transform(e):Xg.transform(e)},Yve=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Gve(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(B3))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(Yve))===null||n===void 0?void 0:n.length)||0)>0}const gee="number",bee="color",Wve="var",Zve="var(",N9="${}",Kve=/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 Jx(e){const t=e.toString(),n=[],i={color:[],number:[],var:[]},r=[];let s=0;const o=t.replace(Kve,c=>(ua.test(c)?(i.color.push(s),r.push(bee),n.push(ua.parse(c))):c.startsWith(Zve)?(i.var.push(s),r.push(Wve),n.push(c)):(i.number.push(s),r.push(gee),n.push(parseFloat(c))),++s,N9)).split(N9);return{values:n,split:o,indexes:i,types:r}}function Oee(e){return Jx(e).values}function yee(e){const{split:t,types:n}=Jx(e),i=t.length;return r=>{let s="";for(let a=0;atypeof e=="number"?0:e;function ewe(e){const t=Oee(e);return yee(e)(t.map(Jve))}const ph={test:Gve,parse:Oee,createTransformer:yee,getAnimatableNone:ewe},twe=new Set(["brightness","contrast","saturate","opacity"]);function nwe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[i]=n.match(B3)||[];if(!i)return e;const r=n.replace(i,"");let s=twe.has(t)?1:0;return i!==n&&(s*=100),t+"("+s+r+")"}const iwe=/\b([a-z-]*)\(.*?\)/gu,XI={...ph,getAnimatableNone:e=>{const t=e.match(iwe);return t?t.map(nwe).join(" "):e}},rwe={...k3,color:ua,backgroundColor:ua,outlineColor:ua,fill:ua,stroke:ua,borderColor:ua,borderTopColor:ua,borderRightColor:ua,borderBottomColor:ua,borderLeftColor:ua,filter:XI,WebkitFilter:XI},U3=e=>rwe[e];function xee(e,t){let n=U3(e);return n!==XI&&(n=ph),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const swe=new Set(["auto","none","0"]);function awe(e,t,n){let i=0,r;for(;ie===$b||e===Zt,R9=(e,t)=>parseFloat(e.split(", ")[t]),D9=(e,t)=>(n,{transform:i})=>{if(i==="none"||!i)return 0;const r=i.match(/^matrix3d\((.+)\)$/u);if(r)return R9(r[1],t);{const s=i.match(/^matrix\((.+)\)$/u);return s?R9(s[1],e):0}},owe=new Set(["x","y","z"]),lwe=Lb.filter(e=>!owe.has(e));function cwe(e){const t=[];return lwe.forEach(n=>{const i=e.getValue(n);i!==void 0&&(t.push([n,i.get()]),i.set(n.startsWith("scale")?1:0))}),t}const Z0={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:D9(4,13),y:D9(5,14)};Z0.translateX=Z0.x;Z0.translateY=Z0.y;const Qp=new Set;let HI=!1,YI=!1;function vee(){if(YI){const e=Array.from(Qp).filter(i=>i.needsMeasurement),t=new Set(e.map(i=>i.element)),n=new Map;t.forEach(i=>{const r=cwe(i);r.length&&(n.set(i,r),i.render())}),e.forEach(i=>i.measureInitialState()),t.forEach(i=>{i.render();const r=n.get(i);r&&r.forEach(([s,a])=>{var o;(o=i.getValue(s))===null||o===void 0||o.set(a)})}),e.forEach(i=>i.measureEndState()),e.forEach(i=>{i.suspendedScrollY!==void 0&&window.scrollTo(0,i.suspendedScrollY)})}YI=!1,HI=!1,Qp.forEach(e=>e.complete()),Qp.clear()}function wee(){Qp.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(YI=!0)})}function uwe(){wee(),vee()}class z3{constructor(t,n,i,r,s,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=i,this.motionValue=r,this.element=s,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Qp.add(this),HI||(HI=!0,or.read(wee),or.resolveKeyframes(vee))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:i,motionValue:r}=this;for(let s=0;s/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),dwe=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function fwe(e){const t=dwe.exec(e);if(!t)return[,];const[,n,i,r]=t;return[`--${n??i}`,r]}function Eee(e,t,n=1){const[i,r]=fwe(e);if(!i)return;const s=window.getComputedStyle(t).getPropertyValue(i);if(s){const a=s.trim();return See(a)?parseFloat(a):a}return E3(r)?Eee(r,t,n+1):r}const kee=e=>t=>t.test(e),hwe={test:e=>e==="auto",parse:e=>e},Tee=[$b,Zt,au,xf,cve,lve,hwe],I9=e=>Tee.find(kee(e));class _ee extends z3{constructor(t,n,i,r,s){super(t,n,i,r,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:i}=this;if(!n||!n.current)return;super.readKeyframes();for(let c=0;c{n.getValue(c).set(u)}),this.resolveNoneKeyframes()}}const P9=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(ph.test(e)||e==="0")&&!e.startsWith("url("));function pwe(e){const t=e[0];if(e.length===1)return!0;for(let n=0;ne!==null;function gA(e,{repeat:t,repeatType:n="loop"},i){const r=e.filter(gwe),s=t&&n!=="loop"&&t%2===1?0:r.length-1;return!s||i===void 0?r[s]:i}const bwe=40;class Aee{constructor({autoplay:t=!0,delay:n=0,type:i="keyframes",repeat:r=0,repeatDelay:s=0,repeatType:a="loop",...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=ou.now(),this.options={autoplay:t,delay:n,type:i,repeat:r,repeatDelay:s,repeatType:a,...o},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>bwe?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&uwe(),this._resolved}onKeyframesResolved(t,n){this.resolvedAt=ou.now(),this.hasAttemptedResolve=!0;const{name:i,type:r,velocity:s,delay:a,onComplete:o,onUpdate:c,isGenerator:u}=this.options;if(!u&&!mwe(t,i,r,s))if(a)this.options.duration=0;else{c&&c(gA(t,this.options,n)),o&&o(),this.resolveFinishedPromise();return}const d=this.initPlayback(t,n);d!==!1&&(this._resolved={keyframes:t,finalKeyframe:n,...d},this.onPostResolved())}onPostResolved(){}then(t,n){return this.currentFinishedPromise.then(t,n)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}const GI=2e4;function Cee(e){let t=0;const n=50;let i=e.next(t);for(;!i.done&&t=GI?1/0:t}const Ar=(e,t,n)=>e+(t-e)*n;function RN(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 Owe({hue:e,saturation:t,lightness:n,alpha:i}){e/=360,t/=100,n/=100;let r=0,s=0,a=0;if(!t)r=s=a=n;else{const o=n<.5?n*(1+t):n+t-n*t,c=2*n-o;r=RN(c,o,e+1/3),s=RN(c,o,e),a=RN(c,o,e-1/3)}return{red:Math.round(r*255),green:Math.round(s*255),blue:Math.round(a*255),alpha:i}}function lT(e,t){return n=>n>0?t:e}const DN=(e,t,n)=>{const i=e*e,r=n*(t*t-i)+i;return r<0?0:Math.sqrt(r)},ywe=[qI,Ep,Xg],xwe=e=>ywe.find(t=>t.test(e));function M9(e){const t=xwe(e);if(!t)return!1;let n=t.parse(e);return t===Xg&&(n=Owe(n)),n}const L9=(e,t)=>{const n=M9(e),i=M9(t);if(!n||!i)return lT(e,t);const r={...n};return s=>(r.red=DN(n.red,i.red,s),r.green=DN(n.green,i.green,s),r.blue=DN(n.blue,i.blue,s),r.alpha=Ar(n.alpha,i.alpha,s),Ep.transform(r))},vwe=(e,t)=>n=>t(e(n)),yv=(...e)=>e.reduce(vwe),WI=new Set(["none","hidden"]);function wwe(e,t){return WI.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Swe(e,t){return n=>Ar(e,t,n)}function V3(e){return typeof e=="number"?Swe:typeof e=="string"?E3(e)?lT:ua.test(e)?L9:Twe:Array.isArray(e)?Nee:typeof e=="object"?ua.test(e)?L9:Ewe:lT}function Nee(e,t){const n=[...e],i=n.length,r=e.map((s,a)=>V3(s)(s,t[a]));return s=>{for(let a=0;a{for(const s in i)n[s]=i[s](r);return n}}function kwe(e,t){var n;const i=[],r={color:0,var:0,number:0};for(let s=0;s{const n=ph.createTransformer(t),i=Jx(e),r=Jx(t);return i.indexes.var.length===r.indexes.var.length&&i.indexes.color.length===r.indexes.color.length&&i.indexes.number.length>=r.indexes.number.length?WI.has(e)&&!r.values.length||WI.has(t)&&!i.values.length?wwe(e,t):yv(Nee(kwe(i,r),r.values),n):lT(e,t)};function jee(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Ar(e,t,n):V3(e)(e,t)}const _we=5;function Ree(e,t,n){const i=Math.max(t-_we,0);return tee(n-e(i),t-i)}const Ir={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},IN=.001;function Awe({duration:e=Ir.duration,bounce:t=Ir.bounce,velocity:n=Ir.velocity,mass:i=Ir.mass}){let r,s,a=1-t;a=Nd(Ir.minDamping,Ir.maxDamping,a),e=Nd(Ir.minDuration,Ir.maxDuration,gd(e)),a<1?(r=u=>{const d=u*a,f=d*e,h=d-n,p=ZI(u,a),b=Math.exp(-f);return IN-h/p*b},s=u=>{const f=u*a*e,h=f*n+n,p=Math.pow(a,2)*Math.pow(u,2)*e,b=Math.exp(-f),g=ZI(Math.pow(u,2),a);return(-r(u)+IN>0?-1:1)*((h-p)*b)/g}):(r=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-IN+d*f},s=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const o=5/e,c=Nwe(r,s,o);if(e=md(e),isNaN(c))return{stiffness:Ir.stiffness,damping:Ir.damping,duration:e};{const u=Math.pow(c,2)*i;return{stiffness:u,damping:a*2*Math.sqrt(i*u),duration:e}}}const Cwe=12;function Nwe(e,t,n){let i=n;for(let r=1;re[n]!==void 0)}function Dwe(e){let t={velocity:Ir.velocity,stiffness:Ir.stiffness,damping:Ir.damping,mass:Ir.mass,isResolvedFromDuration:!1,...e};if(!$9(e,Rwe)&&$9(e,jwe))if(e.visualDuration){const n=e.visualDuration,i=2*Math.PI/(n*1.2),r=i*i,s=2*Nd(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:Ir.mass,stiffness:r,damping:s}}else{const n=Awe(e);t={...t,...n,mass:Ir.mass},t.isResolvedFromDuration=!0}return t}function Dee(e=Ir.visualDuration,t=Ir.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:r}=n;const s=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],o={done:!1,value:s},{stiffness:c,damping:u,mass:d,duration:f,velocity:h,isResolvedFromDuration:p}=Dwe({...n,velocity:-gd(n.velocity||0)}),b=h||0,g=u/(2*Math.sqrt(c*d)),O=a-s,y=gd(Math.sqrt(c/d)),v=Math.abs(O)<5;i||(i=v?Ir.restSpeed.granular:Ir.restSpeed.default),r||(r=v?Ir.restDelta.granular:Ir.restDelta.default);let x;if(g<1){const E=ZI(y,g);x=S=>{const k=Math.exp(-g*y*S);return a-k*((b+g*y*O)/E*Math.sin(E*S)+O*Math.cos(E*S))}}else if(g===1)x=E=>a-Math.exp(-y*E)*(O+(b+y*O)*E);else{const E=y*Math.sqrt(g*g-1);x=S=>{const k=Math.exp(-g*y*S),T=Math.min(E*S,300);return a-k*((b+g*y*O)*Math.sinh(T)+E*O*Math.cosh(T))/E}}const w={calculatedDuration:p&&f||null,next:E=>{const S=x(E);if(p)o.done=E>=f;else{let k=0;g<1&&(k=E===0?md(b):Ree(x,E,S));const T=Math.abs(k)<=i,C=Math.abs(a-S)<=r;o.done=T&&C}return o.value=o.done?a:S,o},toString:()=>{const E=Math.min(Cee(w),GI),S=iee(k=>w.next(E*k).value,E,30);return E+"ms "+S}};return w}function Q9({keyframes:e,velocity:t=0,power:n=.8,timeConstant:i=325,bounceDamping:r=10,bounceStiffness:s=500,modifyTarget:a,min:o,max:c,restDelta:u=.5,restSpeed:d}){const f=e[0],h={done:!1,value:f},p=T=>o!==void 0&&Tc,b=T=>o===void 0?c:c===void 0||Math.abs(o-T)-g*Math.exp(-T/i),x=T=>y+v(T),w=T=>{const C=v(T),A=x(T);h.done=Math.abs(C)<=u,h.value=h.done?y:A};let E,S;const k=T=>{p(h.value)&&(E=T,S=Dee({keyframes:[h.value,b(h.value)],velocity:Ree(x,T,h.value),damping:r,stiffness:s,restDelta:u,restSpeed:d}))};return k(0),{calculatedDuration:null,next:T=>{let C=!1;return!S&&E===void 0&&(C=!0,w(T),k(T)),E!==void 0&&T>=E?S.next(T-E):(!C&&w(T),h)}}}const Iwe=Ov(.42,0,1,1),Pwe=Ov(0,0,.58,1),Iee=Ov(.42,0,.58,1),Mwe=e=>Array.isArray(e)&&typeof e[0]!="number",Lwe={linear:Ho,easeIn:Iwe,easeInOut:Iee,easeOut:Pwe,circIn:Q3,circInOut:hee,circOut:fee,backIn:$3,backInOut:uee,backOut:cee,anticipate:dee},B9=e=>{if(L3(e)){DJ(e.length===4);const[t,n,i,r]=e;return Ov(t,n,i,r)}else if(typeof e=="string")return Lwe[e];return e};function $we(e,t,n){const i=[],r=n||jee,s=e.length-1;for(let a=0;at[0];if(s===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=$we(t,i,r),c=o.length,u=d=>{if(a&&d1)for(;fu(Nd(e[0],e[s-1],d)):u}function Bwe(e,t){const n=e[e.length-1];for(let i=1;i<=t;i++){const r=W0(0,t,i);e.push(Ar(n,1,r))}}function Fwe(e){const t=[0];return Bwe(t,e.length-1),t}function Uwe(e,t){return e.map(n=>n*t)}function zwe(e,t){return e.map(()=>t||Iee).splice(0,e.length-1)}function cT({duration:e=300,keyframes:t,times:n,ease:i="easeInOut"}){const r=Mwe(i)?i.map(B9):B9(i),s={done:!1,value:t[0]},a=Uwe(n&&n.length===t.length?n:Fwe(t),e),o=Qwe(a,t,{ease:Array.isArray(r)?r:zwe(t,r)});return{calculatedDuration:e,next:c=>(s.value=o(c),s.done=c>=e,s)}}const Vwe=e=>{const t=({timestamp:n})=>e(n);return{start:()=>or.update(t,!0),stop:()=>hh(t),now:()=>Xs.isProcessing?Xs.timestamp:ou.now()}},qwe={decay:Q9,inertia:Q9,tween:cT,keyframes:cT,spring:Dee},Xwe=e=>e/100;class q3 extends Aee{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:i,element:r,keyframes:s}=this.options,a=(r==null?void 0:r.KeyframeResolver)||z3,o=(c,u)=>this.onKeyframesResolved(c,u);this.resolver=new a(s,o,n,i,r),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:n="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:s,velocity:a=0}=this.options,o=M3(n)?n:qwe[n]||cT;let c,u;o!==cT&&typeof t[0]!="number"&&(c=yv(Xwe,jee(t[0],t[1])),t=[0,100]);const d=o({...this.options,keyframes:t});s==="mirror"&&(u=o({...this.options,keyframes:[...t].reverse(),velocity:-a})),d.calculatedDuration===null&&(d.calculatedDuration=Cee(d));const{calculatedDuration:f}=d,h=f+r,p=h*(i+1)-r;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:c,calculatedDuration:f,resolvedDuration:h,totalDuration:p}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!t?this.pause():this.state=this.pendingPlayState}tick(t,n=!1){const{resolved:i}=this;if(!i){const{keyframes:T}=this.options;return{done:!0,value:T[T.length-1]}}const{finalKeyframe:r,generator:s,mirroredGenerator:a,mapPercentToKeyframes:o,keyframes:c,calculatedDuration:u,totalDuration:d,resolvedDuration:f}=i;if(this.startTime===null)return s.next(0);const{delay:h,repeat:p,repeatType:b,repeatDelay:g,onUpdate:O}=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),v=this.speed>=0?y<0:y>d;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let x=this.currentTime,w=s;if(p){const T=Math.min(this.currentTime,d)/f;let C=Math.floor(T),A=T%1;!A&&T>=1&&(A=1),A===1&&C--,C=Math.min(C,p+1),!!(C%2)&&(b==="reverse"?(A=1-A,g&&(A-=g/f)):b==="mirror"&&(w=a)),x=Nd(0,1,A)*f}const E=v?{done:!1,value:c[0]}:w.next(x);o&&(E.value=o(E.value));let{done:S}=E;!v&&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&&r!==void 0&&(E.value=gA(c,this.options,r)),O&&O(E.value),k&&this.finish(),E}get duration(){const{resolved:t}=this;return t?gd(t.calculatedDuration):0}get time(){return gd(this.currentTime)}set time(t){t=md(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=gd(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=Vwe,onPlay:n,startTime:i}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),n&&n();const r=this.driver.now();this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=r):this.startTime=i??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(t=this.currentTime)!==null&&t!==void 0?t:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const Hwe=new Set(["opacity","clipPath","filter","transform"]);function Ywe(e,t,n,{delay:i=0,duration:r=300,repeat:s=0,repeatType:a="loop",ease:o="easeInOut",times:c}={}){const u={[t]:n};c&&(u.offset=c);const d=see(o,r);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:a==="reverse"?"alternate":"normal"})}const Gwe=P3(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),uT=10,Wwe=2e4;function Zwe(e){return M3(e.type)||e.type==="spring"||!ree(e.ease)}function Kwe(e,t){const n=new q3({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let i={done:!1,value:e[0]};const r=[];let s=0;for(;!i.done&&sthis.onKeyframesResolved(a,o),n,i,r),this.resolver.scheduleResolve()}initPlayback(t,n){let{duration:i=300,times:r,ease:s,type:a,motionValue:o,name:c,startTime:u}=this.options;if(!o.owner||!o.owner.current)return!1;if(typeof s=="string"&&oT()&&Jwe(s)&&(s=Pee[s]),Zwe(this.options)){const{onComplete:f,onUpdate:h,motionValue:p,element:b,...g}=this.options,O=Kwe(t,g);t=O.keyframes,t.length===1&&(t[1]=t[0]),i=O.duration,r=O.times,s=O.ease,a="keyframes"}const d=Ywe(o.owner.current,c,t,{...this.options,duration:i,times:r,ease:s});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?(C9(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:f}=this.options;o.set(gA(t,this.options,n)),f&&f(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:i,times:r,type:a,ease:s,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:n}=t;return gd(n)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:n}=t;return gd(n.currentTime||0)}set time(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.currentTime=md(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:n}=t;return n.playbackRate}set speed(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:n}=t;return n.playState}get startTime(){const{resolved:t}=this;if(!t)return null;const{animation:n}=t;return n.startTime}attachTimeline(t){if(!this._resolved)this.pendingTimeline=t;else{const{resolved:n}=this;if(!n)return Ho;const{animation:i}=n;C9(i,t)}return Ho}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playState==="finished"&&this.updateFinishedPromise(),n.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:t}=this;if(!t)return;const{animation:n,keyframes:i,duration:r,type:s,ease:a,times:o}=t;if(n.playState==="idle"||n.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:f,element:h,...p}=this.options,b=new q3({...p,keyframes:i,duration:r,type:s,ease:a,times:o,isGenerator:!0}),g=md(this.time);u.setWithVelocity(b.sample(g-uT).value,b.sample(g).value,uT)}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:i,repeatDelay:r,repeatType:s,damping:a,type:o}=t;if(!n||!n.owner||!(n.owner.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=n.owner.getProps();return Gwe()&&i&&Hwe.has(i)&&!c&&!u&&!r&&s!=="mirror"&&a!==0&&o!=="inertia"}}const eSe={type:"spring",stiffness:500,damping:25,restSpeed:10},tSe=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),nSe={type:"keyframes",duration:.8},iSe={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},rSe=(e,{keyframes:t})=>t.length>2?nSe:km.has(e)?e.startsWith("scale")?tSe(t[1]):eSe:iSe;function sSe({when:e,delay:t,delayChildren:n,staggerChildren:i,staggerDirection:r,repeat:s,repeatType:a,repeatDelay:o,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const X3=(e,t,n,i={},r,s)=>a=>{const o=j3(i,e)||{},c=o.delay||i.delay||0;let{elapsed:u=0}=i;u=u-md(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...o,delay:-u,onUpdate:h=>{t.set(h),o.onUpdate&&o.onUpdate(h)},onComplete:()=>{a(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:s?void 0:r};sSe(o)||(d={...d,...rSe(e,d)}),d.duration&&(d.duration=md(d.duration)),d.repeatDelay&&(d.repeatDelay=md(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let f=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(d.duration=0,d.delay===0&&(f=!0)),f&&!s&&t.get()!==void 0){const h=gA(d.keyframes,o);if(h!==void 0)return or.update(()=>{d.onUpdate(h),d.onComplete()}),new Lve([])}return!s&&F9.supports(d)?new F9(d):new q3(d)};function aSe({protectedKeys:e,needsAnimating:t},n){const i=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,i}function Mee(e,t,{delay:n=0,transitionOverride:i,type:r}={}){var s;let{transition:a=e.getDefaultTransition(),transitionEnd:o,...c}=t;i&&(a=i);const u=[],d=r&&e.animationState&&e.animationState.getState()[r];for(const f in c){const h=e.getValue(f,(s=e.latestValues[f])!==null&&s!==void 0?s:null),p=c[f];if(p===void 0||d&&aSe(d,f))continue;const b={delay:n,...j3(a||{},f)};let g=!1;if(window.MotionHandoffAnimation){const y=nee(e);if(y){const v=window.MotionHandoffAnimation(y,f,or);v!==null&&(b.startTime=v,g=!0)}}zI(e,f),h.start(X3(f,h,p,e.shouldReduceMotion&&eee.has(f)?{type:!1}:b,e,g));const O=h.animation;O&&u.push(O)}return o&&Promise.all(u).then(()=>{or.update(()=>{o&&Dve(e,o)})}),u}function KI(e,t,n={}){var i;const r=mA(e,t,n.type==="exit"?(i=e.presenceContext)===null||i===void 0?void 0:i.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(s=n.transitionOverride);const a=r?()=>Promise.all(Mee(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:f,staggerDirection:h}=s;return oSe(e,t,d+u,f,h,n)}:()=>Promise.resolve(),{when:c}=s;if(c){const[u,d]=c==="beforeChildren"?[a,o]:[o,a];return u().then(()=>d())}else return Promise.all([a(),o(n.delay)])}function oSe(e,t,n=0,i=0,r=1,s){const a=[],o=(e.variantChildren.size-1)*i,c=r===1?(u=0)=>u*i:(u=0)=>o-u*i;return Array.from(e.variantChildren).sort(lSe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(KI(u,t,{...s,delay:n+c(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function lSe(e,t){return e.sortNodePosition(t)}function cSe(e,t,n={}){e.notify("AnimationStart",t);let i;if(Array.isArray(t)){const r=t.map(s=>KI(e,s,n));i=Promise.all(r)}else if(typeof t=="string")i=KI(e,t,n);else{const r=typeof t=="function"?mA(e,t,n.custom):t;i=Promise.all(Mee(e,r,n))}return i.then(()=>{e.notify("AnimationComplete",t)})}const uSe=y3.length;function Lee(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Lee(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;nPromise.all(t.map(({animation:n,options:i})=>cSe(e,n,i)))}function pSe(e){let t=hSe(e),n=U9(),i=!0;const r=c=>(u,d)=>{var f;const h=mA(e,d,c==="exit"?(f=e.presenceContext)===null||f===void 0?void 0:f.custom:void 0);if(h){const{transition:p,transitionEnd:b,...g}=h;u={...u,...g,...b}}return u};function s(c){t=c(e)}function a(c){const{props:u}=e,d=Lee(e.parent)||{},f=[],h=new Set;let p={},b=1/0;for(let O=0;Ob&&w,C=!1;const A=Array.isArray(x)?x:[x];let R=A.reduce(r(y),{});E===!1&&(R={});const{prevResolvedValues:P={}}=v,B={...P,...R},I=D=>{T=!0,h.has(D)&&(C=!0,h.delete(D)),v.needsAnimating[D]=!0;const F=e.getValue(D);F&&(F.liveStyle=!1)};for(const D in B){const F=R[D],Q=P[D];if(p.hasOwnProperty(D))continue;let M=!1;UI(F)&&UI(Q)?M=!JJ(F,Q):M=F!==Q,M?F!=null?I(D):h.add(D):F!==void 0&&h.has(D)?I(D):v.protectedKeys[D]=!0}v.prevProp=x,v.prevResolvedValues=R,v.isActive&&(p={...p,...R}),i&&e.blockInitialAnimation&&(T=!1),T&&(!(S&&k)||C)&&f.push(...A.map(D=>({animation:D,options:{type:y}})))}if(h.size){const O={};h.forEach(y=>{const v=e.getBaseTarget(y),x=e.getValue(y);x&&(x.liveStyle=!0),O[y]=v??null}),f.push({animation:O})}let g=!!f.length;return i&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(g=!1),i=!1,g?t(f):Promise.resolve()}function o(c,u){var d;if(n[c].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(c,u)}),n[c].isActive=u;const f=a(c);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:a,setActive:o,setAnimateFunction:s,getState:()=>n,reset:()=>{n=U9(),i=!0}}}function mSe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!JJ(t,e):!1}function Hh(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function U9(){return{animate:Hh(!0),whileInView:Hh(),whileHover:Hh(),whileTap:Hh(),whileDrag:Hh(),whileFocus:Hh(),exit:Hh()}}class Ih{constructor(t){this.isMounted=!1,this.node=t}update(){}}class gSe extends Ih{constructor(t){super(t),t.animationState||(t.animationState=pSe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();hA(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 bSe=0;class OSe extends Ih{constructor(){super(...arguments),this.id=bSe++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const ySe={animation:{Feature:gSe},exit:{Feature:OSe}},Wl={x:!1,y:!1};function $ee(){return Wl.x||Wl.y}function xSe(e){return e==="x"||e==="y"?Wl[e]?null:(Wl[e]=!0,()=>{Wl[e]=!1}):Wl.x||Wl.y?null:(Wl.x=Wl.y=!0,()=>{Wl.x=Wl.y=!1})}const H3=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function e1(e,t,n,i={passive:!0}){return e.addEventListener(t,n,i),()=>e.removeEventListener(t,n)}function xv(e){return{point:{x:e.pageX,y:e.pageY}}}const vSe=e=>t=>H3(t)&&e(t,xv(t));function nx(e,t,n,i){return e1(e,t,vSe(n),i)}const z9=(e,t)=>Math.abs(e-t);function wSe(e,t){const n=z9(e.x,t.x),i=z9(e.y,t.y);return Math.sqrt(n**2+i**2)}class Qee{constructor(t,n,{transformPagePoint:i,contextWindow:r,dragSnapToOrigin:s=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=MN(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,p=wSe(f.offset,{x:0,y:0})>=3;if(!h&&!p)return;const{point:b}=f,{timestamp:g}=Xs;this.history.push({...b,timestamp:g});const{onStart:O,onMove:y}=this.handlers;h||(O&&O(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),y&&y(this.lastMoveEvent,f)},this.handlePointerMove=(f,h)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=PN(h,this.transformPagePoint),or.update(this.updatePoint,!0)},this.handlePointerUp=(f,h)=>{this.end();const{onEnd:p,onSessionEnd:b,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const O=MN(f.type==="pointercancel"?this.lastMoveEventInfo:PN(h,this.transformPagePoint),this.history);this.startEvent&&p&&p(f,O),b&&b(f,O)},!H3(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=i,this.contextWindow=r||window;const a=xv(t),o=PN(a,this.transformPagePoint),{point:c}=o,{timestamp:u}=Xs;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,MN(o,this.history)),this.removeListeners=yv(nx(this.contextWindow,"pointermove",this.handlePointerMove),nx(this.contextWindow,"pointerup",this.handlePointerUp),nx(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),hh(this.updatePoint)}}function PN(e,t){return t?{point:t(e.point)}:e}function V9(e,t){return{x:e.x-t.x,y:e.y-t.y}}function MN({point:e},t){return{point:e,delta:V9(e,Bee(t)),offset:V9(e,SSe(t)),velocity:ESe(t,.1)}}function SSe(e){return e[0]}function Bee(e){return e[e.length-1]}function ESe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,i=null;const r=Bee(e);for(;n>=0&&(i=e[n],!(r.timestamp-i.timestamp>md(t)));)n--;if(!i)return{x:0,y:0};const s=gd(r.timestamp-i.timestamp);if(s===0)return{x:0,y:0};const a={x:(r.x-i.x)/s,y:(r.y-i.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}const Fee=1e-4,kSe=1-Fee,TSe=1+Fee,Uee=.01,_Se=0-Uee,ASe=0+Uee;function Ko(e){return e.max-e.min}function CSe(e,t,n){return Math.abs(e-t)<=n}function q9(e,t,n,i=.5){e.origin=i,e.originPoint=Ar(t.min,t.max,e.origin),e.scale=Ko(n)/Ko(t),e.translate=Ar(n.min,n.max,e.origin)-e.originPoint,(e.scale>=kSe&&e.scale<=TSe||isNaN(e.scale))&&(e.scale=1),(e.translate>=_Se&&e.translate<=ASe||isNaN(e.translate))&&(e.translate=0)}function ix(e,t,n,i){q9(e.x,t.x,n.x,i?i.originX:void 0),q9(e.y,t.y,n.y,i?i.originY:void 0)}function X9(e,t,n){e.min=n.min+t.min,e.max=e.min+Ko(t)}function NSe(e,t,n){X9(e.x,t.x,n.x),X9(e.y,t.y,n.y)}function H9(e,t,n){e.min=t.min-n.min,e.max=e.min+Ko(t)}function rx(e,t,n){H9(e.x,t.x,n.x),H9(e.y,t.y,n.y)}function jSe(e,{min:t,max:n},i){return t!==void 0&&en&&(e=i?Ar(n,e,i.max):Math.min(e,n)),e}function Y9(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 RSe(e,{top:t,left:n,bottom:i,right:r}){return{x:Y9(e.x,n,r),y:Y9(e.y,t,i)}}function G9(e,t){let n=t.min-e.min,i=t.max-e.max;return t.max-t.mini?n=W0(t.min,t.max-i,e.min):i>r&&(n=W0(e.min,e.max-r,t.min)),Nd(0,1,n)}function PSe(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 JI=.35;function MSe(e=JI){return e===!1?e=0:e===!0&&(e=JI),{x:W9(e,"left","right"),y:W9(e,"top","bottom")}}function W9(e,t,n){return{min:Z9(e,t),max:Z9(e,n)}}function Z9(e,t){return typeof e=="number"?e:e[t]||0}const K9=()=>({translate:0,scale:1,origin:0,originPoint:0}),Hg=()=>({x:K9(),y:K9()}),J9=()=>({min:0,max:0}),Ur=()=>({x:J9(),y:J9()});function ol(e){return[e("x"),e("y")]}function zee({top:e,left:t,right:n,bottom:i}){return{x:{min:t,max:n},y:{min:e,max:i}}}function LSe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function $Se(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}function LN(e){return e===void 0||e===1}function eP({scale:e,scaleX:t,scaleY:n}){return!LN(e)||!LN(t)||!LN(n)}function lp(e){return eP(e)||Vee(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Vee(e){return e7(e.x)||e7(e.y)}function e7(e){return e&&e!=="0%"}function dT(e,t,n){const i=e-n,r=t*i;return n+r}function t7(e,t,n,i,r){return r!==void 0&&(e=dT(e,r,i)),dT(e,n,i)+t}function tP(e,t=0,n=1,i,r){e.min=t7(e.min,t,n,i,r),e.max=t7(e.max,t,n,i,r)}function qee(e,{x:t,y:n}){tP(e.x,t.translate,t.scale,t.originPoint),tP(e.y,n.translate,n.scale,n.originPoint)}const n7=.999999999999,i7=1.0000000000001;function QSe(e,t,n,i=!1){const r=n.length;if(!r)return;t.x=t.y=1;let s,a;for(let o=0;on7&&(t.x=1),t.yn7&&(t.y=1)}function Yg(e,t){e.min=e.min+t,e.max=e.max+t}function r7(e,t,n,i,r=.5){const s=Ar(e.min,e.max,r);tP(e,t,n,s,i)}function Gg(e,t){r7(e.x,t.x,t.scaleX,t.scale,t.originX),r7(e.y,t.y,t.scaleY,t.scale,t.originY)}function Xee(e,t){return zee($Se(e.getBoundingClientRect(),t))}function BSe(e,t,n){const i=Xee(e,n),{scroll:r}=t;return r&&(Yg(i.x,r.offset.x),Yg(i.y,r.offset.y)),i}const Hee=({current:e})=>e?e.ownerDocument.defaultView:null,FSe=new WeakMap;class USe{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=Ur(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(xv(d).point)},s=(d,f)=>{const{drag:h,dragPropagation:p,onDragStart:b}=this.getProps();if(h&&!p&&(this.openDragLock&&this.openDragLock(),this.openDragLock=xSe(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),ol(O=>{let y=this.getAxisMotionValue(O).get()||0;if(au.test(y)){const{projection:v}=this.visualElement;if(v&&v.layout){const x=v.layout.layoutBox[O];x&&(y=Ko(x)*(parseFloat(y)/100))}}this.originPoint[O]=y}),b&&or.postRender(()=>b(d,f)),zI(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},a=(d,f)=>{const{dragPropagation:h,dragDirectionLock:p,onDirectionLock:b,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:O}=f;if(p&&this.currentDirection===null){this.currentDirection=zSe(O),this.currentDirection!==null&&b&&b(this.currentDirection);return}this.updateAxis("x",f.point,O),this.updateAxis("y",f.point,O),this.visualElement.render(),g&&g(d,f)},o=(d,f)=>this.stop(d,f),c=()=>ol(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 Qee(t,{onSessionStart:r,onStart:s,onMove:a,onSessionEnd:o,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:Hee(this.visualElement)})}stop(t,n){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:r}=n;this.startAnimation(r);const{onDragEnd:s}=this.getProps();s&&or.postRender(()=>s(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,i){const{drag:r}=this.getProps();if(!i||!eS(t,r,this.currentDirection))return;const s=this.getAxisMotionValue(t);let a=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(a=jSe(a,this.constraints[t],this.elastic[t])),s.set(a)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:i}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,s=this.constraints;n&&qg(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&r?this.constraints=RSe(r.layoutBox,n):this.constraints=!1,this.elastic=MSe(i),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ol(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=PSe(r.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!qg(t))return!1;const i=t.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const s=BSe(i,r.root,this.visualElement.getTransformPagePoint());let a=DSe(r.layout.layoutBox,s);if(n){const o=n(LSe(a));this.hasMutatedConstraints=!!o,o&&(a=zee(o))}return a}startAnimation(t){const{drag:n,dragMomentum:i,dragElastic:r,dragTransition:s,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),c=this.constraints||{},u=ol(d=>{if(!eS(d,n,this.currentDirection))return;let f=c&&c[d]||{};a&&(f={min:0,max:0});const h=r?200:1e6,p=r?40:1e7,b={type:"inertia",velocity:i?t[d]:0,bounceStiffness:h,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...s,...f};return this.startAxisValueAnimation(d,b)});return Promise.all(u).then(o)}startAxisValueAnimation(t,n){const i=this.getAxisMotionValue(t);return zI(this.visualElement,t),i.start(X3(t,i,0,n,this.visualElement,!1))}stopAnimation(){ol(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){ol(t=>{var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,i=this.visualElement.getProps(),r=i[n];return r||this.visualElement.getValue(t,(i.initial?i.initial[t]:void 0)||0)}snapToCursor(t){ol(n=>{const{drag:i}=this.getProps();if(!eS(n,i,this.currentDirection))return;const{projection:r}=this.visualElement,s=this.getAxisMotionValue(n);if(r&&r.layout){const{min:a,max:o}=r.layout.layoutBox[n];s.set(t[n]-Ar(a,o,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:i}=this.visualElement;if(!qg(n)||!i||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};ol(a=>{const o=this.getAxisMotionValue(a);if(o&&this.constraints!==!1){const c=o.get();r[a]=ISe({min:c,max:c},this.constraints[a])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),ol(a=>{if(!eS(a,t,null))return;const o=this.getAxisMotionValue(a),{min:c,max:u}=this.constraints[a];o.set(Ar(c,u,r[a]))})}addListeners(){if(!this.visualElement.current)return;FSe.set(this.visualElement,this);const t=this.visualElement.current,n=nx(t,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(c)}),i=()=>{const{dragConstraints:c}=this.getProps();qg(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),or.read(i);const a=e1(window,"resize",()=>this.scalePositionWithinConstraints()),o=r.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(ol(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(),s(),o&&o()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:i=!1,dragPropagation:r=!1,dragConstraints:s=!1,dragElastic:a=JI,dragMomentum:o=!0}=t;return{...t,drag:n,dragDirectionLock:i,dragPropagation:r,dragConstraints:s,dragElastic:a,dragMomentum:o}}}function eS(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function zSe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class VSe extends Ih{constructor(t){super(t),this.removeGroupControls=Ho,this.removeListeners=Ho,this.controls=new USe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ho}unmount(){this.removeGroupControls(),this.removeListeners()}}const s7=e=>(t,n)=>{e&&or.postRender(()=>e(t,n))};class qSe extends Ih{constructor(){super(...arguments),this.removePointerDownListener=Ho}onPointerDown(t){this.session=new Qee(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Hee(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:i,onPanEnd:r}=this.node.getProps();return{onSessionStart:s7(t),onStart:s7(n),onMove:i,onEnd:(s,a)=>{delete this.session,r&&or.postRender(()=>r(s,a))}}}mount(){this.removePointerDownListener=nx(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 $E={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function a7(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const FO={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Zt.test(e))e=parseFloat(e);else return e;const n=a7(e,t.target.x),i=a7(e,t.target.y);return`${n}% ${i}%`}},XSe={correct:(e,{treeScale:t,projectionDelta:n})=>{const i=e,r=ph.parse(e);if(r.length>5)return i;const s=ph.createTransformer(e),a=typeof r[0]!="number"?1:0,o=n.x.scale*t.x,c=n.y.scale*t.y;r[0+a]/=o,r[1+a]/=c;const u=Ar(o,c,.5);return typeof r[2+a]=="number"&&(r[2+a]/=u),typeof r[3+a]=="number"&&(r[3+a]/=u),s(r)}};class HSe extends m.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i,layoutId:r}=this.props,{projection:s}=t;yve(YSe),s&&(n.group&&n.group.add(s),i&&i.register&&r&&i.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),$E.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:i,drag:r,isPresent:s}=this.props,a=i.projection;return a&&(a.isPresent=s,r||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?a.promote():a.relegate()||or.postRender(()=>{const o=a.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),v3.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i}=this.props,{projection:r}=t;r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),i&&i.deregister&&i.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Yee(e){const[t,n]=jJ(),i=m.useContext(g3);return l.jsx(HSe,{...e,layoutGroup:i,switchLayoutGroup:m.useContext(BJ),isPresent:t,safeToRemove:n})}const YSe={borderRadius:{...FO,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:FO,borderTopRightRadius:FO,borderBottomLeftRadius:FO,borderBottomRightRadius:FO,boxShadow:XSe};function GSe(e,t,n){const i=ha(e)?e:Kx(e);return i.start(X3("",i,t,n)),i.animation}function WSe(e){return e instanceof SVGElement&&e.tagName!=="svg"}const ZSe=(e,t)=>e.depth-t.depth;class KSe{constructor(){this.children=[],this.isDirty=!1}add(t){R3(this.children,t),this.isDirty=!0}remove(t){D3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(ZSe),this.isDirty=!1,this.children.forEach(t)}}function JSe(e,t){const n=ou.now(),i=({timestamp:r})=>{const s=r-n;s>=t&&(hh(i),e(s-t))};return or.read(i,!0),()=>hh(i)}const Gee=["TopLeft","TopRight","BottomLeft","BottomRight"],eEe=Gee.length,o7=e=>typeof e=="string"?parseFloat(e):e,l7=e=>typeof e=="number"||Zt.test(e);function tEe(e,t,n,i,r,s){r?(e.opacity=Ar(0,n.opacity!==void 0?n.opacity:1,nEe(i)),e.opacityExit=Ar(t.opacity!==void 0?t.opacity:1,0,iEe(i))):s&&(e.opacity=Ar(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,i));for(let a=0;ait?1:n(W0(e,t,i))}function u7(e,t){e.min=t.min,e.max=t.max}function sl(e,t){u7(e.x,t.x),u7(e.y,t.y)}function d7(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function f7(e,t,n,i,r){return e-=t,e=dT(e,1/n,i),r!==void 0&&(e=dT(e,1/r,i)),e}function rEe(e,t=0,n=1,i=.5,r,s=e,a=e){if(au.test(t)&&(t=parseFloat(t),t=Ar(a.min,a.max,t/100)-a.min),typeof t!="number")return;let o=Ar(s.min,s.max,i);e===s&&(o-=t),e.min=f7(e.min,t,n,o,r),e.max=f7(e.max,t,n,o,r)}function h7(e,t,[n,i,r],s,a){rEe(e,t[n],t[i],t[r],t.scale,s,a)}const sEe=["x","scaleX","originX"],aEe=["y","scaleY","originY"];function p7(e,t,n,i){h7(e.x,t,sEe,n?n.x:void 0,i?i.x:void 0),h7(e.y,t,aEe,n?n.y:void 0,i?i.y:void 0)}function m7(e){return e.translate===0&&e.scale===1}function Zee(e){return m7(e.x)&&m7(e.y)}function g7(e,t){return e.min===t.min&&e.max===t.max}function oEe(e,t){return g7(e.x,t.x)&&g7(e.y,t.y)}function b7(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Kee(e,t){return b7(e.x,t.x)&&b7(e.y,t.y)}function O7(e){return Ko(e.x)/Ko(e.y)}function y7(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class lEe{constructor(){this.members=[]}add(t){R3(this.members,t),t.scheduleRender()}remove(t){if(D3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(r=>t===r);if(n===0)return!1;let i;for(let r=n;r>=0;r--){const s=this.members[r];if(s.isPresent!==!1){i=s;break}}return i?(this.promote(i),!0):!1}promote(t,n){const i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.instance&&i.scheduleRender(),t.scheduleRender(),t.resumeFrom=i,n&&(t.resumeFrom.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:r}=t.options;r===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:i}=t;n.onExitComplete&&n.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function cEe(e,t,n){let i="";const r=e.x.translate/t.x,s=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((r||s||a)&&(i=`translate3d(${r}px, ${s}px, ${a}px) `),(t.x!==1||t.y!==1)&&(i+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:f,rotateY:h,skewX:p,skewY:b}=n;u&&(i=`perspective(${u}px) ${i}`),d&&(i+=`rotate(${d}deg) `),f&&(i+=`rotateX(${f}deg) `),h&&(i+=`rotateY(${h}deg) `),p&&(i+=`skewX(${p}deg) `),b&&(i+=`skewY(${b}deg) `)}const o=e.x.scale*t.x,c=e.y.scale*t.y;return(o!==1||c!==1)&&(i+=`scale(${o}, ${c})`),i||"none"}const cp={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},wy=typeof window<"u"&&window.MotionDebug!==void 0,$N=["","X","Y","Z"],uEe={visibility:"hidden"},x7=1e3;let dEe=0;function QN(e,t,n,i){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),i&&(i[e]=0))}function Jee(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=nee(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",or,!(r||s))}const{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&Jee(i)}function ete({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:i,resetTransform:r}){return class{constructor(a={},o=t==null?void 0:t()){this.id=dEe++,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,wy&&(cp.totalNodes=cp.resolvedTargetDeltas=cp.recalculatedProjection=0),this.nodes.forEach(pEe),this.nodes.forEach(yEe),this.nodes.forEach(xEe),this.nodes.forEach(mEe),wy&&window.MotionDebug.record(cp)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=o?o.root||o:this,this.path=o?[...o.path,o]:[],this.parent=o,this.depth=o?o.depth+1:0;for(let c=0;cthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=JSe(h,250),$E.hasAnimatedSinceResize&&($E.hasAnimatedSinceResize=!1,this.nodes.forEach(w7))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&d&&(c||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:p,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||kEe,{onLayoutAnimationStart:O,onLayoutAnimationComplete:y}=d.getProps(),v=!this.targetLayout||!Kee(this.targetLayout,b)||p,x=!h&&p;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||x||h&&(v||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,x);const w={...j3(g,"layout"),onPlay:O,onComplete:y};(d.shouldReduceMotion||this.options.layoutRoot)&&(w.delay=0,w.type=!1),this.startAnimation(w)}else h||w7(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}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,hh(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(vEe),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&&Jee(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 E=w/1e3;S7(f.x,a.x,E),S7(f.y,a.y,E),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(rx(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),SEe(this.relativeTarget,this.relativeTargetOrigin,h,E),x&&oEe(this.relativeTarget,x)&&(this.isProjectionDirty=!1),x||(x=Ur()),sl(x,this.relativeTarget)),g&&(this.animationValues=d,tEe(d,u,this.latestValues,E,v,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(hh(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=or.update(()=>{$E.hasAnimatedSinceResize=!0,this.currentAnimation=GSe(0,x7,{...a,onUpdate:o=>{this.mixTargetDelta(o),a.onUpdate&&a.onUpdate(o)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(x7),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:o,target:c,layout:u,latestValues:d}=a;if(!(!o||!c||!u)){if(this!==a&&this.layout&&u&&tte(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||Ur();const f=Ko(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+f;const h=Ko(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+h}sl(o,c),Gg(o,d),ix(this.projectionDeltaWithTransform,this.layoutCorrected,o,d)}}registerSharedNode(a,o){this.sharedNodes.has(a)||this.sharedNodes.set(a,new lEe),this.sharedNodes.get(a).add(o);const u=o.options.initialPromotionConfig;o.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(o):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:o,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),o&&this.setOptions({transition:o})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let o=!1;const{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(o=!0),!o)return;const u={};c.z&&QN("z",a,u,this.animationValues);for(let d=0;d<$N.length;d++)QN(`rotate${$N[d]}`,a,u,this.animationValues),QN(`skew${$N[d]}`,a,u,this.animationValues);a.render();for(const d in u)a.setStaticValue(d,u[d]),this.animationValues&&(this.animationValues[d]=u[d]);a.scheduleRender()}getProjectionStyles(a){var o,c;if(!this.instance||this.isSVG)return;if(!this.isVisible)return uEe;const u={visibility:""},d=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,u.opacity="",u.pointerEvents=ME(a==null?void 0:a.pointerEvents)||"",u.transform=d?d(this.latestValues,""):"none",u;const f=this.getLead();if(!this.projectionDelta||!this.layout||!f.target){const g={};return this.options.layoutId&&(g.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,g.pointerEvents=ME(a==null?void 0:a.pointerEvents)||""),this.hasProjected&&!lp(this.latestValues)&&(g.transform=d?d({},""):"none",this.hasProjected=!1),g}const h=f.animationValues||f.latestValues;this.applyTransformsToTarget(),u.transform=cEe(this.projectionDeltaWithTransform,this.treeScale,h),d&&(u.transform=d(h,u.transform));const{x:p,y:b}=this.projectionDelta;u.transformOrigin=`${p.origin*100}% ${b.origin*100}% 0`,f.animationValues?u.opacity=f===this?(c=(o=h.opacity)!==null&&o!==void 0?o:this.latestValues.opacity)!==null&&c!==void 0?c:1:this.preserveOpacity?this.latestValues.opacity:h.opacityExit:u.opacity=f===this?h.opacity!==void 0?h.opacity:"":h.opacityExit!==void 0?h.opacityExit:0;for(const g in aT){if(h[g]===void 0)continue;const{correct:O,applyTo:y}=aT[g],v=u.transform==="none"?h[g]:O(h[g],f);if(y){const x=y.length;for(let w=0;w{var o;return(o=a.currentAnimation)===null||o===void 0?void 0:o.stop()}),this.root.nodes.forEach(v7),this.root.sharedNodes.clear()}}}function fEe(e){e.updateLayout()}function hEe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:r}=e.layout,{animationType:s}=e.options,a=n.source!==e.layout.source;s==="size"?ol(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=Ko(h);h.min=i[f].min,h.max=h.min+p}):tte(s,n.layoutBox,i)&&ol(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=Ko(i[f]);h.max=h.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+p)});const o=Hg();ix(o,i,n.layoutBox);const c=Hg();a?ix(c,e.applyTransform(r,!0),n.measuredBox):ix(c,i,n.layoutBox);const u=!Zee(o);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:p}=f;if(h&&p){const b=Ur();rx(b,n.layoutBox,h.layoutBox);const g=Ur();rx(g,i,p.layoutBox),Kee(b,g)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=b,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:i,snapshot:n,delta:c,layoutDelta:o,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:i}=e.options;i&&i()}e.options.transition=void 0}function pEe(e){wy&&cp.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 mEe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function gEe(e){e.clearSnapshot()}function v7(e){e.clearMeasurements()}function bEe(e){e.isLayoutDirty=!1}function OEe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function w7(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function yEe(e){e.resolveTargetDelta()}function xEe(e){e.calcProjection()}function vEe(e){e.resetSkewAndRotation()}function wEe(e){e.removeLeadSnapshot()}function S7(e,t,n){e.translate=Ar(t.translate,0,n),e.scale=Ar(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function E7(e,t,n,i){e.min=Ar(t.min,n.min,i),e.max=Ar(t.max,n.max,i)}function SEe(e,t,n,i){E7(e.x,t.x,n.x,i),E7(e.y,t.y,n.y,i)}function EEe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const kEe={duration:.45,ease:[.4,0,.1,1]},k7=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),T7=k7("applewebkit/")&&!k7("chrome/")?Math.round:Ho;function _7(e){e.min=T7(e.min),e.max=T7(e.max)}function TEe(e){_7(e.x),_7(e.y)}function tte(e,t,n){return e==="position"||e==="preserve-aspect"&&!CSe(O7(t),O7(n),.2)}function _Ee(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const AEe=ete({attachResizeListener:(e,t)=>e1(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),BN={current:void 0},nte=ete({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!BN.current){const e=new AEe({});e.mount(window),e.setOptions({layoutScroll:!0}),BN.current=e}return BN.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),CEe={pan:{Feature:qSe},drag:{Feature:VSe,ProjectionNode:nte,MeasureLayout:Yee}};function NEe(e,t,n){var i;if(e instanceof Element)return[e];if(typeof e=="string"){let r=document;const s=(i=void 0)!==null&&i!==void 0?i:r.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e)}function ite(e,t){const n=NEe(e),i=new AbortController,r={passive:!0,...t,signal:i.signal};return[n,r,()=>i.abort()]}function A7(e){return t=>{t.pointerType==="touch"||$ee()||e(t)}}function jEe(e,t,n={}){const[i,r,s]=ite(e,n),a=A7(o=>{const{target:c}=o,u=t(o);if(typeof u!="function"||!c)return;const d=A7(f=>{u(f),c.removeEventListener("pointerleave",d)});c.addEventListener("pointerleave",d,r)});return i.forEach(o=>{o.addEventListener("pointerenter",a,r)}),s}function C7(e,t,n){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,s=i[r];s&&or.postRender(()=>s(t,xv(t)))}class REe extends Ih{mount(){const{current:t}=this.node;t&&(this.unmount=jEe(t,n=>(C7(this.node,n,"Start"),i=>C7(this.node,i,"End"))))}unmount(){}}class DEe extends Ih{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=yv(e1(this.node.current,"focus",()=>this.onFocus()),e1(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const rte=(e,t)=>t?e===t?!0:rte(e,t.parentElement):!1,IEe=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function PEe(e){return IEe.has(e.tagName)||e.tabIndex!==-1}const Sy=new WeakSet;function N7(e){return t=>{t.key==="Enter"&&e(t)}}function FN(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const MEe=(e,t)=>{const n=e.currentTarget;if(!n)return;const i=N7(()=>{if(Sy.has(n))return;FN(n,"down");const r=N7(()=>{FN(n,"up")}),s=()=>FN(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",i,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),t)};function j7(e){return H3(e)&&!$ee()}function LEe(e,t,n={}){const[i,r,s]=ite(e,n),a=o=>{const c=o.currentTarget;if(!j7(o)||Sy.has(c))return;Sy.add(c);const u=t(o),d=(p,b)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),!(!j7(p)||!Sy.has(c))&&(Sy.delete(c),typeof u=="function"&&u(p,{success:b}))},f=p=>{d(p,n.useGlobalTarget||rte(c,p.target))},h=p=>{d(p,!1)};window.addEventListener("pointerup",f,r),window.addEventListener("pointercancel",h,r)};return i.forEach(o=>{!PEe(o)&&o.getAttribute("tabindex")===null&&(o.tabIndex=0),(n.useGlobalTarget?window:o).addEventListener("pointerdown",a,r),o.addEventListener("focus",u=>MEe(u,r),r)}),s}function R7(e,t,n){const{props:i}=e;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),s=i[r];s&&or.postRender(()=>s(t,xv(t)))}class $Ee extends Ih{mount(){const{current:t}=this.node;t&&(this.unmount=LEe(t,n=>(R7(this.node,n,"Start"),(i,{success:r})=>R7(this.node,i,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const nP=new WeakMap,UN=new WeakMap,QEe=e=>{const t=nP.get(e.target);t&&t(e)},BEe=e=>{e.forEach(QEe)};function FEe({root:e,...t}){const n=e||document;UN.has(n)||UN.set(n,{});const i=UN.get(n),r=JSON.stringify(t);return i[r]||(i[r]=new IntersectionObserver(BEe,{root:e,...t})),i[r]}function UEe(e,t,n){const i=FEe(t);return nP.set(e,n),i.observe(e),()=>{nP.delete(e),i.unobserve(e)}}const zEe={some:0,all:1};class VEe extends Ih{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:i,amount:r="some",once:s}=t,a={root:n?n.current:void 0,rootMargin:i,threshold:typeof r=="number"?r:zEe[r]},o=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,s&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),h=u?d:f;h&&h(c)};return UEe(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(qEe(t,n))&&this.startObserver()}unmount(){}}function qEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const XEe={inView:{Feature:VEe},tap:{Feature:$Ee},focus:{Feature:DEe},hover:{Feature:REe}},HEe={layout:{ProjectionNode:nte,MeasureLayout:Yee}},fT={current:null},Y3={current:!1};function ste(){if(Y3.current=!0,!!b3)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>fT.current=e.matches;e.addListener(t),t()}else fT.current=!1}const YEe=[...Tee,ua,ph],GEe=e=>YEe.find(kee(e)),D7=new WeakMap;function WEe(e,t,n){for(const i in t){const r=t[i],s=n[i];if(ha(r))e.addValue(i,r);else if(ha(s))e.addValue(i,Kx(r,{owner:e}));else if(s!==r)if(e.hasValue(i)){const a=e.getValue(i);a.liveStyle===!0?a.jump(r):a.hasAnimated||a.set(r)}else{const a=e.getStaticValue(i);e.addValue(i,Kx(a!==void 0?a:r,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const I7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class ZEe{scrapeMotionValuesFromProps(t,n,i){return{}}constructor({parent:t,props:n,presenceContext:i,reducedMotionConfig:r,blockInitialAnimation:s,visualState:a},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=z3,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=ou.now();this.renderScheduledAtthis.bindToMotionValue(i,n)),Y3.current||ste(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:fT.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){D7.delete(this.current),this.projection&&this.projection.unmount(),hh(this.notifyUpdate),hh(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const i=km.has(t),r=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&or.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0)}),s=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),s(),a&&a(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in G0){const n=G0[t];if(!n)continue;const{isEnabled:i,Feature:r}=n;if(!this.features[t]&&r&&i(this.props)&&(this.features[t]=new r(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Ur()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let i=0;in.variantChildren.delete(t)}addValue(t,n){const i=this.values.get(t);n!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return i===void 0&&n!==void 0&&(i=Kx(n===null?void 0:n,{owner:this}),this.addValue(t,i)),i}readValue(t,n){var i;let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(i=this.getBaseTargetFromProps(this.props,t))!==null&&i!==void 0?i:this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(See(r)||pee(r))?r=parseFloat(r):!GEe(r)&&ph.test(n)&&(r=xee(t,n)),this.setBaseTarget(t,ha(r)?r.get():r)),ha(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:i}=this.props;let r;if(typeof i=="string"||typeof i=="object"){const a=S3(this.props,i,(n=this.presenceContext)===null||n===void 0?void 0:n.custom);a&&(r=a[t])}if(i&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!ha(s)?s:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new I3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class ate extends ZEe{constructor(){super(...arguments),this.KeyframeResolver=_ee}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:i}){delete n[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ha(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function KEe(e){return window.getComputedStyle(e)}class JEe extends ate{constructor(){super(...arguments),this.type="html",this.renderInstance=HJ}readValueFromInstance(t,n){if(km.has(n)){const i=U3(n);return i&&i.default||0}else{const i=KEe(t),r=(VJ(n)?i.getPropertyValue(n):i[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Xee(t,n)}build(t,n,i){T3(t,n,i.transformTemplate)}scrapeMotionValuesFromProps(t,n,i){return N3(t,n,i)}}class eke extends ate{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Ur}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(km.has(n)){const i=U3(n);return i&&i.default||0}return n=YJ.has(n)?n:x3(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,i){return ZJ(t,n,i)}build(t,n,i){_3(t,n,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,i,r){GJ(t,n,i,r)}mount(t){this.isSVGTag=C3(t.tagName),super.mount(t)}}const tke=(e,t)=>w3(e)?new eke(t):new JEe(t,{allowProjection:e!==m.Fragment}),nke=Ave({...ySe,...XEe,...CEe,...HEe},tke),Mr=z1e(nke);function ike(){!Y3.current&&ste();const[e]=m.useState(fT.current);return e}function Os(){return Os=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||/ServerSideRendering/.test(navigator&&navigator.userAgent)?m.useEffect:m.useLayoutEffect;function wg(e,t,n){var i=m.useRef(t);i.current=t,m.useEffect(function(){function r(s){i.current(s)}return e&&window.addEventListener(e,r,n),function(){e&&window.removeEventListener(e,r)}},[e])}var rke=["container"];function ske(e){var t=e.container,n=t===void 0?document.body:t,i=bA(e,rke);return zi.createPortal(On.createElement("div",Os({},i)),n)}function ake(e){return On.createElement("svg",Os({width:"44",height:"44",viewBox:"0 0 768 768"},e),On.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 oke(e){return On.createElement("svg",Os({width:"44",height:"44",viewBox:"0 0 768 768"},e),On.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 lke(e){return On.createElement("svg",Os({width:"44",height:"44",viewBox:"0 0 768 768"},e),On.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function cke(){return m.useEffect(function(){var e=document.body.style,t=e.overflow;return e.overflow="hidden",function(){e.overflow=t}},[]),null}function M7(e){var t=e.touches[0],n=t.clientX,i=t.clientY;if(e.touches.length>=2){var r=e.touches[1],s=r.clientX,a=r.clientY;return[(n+s)/2,(i+a)/2,Math.sqrt(Math.pow(s-n,2)+Math.pow(a-i,2))]}return[n,i,0]}var Tf=function(e,t,n,i){var r,s=n*t,a=(s-i)/2,o=e;return s<=i?(r=1,o=0):e>0&&a-e<=0?(r=2,o=a):e<0&&a+e<=0&&(r=3,o=-a),[r,o]};function zN(e,t,n,i,r,s,a,o,c,u){a===void 0&&(a=innerWidth/2),o===void 0&&(o=innerHeight/2),c===void 0&&(c=0),u===void 0&&(u=0);var d=Tf(e,s,n,innerWidth)[0],f=Tf(t,s,i,innerHeight),h=innerWidth/2,p=innerHeight/2;return{x:a-s/r*(a-(h+e))-h+(i/n>=3&&n*s===innerWidth?0:d?c/2:c),y:o-s/r*(o-(p+t))-p+(f[0]?u/2:u),lastCX:a,lastCY:o}}function sP(e,t,n){var i=e%180!=0;return i?[n,t,i]:[t,n,i]}function VN(e,t,n){var i=sP(n,innerWidth,innerHeight),r=i[0],s=i[1],a=0,o=r,c=s,u=e/t*s,d=t/e*r;return e=s?o=u:e>=r&&tr/s?c=d:t/e>=3&&!i[2]?a=((c=d)-s)/2:o=u,{width:o,height:c,x:0,y:a,pause:!0}}function nS(e,t){var n=t.leading,i=n!==void 0&&n,r=t.maxWait,s=t.wait,a=s===void 0?r||0:s,o=m.useRef(e);o.current=e;var c=m.useRef(0),u=m.useRef(),d=function(){return u.current&&clearTimeout(u.current)},f=m.useCallback(function(){var h=[].slice.call(arguments),p=Date.now();function b(){c.current=p,d(),o.current.apply(null,h)}var g=c.current,O=p-g;if(g===0&&(i&&b(),c.current=p),r!==void 0){if(O>r)return void b()}else O=1&&s&&s())};d()}function d(){c=requestAnimationFrame(u)}}var dke={T:0,L:0,W:0,H:0,FIT:void 0},lte=function(){var e=m.useRef(!1);return m.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),e},fke=["className"];function hke(e){var t=e.className,n=t===void 0?"":t,i=bA(e,fke);return On.createElement("div",Os({className:"PhotoView__Spinner "+n},i),On.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},On.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"}),On.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var pke=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function mke(e){var t=e.src,n=e.loaded,i=e.broken,r=e.className,s=e.onPhotoLoad,a=e.loadingElement,o=e.brokenElement,c=bA(e,pke),u=lte();return t&&!i?On.createElement(On.Fragment,null,On.createElement("img",Os({className:"PhotoView__Photo"+(r?" "+r:""),src:t,onLoad:function(d){var f=d.target;u.current&&s({loaded:!0,naturalWidth:f.naturalWidth,naturalHeight:f.naturalHeight})},onError:function(){u.current&&s({broken:!0})},draggable:!1,alt:""},c)),!n&&(a?On.createElement("span",{className:"PhotoView__icon"},a):On.createElement(hke,{className:"PhotoView__icon"}))):o?On.createElement("span",{className:"PhotoView__icon"},typeof o=="function"?o({src:t}):o):null}var gke={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 bke(e){var t=e.item,n=t.src,i=t.render,r=t.width,s=r===void 0?0:r,a=t.height,o=a===void 0?0:a,c=t.originRef,u=e.visible,d=e.speed,f=e.easing,h=e.wrapClassName,p=e.className,b=e.style,g=e.loadingElement,O=e.brokenElement,y=e.onPhotoTap,v=e.onMaskTap,x=e.onReachMove,w=e.onReachUp,E=e.onPhotoResize,S=e.isActive,k=e.expose,T=hT(gke),C=T[0],A=T[1],R=m.useRef(0),P=lte(),B=C.naturalWidth,I=B===void 0?s:B,$=C.naturalHeight,j=$===void 0?o:$,D=C.width,F=D===void 0?s:D,Q=C.height,M=Q===void 0?o:Q,G=C.loaded,H=G===void 0?!n:G,U=C.broken,q=C.x,ie=C.y,fe=C.touched,me=C.stopRaf,ce=C.maskTouched,K=C.rotate,ee=C.scale,ye=C.CX,ve=C.CY,Re=C.lastX,Pe=C.lastY,De=C.lastCX,he=C.lastCY,Ee=C.lastScale,Oe=C.touchTime,Le=C.touchLength,Fe=C.pause,_e=C.reach,Ye=Bp({onScale:function(Ce){return dt(tS(Ce))},onRotate:function(Ce){K!==Ce&&(k({rotate:Ce}),A(Os({rotate:Ce},VN(I,j,Ce))))}});function dt(Ce,We,mt){ee!==Ce&&(k({scale:Ce}),A(Os({scale:Ce},zN(q,ie,F,M,ee,Ce,We,mt),Ce<=1&&{x:0,y:0})))}var It=nS(function(Ce,We,mt){if(mt===void 0&&(mt=0),(fe||ce)&&S){var tn=sP(K,F,M),st=tn[0],gn=tn[1];if(mt===0&&R.current===0){var ti=Math.abs(Ce-ye)<=20,Pt=Math.abs(We-ve)<=20;if(ti&&Pt)return void A({lastCX:Ce,lastCY:We});R.current=ti?We>ve?3:2:1}var wt,Ae=Ce-De,it=We-he;if(mt===0){var Nt=Tf(Ae+Re,ee,st,innerWidth)[0],Yt=Tf(it+Pe,ee,gn,innerHeight);wt=function(Sn,Ie,ft,kt){return Ie&&Sn===1||kt==="x"?"x":ft&&Sn>1||kt==="y"?"y":void 0}(R.current,Nt,Yt[0],_e),wt!==void 0&&x(wt,Ce,We,ee)}if(wt==="x"||ce)return void A({reach:"x"});var Jt=tS(ee+(mt-Le)/100/2*ee,I/F,.2);k({scale:Jt}),A(Os({touchLength:mt,reach:wt,scale:Jt},zN(q,ie,F,M,ee,Jt,Ce,We,Ae,it)))}},{maxWait:8});function Ge(Ce){return!me&&!fe&&(P.current&&A(Os({},Ce,{pause:u})),P.current)}var Z,ne,ue,be,V,je,He,et,qt=(V=function(Ce){return Ge({x:Ce})},je=function(Ce){return Ge({y:Ce})},He=function(Ce){return P.current&&(k({scale:Ce}),A({scale:Ce})),!fe&&P.current},et=Bp({X:function(Ce){return V(Ce)},Y:function(Ce){return je(Ce)},S:function(Ce){return He(Ce)}}),function(Ce,We,mt,tn,st,gn,ti,Pt,wt,Ae,it){var Nt=sP(Ae,st,gn),Yt=Nt[0],Jt=Nt[1],Sn=Tf(Ce,Pt,Yt,innerWidth),Ie=Sn[0],ft=Sn[1],kt=Tf(We,Pt,Jt,innerHeight),Xt=kt[0],fn=kt[1],Cn=Date.now()-it;if(Cn>=200||Pt!==ti||Math.abs(wt-ti)>1){var mi=zN(Ce,We,st,gn,ti,Pt),gi=mi.x,xi=mi.y,ae=Ie?ft:gi!==Ce?gi:null,Be=Xt?fn:xi!==We?xi:null;return ae!==null&&gp(Ce,ae,et.X),Be!==null&&gp(We,Be,et.Y),void(Pt!==ti&&gp(ti,Pt,et.S))}var lt=(Ce-mt)/Cn,Tt=(We-tn)/Cn,ln=Math.sqrt(Math.pow(lt,2)+Math.pow(Tt,2)),Zn=!1,Nn=!1;(function(bi,$n){var ri,Li=bi,Vi=0,qi=0,hn=function(ci){ri||(ri=ci);var yi=ci-ri,ds=Math.sign(bi),Bs=-.001*ds,si=Math.sign(-Li)*Math.pow(Li,2)*2e-4,ws=Li*yi+(Bs+si)*Math.pow(yi,2)/2;Vi+=ws,ri=ci,ds*(Li+=(Bs+si)*yi)<=0?vi():$n(Vi)?Oi():vi()};function Oi(){qi=requestAnimationFrame(hn)}function vi(){cancelAnimationFrame(qi)}Oi()})(ln,function(bi){var $n=Ce+bi*(lt/ln),ri=We+bi*(Tt/ln),Li=Tf($n,ti,Yt,innerWidth),Vi=Li[0],qi=Li[1],hn=Tf(ri,ti,Jt,innerHeight),Oi=hn[0],vi=hn[1];if(Vi&&!Zn&&(Zn=!0,Ie?gp($n,qi,et.X):L7(qi,$n+($n-qi),et.X)),Oi&&!Nn&&(Nn=!0,Xt?gp(ri,vi,et.Y):L7(vi,ri+(ri-vi),et.Y)),Zn&&Nn)return!1;var ci=Zn||et.X(qi),yi=Nn||et.Y(vi);return ci&&yi})}),Ft=(Z=y,ne=function(Ce,We){_e||dt(ee!==1?1:Math.max(2,I/F),Ce,We)},ue=m.useRef(0),be=nS(function(){ue.current=0,Z.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var Ce=[].slice.call(arguments);ue.current+=1,be.apply(void 0,Ce),ue.current>=2&&(be.cancel(),ue.current=0,ne.apply(void 0,Ce))});function At(Ce,We){if(R.current=0,(fe||ce)&&S){A({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var mt=tS(ee,I/F);if(qt(q,ie,Re,Pe,F,M,ee,mt,Ee,K,Oe),w(Ce,We),ye===Ce&&ve===We){if(fe)return void Ft(Ce,We);ce&&v(Ce,We)}}}function xt(Ce,We,mt){mt===void 0&&(mt=0),A({touched:!0,CX:Ce,CY:We,lastCX:Ce,lastCY:We,lastX:q,lastY:ie,lastScale:ee,touchLength:mt,touchTime:Date.now()})}function xe(Ce){A({maskTouched:!0,CX:Ce.clientX,CY:Ce.clientY,lastX:q,lastY:ie})}wg(Xu?void 0:"mousemove",function(Ce){Ce.preventDefault(),It(Ce.clientX,Ce.clientY)}),wg(Xu?void 0:"mouseup",function(Ce){At(Ce.clientX,Ce.clientY)}),wg(Xu?"touchmove":void 0,function(Ce){Ce.preventDefault();var We=M7(Ce);It.apply(void 0,We)},{passive:!1}),wg(Xu?"touchend":void 0,function(Ce){var We=Ce.changedTouches[0];At(We.clientX,We.clientY)},{passive:!1}),wg("resize",nS(function(){H&&!fe&&(A(VN(I,j,K)),E())},{maxWait:8})),rP(function(){S&&k(Os({scale:ee,rotate:K},Ye))},[S]);var Ue=function(Ce,We,mt,tn,st,gn,ti,Pt,wt,Ae){var it=function(gi,xi,ae,Be,lt){var Tt=m.useRef(!1),ln=hT({lead:!0,scale:ae}),Zn=ln[0],Nn=Zn.lead,bi=Zn.scale,$n=ln[1],ri=nS(function(Li){try{return lt(!0),$n({lead:!1,scale:Li}),Promise.resolve()}catch(Vi){return Promise.reject(Vi)}},{wait:Be});return rP(function(){Tt.current?(lt(!1),$n({lead:!0}),ri(ae)):Tt.current=!0},[ae]),Nn?[gi*bi,xi*bi,ae/bi]:[gi*ae,xi*ae,1]}(gn,ti,Pt,wt,Ae),Nt=it[0],Yt=it[1],Jt=it[2],Sn=function(gi,xi,ae,Be,lt){var Tt=m.useState(dke),ln=Tt[0],Zn=Tt[1],Nn=m.useState(0),bi=Nn[0],$n=Nn[1],ri=m.useRef(),Li=Bp({OK:function(){return gi&&$n(4)}});function Vi(qi){lt(!1),$n(qi)}return m.useEffect(function(){if(ri.current||(ri.current=Date.now()),ae){if(function(qi,hn){var Oi=qi&&qi.current;if(Oi&&Oi.nodeType===1){var vi=Oi.getBoundingClientRect();hn({T:vi.top,L:vi.left,W:vi.width,H:vi.height,FIT:Oi.tagName==="IMG"?getComputedStyle(Oi).objectFit:void 0})}}(xi,Zn),gi)return Date.now()-ri.current<250?($n(1),requestAnimationFrame(function(){$n(2),requestAnimationFrame(function(){return Vi(3)})}),void setTimeout(Li.OK,Be)):void $n(4);Vi(5)}},[gi,ae]),[bi,ln]}(Ce,We,mt,wt,Ae),Ie=Sn[0],ft=Sn[1],kt=ft.W,Xt=ft.FIT,fn=innerWidth/2,Cn=innerHeight/2,mi=Ie<3||Ie>4;return[mi?kt?ft.L:fn:tn+(fn-gn*Pt/2),mi?kt?ft.T:Cn:st+(Cn-ti*Pt/2),Nt,mi&&Xt?Nt*(ft.H/kt):Yt,Ie===0?Jt:mi?kt/(gn*Pt)||.01:Jt,mi?Xt?1:0:1,Ie,Xt]}(u,c,H,q,ie,F,M,ee,d,function(Ce){return A({pause:Ce})}),Qe=Ue[4],Ot=Ue[6],Et="transform "+d+"ms "+f,Rt={className:p,onMouseDown:Xu?void 0:function(Ce){Ce.stopPropagation(),Ce.button===0&&xt(Ce.clientX,Ce.clientY,0)},onTouchStart:Xu?function(Ce){Ce.stopPropagation(),xt.apply(void 0,M7(Ce))}:void 0,onWheel:function(Ce){if(!_e){var We=tS(ee-Ce.deltaY/100/2,I/F);A({stopRaf:!0}),dt(We,Ce.clientX,Ce.clientY)}},style:{width:Ue[2]+"px",height:Ue[3]+"px",opacity:Ue[5],objectFit:Ot===4?void 0:Ue[7],transform:K?"rotate("+K+"deg)":void 0,transition:Ot>2?Et+", opacity "+d+"ms ease, height "+(Ot<4?d/2:Ot>4?d:0)+"ms "+f:void 0}};return On.createElement("div",{className:"PhotoView__PhotoWrap"+(h?" "+h:""),style:b,onMouseDown:!Xu&&S?xe:void 0,onTouchStart:Xu&&S?function(Ce){return xe(Ce.touches[0])}:void 0},On.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+Qe+", 0, 0, "+Qe+", "+Ue[0]+", "+Ue[1]+")",transition:fe||Fe?void 0:Et,willChange:S?"transform":void 0}},n?On.createElement(mke,Os({src:n,loaded:H,broken:U},Rt,{onPhotoLoad:function(Ce){A(Os({},Ce,Ce.loaded&&VN(Ce.naturalWidth||0,Ce.naturalHeight||0,K)))},loadingElement:g,brokenElement:O})):i&&i({attrs:Rt,scale:Qe,rotate:K})))}var $7={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 Oke(e){var t=e.loop,n=t===void 0?3:t,i=e.speed,r=e.easing,s=e.photoClosable,a=e.maskClosable,o=a===void 0||a,c=e.maskOpacity,u=c===void 0?1:c,d=e.pullClosable,f=d===void 0||d,h=e.bannerVisible,p=h===void 0||h,b=e.overlayRender,g=e.toolbarRender,O=e.className,y=e.maskClassName,v=e.photoClassName,x=e.photoWrapClassName,w=e.loadingElement,E=e.brokenElement,S=e.images,k=e.index,T=k===void 0?0:k,C=e.onIndexChange,A=e.visible,R=e.onClose,P=e.afterClose,B=e.portalContainer,I=hT($7),$=I[0],j=I[1],D=m.useState(0),F=D[0],Q=D[1],M=$.x,G=$.touched,H=$.pause,U=$.lastCX,q=$.lastCY,ie=$.bg,fe=ie===void 0?u:ie,me=$.lastBg,ce=$.overlay,K=$.minimal,ee=$.scale,ye=$.rotate,ve=$.onScale,Re=$.onRotate,Pe=e.hasOwnProperty("index"),De=Pe?T:F,he=Pe?C:Q,Ee=m.useRef(De),Oe=S.length,Le=S[De],Fe=typeof n=="boolean"?n:Oe>n,_e=function(Qe,Ot){var Et=m.useReducer(function(mt){return!mt},!1)[1],Rt=m.useRef(0),Ce=function(mt){var tn=m.useRef(mt);function st(gn){tn.current=gn}return m.useMemo(function(){(function(gn){Qe?(gn(Qe),Rt.current=1):Rt.current=2})(st)},[mt]),[tn.current,st]}(Qe),We=Ce[1];return[Ce[0],Rt.current,function(){Et(),Rt.current===2&&(We(!1),Ot&&Ot()),Rt.current=0}]}(A,P),Ye=_e[0],dt=_e[1],It=_e[2];rP(function(){if(Ye)return j({pause:!0,x:De*-(innerWidth+eg)}),void(Ee.current=De);j($7)},[Ye]);var Ge=Bp({close:function(Qe){Re&&Re(0),j({overlay:!0,lastBg:fe}),R(Qe)},changeIndex:function(Qe,Ot){Ot===void 0&&(Ot=!1);var Et=Fe?Ee.current+(Qe-De):Qe,Rt=Oe-1,Ce=iP(Et,0,Rt),We=Fe?Et:Ce,mt=innerWidth+eg;j({touched:!1,lastCX:void 0,lastCY:void 0,x:-mt*We,pause:Ot}),Ee.current=We,he&&he(Fe?Qe<0?Rt:Qe>Rt?0:Qe:Ce)}}),Z=Ge.close,ne=Ge.changeIndex;function ue(Qe){return Qe?Z():j({overlay:!ce})}function be(){j({x:-(innerWidth+eg)*De,lastCX:void 0,lastCY:void 0,pause:!0}),Ee.current=De}function V(Qe,Ot,Et,Rt){Qe==="x"?function(Ce){if(U!==void 0){var We=Ce-U,mt=We;!Fe&&(De===0&&We>0||De===Oe-1&&We<0)&&(mt=We/2),j({touched:!0,lastCX:U,x:-(innerWidth+eg)*Ee.current+mt,pause:!1})}else j({touched:!0,lastCX:Ce,x:M,pause:!1})}(Ot):Qe==="y"&&function(Ce,We){if(q!==void 0){var mt=u===null?null:iP(u,.01,u-Math.abs(Ce-q)/100/4);j({touched:!0,lastCY:q,bg:We===1?mt:u,minimal:We===1})}else j({touched:!0,lastCY:Ce,bg:fe,minimal:!0})}(Et,Rt)}function je(Qe,Ot){var Et=Qe-(U??Qe),Rt=Ot-(q??Ot),Ce=!1;if(Et<-40)ne(De+1);else if(Et>40)ne(De-1);else{var We=-(innerWidth+eg)*Ee.current;Math.abs(Rt)>100&&K&&f&&(Ce=!0,Z()),j({touched:!1,x:We,lastCX:void 0,lastCY:void 0,bg:u,overlay:!!Ce||ce})}}wg("keydown",function(Qe){if(A)switch(Qe.key){case"ArrowLeft":ne(De-1,!0);break;case"ArrowRight":ne(De+1,!0);break;case"Escape":Z()}});var He=function(Qe,Ot,Et){return m.useMemo(function(){var Rt=Qe.length;return Et?Qe.concat(Qe).concat(Qe).slice(Rt+Ot-1,Rt+Ot+2):Qe.slice(Math.max(Ot-1,0),Math.min(Ot+2,Rt+1))},[Qe,Ot,Et])}(S,De,Fe);if(!Ye)return null;var et=ce&&!dt,qt=A?fe:me,Ft=ve&&Re&&{images:S,index:De,visible:A,onClose:Z,onIndexChange:ne,overlayVisible:et,overlay:Le&&Le.overlay,scale:ee,rotate:ye,onScale:ve,onRotate:Re},At=i?i(dt):400,xt=r?r(dt):P7,xe=i?i(3):600,Ue=r?r(3):P7;return On.createElement(ske,{className:"PhotoView-Portal"+(et?"":" PhotoView-Slider__clean")+(A?"":" PhotoView-Slider__willClose")+(O?" "+O:""),role:"dialog",onClick:function(Qe){return Qe.stopPropagation()},container:B},A&&On.createElement(cke,null),On.createElement("div",{className:"PhotoView-Slider__Backdrop"+(y?" "+y:"")+(dt===1?" PhotoView-Slider__fadeIn":dt===2?" PhotoView-Slider__fadeOut":""),style:{background:qt?"rgba(0, 0, 0, "+qt+")":void 0,transitionTimingFunction:xt,transitionDuration:(G?0:At)+"ms",animationDuration:At+"ms"},onAnimationEnd:It}),p&&On.createElement("div",{className:"PhotoView-Slider__BannerWrap"},On.createElement("div",{className:"PhotoView-Slider__Counter"},De+1," / ",Oe),On.createElement("div",{className:"PhotoView-Slider__BannerRight"},g&&Ft&&g(Ft),On.createElement(ake,{className:"PhotoView-Slider__toolbarIcon",onClick:Z}))),He.map(function(Qe,Ot){var Et=Fe||De!==0?Ee.current-1+Ot:De+Ot;return On.createElement(bke,{key:Fe?Qe.key+"/"+Qe.src+"/"+Et:Qe.key,item:Qe,speed:At,easing:xt,visible:A,onReachMove:V,onReachUp:je,onPhotoTap:function(){return ue(s)},onMaskTap:function(){return ue(o)},wrapClassName:x,className:v,style:{left:(innerWidth+eg)*Et+"px",transform:"translate3d("+M+"px, 0px, 0)",transition:G||H?void 0:"transform "+xe+"ms "+Ue},loadingElement:w,brokenElement:E,onPhotoResize:be,isActive:Ee.current===Et,expose:j})}),!Xu&&p&&On.createElement(On.Fragment,null,(Fe||De!==0)&&On.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return ne(De-1,!0)}},On.createElement(oke,null)),(Fe||De+1-1){var y=u.slice();return y.splice(O,1,g),void o({images:y})}o(function(v){return{images:v.images.concat(g)}})},remove:function(g){o(function(O){var y=O.images.filter(function(v){return v.key!==g});return{images:y,index:Math.min(y.length-1,f)}})},show:function(g){var O=u.findIndex(function(y){return y.key===g});o({visible:!0,index:O}),i&&i(!0,O,a)}}),p=Bp({close:function(){o({visible:!1}),i&&i(!1,f,a)},changeIndex:function(g){o({index:g}),n&&n(g,a)}}),b=m.useMemo(function(){return Os({},a,h)},[a,h]);return On.createElement(ote.Provider,{value:b},t,On.createElement(Oke,Os({images:u,visible:d,index:f,onIndexChange:p.changeIndex,onClose:p.close},r)))}var cte=function(e){var t,n,i=e.src,r=e.render,s=e.overlay,a=e.width,o=e.height,c=e.triggers,u=c===void 0?["onClick"]:c,d=e.children,f=m.useContext(ote),h=(t=function(){return f.nextId()},(n=m.useRef({sign:!1,fn:void 0}).current).sign||(n.sign=!0,n.fn=t()),n.fn),p=m.useRef(null);m.useImperativeHandle(d==null?void 0:d.ref,function(){return p.current}),m.useEffect(function(){return function(){f.remove(h)}},[]);var b=Bp({render:function(O){return r&&r(O)},show:function(O,y){f.show(h),function(v,x){if(d){var w=d.props[v];w&&w(x)}}(O,y)}}),g=m.useMemo(function(){var O={};return u.forEach(function(y){O[y]=b.show.bind(null,y)}),O},[]);return m.useEffect(function(){f.update({key:h,src:i,originRef:p,render:b.render,overlay:s,width:a,height:o})},[i]),d?m.Children.only(m.cloneElement(d,Os({},g,{ref:p}))):null};const wke=e=>l.jsxs("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:[l.jsx("path",{d:"M22 6.017c0-1.104-.907-2.037-2.049-2l-.594.025c-2.732.148-4.952.705-7.333 1.953l-.512.279-.087.054a1 1 0 0 0 .971 1.737l.092-.046.454-.246C15.195 6.59 17.26 6.106 20 6.016v11.837c-3.034.046-5.42.582-7.99 1.99l-.517.295-.086.056a1 1 0 0 0 1.009 1.715l.09-.047.455-.258c2.105-1.157 4.045-1.645 6.537-1.738l.543-.014a1.995 1.995 0 0 0 1.95-1.8l.009-.198V6.017Z"}),l.jsx("path",{d:"M2 6.017c0-1.104.907-2.037 2.049-2l.594.025c2.732.148 4.952.705 7.333 1.953l.512.279.087.054a1 1 0 0 1-.971 1.737l-.092-.046-.454-.246C8.805 6.59 6.74 6.106 4 6.016v11.837c3.034.046 5.42.582 7.99 1.99l.517.295.086.056a1 1 0 0 1-1.009 1.715l-.09-.047-.455-.258c-2.105-1.157-4.045-1.644-6.537-1.738l-.543-.014a1.995 1.995 0 0 1-1.95-1.8L2 17.855V6.017Z"}),l.jsx("path",{d:"M13 7.5v13h-2v-13h2Z"})]}),Ske=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{fillRule:"evenodd",d:"M10.556 4a1 1 0 0 0-.97.751l-.292 1.14h5.421l-.293-1.14A1 1 0 0 0 13.453 4h-2.897Zm6.224 1.892-.421-1.639A3 3 0 0 0 13.453 2h-2.897A3 3 0 0 0 7.65 4.253l-.421 1.639H4a1 1 0 1 0 0 2h.1l1.215 11.425A3 3 0 0 0 8.3 22h7.4a3 3 0 0 0 2.984-2.683l1.214-11.425H20a1 1 0 1 0 0-2h-3.22Zm1.108 2H6.112l1.192 11.214A1 1 0 0 0 8.3 20h7.4a1 1 0 0 0 .995-.894l1.192-11.214ZM10 10a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1Z",clipRule:"evenodd"})}),Eke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{fillRule:"evenodd",d:"M16.793 2.793a3.121 3.121 0 1 1 4.414 4.414l-8.5 8.5A1 1 0 0 1 12 16H9a1 1 0 0 1-1-1v-3a1 1 0 0 1 .293-.707l8.5-8.5Zm3 1.414a1.121 1.121 0 0 0-1.586 0L10 12.414V14h1.586l8.207-8.207a1.121 1.121 0 0 0 0-1.586ZM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4a1 1 0 1 1 2 0v4a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h4a1 1 0 1 1 0 2H6Z",clipRule:"evenodd"})}),kke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.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"})}),Tke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M5.91456 7.59106C4.34202 9.04124 3.28878 10.7415 2.77064 11.6971C2.66597 11.8902 2.66597 12.1098 2.77064 12.3029C3.28878 13.2585 4.34202 14.9588 5.91456 16.4089C7.48207 17.8545 9.50584 19 12.0001 19C14.4944 19 16.5182 17.8545 18.0857 16.4089C19.6582 14.9588 20.7114 13.2585 21.2296 12.3029C21.3343 12.1098 21.3343 11.8902 21.2296 11.6971C20.7114 10.7415 19.6582 9.04124 18.0857 7.59105C16.5182 6.1455 14.4944 5 12.0001 5C9.50584 5 7.48207 6.1455 5.91456 7.59106ZM4.5587 6.1208C6.36071 4.45899 8.84593 3 12.0001 3C15.1543 3 17.6395 4.45899 19.4415 6.1208C21.2385 7.77798 22.4153 9.68799 22.9878 10.7438C23.4149 11.5315 23.4149 12.4685 22.9878 13.2562C22.4153 14.312 21.2385 16.222 19.4415 17.8792C17.6395 19.541 15.1543 21 12.0001 21C8.84593 21 6.36071 19.541 4.5587 17.8792C2.76171 16.222 1.5849 14.312 1.01244 13.2562C0.585372 12.4685 0.585371 11.5315 1.01244 10.7438C1.5849 9.688 2.76171 7.77798 4.5587 6.1208ZM12.0001 9.5C10.6194 9.5 9.50011 10.6193 9.50011 12C9.50011 13.3807 10.6194 14.5 12.0001 14.5C13.3808 14.5 14.5001 13.3807 14.5001 12C14.5001 10.6193 13.3808 9.5 12.0001 9.5ZM7.50011 12C7.50011 9.51472 9.51483 7.5 12.0001 7.5C14.4854 7.5 16.5001 9.51472 16.5001 12C16.5001 14.4853 14.4854 16.5 12.0001 16.5C9.51483 16.5 7.50011 14.4853 7.50011 12Z",fill:"currentColor"})}),_ke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M6 12C6 11.4477 6.44772 11 7 11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H7C6.44772 13 6 12.5523 6 12Z",fill:"currentColor"})}),Ake=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M12 6C12.5523 6 13 6.44772 13 7V11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V13H7C6.44772 13 6 12.5523 6 12C6 11.4477 6.44772 11 7 11H11V7C11 6.44772 11.4477 6 12 6Z",fill:"currentColor"})}),Cke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289L16.7071 7.29289C17.0976 7.68342 17.0976 8.31658 16.7071 8.70711C16.3166 9.09763 15.6834 9.09763 15.2929 8.70711L13 6.41421V15C13 15.5523 12.5523 16 12 16C11.4477 16 11 15.5523 11 15V6.41421L8.70711 8.70711C8.31658 9.09763 7.68342 9.09763 7.29289 8.70711C6.90237 8.31658 6.90237 7.68342 7.29289 7.29289L11.2929 3.29289ZM4 14C4.55229 14 5 14.4477 5 15V15.2C5 16.0566 5.00078 16.6389 5.03755 17.089C5.07337 17.5274 5.1383 17.7516 5.21799 17.908C5.40973 18.2843 5.7157 18.5903 6.09202 18.782C6.24842 18.8617 6.47262 18.9266 6.91104 18.9624C7.36113 18.9992 7.94342 19 8.8 19H15.2C16.0566 19 16.6389 18.9992 17.089 18.9624C17.5274 18.9266 17.7516 18.8617 17.908 18.782C18.2843 18.5903 18.5903 18.2843 18.782 17.908C18.8617 17.7516 18.9266 17.5274 18.9624 17.089C18.9992 16.6389 19 16.0566 19 15.2V15C19 14.4477 19.4477 14 20 14C20.5523 14 21 14.4477 21 15V15.2413C21 16.0463 21 16.7106 20.9558 17.2518C20.9099 17.8139 20.8113 18.3306 20.564 18.816C20.1805 19.5686 19.5686 20.1805 18.816 20.564C18.3306 20.8113 17.8139 20.9099 17.2518 20.9558C16.7106 21 16.0463 21 15.2413 21H8.75868C7.95372 21 7.28936 21 6.74817 20.9558C6.18608 20.9099 5.66937 20.8113 5.18404 20.564C4.43139 20.1805 3.81947 19.5686 3.43597 18.816C3.18868 18.3306 3.09012 17.8139 3.04419 17.2518C2.99998 16.7106 2.99999 16.0463 3 15.2413L3 15C3 14.4477 3.44772 14 4 14Z",fill:"currentColor"})}),qN=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M8.99805 16.796C8.99805 15.4164 7.87961 14.2979 6.5 14.2979C5.12039 14.2979 4.00195 15.4164 4.00195 16.796C4.00196 18.1756 5.1204 19.294 6.5 19.294C7.8796 19.294 8.99804 18.1756 8.99805 16.796ZM19.748 15.0479C19.748 14.7729 19.525 14.5499 19.25 14.5499H15.75C15.475 14.5499 15.252 14.7729 15.252 15.0479V18.5479C15.252 18.823 15.475 19.046 15.75 19.046H19.25C19.525 19.046 19.748 18.823 19.748 18.5479V15.0479ZM10.0469 3.45125C11.077 2.15921 13.0849 2.20276 14.0498 3.58113L16.4189 6.96492L16.5205 7.12215C17.5046 8.76341 16.3301 10.9023 14.3691 10.9024H9.63086C7.60676 10.9023 6.42029 8.62316 7.58105 6.96492L9.9502 3.58113L10.0469 3.45125ZM12.4082 4.73055C12.2223 4.46497 11.842 4.44826 11.6318 4.68074L11.5918 4.73055L9.22266 8.11433C8.99176 8.44435 9.22808 8.89744 9.63086 8.89754H14.3691C14.7468 8.89745 14.9774 8.49957 14.8145 8.17781L14.7773 8.11433L12.4082 4.73055ZM11.002 16.796C11.0019 19.2824 8.98638 21.2979 6.5 21.2979C4.01362 21.2979 1.99806 19.2824 1.99805 16.796C1.99805 14.3096 4.01361 12.294 6.5 12.294C8.98639 12.294 11.002 14.3096 11.002 16.796ZM21.752 18.5479C21.752 19.9297 20.6318 21.0499 19.25 21.0499H15.75C14.3682 21.0499 13.248 19.9297 13.248 18.5479V15.0479C13.2481 13.6662 14.3682 12.546 15.75 12.546H19.25C20.6318 12.546 21.7519 13.6662 21.752 15.0479V18.5479Z",fill:"currentColor"})});/** + `),()=>{document.head.removeChild(d)}},[t]),l.jsx(H1e,{isPresent:t,childRef:i,sizeRef:r,children:m.cloneElement(e,{ref:i})})}const Y1e=({children:e,initial:t,isPresent:n,onExitComplete:i,custom:r,presenceAffectsLayout:s,mode:a})=>{const o=gA(W1e),c=m.useId(),u=m.useCallback(f=>{o.set(f,!0);for(const h of o.values())if(!h)return;i&&i()},[o,i]),d=m.useMemo(()=>({id:c,initial:t,isPresent:n,custom:r,onExitComplete:u,register:f=>(o.set(f,!1),()=>o.delete(f))}),s?[Math.random(),u]:[n,u]);return m.useMemo(()=>{o.forEach((f,h)=>o.set(h,!1))},[n]),m.useEffect(()=>{!n&&!o.size&&i&&i()},[n]),a==="popLayout"&&(e=l.jsx(G1e,{isPresent:n,children:e})),l.jsx(bA.Provider,{value:d,children:e})};function W1e(){return new Map}function zJ(e=!0){const t=m.useContext(bA);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:i,register:r}=t,s=m.useId();m.useEffect(()=>{e&&r(s)},[e]);const a=m.useCallback(()=>e&&i&&i(s),[s,i,e]);return!n&&i?[!1,a]:[!0]}const tS=e=>e.key||"";function C9(e){const t=[];return m.Children.forEach(e,n=>{m.isValidElement(n)&&t.push(n)}),t}const T3=typeof window<"u",VJ=T3?m.useLayoutEffect:m.useEffect,oh=({children:e,custom:t,initial:n=!0,onExitComplete:i,presenceAffectsLayout:r=!0,mode:s="sync",propagate:a=!1})=>{const[o,c]=zJ(a),u=m.useMemo(()=>C9(e),[e]),d=a&&!o?[]:u.map(tS),f=m.useRef(!0),h=m.useRef(u),p=gA(()=>new Map),[b,g]=m.useState(u),[O,y]=m.useState(u);VJ(()=>{f.current=!1,h.current=u;for(let w=0;w{const E=tS(w),S=a&&!o?!1:u===O||d.includes(E),k=()=>{if(p.has(E))p.set(E,!0);else return;let T=!0;p.forEach(C=>{C||(T=!1)}),T&&(x==null||x(),y(h.current),a&&(c==null||c()),i&&i())};return l.jsx(Y1e,{isPresent:S,initial:!f.current||n?void 0:!1,custom:S?void 0:t,presenceAffectsLayout:r,mode:s,onExitComplete:S?void 0:k,children:w},E)})})},tl=e=>e;let qJ=tl;const Z1e={useManualTiming:!1};function K1e(e){let t=new Set,n=new Set,i=!1,r=!1;const s=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function o(u){s.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,f=!1)=>{const p=f&&i?t:n;return d&&s.add(u),p.has(u)||p.add(u),u},cancel:u=>{n.delete(u),s.delete(u)},process:u=>{if(a=u,i){r=!0;return}i=!0,[t,n]=[n,t],t.forEach(o),t.clear(),i=!1,r&&(r=!1,c.process(u))}};return c}const nS=["read","resolveKeyframes","update","preRender","render","postRender"],J1e=40;function XJ(e,t){let n=!1,i=!0;const r={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,a=nS.reduce((y,v)=>(y[v]=K1e(s),y),{}),{read:o,resolveKeyframes:c,update:u,preRender:d,render:f,postRender:h}=a,p=()=>{const y=performance.now();n=!1,r.delta=i?1e3/60:Math.max(Math.min(y-r.timestamp,J1e),1),r.timestamp=y,r.isProcessing=!0,o.process(r),c.process(r),u.process(r),d.process(r),f.process(r),h.process(r),r.isProcessing=!1,n&&t&&(i=!1,e(p))},b=()=>{n=!0,i=!0,r.isProcessing||e(p)};return{schedule:nS.reduce((y,v)=>{const x=a[v];return y[v]=(w,E=!1,S=!1)=>(n||b(),x.schedule(w,E,S)),y},{}),cancel:y=>{for(let v=0;vN9[e].some(n=>!!t[n])};function eve(e){for(const t in e)ib[t]={...ib[t],...e[t]}}const tve=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 dT(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||tve.has(e)}let GJ=e=>!dT(e);function YJ(e){e&&(GJ=t=>t.startsWith("on")?!dT(t):e(t))}try{YJ(require("@emotion/is-prop-valid").default)}catch{}function nve(e,t,n){const i={};for(const r in e)r==="values"&&typeof e.values=="object"||(GJ(r)||n===!0&&dT(r)||!t&&!dT(r)||e.draggable&&r.startsWith("onDrag"))&&(i[r]=e[r]);return i}function ive({children:e,isValidProp:t,...n}){t&&YJ(t),n={...m.useContext(i1),...n},n.isStatic=gA(()=>n.isStatic);const i=m.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return l.jsx(i1.Provider,{value:i,children:e})}function rve(e){if(typeof Proxy>"u")return e;const t=new Map,n=(...i)=>e(...i);return new Proxy(n,{get:(i,r)=>r==="create"?e:(t.has(r)||t.set(r,e(r)),t.get(r))})}const OA=m.createContext({});function r1(e){return typeof e=="string"||Array.isArray(e)}function yA(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const _3=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],A3=["initial",..._3];function xA(e){return yA(e.animate)||A3.some(t=>r1(e[t]))}function WJ(e){return!!(xA(e)||e.variants)}function sve(e,t){if(xA(e)){const{initial:n,animate:i}=e;return{initial:n===!1||r1(n)?n:void 0,animate:r1(i)?i:void 0}}return e.inherit!==!1?t:{}}function ave(e){const{initial:t,animate:n}=sve(e,m.useContext(OA));return m.useMemo(()=>({initial:t,animate:n}),[j9(t),j9(n)])}function j9(e){return Array.isArray(e)?e.join(" "):e}const ove=Symbol.for("motionComponentSymbol");function Jg(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function lve(e,t,n){return m.useCallback(i=>{i&&e.onMount&&e.onMount(i),t&&(i?t.mount(i):t.unmount()),n&&(typeof n=="function"?n(i):Jg(n)&&(n.current=i))},[t])}const C3=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),cve="framerAppearId",ZJ="data-"+C3(cve),{schedule:N3}=XJ(queueMicrotask,!1),KJ=m.createContext({});function uve(e,t,n,i,r){var s,a;const{visualElement:o}=m.useContext(OA),c=m.useContext(HJ),u=m.useContext(bA),d=m.useContext(i1).reducedMotion,f=m.useRef(null);i=i||c.renderer,!f.current&&i&&(f.current=i(e,{visualState:t,parent:o,props:n,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const h=f.current,p=m.useContext(KJ);h&&!h.projection&&r&&(h.type==="html"||h.type==="svg")&&dve(f.current,n,r,p);const b=m.useRef(!1);m.useInsertionEffect(()=>{h&&b.current&&h.update(n,u)});const g=n[ZJ],O=m.useRef(!!g&&!(!((s=window.MotionHandoffIsComplete)===null||s===void 0)&&s.call(window,g))&&((a=window.MotionHasOptimisedAnimation)===null||a===void 0?void 0:a.call(window,g)));return VJ(()=>{h&&(b.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),N3.render(h.render),O.current&&h.animationState&&h.animationState.animateChanges())}),m.useEffect(()=>{h&&(!O.current&&h.animationState&&h.animationState.animateChanges(),O.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)===null||y===void 0||y.call(window,g)}),O.current=!1))}),h}function dve(e,t,n,i){const{layoutId:r,layout:s,drag:a,dragConstraints:o,layoutScroll:c,layoutRoot:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:JJ(e.parent)),e.projection.setOptions({layoutId:r,layout:s,alwaysMeasureLayout:!!a||o&&Jg(o),visualElement:e,animationType:typeof s=="string"?s:"both",initialPromotionConfig:i,layoutScroll:c,layoutRoot:u})}function JJ(e){if(e)return e.options.allowProjection!==!1?e.projection:JJ(e.parent)}function fve({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:i,Component:r}){var s,a;e&&eve(e);function o(u,d){let f;const h={...m.useContext(i1),...u,layoutId:hve(u)},{isStatic:p}=h,b=ave(u),g=i(u,p);if(!p&&T3){pve();const O=mve(h);f=O.MeasureLayout,b.visualElement=uve(r,g,h,t,O.ProjectionNode)}return l.jsxs(OA.Provider,{value:b,children:[f&&b.visualElement?l.jsx(f,{visualElement:b.visualElement,...h}):null,n(r,u,lve(g,b.visualElement,d),g,p,b.visualElement)]})}o.displayName=`motion.${typeof r=="string"?r:`create(${(a=(s=r.displayName)!==null&&s!==void 0?s:r.name)!==null&&a!==void 0?a:""})`}`;const c=m.forwardRef(o);return c[ove]=r,c}function hve({layoutId:e}){const t=m.useContext(k3).id;return t&&e!==void 0?t+"-"+e:e}function pve(e,t){m.useContext(HJ).strict}function mve(e){const{drag:t,layout:n}=ib;if(!t&&!n)return{};const i={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}const gve=["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 j3(e){return typeof e!="string"||e.includes("-")?!1:!!(gve.indexOf(e)>-1||/[A-Z]/u.test(e))}function R9(e){const t=[{},{}];return e==null||e.values.forEach((n,i)=>{t[0][i]=n.get(),t[1][i]=n.getVelocity()}),t}function R3(e,t,n,i){if(typeof t=="function"){const[r,s]=R9(i);t=t(n!==void 0?n:e.custom,r,s)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[r,s]=R9(i);t=t(n!==void 0?n:e.custom,r,s)}return t}const ZD=e=>Array.isArray(e),bve=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),Ove=e=>ZD(e)?e[e.length-1]||0:e,va=e=>!!(e&&e.getVelocity);function BE(e){const t=va(e)?e.get():e;return bve(t)?t.toValue():t}function yve({scrapeMotionValuesFromProps:e,createRenderState:t,onUpdate:n},i,r,s){const a={latestValues:xve(i,r,s,e),renderState:t()};return n&&(a.onMount=o=>n({props:i,current:o,...a}),a.onUpdate=o=>n(o)),a}const eee=e=>(t,n)=>{const i=m.useContext(OA),r=m.useContext(bA),s=()=>yve(e,t,i,r);return n?s():gA(s)};function xve(e,t,n,i){const r={},s=i(e,{});for(const h in s)r[h]=BE(s[h]);let{initial:a,animate:o}=e;const c=xA(e),u=WJ(e);t&&u&&!c&&e.inherit!==!1&&(a===void 0&&(a=t.initial),o===void 0&&(o=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const f=d?o:a;if(f&&typeof f!="boolean"&&!yA(f)){const h=Array.isArray(f)?f:[f];for(let p=0;pt=>typeof t=="string"&&t.startsWith(e),nee=tee("--"),vve=tee("var(--"),I3=e=>vve(e)?wve.test(e.split("/*")[0].trim()):!1,wve=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,iee=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Md=(e,t,n)=>n>t?t:ntypeof e=="number",parse:parseFloat,transform:e=>e},s1={...Xb,transform:e=>Md(0,1,e)},iS={...Xb,default:1},kv=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),kf=kv("deg"),bu=kv("%"),rn=kv("px"),Sve=kv("vh"),Eve=kv("vw"),I9={...bu,parse:e=>bu.parse(e)/100,transform:e=>bu.transform(e*100)},kve={borderWidth:rn,borderTopWidth:rn,borderRightWidth:rn,borderBottomWidth:rn,borderLeftWidth:rn,borderRadius:rn,radius:rn,borderTopLeftRadius:rn,borderTopRightRadius:rn,borderBottomRightRadius:rn,borderBottomLeftRadius:rn,width:rn,maxWidth:rn,height:rn,maxHeight:rn,top:rn,right:rn,bottom:rn,left:rn,padding:rn,paddingTop:rn,paddingRight:rn,paddingBottom:rn,paddingLeft:rn,margin:rn,marginTop:rn,marginRight:rn,marginBottom:rn,marginLeft:rn,backgroundPositionX:rn,backgroundPositionY:rn},Tve={rotate:kf,rotateX:kf,rotateY:kf,rotateZ:kf,scale:iS,scaleX:iS,scaleY:iS,scaleZ:iS,skew:kf,skewX:kf,skewY:kf,distance:rn,translateX:rn,translateY:rn,translateZ:rn,x:rn,y:rn,z:rn,perspective:rn,transformPerspective:rn,opacity:s1,originX:I9,originY:I9,originZ:rn},D9={...Xb,transform:Math.round},D3={...kve,...Tve,zIndex:D9,size:rn,fillOpacity:s1,strokeOpacity:s1,numOctaves:D9},_ve={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Ave=qb.length;function Cve(e,t,n){let i="",r=!0;for(let s=0;s({style:{},transform:{},transformOrigin:{},vars:{}}),ree=()=>({...L3(),attrs:{}}),$3=e=>typeof e=="string"&&e.toLowerCase()==="svg";function see(e,{style:t,vars:n},i,r){Object.assign(e.style,t,r&&r.getProjectionStyles(i));for(const s in n)e.style.setProperty(s,n[s])}const aee=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 oee(e,t,n,i){see(e,t,void 0,i);for(const r in t.attrs)e.setAttribute(aee.has(r)?r:C3(r),t.attrs[r])}const fT={};function Dve(e){Object.assign(fT,e)}function lee(e,{layout:t,layoutId:n}){return Dm.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!fT[e]||e==="opacity")}function Q3(e,t,n){var i;const{style:r}=e,s={};for(const a in r)(va(r[a])||t.style&&va(t.style[a])||lee(a,e)||((i=n==null?void 0:n.getValue(a))===null||i===void 0?void 0:i.liveStyle)!==void 0)&&(s[a]=r[a]);return s}function cee(e,t,n){const i=Q3(e,t,n);for(const r in e)if(va(e[r])||va(t[r])){const s=qb.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;i[s]=e[r]}return i}function Pve(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 M9=["x","y","width","height","cx","cy","r"],Mve={useVisualState:eee({scrapeMotionValuesFromProps:cee,createRenderState:ree,onUpdate:({props:e,prevProps:t,current:n,renderState:i,latestValues:r})=>{if(!n)return;let s=!!e.drag;if(!s){for(const o in r)if(Dm.has(o)){s=!0;break}}if(!s)return;let a=!t;if(t)for(let o=0;o{Pve(n,i),pr.render(()=>{M3(i,r,$3(n.tagName),e.transformTemplate),oee(n,i)})})}})},Lve={useVisualState:eee({scrapeMotionValuesFromProps:Q3,createRenderState:L3})};function uee(e,t,n){for(const i in t)!va(t[i])&&!lee(i,n)&&(e[i]=t[i])}function $ve({transformTemplate:e},t){return m.useMemo(()=>{const n=L3();return P3(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Qve(e,t){const n=e.style||{},i={};return uee(i,n,e),Object.assign(i,$ve(e,t)),i}function Bve(e,t){const n={},i=Qve(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=i,n}function Fve(e,t,n,i){const r=m.useMemo(()=>{const s=ree();return M3(s,t,$3(i),e.transformTemplate),{...s.attrs,style:{...s.style}}},[t]);if(e.style){const s={};uee(s,e.style,e),r.style={...s,...r.style}}return r}function Uve(e=!1){return(n,i,r,{latestValues:s},a)=>{const c=(j3(n)?Fve:Bve)(i,s,a,n),u=nve(i,typeof n=="string",e),d=n!==m.Fragment?{...u,...c,ref:r}:{},{children:f}=i,h=m.useMemo(()=>va(f)?f.get():f,[f]);return m.createElement(n,{...d,children:h})}}function zve(e,t){return function(i,{forwardMotionProps:r}={forwardMotionProps:!1}){const a={...j3(i)?Mve:Lve,preloadedFeatures:e,useRender:Uve(r),createVisualElement:t,Component:i};return fve(a)}}function dee(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i(FE===void 0&&Ou.set(Ks.isProcessing||Z1e.useManualTiming?Ks.timestamp:performance.now()),FE),set:e=>{FE=e,queueMicrotask(Vve)}};function F3(e,t){e.indexOf(t)===-1&&e.push(t)}function U3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class z3{constructor(){this.subscriptions=[]}add(t){return F3(this.subscriptions,t),()=>U3(this.subscriptions,t)}notify(t,n,i){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](t,n,i);else for(let s=0;s!isNaN(parseFloat(e));class Xve{constructor(t,n={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(i,r=!0)=>{const s=Ou.now();this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(i),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=Ou.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=qve(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 z3);const i=this.events[t].add(n);return t==="change"?()=>{i(),pr.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,i){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=Ou.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>L9)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,L9);return hee(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 a1(e,t){return new Xve(e,t)}function Hve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,a1(n))}function Gve(e,t){const n=vA(e,t);let{transitionEnd:i={},transition:r={},...s}=n||{};s={...s,...i};for(const a in s){const o=Ove(s[a]);Hve(e,a,o)}}function Yve(e){return!!(va(e)&&e.add)}function KD(e,t){const n=e.getValue("willChange");if(Yve(n))return n.add(t)}function pee(e){return e.props[ZJ]}function V3(e){let t;return()=>(t===void 0&&(t=e()),t)}const Wve=V3(()=>window.ScrollTimeline!==void 0);class Zve{constructor(t){this.stop=()=>this.runAll("stop"),this.animations=t.filter(Boolean)}get finished(){return Promise.all(this.animations.map(t=>"finished"in t?t.finished:t))}getAll(t){return this.animations[0][t]}setAll(t,n){for(let i=0;i{if(Wve()&&r.attachTimeline)return r.attachTimeline(t);if(typeof n=="function")return n(r)});return()=>{i.forEach((r,s)=>{r&&r(),this.animations[s].stop()})}}get time(){return this.getAll("time")}set time(t){this.setAll("time",t)}get speed(){return this.getAll("speed")}set speed(t){this.setAll("speed",t)}get startTime(){return this.getAll("startTime")}get duration(){let t=0;for(let n=0;nn[t]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class Kve extends Zve{then(t,n){return Promise.all(this.animations).then(t).catch(n)}}const vd=e=>e*1e3,wd=e=>e/1e3;function q3(e){return typeof e=="function"}function $9(e,t){e.timeline=t,e.onfinish=null}const X3=e=>Array.isArray(e)&&typeof e[0]=="number",Jve={linearEasing:void 0};function ewe(e,t){const n=V3(e);return()=>{var i;return(i=Jve[t])!==null&&i!==void 0?i:n()}}const hT=ewe(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),rb=(e,t,n)=>{const i=t-e;return i===0?1:(n-e)/i},mee=(e,t,n=10)=>{let i="";const r=Math.max(Math.round(t/n),2);for(let s=0;s`cubic-bezier(${e}, ${t}, ${n}, ${i})`,JD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Cy([0,.65,.55,1]),circOut:Cy([.55,0,1,.45]),backIn:Cy([.31,.01,.66,-.59]),backOut:Cy([.33,1.53,.69,.99])};function bee(e,t){if(e)return typeof e=="function"&&hT()?mee(e,t):X3(e)?Cy(e):Array.isArray(e)?e.map(n=>bee(n,t)||JD.easeOut):JD[e]}const Oee=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,twe=1e-7,nwe=12;function iwe(e,t,n,i,r){let s,a,o=0;do a=t+(n-t)/2,s=Oee(a,i,r)-e,s>0?n=a:t=a;while(Math.abs(s)>twe&&++oiwe(s,0,1,e,n);return s=>s===0||s===1?s:Oee(r(s),t,i)}const yee=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,xee=e=>t=>1-e(1-t),vee=Tv(.33,1.53,.69,.99),H3=xee(vee),wee=yee(H3),See=e=>(e*=2)<1?.5*H3(e):.5*(2-Math.pow(2,-10*(e-1))),G3=e=>1-Math.sin(Math.acos(e)),Eee=xee(G3),kee=yee(G3),Tee=e=>/^0[^.\s]+$/u.test(e);function rwe(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||Tee(e):!0}const lx=e=>Math.round(e*1e5)/1e5,Y3=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function swe(e){return e==null}const awe=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,W3=(e,t)=>n=>!!(typeof n=="string"&&awe.test(n)&&n.startsWith(e)||t&&!swe(n)&&Object.prototype.hasOwnProperty.call(n,t)),_ee=(e,t,n)=>i=>{if(typeof i!="string")return i;const[r,s,a,o]=i.match(Y3);return{[e]:parseFloat(r),[t]:parseFloat(s),[n]:parseFloat(a),alpha:o!==void 0?parseFloat(o):1}},owe=e=>Md(0,255,e),BN={...Xb,transform:e=>Math.round(owe(e))},Ip={test:W3("rgb","red"),parse:_ee("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:i=1})=>"rgba("+BN.transform(e)+", "+BN.transform(t)+", "+BN.transform(n)+", "+lx(s1.transform(i))+")"};function lwe(e){let t="",n="",i="",r="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),i=e.substring(5,7),r=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),i=e.substring(3,4),r=e.substring(4,5),t+=t,n+=n,i+=i,r+=r),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:r?parseInt(r,16)/255:1}}const eP={test:W3("#"),parse:lwe,transform:Ip.transform},e0={test:W3("hsl","hue"),parse:_ee("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:i=1})=>"hsla("+Math.round(e)+", "+bu.transform(lx(t))+", "+bu.transform(lx(n))+", "+lx(s1.transform(i))+")"},Oa={test:e=>Ip.test(e)||eP.test(e)||e0.test(e),parse:e=>Ip.test(e)?Ip.parse(e):e0.test(e)?e0.parse(e):eP.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Ip.transform(e):e0.transform(e)},cwe=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function uwe(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(Y3))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(cwe))===null||n===void 0?void 0:n.length)||0)>0}const Aee="number",Cee="color",dwe="var",fwe="var(",Q9="${}",hwe=/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 o1(e){const t=e.toString(),n=[],i={color:[],number:[],var:[]},r=[];let s=0;const o=t.replace(hwe,c=>(Oa.test(c)?(i.color.push(s),r.push(Cee),n.push(Oa.parse(c))):c.startsWith(fwe)?(i.var.push(s),r.push(dwe),n.push(c)):(i.number.push(s),r.push(Aee),n.push(parseFloat(c))),++s,Q9)).split(Q9);return{values:n,split:o,indexes:i,types:r}}function Nee(e){return o1(e).values}function jee(e){const{split:t,types:n}=o1(e),i=t.length;return r=>{let s="";for(let a=0;atypeof e=="number"?0:e;function mwe(e){const t=Nee(e);return jee(e)(t.map(pwe))}const yh={test:uwe,parse:Nee,createTransformer:jee,getAnimatableNone:mwe},gwe=new Set(["brightness","contrast","saturate","opacity"]);function bwe(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[i]=n.match(Y3)||[];if(!i)return e;const r=n.replace(i,"");let s=gwe.has(t)?1:0;return i!==n&&(s*=100),t+"("+s+r+")"}const Owe=/\b([a-z-]*)\(.*?\)/gu,tP={...yh,getAnimatableNone:e=>{const t=e.match(Owe);return t?t.map(bwe).join(" "):e}},ywe={...D3,color:Oa,backgroundColor:Oa,outlineColor:Oa,fill:Oa,stroke:Oa,borderColor:Oa,borderTopColor:Oa,borderRightColor:Oa,borderBottomColor:Oa,borderLeftColor:Oa,filter:tP,WebkitFilter:tP},Z3=e=>ywe[e];function Ree(e,t){let n=Z3(e);return n!==tP&&(n=yh),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const xwe=new Set(["auto","none","0"]);function vwe(e,t,n){let i=0,r;for(;ie===Xb||e===rn,F9=(e,t)=>parseFloat(e.split(", ")[t]),U9=(e,t)=>(n,{transform:i})=>{if(i==="none"||!i)return 0;const r=i.match(/^matrix3d\((.+)\)$/u);if(r)return F9(r[1],t);{const s=i.match(/^matrix\((.+)\)$/u);return s?F9(s[1],e):0}},wwe=new Set(["x","y","z"]),Swe=qb.filter(e=>!wwe.has(e));function Ewe(e){const t=[];return Swe.forEach(n=>{const i=e.getValue(n);i!==void 0&&(t.push([n,i.get()]),i.set(n.startsWith("scale")?1:0))}),t}const sb={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:U9(4,13),y:U9(5,14)};sb.translateX=sb.x;sb.translateY=sb.y;const Gp=new Set;let nP=!1,iP=!1;function Iee(){if(iP){const e=Array.from(Gp).filter(i=>i.needsMeasurement),t=new Set(e.map(i=>i.element)),n=new Map;t.forEach(i=>{const r=Ewe(i);r.length&&(n.set(i,r),i.render())}),e.forEach(i=>i.measureInitialState()),t.forEach(i=>{i.render();const r=n.get(i);r&&r.forEach(([s,a])=>{var o;(o=i.getValue(s))===null||o===void 0||o.set(a)})}),e.forEach(i=>i.measureEndState()),e.forEach(i=>{i.suspendedScrollY!==void 0&&window.scrollTo(0,i.suspendedScrollY)})}iP=!1,nP=!1,Gp.forEach(e=>e.complete()),Gp.clear()}function Dee(){Gp.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(iP=!0)})}function kwe(){Dee(),Iee()}class K3{constructor(t,n,i,r,s,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=i,this.motionValue=r,this.element=s,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Gp.add(this),nP||(nP=!0,pr.read(Dee),pr.resolveKeyframes(Iee))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:i,motionValue:r}=this;for(let s=0;s/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),Twe=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function _we(e){const t=Twe.exec(e);if(!t)return[,];const[,n,i,r]=t;return[`--${n??i}`,r]}function Mee(e,t,n=1){const[i,r]=_we(e);if(!i)return;const s=window.getComputedStyle(t).getPropertyValue(i);if(s){const a=s.trim();return Pee(a)?parseFloat(a):a}return I3(r)?Mee(r,t,n+1):r}const Lee=e=>t=>t.test(e),Awe={test:e=>e==="auto",parse:e=>e},$ee=[Xb,rn,bu,kf,Eve,Sve,Awe],z9=e=>$ee.find(Lee(e));class Qee extends K3{constructor(t,n,i,r,s){super(t,n,i,r,s,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:i}=this;if(!n||!n.current)return;super.readKeyframes();for(let c=0;c{n.getValue(c).set(u)}),this.resolveNoneKeyframes()}}const V9=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(yh.test(e)||e==="0")&&!e.startsWith("url("));function Cwe(e){const t=e[0];if(e.length===1)return!0;for(let n=0;ne!==null;function wA(e,{repeat:t,repeatType:n="loop"},i){const r=e.filter(jwe),s=t&&n!=="loop"&&t%2===1?0:r.length-1;return!s||i===void 0?r[s]:i}const Rwe=40;class Bee{constructor({autoplay:t=!0,delay:n=0,type:i="keyframes",repeat:r=0,repeatDelay:s=0,repeatType:a="loop",...o}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=Ou.now(),this.options={autoplay:t,delay:n,type:i,repeat:r,repeatDelay:s,repeatType:a,...o},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>Rwe?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&kwe(),this._resolved}onKeyframesResolved(t,n){this.resolvedAt=Ou.now(),this.hasAttemptedResolve=!0;const{name:i,type:r,velocity:s,delay:a,onComplete:o,onUpdate:c,isGenerator:u}=this.options;if(!u&&!Nwe(t,i,r,s))if(a)this.options.duration=0;else{c&&c(wA(t,this.options,n)),o&&o(),this.resolveFinishedPromise();return}const d=this.initPlayback(t,n);d!==!1&&(this._resolved={keyframes:t,finalKeyframe:n,...d},this.onPostResolved())}onPostResolved(){}then(t,n){return this.currentFinishedPromise.then(t,n)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(t=>{this.resolveFinishedPromise=t})}}const rP=2e4;function Fee(e){let t=0;const n=50;let i=e.next(t);for(;!i.done&&t=rP?1/0:t}const Rr=(e,t,n)=>e+(t-e)*n;function FN(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 Iwe({hue:e,saturation:t,lightness:n,alpha:i}){e/=360,t/=100,n/=100;let r=0,s=0,a=0;if(!t)r=s=a=n;else{const o=n<.5?n*(1+t):n+t-n*t,c=2*n-o;r=FN(c,o,e+1/3),s=FN(c,o,e),a=FN(c,o,e-1/3)}return{red:Math.round(r*255),green:Math.round(s*255),blue:Math.round(a*255),alpha:i}}function pT(e,t){return n=>n>0?t:e}const UN=(e,t,n)=>{const i=e*e,r=n*(t*t-i)+i;return r<0?0:Math.sqrt(r)},Dwe=[eP,Ip,e0],Pwe=e=>Dwe.find(t=>t.test(e));function q9(e){const t=Pwe(e);if(!t)return!1;let n=t.parse(e);return t===e0&&(n=Iwe(n)),n}const X9=(e,t)=>{const n=q9(e),i=q9(t);if(!n||!i)return pT(e,t);const r={...n};return s=>(r.red=UN(n.red,i.red,s),r.green=UN(n.green,i.green,s),r.blue=UN(n.blue,i.blue,s),r.alpha=Rr(n.alpha,i.alpha,s),Ip.transform(r))},Mwe=(e,t)=>n=>t(e(n)),_v=(...e)=>e.reduce(Mwe),sP=new Set(["none","hidden"]);function Lwe(e,t){return sP.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function $we(e,t){return n=>Rr(e,t,n)}function J3(e){return typeof e=="number"?$we:typeof e=="string"?I3(e)?pT:Oa.test(e)?X9:Fwe:Array.isArray(e)?Uee:typeof e=="object"?Oa.test(e)?X9:Qwe:pT}function Uee(e,t){const n=[...e],i=n.length,r=e.map((s,a)=>J3(s)(s,t[a]));return s=>{for(let a=0;a{for(const s in i)n[s]=i[s](r);return n}}function Bwe(e,t){var n;const i=[],r={color:0,var:0,number:0};for(let s=0;s{const n=yh.createTransformer(t),i=o1(e),r=o1(t);return i.indexes.var.length===r.indexes.var.length&&i.indexes.color.length===r.indexes.color.length&&i.indexes.number.length>=r.indexes.number.length?sP.has(e)&&!r.values.length||sP.has(t)&&!i.values.length?Lwe(e,t):_v(Uee(Bwe(i,r),r.values),n):pT(e,t)};function zee(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Rr(e,t,n):J3(e)(e,t)}const Uwe=5;function Vee(e,t,n){const i=Math.max(t-Uwe,0);return hee(n-e(i),t-i)}const Qr={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},zN=.001;function zwe({duration:e=Qr.duration,bounce:t=Qr.bounce,velocity:n=Qr.velocity,mass:i=Qr.mass}){let r,s,a=1-t;a=Md(Qr.minDamping,Qr.maxDamping,a),e=Md(Qr.minDuration,Qr.maxDuration,wd(e)),a<1?(r=u=>{const d=u*a,f=d*e,h=d-n,p=aP(u,a),b=Math.exp(-f);return zN-h/p*b},s=u=>{const f=u*a*e,h=f*n+n,p=Math.pow(a,2)*Math.pow(u,2)*e,b=Math.exp(-f),g=aP(Math.pow(u,2),a);return(-r(u)+zN>0?-1:1)*((h-p)*b)/g}):(r=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-zN+d*f},s=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const o=5/e,c=qwe(r,s,o);if(e=vd(e),isNaN(c))return{stiffness:Qr.stiffness,damping:Qr.damping,duration:e};{const u=Math.pow(c,2)*i;return{stiffness:u,damping:a*2*Math.sqrt(i*u),duration:e}}}const Vwe=12;function qwe(e,t,n){let i=n;for(let r=1;re[n]!==void 0)}function Gwe(e){let t={velocity:Qr.velocity,stiffness:Qr.stiffness,damping:Qr.damping,mass:Qr.mass,isResolvedFromDuration:!1,...e};if(!H9(e,Hwe)&&H9(e,Xwe))if(e.visualDuration){const n=e.visualDuration,i=2*Math.PI/(n*1.2),r=i*i,s=2*Md(.05,1,1-(e.bounce||0))*Math.sqrt(r);t={...t,mass:Qr.mass,stiffness:r,damping:s}}else{const n=zwe(e);t={...t,...n,mass:Qr.mass},t.isResolvedFromDuration=!0}return t}function qee(e=Qr.visualDuration,t=Qr.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:r}=n;const s=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],o={done:!1,value:s},{stiffness:c,damping:u,mass:d,duration:f,velocity:h,isResolvedFromDuration:p}=Gwe({...n,velocity:-wd(n.velocity||0)}),b=h||0,g=u/(2*Math.sqrt(c*d)),O=a-s,y=wd(Math.sqrt(c/d)),v=Math.abs(O)<5;i||(i=v?Qr.restSpeed.granular:Qr.restSpeed.default),r||(r=v?Qr.restDelta.granular:Qr.restDelta.default);let x;if(g<1){const E=aP(y,g);x=S=>{const k=Math.exp(-g*y*S);return a-k*((b+g*y*O)/E*Math.sin(E*S)+O*Math.cos(E*S))}}else if(g===1)x=E=>a-Math.exp(-y*E)*(O+(b+y*O)*E);else{const E=y*Math.sqrt(g*g-1);x=S=>{const k=Math.exp(-g*y*S),T=Math.min(E*S,300);return a-k*((b+g*y*O)*Math.sinh(T)+E*O*Math.cosh(T))/E}}const w={calculatedDuration:p&&f||null,next:E=>{const S=x(E);if(p)o.done=E>=f;else{let k=0;g<1&&(k=E===0?vd(b):Vee(x,E,S));const T=Math.abs(k)<=i,C=Math.abs(a-S)<=r;o.done=T&&C}return o.value=o.done?a:S,o},toString:()=>{const E=Math.min(Fee(w),rP),S=mee(k=>w.next(E*k).value,E,30);return E+"ms "+S}};return w}function G9({keyframes:e,velocity:t=0,power:n=.8,timeConstant:i=325,bounceDamping:r=10,bounceStiffness:s=500,modifyTarget:a,min:o,max:c,restDelta:u=.5,restSpeed:d}){const f=e[0],h={done:!1,value:f},p=T=>o!==void 0&&Tc,b=T=>o===void 0?c:c===void 0||Math.abs(o-T)-g*Math.exp(-T/i),x=T=>y+v(T),w=T=>{const C=v(T),A=x(T);h.done=Math.abs(C)<=u,h.value=h.done?y:A};let E,S;const k=T=>{p(h.value)&&(E=T,S=qee({keyframes:[h.value,b(h.value)],velocity:Vee(x,T,h.value),damping:r,stiffness:s,restDelta:u,restSpeed:d}))};return k(0),{calculatedDuration:null,next:T=>{let C=!1;return!S&&E===void 0&&(C=!0,w(T),k(T)),E!==void 0&&T>=E?S.next(T-E):(!C&&w(T),h)}}}const Ywe=Tv(.42,0,1,1),Wwe=Tv(0,0,.58,1),Xee=Tv(.42,0,.58,1),Zwe=e=>Array.isArray(e)&&typeof e[0]!="number",Kwe={linear:tl,easeIn:Ywe,easeInOut:Xee,easeOut:Wwe,circIn:G3,circInOut:kee,circOut:Eee,backIn:H3,backInOut:wee,backOut:vee,anticipate:See},Y9=e=>{if(X3(e)){qJ(e.length===4);const[t,n,i,r]=e;return Tv(t,n,i,r)}else if(typeof e=="string")return Kwe[e];return e};function Jwe(e,t,n){const i=[],r=n||zee,s=e.length-1;for(let a=0;at[0];if(s===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[s-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=Jwe(t,i,r),c=o.length,u=d=>{if(a&&d1)for(;fu(Md(e[0],e[s-1],d)):u}function tSe(e,t){const n=e[e.length-1];for(let i=1;i<=t;i++){const r=rb(0,t,i);e.push(Rr(n,1,r))}}function nSe(e){const t=[0];return tSe(t,e.length-1),t}function iSe(e,t){return e.map(n=>n*t)}function rSe(e,t){return e.map(()=>t||Xee).splice(0,e.length-1)}function mT({duration:e=300,keyframes:t,times:n,ease:i="easeInOut"}){const r=Zwe(i)?i.map(Y9):Y9(i),s={done:!1,value:t[0]},a=iSe(n&&n.length===t.length?n:nSe(t),e),o=eSe(a,t,{ease:Array.isArray(r)?r:rSe(t,r)});return{calculatedDuration:e,next:c=>(s.value=o(c),s.done=c>=e,s)}}const sSe=e=>{const t=({timestamp:n})=>e(n);return{start:()=>pr.update(t,!0),stop:()=>Oh(t),now:()=>Ks.isProcessing?Ks.timestamp:Ou.now()}},aSe={decay:G9,inertia:G9,tween:mT,keyframes:mT,spring:qee},oSe=e=>e/100;class e$ extends Bee{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:i,element:r,keyframes:s}=this.options,a=(r==null?void 0:r.KeyframeResolver)||K3,o=(c,u)=>this.onKeyframesResolved(c,u);this.resolver=new a(s,o,n,i,r),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:n="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:s,velocity:a=0}=this.options,o=q3(n)?n:aSe[n]||mT;let c,u;o!==mT&&typeof t[0]!="number"&&(c=_v(oSe,zee(t[0],t[1])),t=[0,100]);const d=o({...this.options,keyframes:t});s==="mirror"&&(u=o({...this.options,keyframes:[...t].reverse(),velocity:-a})),d.calculatedDuration===null&&(d.calculatedDuration=Fee(d));const{calculatedDuration:f}=d,h=f+r,p=h*(i+1)-r;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:c,calculatedDuration:f,resolvedDuration:h,totalDuration:p}}onPostResolved(){const{autoplay:t=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!t?this.pause():this.state=this.pendingPlayState}tick(t,n=!1){const{resolved:i}=this;if(!i){const{keyframes:T}=this.options;return{done:!0,value:T[T.length-1]}}const{finalKeyframe:r,generator:s,mirroredGenerator:a,mapPercentToKeyframes:o,keyframes:c,calculatedDuration:u,totalDuration:d,resolvedDuration:f}=i;if(this.startTime===null)return s.next(0);const{delay:h,repeat:p,repeatType:b,repeatDelay:g,onUpdate:O}=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),v=this.speed>=0?y<0:y>d;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let x=this.currentTime,w=s;if(p){const T=Math.min(this.currentTime,d)/f;let C=Math.floor(T),A=T%1;!A&&T>=1&&(A=1),A===1&&C--,C=Math.min(C,p+1),!!(C%2)&&(b==="reverse"?(A=1-A,g&&(A-=g/f)):b==="mirror"&&(w=a)),x=Md(0,1,A)*f}const E=v?{done:!1,value:c[0]}:w.next(x);o&&(E.value=o(E.value));let{done:S}=E;!v&&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&&r!==void 0&&(E.value=wA(c,this.options,r)),O&&O(E.value),k&&this.finish(),E}get duration(){const{resolved:t}=this;return t?wd(t.calculatedDuration):0}get time(){return wd(this.currentTime)}set time(t){t=vd(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=wd(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=sSe,onPlay:n,startTime:i}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),n&&n();const r=this.driver.now();this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=r):this.startTime=i??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var t;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(t=this.currentTime)!==null&&t!==void 0?t:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:t}=this.options;t&&t()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}}const lSe=new Set(["opacity","clipPath","filter","transform"]);function cSe(e,t,n,{delay:i=0,duration:r=300,repeat:s=0,repeatType:a="loop",ease:o="easeInOut",times:c}={}){const u={[t]:n};c&&(u.offset=c);const d=bee(o,r);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:i,duration:r,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:s+1,direction:a==="reverse"?"alternate":"normal"})}const uSe=V3(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),gT=10,dSe=2e4;function fSe(e){return q3(e.type)||e.type==="spring"||!gee(e.ease)}function hSe(e,t){const n=new e$({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let i={done:!1,value:e[0]};const r=[];let s=0;for(;!i.done&&sthis.onKeyframesResolved(a,o),n,i,r),this.resolver.scheduleResolve()}initPlayback(t,n){let{duration:i=300,times:r,ease:s,type:a,motionValue:o,name:c,startTime:u}=this.options;if(!o.owner||!o.owner.current)return!1;if(typeof s=="string"&&hT()&&pSe(s)&&(s=Hee[s]),fSe(this.options)){const{onComplete:f,onUpdate:h,motionValue:p,element:b,...g}=this.options,O=hSe(t,g);t=O.keyframes,t.length===1&&(t[1]=t[0]),i=O.duration,r=O.times,s=O.ease,a="keyframes"}const d=cSe(o.owner.current,c,t,{...this.options,duration:i,times:r,ease:s});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?($9(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:f}=this.options;o.set(wA(t,this.options,n)),f&&f(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:i,times:r,type:a,ease:s,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:n}=t;return wd(n)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:n}=t;return wd(n.currentTime||0)}set time(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.currentTime=vd(t)}get speed(){const{resolved:t}=this;if(!t)return 1;const{animation:n}=t;return n.playbackRate}set speed(t){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.playbackRate=t}get state(){const{resolved:t}=this;if(!t)return"idle";const{animation:n}=t;return n.playState}get startTime(){const{resolved:t}=this;if(!t)return null;const{animation:n}=t;return n.startTime}attachTimeline(t){if(!this._resolved)this.pendingTimeline=t;else{const{resolved:n}=this;if(!n)return tl;const{animation:i}=n;$9(i,t)}return tl}play(){if(this.isStopped)return;const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playState==="finished"&&this.updateFinishedPromise(),n.play()}pause(){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:t}=this;if(!t)return;const{animation:n,keyframes:i,duration:r,type:s,ease:a,times:o}=t;if(n.playState==="idle"||n.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:f,element:h,...p}=this.options,b=new e$({...p,keyframes:i,duration:r,type:s,ease:a,times:o,isGenerator:!0}),g=vd(this.time);u.setWithVelocity(b.sample(g-gT).value,b.sample(g).value,gT)}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:i,repeatDelay:r,repeatType:s,damping:a,type:o}=t;if(!n||!n.owner||!(n.owner.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=n.owner.getProps();return uSe()&&i&&lSe.has(i)&&!c&&!u&&!r&&s!=="mirror"&&a!==0&&o!=="inertia"}}const mSe={type:"spring",stiffness:500,damping:25,restSpeed:10},gSe=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),bSe={type:"keyframes",duration:.8},OSe={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},ySe=(e,{keyframes:t})=>t.length>2?bSe:Dm.has(e)?e.startsWith("scale")?gSe(t[1]):mSe:OSe;function xSe({when:e,delay:t,delayChildren:n,staggerChildren:i,staggerDirection:r,repeat:s,repeatType:a,repeatDelay:o,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const t$=(e,t,n,i={},r,s)=>a=>{const o=B3(i,e)||{},c=o.delay||i.delay||0;let{elapsed:u=0}=i;u=u-vd(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...o,delay:-u,onUpdate:h=>{t.set(h),o.onUpdate&&o.onUpdate(h)},onComplete:()=>{a(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:s?void 0:r};xSe(o)||(d={...d,...ySe(e,d)}),d.duration&&(d.duration=vd(d.duration)),d.repeatDelay&&(d.repeatDelay=vd(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let f=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(d.duration=0,d.delay===0&&(f=!0)),f&&!s&&t.get()!==void 0){const h=wA(d.keyframes,o);if(h!==void 0)return pr.update(()=>{d.onUpdate(h),d.onComplete()}),new Kve([])}return!s&&W9.supports(d)?new W9(d):new e$(d)};function vSe({protectedKeys:e,needsAnimating:t},n){const i=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,i}function Gee(e,t,{delay:n=0,transitionOverride:i,type:r}={}){var s;let{transition:a=e.getDefaultTransition(),transitionEnd:o,...c}=t;i&&(a=i);const u=[],d=r&&e.animationState&&e.animationState.getState()[r];for(const f in c){const h=e.getValue(f,(s=e.latestValues[f])!==null&&s!==void 0?s:null),p=c[f];if(p===void 0||d&&vSe(d,f))continue;const b={delay:n,...B3(a||{},f)};let g=!1;if(window.MotionHandoffAnimation){const y=pee(e);if(y){const v=window.MotionHandoffAnimation(y,f,pr);v!==null&&(b.startTime=v,g=!0)}}KD(e,f),h.start(t$(f,h,p,e.shouldReduceMotion&&fee.has(f)?{type:!1}:b,e,g));const O=h.animation;O&&u.push(O)}return o&&Promise.all(u).then(()=>{pr.update(()=>{o&&Gve(e,o)})}),u}function oP(e,t,n={}){var i;const r=vA(e,t,n.type==="exit"?(i=e.presenceContext)===null||i===void 0?void 0:i.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(s=n.transitionOverride);const a=r?()=>Promise.all(Gee(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:f,staggerDirection:h}=s;return wSe(e,t,d+u,f,h,n)}:()=>Promise.resolve(),{when:c}=s;if(c){const[u,d]=c==="beforeChildren"?[a,o]:[o,a];return u().then(()=>d())}else return Promise.all([a(),o(n.delay)])}function wSe(e,t,n=0,i=0,r=1,s){const a=[],o=(e.variantChildren.size-1)*i,c=r===1?(u=0)=>u*i:(u=0)=>o-u*i;return Array.from(e.variantChildren).sort(SSe).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(oP(u,t,{...s,delay:n+c(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function SSe(e,t){return e.sortNodePosition(t)}function ESe(e,t,n={}){e.notify("AnimationStart",t);let i;if(Array.isArray(t)){const r=t.map(s=>oP(e,s,n));i=Promise.all(r)}else if(typeof t=="string")i=oP(e,t,n);else{const r=typeof t=="function"?vA(e,t,n.custom):t;i=Promise.all(Gee(e,r,n))}return i.then(()=>{e.notify("AnimationComplete",t)})}const kSe=A3.length;function Yee(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Yee(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;nPromise.all(t.map(({animation:n,options:i})=>ESe(e,n,i)))}function CSe(e){let t=ASe(e),n=Z9(),i=!0;const r=c=>(u,d)=>{var f;const h=vA(e,d,c==="exit"?(f=e.presenceContext)===null||f===void 0?void 0:f.custom:void 0);if(h){const{transition:p,transitionEnd:b,...g}=h;u={...u,...g,...b}}return u};function s(c){t=c(e)}function a(c){const{props:u}=e,d=Yee(e.parent)||{},f=[],h=new Set;let p={},b=1/0;for(let O=0;O<_Se;O++){const y=TSe[O],v=n[y],x=u[y]!==void 0?u[y]:d[y],w=r1(x),E=y===c?v.isActive:null;E===!1&&(b=O);let S=x===d[y]&&x!==u[y]&&w;if(S&&i&&e.manuallyAnimateOnMount&&(S=!1),v.protectedKeys={...p},!v.isActive&&E===null||!x&&!v.prevProp||yA(x)||typeof x=="boolean")continue;const k=NSe(v.prevProp,x);let T=k||y===c&&v.isActive&&!S&&w||O>b&&w,C=!1;const A=Array.isArray(x)?x:[x];let N=A.reduce(r(y),{});E===!1&&(N={});const{prevResolvedValues:P={}}=v,Q={...P,...N},D=I=>{T=!0,h.has(I)&&(C=!0,h.delete(I)),v.needsAnimating[I]=!0;const F=e.getValue(I);F&&(F.liveStyle=!1)};for(const I in Q){const F=N[I],B=P[I];if(p.hasOwnProperty(I))continue;let M=!1;ZD(F)&&ZD(B)?M=!dee(F,B):M=F!==B,M?F!=null?D(I):h.add(I):F!==void 0&&h.has(I)?D(I):v.protectedKeys[I]=!0}v.prevProp=x,v.prevResolvedValues=N,v.isActive&&(p={...p,...N}),i&&e.blockInitialAnimation&&(T=!1),T&&(!(S&&k)||C)&&f.push(...A.map(I=>({animation:I,options:{type:y}})))}if(h.size){const O={};h.forEach(y=>{const v=e.getBaseTarget(y),x=e.getValue(y);x&&(x.liveStyle=!0),O[y]=v??null}),f.push({animation:O})}let g=!!f.length;return i&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(g=!1),i=!1,g?t(f):Promise.resolve()}function o(c,u){var d;if(n[c].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(c,u)}),n[c].isActive=u;const f=a(c);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:a,setActive:o,setAnimateFunction:s,getState:()=>n,reset:()=>{n=Z9(),i=!0}}}function NSe(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!dee(t,e):!1}function np(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Z9(){return{animate:np(!0),whileInView:np(),whileHover:np(),whileTap:np(),whileDrag:np(),whileFocus:np(),exit:np()}}class Qh{constructor(t){this.isMounted=!1,this.node=t}update(){}}class jSe extends Qh{constructor(t){super(t),t.animationState||(t.animationState=CSe(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();yA(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 RSe=0;class ISe extends Qh{constructor(){super(...arguments),this.id=RSe++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const r=this.node.animationState.setActive("exit",!t);n&&!t&&r.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const DSe={animation:{Feature:jSe},exit:{Feature:ISe}},ac={x:!1,y:!1};function Wee(){return ac.x||ac.y}function PSe(e){return e==="x"||e==="y"?ac[e]?null:(ac[e]=!0,()=>{ac[e]=!1}):ac.x||ac.y?null:(ac.x=ac.y=!0,()=>{ac.x=ac.y=!1})}const n$=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function l1(e,t,n,i={passive:!0}){return e.addEventListener(t,n,i),()=>e.removeEventListener(t,n)}function Av(e){return{point:{x:e.pageX,y:e.pageY}}}const MSe=e=>t=>n$(t)&&e(t,Av(t));function cx(e,t,n,i){return l1(e,t,MSe(n),i)}const K9=(e,t)=>Math.abs(e-t);function LSe(e,t){const n=K9(e.x,t.x),i=K9(e.y,t.y);return Math.sqrt(n**2+i**2)}class Zee{constructor(t,n,{transformPagePoint:i,contextWindow:r,dragSnapToOrigin:s=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=qN(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,p=LSe(f.offset,{x:0,y:0})>=3;if(!h&&!p)return;const{point:b}=f,{timestamp:g}=Ks;this.history.push({...b,timestamp:g});const{onStart:O,onMove:y}=this.handlers;h||(O&&O(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),y&&y(this.lastMoveEvent,f)},this.handlePointerMove=(f,h)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=VN(h,this.transformPagePoint),pr.update(this.updatePoint,!0)},this.handlePointerUp=(f,h)=>{this.end();const{onEnd:p,onSessionEnd:b,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const O=qN(f.type==="pointercancel"?this.lastMoveEventInfo:VN(h,this.transformPagePoint),this.history);this.startEvent&&p&&p(f,O),b&&b(f,O)},!n$(t))return;this.dragSnapToOrigin=s,this.handlers=n,this.transformPagePoint=i,this.contextWindow=r||window;const a=Av(t),o=VN(a,this.transformPagePoint),{point:c}=o,{timestamp:u}=Ks;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,qN(o,this.history)),this.removeListeners=_v(cx(this.contextWindow,"pointermove",this.handlePointerMove),cx(this.contextWindow,"pointerup",this.handlePointerUp),cx(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Oh(this.updatePoint)}}function VN(e,t){return t?{point:t(e.point)}:e}function J9(e,t){return{x:e.x-t.x,y:e.y-t.y}}function qN({point:e},t){return{point:e,delta:J9(e,Kee(t)),offset:J9(e,$Se(t)),velocity:QSe(t,.1)}}function $Se(e){return e[0]}function Kee(e){return e[e.length-1]}function QSe(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,i=null;const r=Kee(e);for(;n>=0&&(i=e[n],!(r.timestamp-i.timestamp>vd(t)));)n--;if(!i)return{x:0,y:0};const s=wd(r.timestamp-i.timestamp);if(s===0)return{x:0,y:0};const a={x:(r.x-i.x)/s,y:(r.y-i.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}const Jee=1e-4,BSe=1-Jee,FSe=1+Jee,ete=.01,USe=0-ete,zSe=0+ete;function al(e){return e.max-e.min}function VSe(e,t,n){return Math.abs(e-t)<=n}function e7(e,t,n,i=.5){e.origin=i,e.originPoint=Rr(t.min,t.max,e.origin),e.scale=al(n)/al(t),e.translate=Rr(n.min,n.max,e.origin)-e.originPoint,(e.scale>=BSe&&e.scale<=FSe||isNaN(e.scale))&&(e.scale=1),(e.translate>=USe&&e.translate<=zSe||isNaN(e.translate))&&(e.translate=0)}function ux(e,t,n,i){e7(e.x,t.x,n.x,i?i.originX:void 0),e7(e.y,t.y,n.y,i?i.originY:void 0)}function t7(e,t,n){e.min=n.min+t.min,e.max=e.min+al(t)}function qSe(e,t,n){t7(e.x,t.x,n.x),t7(e.y,t.y,n.y)}function n7(e,t,n){e.min=t.min-n.min,e.max=e.min+al(t)}function dx(e,t,n){n7(e.x,t.x,n.x),n7(e.y,t.y,n.y)}function XSe(e,{min:t,max:n},i){return t!==void 0&&en&&(e=i?Rr(n,e,i.max):Math.min(e,n)),e}function i7(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 HSe(e,{top:t,left:n,bottom:i,right:r}){return{x:i7(e.x,n,r),y:i7(e.y,t,i)}}function r7(e,t){let n=t.min-e.min,i=t.max-e.max;return t.max-t.mini?n=rb(t.min,t.max-i,e.min):i>r&&(n=rb(e.min,e.max-r,t.min)),Md(0,1,n)}function WSe(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 lP=.35;function ZSe(e=lP){return e===!1?e=0:e===!0&&(e=lP),{x:s7(e,"left","right"),y:s7(e,"top","bottom")}}function s7(e,t,n){return{min:a7(e,t),max:a7(e,n)}}function a7(e,t){return typeof e=="number"?e:e[t]||0}const o7=()=>({translate:0,scale:1,origin:0,originPoint:0}),t0=()=>({x:o7(),y:o7()}),l7=()=>({min:0,max:0}),Yr=()=>({x:l7(),y:l7()});function bl(e){return[e("x"),e("y")]}function tte({top:e,left:t,right:n,bottom:i}){return{x:{min:t,max:n},y:{min:e,max:i}}}function KSe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function JSe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}function XN(e){return e===void 0||e===1}function cP({scale:e,scaleX:t,scaleY:n}){return!XN(e)||!XN(t)||!XN(n)}function bp(e){return cP(e)||nte(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function nte(e){return c7(e.x)||c7(e.y)}function c7(e){return e&&e!=="0%"}function bT(e,t,n){const i=e-n,r=t*i;return n+r}function u7(e,t,n,i,r){return r!==void 0&&(e=bT(e,r,i)),bT(e,n,i)+t}function uP(e,t=0,n=1,i,r){e.min=u7(e.min,t,n,i,r),e.max=u7(e.max,t,n,i,r)}function ite(e,{x:t,y:n}){uP(e.x,t.translate,t.scale,t.originPoint),uP(e.y,n.translate,n.scale,n.originPoint)}const d7=.999999999999,f7=1.0000000000001;function eEe(e,t,n,i=!1){const r=n.length;if(!r)return;t.x=t.y=1;let s,a;for(let o=0;od7&&(t.x=1),t.yd7&&(t.y=1)}function n0(e,t){e.min=e.min+t,e.max=e.max+t}function h7(e,t,n,i,r=.5){const s=Rr(e.min,e.max,r);uP(e,t,n,s,i)}function i0(e,t){h7(e.x,t.x,t.scaleX,t.scale,t.originX),h7(e.y,t.y,t.scaleY,t.scale,t.originY)}function rte(e,t){return tte(JSe(e.getBoundingClientRect(),t))}function tEe(e,t,n){const i=rte(e,n),{scroll:r}=t;return r&&(n0(i.x,r.offset.x),n0(i.y,r.offset.y)),i}const ste=({current:e})=>e?e.ownerDocument.defaultView:null,nEe=new WeakMap;class iEe{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=Yr(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Av(d).point)},s=(d,f)=>{const{drag:h,dragPropagation:p,onDragStart:b}=this.getProps();if(h&&!p&&(this.openDragLock&&this.openDragLock(),this.openDragLock=PSe(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),bl(O=>{let y=this.getAxisMotionValue(O).get()||0;if(bu.test(y)){const{projection:v}=this.visualElement;if(v&&v.layout){const x=v.layout.layoutBox[O];x&&(y=al(x)*(parseFloat(y)/100))}}this.originPoint[O]=y}),b&&pr.postRender(()=>b(d,f)),KD(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},a=(d,f)=>{const{dragPropagation:h,dragDirectionLock:p,onDirectionLock:b,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:O}=f;if(p&&this.currentDirection===null){this.currentDirection=rEe(O),this.currentDirection!==null&&b&&b(this.currentDirection);return}this.updateAxis("x",f.point,O),this.updateAxis("y",f.point,O),this.visualElement.render(),g&&g(d,f)},o=(d,f)=>this.stop(d,f),c=()=>bl(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 Zee(t,{onSessionStart:r,onStart:s,onMove:a,onSessionEnd:o,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:ste(this.visualElement)})}stop(t,n){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:r}=n;this.startAnimation(r);const{onDragEnd:s}=this.getProps();s&&pr.postRender(()=>s(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,i){const{drag:r}=this.getProps();if(!i||!rS(t,r,this.currentDirection))return;const s=this.getAxisMotionValue(t);let a=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(a=XSe(a,this.constraints[t],this.elastic[t])),s.set(a)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:i}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,s=this.constraints;n&&Jg(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&r?this.constraints=HSe(r.layoutBox,n):this.constraints=!1,this.elastic=ZSe(i),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&bl(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=WSe(r.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Jg(t))return!1;const i=t.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const s=tEe(i,r.root,this.visualElement.getTransformPagePoint());let a=GSe(r.layout.layoutBox,s);if(n){const o=n(KSe(a));this.hasMutatedConstraints=!!o,o&&(a=tte(o))}return a}startAnimation(t){const{drag:n,dragMomentum:i,dragElastic:r,dragTransition:s,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),c=this.constraints||{},u=bl(d=>{if(!rS(d,n,this.currentDirection))return;let f=c&&c[d]||{};a&&(f={min:0,max:0});const h=r?200:1e6,p=r?40:1e7,b={type:"inertia",velocity:i?t[d]:0,bounceStiffness:h,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...s,...f};return this.startAxisValueAnimation(d,b)});return Promise.all(u).then(o)}startAxisValueAnimation(t,n){const i=this.getAxisMotionValue(t);return KD(this.visualElement,t),i.start(t$(t,i,0,n,this.visualElement,!1))}stopAnimation(){bl(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){bl(t=>{var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,i=this.visualElement.getProps(),r=i[n];return r||this.visualElement.getValue(t,(i.initial?i.initial[t]:void 0)||0)}snapToCursor(t){bl(n=>{const{drag:i}=this.getProps();if(!rS(n,i,this.currentDirection))return;const{projection:r}=this.visualElement,s=this.getAxisMotionValue(n);if(r&&r.layout){const{min:a,max:o}=r.layout.layoutBox[n];s.set(t[n]-Rr(a,o,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:i}=this.visualElement;if(!Jg(n)||!i||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};bl(a=>{const o=this.getAxisMotionValue(a);if(o&&this.constraints!==!1){const c=o.get();r[a]=YSe({min:c,max:c},this.constraints[a])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),bl(a=>{if(!rS(a,t,null))return;const o=this.getAxisMotionValue(a),{min:c,max:u}=this.constraints[a];o.set(Rr(c,u,r[a]))})}addListeners(){if(!this.visualElement.current)return;nEe.set(this.visualElement,this);const t=this.visualElement.current,n=cx(t,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(c)}),i=()=>{const{dragConstraints:c}=this.getProps();Jg(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),pr.read(i);const a=l1(window,"resize",()=>this.scalePositionWithinConstraints()),o=r.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(bl(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(),s(),o&&o()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:i=!1,dragPropagation:r=!1,dragConstraints:s=!1,dragElastic:a=lP,dragMomentum:o=!0}=t;return{...t,drag:n,dragDirectionLock:i,dragPropagation:r,dragConstraints:s,dragElastic:a,dragMomentum:o}}}function rS(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function rEe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class sEe extends Qh{constructor(t){super(t),this.removeGroupControls=tl,this.removeListeners=tl,this.controls=new iEe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||tl}unmount(){this.removeGroupControls(),this.removeListeners()}}const p7=e=>(t,n)=>{e&&pr.postRender(()=>e(t,n))};class aEe extends Qh{constructor(){super(...arguments),this.removePointerDownListener=tl}onPointerDown(t){this.session=new Zee(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:ste(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:i,onPanEnd:r}=this.node.getProps();return{onSessionStart:p7(t),onStart:p7(n),onMove:i,onEnd:(s,a)=>{delete this.session,r&&pr.postRender(()=>r(s,a))}}}mount(){this.removePointerDownListener=cx(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 UE={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function m7(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const YO={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(rn.test(e))e=parseFloat(e);else return e;const n=m7(e,t.target.x),i=m7(e,t.target.y);return`${n}% ${i}%`}},oEe={correct:(e,{treeScale:t,projectionDelta:n})=>{const i=e,r=yh.parse(e);if(r.length>5)return i;const s=yh.createTransformer(e),a=typeof r[0]!="number"?1:0,o=n.x.scale*t.x,c=n.y.scale*t.y;r[0+a]/=o,r[1+a]/=c;const u=Rr(o,c,.5);return typeof r[2+a]=="number"&&(r[2+a]/=u),typeof r[3+a]=="number"&&(r[3+a]/=u),s(r)}};class lEe extends m.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i,layoutId:r}=this.props,{projection:s}=t;Dve(cEe),s&&(n.group&&n.group.add(s),i&&i.register&&r&&i.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),UE.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:i,drag:r,isPresent:s}=this.props,a=i.projection;return a&&(a.isPresent=s,r||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?a.promote():a.relegate()||pr.postRender(()=>{const o=a.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),N3.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:i}=this.props,{projection:r}=t;r&&(r.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(r),i&&i.deregister&&i.deregister(r))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function ate(e){const[t,n]=zJ(),i=m.useContext(k3);return l.jsx(lEe,{...e,layoutGroup:i,switchLayoutGroup:m.useContext(KJ),isPresent:t,safeToRemove:n})}const cEe={borderRadius:{...YO,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:YO,borderTopRightRadius:YO,borderBottomLeftRadius:YO,borderBottomRightRadius:YO,boxShadow:oEe};function uEe(e,t,n){const i=va(e)?e:a1(e);return i.start(t$("",i,t,n)),i.animation}function dEe(e){return e instanceof SVGElement&&e.tagName!=="svg"}const fEe=(e,t)=>e.depth-t.depth;class hEe{constructor(){this.children=[],this.isDirty=!1}add(t){F3(this.children,t),this.isDirty=!0}remove(t){U3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(fEe),this.isDirty=!1,this.children.forEach(t)}}function pEe(e,t){const n=Ou.now(),i=({timestamp:r})=>{const s=r-n;s>=t&&(Oh(i),e(s-t))};return pr.read(i,!0),()=>Oh(i)}const ote=["TopLeft","TopRight","BottomLeft","BottomRight"],mEe=ote.length,g7=e=>typeof e=="string"?parseFloat(e):e,b7=e=>typeof e=="number"||rn.test(e);function gEe(e,t,n,i,r,s){r?(e.opacity=Rr(0,n.opacity!==void 0?n.opacity:1,bEe(i)),e.opacityExit=Rr(t.opacity!==void 0?t.opacity:1,0,OEe(i))):s&&(e.opacity=Rr(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,i));for(let a=0;ait?1:n(rb(e,t,i))}function y7(e,t){e.min=t.min,e.max=t.max}function ml(e,t){y7(e.x,t.x),y7(e.y,t.y)}function x7(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function v7(e,t,n,i,r){return e-=t,e=bT(e,1/n,i),r!==void 0&&(e=bT(e,1/r,i)),e}function yEe(e,t=0,n=1,i=.5,r,s=e,a=e){if(bu.test(t)&&(t=parseFloat(t),t=Rr(a.min,a.max,t/100)-a.min),typeof t!="number")return;let o=Rr(s.min,s.max,i);e===s&&(o-=t),e.min=v7(e.min,t,n,o,r),e.max=v7(e.max,t,n,o,r)}function w7(e,t,[n,i,r],s,a){yEe(e,t[n],t[i],t[r],t.scale,s,a)}const xEe=["x","scaleX","originX"],vEe=["y","scaleY","originY"];function S7(e,t,n,i){w7(e.x,t,xEe,n?n.x:void 0,i?i.x:void 0),w7(e.y,t,vEe,n?n.y:void 0,i?i.y:void 0)}function E7(e){return e.translate===0&&e.scale===1}function cte(e){return E7(e.x)&&E7(e.y)}function k7(e,t){return e.min===t.min&&e.max===t.max}function wEe(e,t){return k7(e.x,t.x)&&k7(e.y,t.y)}function T7(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function ute(e,t){return T7(e.x,t.x)&&T7(e.y,t.y)}function _7(e){return al(e.x)/al(e.y)}function A7(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class SEe{constructor(){this.members=[]}add(t){F3(this.members,t),t.scheduleRender()}remove(t){if(U3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(r=>t===r);if(n===0)return!1;let i;for(let r=n;r>=0;r--){const s=this.members[r];if(s.isPresent!==!1){i=s;break}}return i?(this.promote(i),!0):!1}promote(t,n){const i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.instance&&i.scheduleRender(),t.scheduleRender(),t.resumeFrom=i,n&&(t.resumeFrom.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:r}=t.options;r===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:i}=t;n.onExitComplete&&n.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function EEe(e,t,n){let i="";const r=e.x.translate/t.x,s=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((r||s||a)&&(i=`translate3d(${r}px, ${s}px, ${a}px) `),(t.x!==1||t.y!==1)&&(i+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:f,rotateY:h,skewX:p,skewY:b}=n;u&&(i=`perspective(${u}px) ${i}`),d&&(i+=`rotate(${d}deg) `),f&&(i+=`rotateX(${f}deg) `),h&&(i+=`rotateY(${h}deg) `),p&&(i+=`skewX(${p}deg) `),b&&(i+=`skewY(${b}deg) `)}const o=e.x.scale*t.x,c=e.y.scale*t.y;return(o!==1||c!==1)&&(i+=`scale(${o}, ${c})`),i||"none"}const Op={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Ny=typeof window<"u"&&window.MotionDebug!==void 0,HN=["","X","Y","Z"],kEe={visibility:"hidden"},C7=1e3;let TEe=0;function GN(e,t,n,i){const{latestValues:r}=t;r[e]&&(n[e]=r[e],t.setStaticValue(e,0),i&&(i[e]=0))}function dte(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=pee(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:r,layoutId:s}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",pr,!(r||s))}const{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&dte(i)}function fte({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:i,resetTransform:r}){return class{constructor(a={},o=t==null?void 0:t()){this.id=TEe++,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,Ny&&(Op.totalNodes=Op.resolvedTargetDeltas=Op.recalculatedProjection=0),this.nodes.forEach(CEe),this.nodes.forEach(DEe),this.nodes.forEach(PEe),this.nodes.forEach(NEe),Ny&&window.MotionDebug.record(Op)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=o?o.root||o:this,this.path=o?[...o.path,o]:[],this.parent=o,this.depth=o?o.depth+1:0;for(let c=0;cthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=pEe(h,250),UE.hasAnimatedSinceResize&&(UE.hasAnimatedSinceResize=!1,this.nodes.forEach(j7))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&d&&(c||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:p,layout:b})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||BEe,{onLayoutAnimationStart:O,onLayoutAnimationComplete:y}=d.getProps(),v=!this.targetLayout||!ute(this.targetLayout,b)||p,x=!h&&p;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||x||h&&(v||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,x);const w={...B3(g,"layout"),onPlay:O,onComplete:y};(d.shouldReduceMotion||this.options.layoutRoot)&&(w.delay=0,w.type=!1),this.startAnimation(w)}else h||j7(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=b})}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,Oh(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(MEe),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&&dte(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 E=w/1e3;R7(f.x,a.x,E),R7(f.y,a.y,E),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(dx(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),$Ee(this.relativeTarget,this.relativeTargetOrigin,h,E),x&&wEe(this.relativeTarget,x)&&(this.isProjectionDirty=!1),x||(x=Yr()),ml(x,this.relativeTarget)),g&&(this.animationValues=d,gEe(d,u,this.latestValues,E,v,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Oh(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=pr.update(()=>{UE.hasAnimatedSinceResize=!0,this.currentAnimation=uEe(0,C7,{...a,onUpdate:o=>{this.mixTargetDelta(o),a.onUpdate&&a.onUpdate(o)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(C7),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:o,target:c,layout:u,latestValues:d}=a;if(!(!o||!c||!u)){if(this!==a&&this.layout&&u&&hte(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||Yr();const f=al(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+f;const h=al(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+h}ml(o,c),i0(o,d),ux(this.projectionDeltaWithTransform,this.layoutCorrected,o,d)}}registerSharedNode(a,o){this.sharedNodes.has(a)||this.sharedNodes.set(a,new SEe),this.sharedNodes.get(a).add(o);const u=o.options.initialPromotionConfig;o.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(o):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:o}=this.options;return o?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:o}=this.options;return o?(a=this.getStack())===null||a===void 0?void 0:a.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:o,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),o&&this.setOptions({transition:o})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let o=!1;const{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(o=!0),!o)return;const u={};c.z&&GN("z",a,u,this.animationValues);for(let d=0;d{var o;return(o=a.currentAnimation)===null||o===void 0?void 0:o.stop()}),this.root.nodes.forEach(N7),this.root.sharedNodes.clear()}}}function _Ee(e){e.updateLayout()}function AEe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:r}=e.layout,{animationType:s}=e.options,a=n.source!==e.layout.source;s==="size"?bl(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=al(h);h.min=i[f].min,h.max=h.min+p}):hte(s,n.layoutBox,i)&&bl(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],p=al(i[f]);h.max=h.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+p)});const o=t0();ux(o,i,n.layoutBox);const c=t0();a?ux(c,e.applyTransform(r,!0),n.measuredBox):ux(c,i,n.layoutBox);const u=!cte(o);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:p}=f;if(h&&p){const b=Yr();dx(b,n.layoutBox,h.layoutBox);const g=Yr();dx(g,i,p.layoutBox),ute(b,g)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=b,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:i,snapshot:n,delta:c,layoutDelta:o,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:i}=e.options;i&&i()}e.options.transition=void 0}function CEe(e){Ny&&Op.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 NEe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function jEe(e){e.clearSnapshot()}function N7(e){e.clearMeasurements()}function REe(e){e.isLayoutDirty=!1}function IEe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function j7(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function DEe(e){e.resolveTargetDelta()}function PEe(e){e.calcProjection()}function MEe(e){e.resetSkewAndRotation()}function LEe(e){e.removeLeadSnapshot()}function R7(e,t,n){e.translate=Rr(t.translate,0,n),e.scale=Rr(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function I7(e,t,n,i){e.min=Rr(t.min,n.min,i),e.max=Rr(t.max,n.max,i)}function $Ee(e,t,n,i){I7(e.x,t.x,n.x,i),I7(e.y,t.y,n.y,i)}function QEe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const BEe={duration:.45,ease:[.4,0,.1,1]},D7=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),P7=D7("applewebkit/")&&!D7("chrome/")?Math.round:tl;function M7(e){e.min=P7(e.min),e.max=P7(e.max)}function FEe(e){M7(e.x),M7(e.y)}function hte(e,t,n){return e==="position"||e==="preserve-aspect"&&!VSe(_7(t),_7(n),.2)}function UEe(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const zEe=fte({attachResizeListener:(e,t)=>l1(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),YN={current:void 0},pte=fte({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!YN.current){const e=new zEe({});e.mount(window),e.setOptions({layoutScroll:!0}),YN.current=e}return YN.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),VEe={pan:{Feature:aEe},drag:{Feature:sEe,ProjectionNode:pte,MeasureLayout:ate}};function qEe(e,t,n){var i;if(e instanceof Element)return[e];if(typeof e=="string"){let r=document;const s=(i=void 0)!==null&&i!==void 0?i:r.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e)}function mte(e,t){const n=qEe(e),i=new AbortController,r={passive:!0,...t,signal:i.signal};return[n,r,()=>i.abort()]}function L7(e){return t=>{t.pointerType==="touch"||Wee()||e(t)}}function XEe(e,t,n={}){const[i,r,s]=mte(e,n),a=L7(o=>{const{target:c}=o,u=t(o);if(typeof u!="function"||!c)return;const d=L7(f=>{u(f),c.removeEventListener("pointerleave",d)});c.addEventListener("pointerleave",d,r)});return i.forEach(o=>{o.addEventListener("pointerenter",a,r)}),s}function $7(e,t,n){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",n==="Start");const r="onHover"+n,s=i[r];s&&pr.postRender(()=>s(t,Av(t)))}class HEe extends Qh{mount(){const{current:t}=this.node;t&&(this.unmount=XEe(t,n=>($7(this.node,n,"Start"),i=>$7(this.node,i,"End"))))}unmount(){}}class GEe extends Qh{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=_v(l1(this.node.current,"focus",()=>this.onFocus()),l1(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const gte=(e,t)=>t?e===t?!0:gte(e,t.parentElement):!1,YEe=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function WEe(e){return YEe.has(e.tagName)||e.tabIndex!==-1}const jy=new WeakSet;function Q7(e){return t=>{t.key==="Enter"&&e(t)}}function WN(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const ZEe=(e,t)=>{const n=e.currentTarget;if(!n)return;const i=Q7(()=>{if(jy.has(n))return;WN(n,"down");const r=Q7(()=>{WN(n,"up")}),s=()=>WN(n,"cancel");n.addEventListener("keyup",r,t),n.addEventListener("blur",s,t)});n.addEventListener("keydown",i,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),t)};function B7(e){return n$(e)&&!Wee()}function KEe(e,t,n={}){const[i,r,s]=mte(e,n),a=o=>{const c=o.currentTarget;if(!B7(o)||jy.has(c))return;jy.add(c);const u=t(o),d=(p,b)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),!(!B7(p)||!jy.has(c))&&(jy.delete(c),typeof u=="function"&&u(p,{success:b}))},f=p=>{d(p,n.useGlobalTarget||gte(c,p.target))},h=p=>{d(p,!1)};window.addEventListener("pointerup",f,r),window.addEventListener("pointercancel",h,r)};return i.forEach(o=>{!WEe(o)&&o.getAttribute("tabindex")===null&&(o.tabIndex=0),(n.useGlobalTarget?window:o).addEventListener("pointerdown",a,r),o.addEventListener("focus",u=>ZEe(u,r),r)}),s}function F7(e,t,n){const{props:i}=e;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",n==="Start");const r="onTap"+(n==="End"?"":n),s=i[r];s&&pr.postRender(()=>s(t,Av(t)))}class JEe extends Qh{mount(){const{current:t}=this.node;t&&(this.unmount=KEe(t,n=>(F7(this.node,n,"Start"),(i,{success:r})=>F7(this.node,i,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const dP=new WeakMap,ZN=new WeakMap,eke=e=>{const t=dP.get(e.target);t&&t(e)},tke=e=>{e.forEach(eke)};function nke({root:e,...t}){const n=e||document;ZN.has(n)||ZN.set(n,{});const i=ZN.get(n),r=JSON.stringify(t);return i[r]||(i[r]=new IntersectionObserver(tke,{root:e,...t})),i[r]}function ike(e,t,n){const i=nke(t);return dP.set(e,n),i.observe(e),()=>{dP.delete(e),i.unobserve(e)}}const rke={some:0,all:1};class ske extends Qh{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:i,amount:r="some",once:s}=t,a={root:n?n.current:void 0,rootMargin:i,threshold:typeof r=="number"?r:rke[r]},o=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,s&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),h=u?d:f;h&&h(c)};return ike(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(ake(t,n))&&this.startObserver()}unmount(){}}function ake({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const oke={inView:{Feature:ske},tap:{Feature:JEe},focus:{Feature:GEe},hover:{Feature:HEe}},lke={layout:{ProjectionNode:pte,MeasureLayout:ate}},OT={current:null},i$={current:!1};function bte(){if(i$.current=!0,!!T3)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>OT.current=e.matches;e.addListener(t),t()}else OT.current=!1}const cke=[...$ee,Oa,yh],uke=e=>cke.find(Lee(e)),U7=new WeakMap;function dke(e,t,n){for(const i in t){const r=t[i],s=n[i];if(va(r))e.addValue(i,r);else if(va(s))e.addValue(i,a1(r,{owner:e}));else if(s!==r)if(e.hasValue(i)){const a=e.getValue(i);a.liveStyle===!0?a.jump(r):a.hasAnimated||a.set(r)}else{const a=e.getStaticValue(i);e.addValue(i,a1(a!==void 0?a:r,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const z7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class fke{scrapeMotionValuesFromProps(t,n,i){return{}}constructor({parent:t,props:n,presenceContext:i,reducedMotionConfig:r,blockInitialAnimation:s,visualState:a},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=K3,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=Ou.now();this.renderScheduledAtthis.bindToMotionValue(i,n)),i$.current||bte(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:OT.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){U7.delete(this.current),this.projection&&this.projection.unmount(),Oh(this.notifyUpdate),Oh(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}bindToMotionValue(t,n){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const i=Dm.has(t),r=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&pr.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0)}),s=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{r(),s(),a&&a(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in ib){const n=ib[t];if(!n)continue;const{isEnabled:i,Feature:r}=n;if(!this.features[t]&&r&&i(this.props)&&(this.features[t]=new r(this)),this.features[t]){const s=this.features[t];s.isMounted?s.update():(s.mount(),s.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Yr()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let i=0;in.variantChildren.delete(t)}addValue(t,n){const i=this.values.get(t);n!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return i===void 0&&n!==void 0&&(i=a1(n===null?void 0:n,{owner:this}),this.addValue(t,i)),i}readValue(t,n){var i;let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(i=this.getBaseTargetFromProps(this.props,t))!==null&&i!==void 0?i:this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(Pee(r)||Tee(r))?r=parseFloat(r):!uke(r)&&yh.test(n)&&(r=Ree(t,n)),this.setBaseTarget(t,va(r)?r.get():r)),va(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:i}=this.props;let r;if(typeof i=="string"||typeof i=="object"){const a=R3(this.props,i,(n=this.presenceContext)===null||n===void 0?void 0:n.custom);a&&(r=a[t])}if(i&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!va(s)?s:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new z3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class Ote extends fke{constructor(){super(...arguments),this.KeyframeResolver=Qee}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:i}){delete n[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;va(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function hke(e){return window.getComputedStyle(e)}class pke extends Ote{constructor(){super(...arguments),this.type="html",this.renderInstance=see}readValueFromInstance(t,n){if(Dm.has(n)){const i=Z3(n);return i&&i.default||0}else{const i=hke(t),r=(nee(n)?i.getPropertyValue(n):i[n])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(t,{transformPagePoint:n}){return rte(t,n)}build(t,n,i){P3(t,n,i.transformTemplate)}scrapeMotionValuesFromProps(t,n,i){return Q3(t,n,i)}}class mke extends Ote{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Yr}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Dm.has(n)){const i=Z3(n);return i&&i.default||0}return n=aee.has(n)?n:C3(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,i){return cee(t,n,i)}build(t,n,i){M3(t,n,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,i,r){oee(t,n,i,r)}mount(t){this.isSVGTag=$3(t.tagName),super.mount(t)}}const gke=(e,t)=>j3(e)?new mke(t):new pke(t,{allowProjection:e!==m.Fragment}),bke=zve({...DSe,...oke,...VEe,...lke},gke),Fr=rve(bke);function Oke(){!i$.current&&bte();const[e]=m.useState(OT.current);return e}function Ts(){return Ts=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||/ServerSideRendering/.test(navigator&&navigator.userAgent)?m.useEffect:m.useLayoutEffect;function Ng(e,t,n){var i=m.useRef(t);i.current=t,m.useEffect(function(){function r(s){i.current(s)}return e&&window.addEventListener(e,r,n),function(){e&&window.removeEventListener(e,r)}},[e])}var yke=["container"];function xke(e){var t=e.container,n=t===void 0?document.body:t,i=SA(e,yke);return Gi.createPortal(_n.createElement("div",Ts({},i)),n)}function vke(e){return _n.createElement("svg",Ts({width:"44",height:"44",viewBox:"0 0 768 768"},e),_n.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 wke(e){return _n.createElement("svg",Ts({width:"44",height:"44",viewBox:"0 0 768 768"},e),_n.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 Ske(e){return _n.createElement("svg",Ts({width:"44",height:"44",viewBox:"0 0 768 768"},e),_n.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function Eke(){return m.useEffect(function(){var e=document.body.style,t=e.overflow;return e.overflow="hidden",function(){e.overflow=t}},[]),null}function q7(e){var t=e.touches[0],n=t.clientX,i=t.clientY;if(e.touches.length>=2){var r=e.touches[1],s=r.clientX,a=r.clientY;return[(n+s)/2,(i+a)/2,Math.sqrt(Math.pow(s-n,2)+Math.pow(a-i,2))]}return[n,i,0]}var jf=function(e,t,n,i){var r,s=n*t,a=(s-i)/2,o=e;return s<=i?(r=1,o=0):e>0&&a-e<=0?(r=2,o=a):e<0&&a+e<=0&&(r=3,o=-a),[r,o]};function KN(e,t,n,i,r,s,a,o,c,u){a===void 0&&(a=innerWidth/2),o===void 0&&(o=innerHeight/2),c===void 0&&(c=0),u===void 0&&(u=0);var d=jf(e,s,n,innerWidth)[0],f=jf(t,s,i,innerHeight),h=innerWidth/2,p=innerHeight/2;return{x:a-s/r*(a-(h+e))-h+(i/n>=3&&n*s===innerWidth?0:d?c/2:c),y:o-s/r*(o-(p+t))-p+(f[0]?u/2:u),lastCX:a,lastCY:o}}function pP(e,t,n){var i=e%180!=0;return i?[n,t,i]:[t,n,i]}function JN(e,t,n){var i=pP(n,innerWidth,innerHeight),r=i[0],s=i[1],a=0,o=r,c=s,u=e/t*s,d=t/e*r;return e=s?o=u:e>=r&&tr/s?c=d:t/e>=3&&!i[2]?a=((c=d)-s)/2:o=u,{width:o,height:c,x:0,y:a,pause:!0}}function aS(e,t){var n=t.leading,i=n!==void 0&&n,r=t.maxWait,s=t.wait,a=s===void 0?r||0:s,o=m.useRef(e);o.current=e;var c=m.useRef(0),u=m.useRef(),d=function(){return u.current&&clearTimeout(u.current)},f=m.useCallback(function(){var h=[].slice.call(arguments),p=Date.now();function b(){c.current=p,d(),o.current.apply(null,h)}var g=c.current,O=p-g;if(g===0&&(i&&b(),c.current=p),r!==void 0){if(O>r)return void b()}else O=1&&s&&s())};d()}function d(){c=requestAnimationFrame(u)}}var Tke={T:0,L:0,W:0,H:0,FIT:void 0},xte=function(){var e=m.useRef(!1);return m.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),e},_ke=["className"];function Ake(e){var t=e.className,n=t===void 0?"":t,i=SA(e,_ke);return _n.createElement("div",Ts({className:"PhotoView__Spinner "+n},i),_n.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},_n.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"}),_n.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var Cke=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function Nke(e){var t=e.src,n=e.loaded,i=e.broken,r=e.className,s=e.onPhotoLoad,a=e.loadingElement,o=e.brokenElement,c=SA(e,Cke),u=xte();return t&&!i?_n.createElement(_n.Fragment,null,_n.createElement("img",Ts({className:"PhotoView__Photo"+(r?" "+r:""),src:t,onLoad:function(d){var f=d.target;u.current&&s({loaded:!0,naturalWidth:f.naturalWidth,naturalHeight:f.naturalHeight})},onError:function(){u.current&&s({broken:!0})},draggable:!1,alt:""},c)),!n&&(a?_n.createElement("span",{className:"PhotoView__icon"},a):_n.createElement(Ake,{className:"PhotoView__icon"}))):o?_n.createElement("span",{className:"PhotoView__icon"},typeof o=="function"?o({src:t}):o):null}var jke={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 Rke(e){var t=e.item,n=t.src,i=t.render,r=t.width,s=r===void 0?0:r,a=t.height,o=a===void 0?0:a,c=t.originRef,u=e.visible,d=e.speed,f=e.easing,h=e.wrapClassName,p=e.className,b=e.style,g=e.loadingElement,O=e.brokenElement,y=e.onPhotoTap,v=e.onMaskTap,x=e.onReachMove,w=e.onReachUp,E=e.onPhotoResize,S=e.isActive,k=e.expose,T=yT(jke),C=T[0],A=T[1],N=m.useRef(0),P=xte(),Q=C.naturalWidth,D=Q===void 0?s:Q,$=C.naturalHeight,j=$===void 0?o:$,I=C.width,F=I===void 0?s:I,B=C.height,M=B===void 0?o:B,Y=C.loaded,q=Y===void 0?!n:Y,U=C.broken,V=C.x,re=C.y,de=C.touched,be=C.stopRaf,ce=C.maskTouched,K=C.rotate,ee=C.scale,me=C.CX,ve=C.CY,Ne=C.lastX,Ie=C.lastY,De=C.lastCX,pe=C.lastCY,Se=C.lastScale,Oe=C.touchTime,Le=C.touchLength,Fe=C.pause,Te=C.reach,Ue=Yp({onScale:function(_e){return ot(sS(_e))},onRotate:function(_e){K!==_e&&(k({rotate:_e}),A(Ts({rotate:_e},JN(D,j,_e))))}});function ot(_e,Ze,Ct){ee!==_e&&(k({scale:_e}),A(Ts({scale:_e},KN(V,re,F,M,ee,_e,Ze,Ct),_e<=1&&{x:0,y:0})))}var Bt=aS(function(_e,Ze,Ct){if(Ct===void 0&&(Ct=0),(de||ce)&&S){var an=pP(K,F,M),tt=an[0],pn=an[1];if(Ct===0&&N.current===0){var Yn=Math.abs(_e-me)<=20,zt=Math.abs(Ze-ve)<=20;if(Yn&&zt)return void A({lastCX:_e,lastCY:Ze});N.current=Yn?Ze>ve?3:2:1}var Vt,Ae=_e-De,Ge=Ze-pe;if(Ct===0){var Ft=jf(Ae+Ne,ee,tt,innerWidth)[0],mn=jf(Ge+Ie,ee,pn,innerHeight);Vt=function(ui,Re,rt,Dt){return Re&&ui===1||Dt==="x"?"x":rt&&ui>1||Dt==="y"?"y":void 0}(N.current,Ft,mn[0],Te),Vt!==void 0&&x(Vt,_e,Ze,ee)}if(Vt==="x"||ce)return void A({reach:"x"});var en=sS(ee+(Ct-Le)/100/2*ee,D/F,.2);k({scale:en}),A(Ts({touchLength:Ct,reach:Vt,scale:en},KN(V,re,F,M,ee,en,_e,Ze,Ae,Ge)))}},{maxWait:8});function Ye(_e){return!be&&!de&&(P.current&&A(Ts({},_e,{pause:u})),P.current)}var Z,ie,ue,ye,z,je,We,et,Jt=(z=function(_e){return Ye({x:_e})},je=function(_e){return Ye({y:_e})},We=function(_e){return P.current&&(k({scale:_e}),A({scale:_e})),!de&&P.current},et=Yp({X:function(_e){return z(_e)},Y:function(_e){return je(_e)},S:function(_e){return We(_e)}}),function(_e,Ze,Ct,an,tt,pn,Yn,zt,Vt,Ae,Ge){var Ft=pP(Ae,tt,pn),mn=Ft[0],en=Ft[1],ui=jf(_e,zt,mn,innerWidth),Re=ui[0],rt=ui[1],Dt=jf(Ze,zt,en,innerHeight),Yt=Dt[0],cn=Dt[1],Zt=Date.now()-Ge;if(Zt>=200||zt!==Yn||Math.abs(Vt-Yn)>1){var ni=KN(_e,Ze,tt,pn,Yn,zt),oi=ni.x,Ui=ni.y,le=Re?rt:oi!==_e?oi:null,Qe=Yt?cn:Ui!==Ze?Ui:null;return le!==null&&kp(_e,le,et.X),Qe!==null&&kp(Ze,Qe,et.Y),void(zt!==Yn&&kp(Yn,zt,et.S))}var lt=(_e-Ct)/Zt,Ot=(Ze-an)/Zt,En=Math.sqrt(Math.pow(lt,2)+Math.pow(Ot,2)),li=!1,Wn=!1;(function(di,Pn){var fi,Yi=di,Wi=0,gr=0,vn=function(Si){fi||(fi=Si);var zi=Si-fi,qr=Math.sign(di),ua=-.001*qr,Ir=Math.sign(-Yi)*Math.pow(Yi,2)*2e-4,Os=Yi*zi+(ua+Ir)*Math.pow(zi,2)/2;Wi+=Os,fi=Si,qr*(Yi+=(ua+Ir)*zi)<=0?ji():Pn(Wi)?Zi():ji()};function Zi(){gr=requestAnimationFrame(vn)}function ji(){cancelAnimationFrame(gr)}Zi()})(En,function(di){var Pn=_e+di*(lt/En),fi=Ze+di*(Ot/En),Yi=jf(Pn,Yn,mn,innerWidth),Wi=Yi[0],gr=Yi[1],vn=jf(fi,Yn,en,innerHeight),Zi=vn[0],ji=vn[1];if(Wi&&!li&&(li=!0,Re?kp(Pn,gr,et.X):X7(gr,Pn+(Pn-gr),et.X)),Zi&&!Wn&&(Wn=!0,Yt?kp(fi,ji,et.Y):X7(ji,fi+(fi-ji),et.Y)),li&&Wn)return!1;var Si=li||et.X(gr),zi=Wn||et.Y(ji);return Si&&zi})}),Xt=(Z=y,ie=function(_e,Ze){Te||ot(ee!==1?1:Math.max(2,D/F),_e,Ze)},ue=m.useRef(0),ye=aS(function(){ue.current=0,Z.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var _e=[].slice.call(arguments);ue.current+=1,ye.apply(void 0,_e),ue.current>=2&&(ye.cancel(),ue.current=0,ie.apply(void 0,_e))});function Tt(_e,Ze){if(N.current=0,(de||ce)&&S){A({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var Ct=sS(ee,D/F);if(Jt(V,re,Ne,Ie,F,M,ee,Ct,Se,K,Oe),w(_e,Ze),me===_e&&ve===Ze){if(de)return void Xt(_e,Ze);ce&&v(_e,Ze)}}}function vt(_e,Ze,Ct){Ct===void 0&&(Ct=0),A({touched:!0,CX:_e,CY:Ze,lastCX:_e,lastCY:Ze,lastX:V,lastY:re,lastScale:ee,touchLength:Ct,touchTime:Date.now()})}function xe(_e){A({maskTouched:!0,CX:_e.clientX,CY:_e.clientY,lastX:V,lastY:re})}Ng(Ku?void 0:"mousemove",function(_e){_e.preventDefault(),Bt(_e.clientX,_e.clientY)}),Ng(Ku?void 0:"mouseup",function(_e){Tt(_e.clientX,_e.clientY)}),Ng(Ku?"touchmove":void 0,function(_e){_e.preventDefault();var Ze=q7(_e);Bt.apply(void 0,Ze)},{passive:!1}),Ng(Ku?"touchend":void 0,function(_e){var Ze=_e.changedTouches[0];Tt(Ze.clientX,Ze.clientY)},{passive:!1}),Ng("resize",aS(function(){q&&!de&&(A(JN(D,j,K)),E())},{maxWait:8})),hP(function(){S&&k(Ts({scale:ee,rotate:K},Ue))},[S]);var ze=function(_e,Ze,Ct,an,tt,pn,Yn,zt,Vt,Ae){var Ge=function(oi,Ui,le,Qe,lt){var Ot=m.useRef(!1),En=yT({lead:!0,scale:le}),li=En[0],Wn=li.lead,di=li.scale,Pn=En[1],fi=aS(function(Yi){try{return lt(!0),Pn({lead:!1,scale:Yi}),Promise.resolve()}catch(Wi){return Promise.reject(Wi)}},{wait:Qe});return hP(function(){Ot.current?(lt(!1),Pn({lead:!0}),fi(le)):Ot.current=!0},[le]),Wn?[oi*di,Ui*di,le/di]:[oi*le,Ui*le,1]}(pn,Yn,zt,Vt,Ae),Ft=Ge[0],mn=Ge[1],en=Ge[2],ui=function(oi,Ui,le,Qe,lt){var Ot=m.useState(Tke),En=Ot[0],li=Ot[1],Wn=m.useState(0),di=Wn[0],Pn=Wn[1],fi=m.useRef(),Yi=Yp({OK:function(){return oi&&Pn(4)}});function Wi(gr){lt(!1),Pn(gr)}return m.useEffect(function(){if(fi.current||(fi.current=Date.now()),le){if(function(gr,vn){var Zi=gr&&gr.current;if(Zi&&Zi.nodeType===1){var ji=Zi.getBoundingClientRect();vn({T:ji.top,L:ji.left,W:ji.width,H:ji.height,FIT:Zi.tagName==="IMG"?getComputedStyle(Zi).objectFit:void 0})}}(Ui,li),oi)return Date.now()-fi.current<250?(Pn(1),requestAnimationFrame(function(){Pn(2),requestAnimationFrame(function(){return Wi(3)})}),void setTimeout(Yi.OK,Qe)):void Pn(4);Wi(5)}},[oi,le]),[di,En]}(_e,Ze,Ct,Vt,Ae),Re=ui[0],rt=ui[1],Dt=rt.W,Yt=rt.FIT,cn=innerWidth/2,Zt=innerHeight/2,ni=Re<3||Re>4;return[ni?Dt?rt.L:cn:an+(cn-pn*zt/2),ni?Dt?rt.T:Zt:tt+(Zt-Yn*zt/2),Ft,ni&&Yt?Ft*(rt.H/Dt):mn,Re===0?en:ni?Dt/(pn*zt)||.01:en,ni?Yt?1:0:1,Re,Yt]}(u,c,q,V,re,F,M,ee,d,function(_e){return A({pause:_e})}),Be=ze[4],bt=ze[6],mt="transform "+d+"ms "+f,At={className:p,onMouseDown:Ku?void 0:function(_e){_e.stopPropagation(),_e.button===0&&vt(_e.clientX,_e.clientY,0)},onTouchStart:Ku?function(_e){_e.stopPropagation(),vt.apply(void 0,q7(_e))}:void 0,onWheel:function(_e){if(!Te){var Ze=sS(ee-_e.deltaY/100/2,D/F);A({stopRaf:!0}),ot(Ze,_e.clientX,_e.clientY)}},style:{width:ze[2]+"px",height:ze[3]+"px",opacity:ze[5],objectFit:bt===4?void 0:ze[7],transform:K?"rotate("+K+"deg)":void 0,transition:bt>2?mt+", opacity "+d+"ms ease, height "+(bt<4?d/2:bt>4?d:0)+"ms "+f:void 0}};return _n.createElement("div",{className:"PhotoView__PhotoWrap"+(h?" "+h:""),style:b,onMouseDown:!Ku&&S?xe:void 0,onTouchStart:Ku&&S?function(_e){return xe(_e.touches[0])}:void 0},_n.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+Be+", 0, 0, "+Be+", "+ze[0]+", "+ze[1]+")",transition:de||Fe?void 0:mt,willChange:S?"transform":void 0}},n?_n.createElement(Nke,Ts({src:n,loaded:q,broken:U},At,{onPhotoLoad:function(_e){A(Ts({},_e,_e.loaded&&JN(_e.naturalWidth||0,_e.naturalHeight||0,K)))},loadingElement:g,brokenElement:O})):i&&i({attrs:At,scale:Be,rotate:K})))}var H7={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 Ike(e){var t=e.loop,n=t===void 0?3:t,i=e.speed,r=e.easing,s=e.photoClosable,a=e.maskClosable,o=a===void 0||a,c=e.maskOpacity,u=c===void 0?1:c,d=e.pullClosable,f=d===void 0||d,h=e.bannerVisible,p=h===void 0||h,b=e.overlayRender,g=e.toolbarRender,O=e.className,y=e.maskClassName,v=e.photoClassName,x=e.photoWrapClassName,w=e.loadingElement,E=e.brokenElement,S=e.images,k=e.index,T=k===void 0?0:k,C=e.onIndexChange,A=e.visible,N=e.onClose,P=e.afterClose,Q=e.portalContainer,D=yT(H7),$=D[0],j=D[1],I=m.useState(0),F=I[0],B=I[1],M=$.x,Y=$.touched,q=$.pause,U=$.lastCX,V=$.lastCY,re=$.bg,de=re===void 0?u:re,be=$.lastBg,ce=$.overlay,K=$.minimal,ee=$.scale,me=$.rotate,ve=$.onScale,Ne=$.onRotate,Ie=e.hasOwnProperty("index"),De=Ie?T:F,pe=Ie?C:B,Se=m.useRef(De),Oe=S.length,Le=S[De],Fe=typeof n=="boolean"?n:Oe>n,Te=function(Be,bt){var mt=m.useReducer(function(Ct){return!Ct},!1)[1],At=m.useRef(0),_e=function(Ct){var an=m.useRef(Ct);function tt(pn){an.current=pn}return m.useMemo(function(){(function(pn){Be?(pn(Be),At.current=1):At.current=2})(tt)},[Ct]),[an.current,tt]}(Be),Ze=_e[1];return[_e[0],At.current,function(){mt(),At.current===2&&(Ze(!1),bt&&bt()),At.current=0}]}(A,P),Ue=Te[0],ot=Te[1],Bt=Te[2];hP(function(){if(Ue)return j({pause:!0,x:De*-(innerWidth+og)}),void(Se.current=De);j(H7)},[Ue]);var Ye=Yp({close:function(Be){Ne&&Ne(0),j({overlay:!0,lastBg:de}),N(Be)},changeIndex:function(Be,bt){bt===void 0&&(bt=!1);var mt=Fe?Se.current+(Be-De):Be,At=Oe-1,_e=fP(mt,0,At),Ze=Fe?mt:_e,Ct=innerWidth+og;j({touched:!1,lastCX:void 0,lastCY:void 0,x:-Ct*Ze,pause:bt}),Se.current=Ze,pe&&pe(Fe?Be<0?At:Be>At?0:Be:_e)}}),Z=Ye.close,ie=Ye.changeIndex;function ue(Be){return Be?Z():j({overlay:!ce})}function ye(){j({x:-(innerWidth+og)*De,lastCX:void 0,lastCY:void 0,pause:!0}),Se.current=De}function z(Be,bt,mt,At){Be==="x"?function(_e){if(U!==void 0){var Ze=_e-U,Ct=Ze;!Fe&&(De===0&&Ze>0||De===Oe-1&&Ze<0)&&(Ct=Ze/2),j({touched:!0,lastCX:U,x:-(innerWidth+og)*Se.current+Ct,pause:!1})}else j({touched:!0,lastCX:_e,x:M,pause:!1})}(bt):Be==="y"&&function(_e,Ze){if(V!==void 0){var Ct=u===null?null:fP(u,.01,u-Math.abs(_e-V)/100/4);j({touched:!0,lastCY:V,bg:Ze===1?Ct:u,minimal:Ze===1})}else j({touched:!0,lastCY:_e,bg:de,minimal:!0})}(mt,At)}function je(Be,bt){var mt=Be-(U??Be),At=bt-(V??bt),_e=!1;if(mt<-40)ie(De+1);else if(mt>40)ie(De-1);else{var Ze=-(innerWidth+og)*Se.current;Math.abs(At)>100&&K&&f&&(_e=!0,Z()),j({touched:!1,x:Ze,lastCX:void 0,lastCY:void 0,bg:u,overlay:!!_e||ce})}}Ng("keydown",function(Be){if(A)switch(Be.key){case"ArrowLeft":ie(De-1,!0);break;case"ArrowRight":ie(De+1,!0);break;case"Escape":Z()}});var We=function(Be,bt,mt){return m.useMemo(function(){var At=Be.length;return mt?Be.concat(Be).concat(Be).slice(At+bt-1,At+bt+2):Be.slice(Math.max(bt-1,0),Math.min(bt+2,At+1))},[Be,bt,mt])}(S,De,Fe);if(!Ue)return null;var et=ce&&!ot,Jt=A?de:be,Xt=ve&&Ne&&{images:S,index:De,visible:A,onClose:Z,onIndexChange:ie,overlayVisible:et,overlay:Le&&Le.overlay,scale:ee,rotate:me,onScale:ve,onRotate:Ne},Tt=i?i(ot):400,vt=r?r(ot):V7,xe=i?i(3):600,ze=r?r(3):V7;return _n.createElement(xke,{className:"PhotoView-Portal"+(et?"":" PhotoView-Slider__clean")+(A?"":" PhotoView-Slider__willClose")+(O?" "+O:""),role:"dialog",onClick:function(Be){return Be.stopPropagation()},container:Q},A&&_n.createElement(Eke,null),_n.createElement("div",{className:"PhotoView-Slider__Backdrop"+(y?" "+y:"")+(ot===1?" PhotoView-Slider__fadeIn":ot===2?" PhotoView-Slider__fadeOut":""),style:{background:Jt?"rgba(0, 0, 0, "+Jt+")":void 0,transitionTimingFunction:vt,transitionDuration:(Y?0:Tt)+"ms",animationDuration:Tt+"ms"},onAnimationEnd:Bt}),p&&_n.createElement("div",{className:"PhotoView-Slider__BannerWrap"},_n.createElement("div",{className:"PhotoView-Slider__Counter"},De+1," / ",Oe),_n.createElement("div",{className:"PhotoView-Slider__BannerRight"},g&&Xt&&g(Xt),_n.createElement(vke,{className:"PhotoView-Slider__toolbarIcon",onClick:Z}))),We.map(function(Be,bt){var mt=Fe||De!==0?Se.current-1+bt:De+bt;return _n.createElement(Rke,{key:Fe?Be.key+"/"+Be.src+"/"+mt:Be.key,item:Be,speed:Tt,easing:vt,visible:A,onReachMove:z,onReachUp:je,onPhotoTap:function(){return ue(s)},onMaskTap:function(){return ue(o)},wrapClassName:x,className:v,style:{left:(innerWidth+og)*mt+"px",transform:"translate3d("+M+"px, 0px, 0)",transition:Y||q?void 0:"transform "+xe+"ms "+ze},loadingElement:w,brokenElement:E,onPhotoResize:ye,isActive:Se.current===mt,expose:j})}),!Ku&&p&&_n.createElement(_n.Fragment,null,(Fe||De!==0)&&_n.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return ie(De-1,!0)}},_n.createElement(wke,null)),(Fe||De+1-1){var y=u.slice();return y.splice(O,1,g),void o({images:y})}o(function(v){return{images:v.images.concat(g)}})},remove:function(g){o(function(O){var y=O.images.filter(function(v){return v.key!==g});return{images:y,index:Math.min(y.length-1,f)}})},show:function(g){var O=u.findIndex(function(y){return y.key===g});o({visible:!0,index:O}),i&&i(!0,O,a)}}),p=Yp({close:function(){o({visible:!1}),i&&i(!1,f,a)},changeIndex:function(g){o({index:g}),n&&n(g,a)}}),b=m.useMemo(function(){return Ts({},a,h)},[a,h]);return _n.createElement(yte.Provider,{value:b},t,_n.createElement(Ike,Ts({images:u,visible:d,index:f,onIndexChange:p.changeIndex,onClose:p.close},r)))}var vte=function(e){var t,n,i=e.src,r=e.render,s=e.overlay,a=e.width,o=e.height,c=e.triggers,u=c===void 0?["onClick"]:c,d=e.children,f=m.useContext(yte),h=(t=function(){return f.nextId()},(n=m.useRef({sign:!1,fn:void 0}).current).sign||(n.sign=!0,n.fn=t()),n.fn),p=m.useRef(null);m.useImperativeHandle(d==null?void 0:d.ref,function(){return p.current}),m.useEffect(function(){return function(){f.remove(h)}},[]);var b=Yp({render:function(O){return r&&r(O)},show:function(O,y){f.show(h),function(v,x){if(d){var w=d.props[v];w&&w(x)}}(O,y)}}),g=m.useMemo(function(){var O={};return u.forEach(function(y){O[y]=b.show.bind(null,y)}),O},[]);return m.useEffect(function(){f.update({key:h,src:i,originRef:p,render:b.render,overlay:s,width:a,height:o})},[i]),d?m.Children.only(m.cloneElement(d,Ts({},g,{ref:p}))):null};const Lke=e=>l.jsxs("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:[l.jsx("path",{d:"M22 6.017c0-1.104-.907-2.037-2.049-2l-.594.025c-2.732.148-4.952.705-7.333 1.953l-.512.279-.087.054a1 1 0 0 0 .971 1.737l.092-.046.454-.246C15.195 6.59 17.26 6.106 20 6.016v11.837c-3.034.046-5.42.582-7.99 1.99l-.517.295-.086.056a1 1 0 0 0 1.009 1.715l.09-.047.455-.258c2.105-1.157 4.045-1.645 6.537-1.738l.543-.014a1.995 1.995 0 0 0 1.95-1.8l.009-.198V6.017Z"}),l.jsx("path",{d:"M2 6.017c0-1.104.907-2.037 2.049-2l.594.025c2.732.148 4.952.705 7.333 1.953l.512.279.087.054a1 1 0 0 1-.971 1.737l-.092-.046-.454-.246C8.805 6.59 6.74 6.106 4 6.016v11.837c3.034.046 5.42.582 7.99 1.99l.517.295.086.056a1 1 0 0 1-1.009 1.715l-.09-.047-.455-.258c-2.105-1.157-4.045-1.644-6.537-1.738l-.543-.014a1.995 1.995 0 0 1-1.95-1.8L2 17.855V6.017Z"}),l.jsx("path",{d:"M13 7.5v13h-2v-13h2Z"})]}),$ke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{fillRule:"evenodd",d:"M10.556 4a1 1 0 0 0-.97.751l-.292 1.14h5.421l-.293-1.14A1 1 0 0 0 13.453 4h-2.897Zm6.224 1.892-.421-1.639A3 3 0 0 0 13.453 2h-2.897A3 3 0 0 0 7.65 4.253l-.421 1.639H4a1 1 0 1 0 0 2h.1l1.215 11.425A3 3 0 0 0 8.3 22h7.4a3 3 0 0 0 2.984-2.683l1.214-11.425H20a1 1 0 1 0 0-2h-3.22Zm1.108 2H6.112l1.192 11.214A1 1 0 0 0 8.3 20h7.4a1 1 0 0 0 .995-.894l1.192-11.214ZM10 10a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0v-5a1 1 0 0 1 1-1Z",clipRule:"evenodd"})}),Qke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{fillRule:"evenodd",d:"M16.793 2.793a3.121 3.121 0 1 1 4.414 4.414l-8.5 8.5A1 1 0 0 1 12 16H9a1 1 0 0 1-1-1v-3a1 1 0 0 1 .293-.707l8.5-8.5Zm3 1.414a1.121 1.121 0 0 0-1.586 0L10 12.414V14h1.586l8.207-8.207a1.121 1.121 0 0 0 0-1.586ZM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-4a1 1 0 1 1 2 0v4a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h4a1 1 0 1 1 0 2H6Z",clipRule:"evenodd"})}),Bke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.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"})}),Fke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M5.91456 7.59106C4.34202 9.04124 3.28878 10.7415 2.77064 11.6971C2.66597 11.8902 2.66597 12.1098 2.77064 12.3029C3.28878 13.2585 4.34202 14.9588 5.91456 16.4089C7.48207 17.8545 9.50584 19 12.0001 19C14.4944 19 16.5182 17.8545 18.0857 16.4089C19.6582 14.9588 20.7114 13.2585 21.2296 12.3029C21.3343 12.1098 21.3343 11.8902 21.2296 11.6971C20.7114 10.7415 19.6582 9.04124 18.0857 7.59105C16.5182 6.1455 14.4944 5 12.0001 5C9.50584 5 7.48207 6.1455 5.91456 7.59106ZM4.5587 6.1208C6.36071 4.45899 8.84593 3 12.0001 3C15.1543 3 17.6395 4.45899 19.4415 6.1208C21.2385 7.77798 22.4153 9.68799 22.9878 10.7438C23.4149 11.5315 23.4149 12.4685 22.9878 13.2562C22.4153 14.312 21.2385 16.222 19.4415 17.8792C17.6395 19.541 15.1543 21 12.0001 21C8.84593 21 6.36071 19.541 4.5587 17.8792C2.76171 16.222 1.5849 14.312 1.01244 13.2562C0.585372 12.4685 0.585371 11.5315 1.01244 10.7438C1.5849 9.688 2.76171 7.77798 4.5587 6.1208ZM12.0001 9.5C10.6194 9.5 9.50011 10.6193 9.50011 12C9.50011 13.3807 10.6194 14.5 12.0001 14.5C13.3808 14.5 14.5001 13.3807 14.5001 12C14.5001 10.6193 13.3808 9.5 12.0001 9.5ZM7.50011 12C7.50011 9.51472 9.51483 7.5 12.0001 7.5C14.4854 7.5 16.5001 9.51472 16.5001 12C16.5001 14.4853 14.4854 16.5 12.0001 16.5C9.51483 16.5 7.50011 14.4853 7.50011 12Z",fill:"currentColor"})}),Uke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M6 12C6 11.4477 6.44772 11 7 11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H7C6.44772 13 6 12.5523 6 12Z",fill:"currentColor"})}),zke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M12 6C12.5523 6 13 6.44772 13 7V11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V13H7C6.44772 13 6 12.5523 6 12C6 11.4477 6.44772 11 7 11H11V7C11 6.44772 11.4477 6 12 6Z",fill:"currentColor"})}),Vke=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289L16.7071 7.29289C17.0976 7.68342 17.0976 8.31658 16.7071 8.70711C16.3166 9.09763 15.6834 9.09763 15.2929 8.70711L13 6.41421V15C13 15.5523 12.5523 16 12 16C11.4477 16 11 15.5523 11 15V6.41421L8.70711 8.70711C8.31658 9.09763 7.68342 9.09763 7.29289 8.70711C6.90237 8.31658 6.90237 7.68342 7.29289 7.29289L11.2929 3.29289ZM4 14C4.55229 14 5 14.4477 5 15V15.2C5 16.0566 5.00078 16.6389 5.03755 17.089C5.07337 17.5274 5.1383 17.7516 5.21799 17.908C5.40973 18.2843 5.7157 18.5903 6.09202 18.782C6.24842 18.8617 6.47262 18.9266 6.91104 18.9624C7.36113 18.9992 7.94342 19 8.8 19H15.2C16.0566 19 16.6389 18.9992 17.089 18.9624C17.5274 18.9266 17.7516 18.8617 17.908 18.782C18.2843 18.5903 18.5903 18.2843 18.782 17.908C18.8617 17.7516 18.9266 17.5274 18.9624 17.089C18.9992 16.6389 19 16.0566 19 15.2V15C19 14.4477 19.4477 14 20 14C20.5523 14 21 14.4477 21 15V15.2413C21 16.0463 21 16.7106 20.9558 17.2518C20.9099 17.8139 20.8113 18.3306 20.564 18.816C20.1805 19.5686 19.5686 20.1805 18.816 20.564C18.3306 20.8113 17.8139 20.9099 17.2518 20.9558C16.7106 21 16.0463 21 15.2413 21H8.75868C7.95372 21 7.28936 21 6.74817 20.9558C6.18608 20.9099 5.66937 20.8113 5.18404 20.564C4.43139 20.1805 3.81947 19.5686 3.43597 18.816C3.18868 18.3306 3.09012 17.8139 3.04419 17.2518C2.99998 16.7106 2.99999 16.0463 3 15.2413L3 15C3 14.4477 3.44772 14 4 14Z",fill:"currentColor"})}),ej=e=>l.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:l.jsx("path",{d:"M8.99805 16.796C8.99805 15.4164 7.87961 14.2979 6.5 14.2979C5.12039 14.2979 4.00195 15.4164 4.00195 16.796C4.00196 18.1756 5.1204 19.294 6.5 19.294C7.8796 19.294 8.99804 18.1756 8.99805 16.796ZM19.748 15.0479C19.748 14.7729 19.525 14.5499 19.25 14.5499H15.75C15.475 14.5499 15.252 14.7729 15.252 15.0479V18.5479C15.252 18.823 15.475 19.046 15.75 19.046H19.25C19.525 19.046 19.748 18.823 19.748 18.5479V15.0479ZM10.0469 3.45125C11.077 2.15921 13.0849 2.20276 14.0498 3.58113L16.4189 6.96492L16.5205 7.12215C17.5046 8.76341 16.3301 10.9023 14.3691 10.9024H9.63086C7.60676 10.9023 6.42029 8.62316 7.58105 6.96492L9.9502 3.58113L10.0469 3.45125ZM12.4082 4.73055C12.2223 4.46497 11.842 4.44826 11.6318 4.68074L11.5918 4.73055L9.22266 8.11433C8.99176 8.44435 9.22808 8.89744 9.63086 8.89754H14.3691C14.7468 8.89745 14.9774 8.49957 14.8145 8.17781L14.7773 8.11433L12.4082 4.73055ZM11.002 16.796C11.0019 19.2824 8.98638 21.2979 6.5 21.2979C4.01362 21.2979 1.99806 19.2824 1.99805 16.796C1.99805 14.3096 4.01361 12.294 6.5 12.294C8.98639 12.294 11.002 14.3096 11.002 16.796ZM21.752 18.5479C21.752 19.9297 20.6318 21.0499 19.25 21.0499H15.75C14.3682 21.0499 13.248 19.9297 13.248 18.5479V15.0479C13.2481 13.6662 14.3682 12.546 15.75 12.546H19.25C20.6318 12.546 21.7519 13.6662 21.752 15.0479V18.5479Z",fill:"currentColor"})});/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nke=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ute=(...e)=>e.filter((t,n,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===n).join(" ").trim();/** + */const qke=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),wte=(...e)=>e.filter((t,n,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===n).join(" ").trim();/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var jke={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 Xke={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 Rke=m.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:r="",children:s,iconNode:a,...o},c)=>m.createElement("svg",{ref:c,...jke,width:t,height:t,stroke:e,strokeWidth:i?Number(n)*24/Number(t):n,className:ute("lucide",r),...o},[...a.map(([u,d])=>m.createElement(u,d)),...Array.isArray(s)?s:[s]]));/** + */const Hke=m.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:r="",children:s,iconNode:a,...o},c)=>m.createElement("svg",{ref:c,...Xke,width:t,height:t,stroke:e,strokeWidth:i?Number(n)*24/Number(t):n,className:wte("lucide",r),...o},[...a.map(([u,d])=>m.createElement(u,d)),...Array.isArray(s)?s:[s]]));/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jt=(e,t)=>{const n=m.forwardRef(({className:i,...r},s)=>m.createElement(Rke,{ref:s,iconNode:t,className:ute(`lucide-${Nke(e)}`,i),...r}));return n.displayName=`${e}`,n};/** + */const It=(e,t)=>{const n=m.forwardRef(({className:i,...r},s)=>m.createElement(Hke,{ref:s,iconNode:t,className:wte(`lucide-${qke(e)}`,i),...r}));return n.displayName=`${e}`,n};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const dte=jt("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** + */const Ste=It("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 Dke=jt("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 Gke=It("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 sx=jt("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** + */const fx=It("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 Ike=jt("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + */const Yke=It("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 fte=jt("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 Ete=It("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 hte=jt("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 kte=It("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 Pke=jt("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 Wke=It("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 yu=jt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const Nu=It("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 Mke=jt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const Zke=It("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 Qb=jt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const Hb=It("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 pte=jt("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 Tte=It("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 Lke=jt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const Kke=It("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 Q7=jt("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 G7=It("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 $ke=jt("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 Jke=It("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 mte=jt("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 _te=It("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 OA=jt("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 EA=It("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 Qke=jt("CornerDownRight",[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);/** + */const eTe=It("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 Bke=jt("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 tTe=It("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 QE=jt("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 zE=It("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 yA=jt("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 kA=It("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 B7=jt("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 Y7=It("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 K0=jt("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 ab=It("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 Fke=jt("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 nTe=It("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 F7=jt("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 W7=It("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 Uke=jt("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 iTe=It("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 zke=jt("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 rTe=It("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 G3=jt("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 r$=It("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 Vke=jt("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 sTe=It("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 gte=jt("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 Ate=It("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 qke=jt("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 aTe=It("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 Xke=jt("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 oTe=It("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 W3=jt("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 s$=It("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 bte=jt("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 Cte=It("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 Hke=jt("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 lTe=It("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 Yke=jt("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 cTe=It("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 xA=jt("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 TA=It("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 Z3=jt("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 a$=It("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 xu=jt("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 ju=It("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 Ote=jt("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 Nte=It("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 Gke=jt("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 uTe=It("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 qn=jt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const Hn=It("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 Wke=jt("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 dTe=It("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 Zke=jt("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 fTe=It("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 Fp=jt("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 Wp=It("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 Kke=jt("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + */const hTe=It("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 yte=jt("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 jte=It("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 Jke=jt("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 pTe=It("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 eTe=jt("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 mTe=It("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 tTe=jt("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 gTe=It("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 nTe=jt("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 bTe=It("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 iTe=jt("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 OTe=It("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 rTe=jt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + */const yTe=It("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 ea=jt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const wa=It("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 xte=jt("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 Rte=It("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 vte=jt("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 Ite=It("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 sTe=jt("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 xTe=It("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 aTe=jt("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 vTe=It("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 pT=jt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const xT=It("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 oTe=jt("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 wTe=It("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 U7=jt("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 Z7=It("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 t1=jt("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 c1=It("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 lTe=jt("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 STe=It("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 mh=jt("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 xh=It("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 cTe=jt("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 ETe=It("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 uTe=jt("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 kTe=It("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 Ma=jt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),z7="veadk_auth_qs",dTe=new Set(["view","source","sessionId","artifactSha256","validationReportSha256"]);let UO=null;function fTe(){if(UO!==null)return UO;const e=new URLSearchParams(window.location.search),t=new URLSearchParams,n=new URLSearchParams,i=e.get("view")==="runtime-deploy"&&e.get("source")==="intelligent-development";e.forEach((s,a)=>{(i&&dTe.has(a)?n:t).append(a,s)});const r=t.toString();if(r?(sessionStorage.setItem(z7,r),UO=r):UO=sessionStorage.getItem(z7)??"",r){const s=n.toString();window.history.replaceState(null,"",window.location.pathname+(s?`?${s}`:"")+window.location.hash)}return UO}function lo(e){const t=fTe();if(!t)return e;const n=new URL(e,window.location.origin);return new URLSearchParams(t).forEach((i,r)=>{n.searchParams.has(r)||n.searchParams.set(r,i)}),/^https?:\/\//i.test(e)?n.toString():n.pathname+n.search+n.hash}const mo=3e4,gr=12e4,K3=1e4;function go(e,t=mo){if(t<=0)return e??void 0;const n=AbortSignal.timeout(t);return e?AbortSignal.any([e,n]):n}const mT="veadk_local_user",gT="veadk_local_user_tab",hTe="X-VeADK-OAuth-Refresh-Retry",pTe=[50,250],mTe=/^[A-Za-z0-9]{1,16}$/;function wte(){try{const e=sessionStorage.getItem(gT);if(e)return e;const t=localStorage.getItem(mT);return t&&sessionStorage.setItem(gT,t),t}catch{try{return localStorage.getItem(mT)}catch{return null}}}function V7(e){try{sessionStorage.setItem(gT,e)}catch{}try{localStorage.setItem(mT,e)}catch{}}function gTe(){try{sessionStorage.removeItem(gT)}catch{}try{localStorage.removeItem(mT)}catch{}}function Ph(e){const t=new Headers(e),n=wte();return n&&t.set("X-VeADK-Local-User",n),t}async function Ste(){let e;try{e=await fetch("/web/auth-config",{headers:{Accept:"application/json"},signal:go(void 0,K3)})}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 bTe(e){const t=window.location.pathname+window.location.search+window.location.hash,n=e.includes("?")?"&":"?";window.location.assign(`${e}${n}redirect=${encodeURIComponent(t)}`)}function OTe(){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 yTe(){const[e,t]=await Promise.all([aP(),Ste()]);return e.status==="unauthenticated"&&t.length>0}function xTe(){window.location.assign("/oauth2/logout")}async function vTe(){for(let e=0;;e+=1){let t;try{t=await fetch("/oauth2/userinfo",{headers:{Accept:"application/json"},signal:go(void 0,K3)})}catch(i){throw console.warn("[identity] /oauth2/userinfo is unreachable:",i),new Error("无法连接身份服务,请检查网络后重试。")}const n=pTe[e];if(t.status!==401||t.headers.get(hTe)!=="1"||n===void 0)return t;await new Promise(i=>window.setTimeout(i,n))}}async function aP(){const e=await vTe();if(e.ok){let n;try{n=await e.json()}catch(r){throw console.warn("[identity] /oauth2/userinfo returned a non-JSON response:",r),new Error("身份服务返回了无法解析的响应,请稍后重试。")}return{status:"authenticated",userId:String(n.sub??n.user_id??n.email??""),info:n}}if(e.status===401)return{status:"unauthenticated",userId:"",local:!1};if(e.status!==404)throw new Error(`身份服务异常(HTTP ${e.status}),请稍后重试。`);const t=wte();return t?{status:"authenticated",userId:t,info:{name:t},local:!0}:{status:"unauthenticated",userId:"",local:!0}}function wTe(e){return e?String(e.name??e.preferred_username??e.email??e.sub??""):""}function STe(e){const t=e==null?void 0:e.picture;return typeof t=="string"?t.trim():""}const oP="veadk:authentication-required";let ax=null,Ey=null;function ETe(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 kTe(e){ax||(ax=new Promise(n=>{Ey=n}),window.dispatchEvent(new Event(oP)));const t=ax;return e?e.aborted?Promise.reject(e.reason??new Error("Request aborted")):new Promise((n,i)=>{const r=()=>i(e.reason??new Error("Request aborted"));e.addEventListener("abort",r,{once:!0}),t.then(()=>{e.removeEventListener("abort",r),n()},s=>{e.removeEventListener("abort",r),i(s)})}):t}function TTe(){return ax!==null}function _Te(){Ey==null||Ey(),Ey=null,ax=null}async function vA(e,t){var i;const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失",s=n.trim().slice(0,2e3),a=s?` -响应:${s}`:"";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},${r})${a}`)}}const ATe=/\brun_sse\s*failed\s*:\s*404\b/i,CTe=/session not found/i,NTe=/(?:^|[::\s])not found\s*$/i,jTe=/Expecting (?:'[^']+'|\w+)(?: delimiter)?: line \d+ column \d+ \(char \d+\)/i,q7="提示:会话已不存在。使用 in-memory 或 SQLite 短期记忆时,多实例、进程重启或滚动发布都可能导致会话丢失;建议改用基于数据库的持久化短期记忆存储。",X7="提示:该 Runtime 未提供会话能力运行接口,可能是 Runtime 版本与当前 Studio 不兼容。",H7="提示:模型生成的工具参数格式不完整,请重新发送一次。";function iS(e){const t=String(e);return jTe.test(t)?t.includes(H7)?t:`${t} + */const za=It("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),K7="veadk_auth_qs",TTe=new Set(["view","source","sessionId","artifactSha256","validationReportSha256"]);let WO=null;function _Te(){if(WO!==null)return WO;const e=new URLSearchParams(window.location.search),t=new URLSearchParams,n=new URLSearchParams,i=e.get("view")==="runtime-deploy"&&e.get("source")==="intelligent-development";e.forEach((s,a)=>{(i&&TTe.has(a)?n:t).append(a,s)});const r=t.toString();if(r?(sessionStorage.setItem(K7,r),WO=r):WO=sessionStorage.getItem(K7)??"",r){const s=n.toString();window.history.replaceState(null,"",window.location.pathname+(s?`?${s}`:"")+window.location.hash)}return WO}function mo(e){const t=_Te();if(!t)return e;const n=new URL(e,window.location.origin);return new URLSearchParams(t).forEach((i,r)=>{n.searchParams.has(r)||n.searchParams.set(r,i)}),/^https?:\/\//i.test(e)?n.toString():n.pathname+n.search+n.hash}const vo=3e4,kr=12e4,o$=1e4;function wo(e,t=vo){if(t<=0)return e??void 0;const n=AbortSignal.timeout(t);return e?AbortSignal.any([e,n]):n}const vT="veadk_local_user",wT="veadk_local_user_tab",ATe="X-VeADK-OAuth-Refresh-Retry",CTe=[50,250],NTe=/^[A-Za-z0-9]{1,16}$/;function Dte(){try{const e=sessionStorage.getItem(wT);if(e)return e;const t=localStorage.getItem(vT);return t&&sessionStorage.setItem(wT,t),t}catch{try{return localStorage.getItem(vT)}catch{return null}}}function J7(e){try{sessionStorage.setItem(wT,e)}catch{}try{localStorage.setItem(vT,e)}catch{}}function jTe(){try{sessionStorage.removeItem(wT)}catch{}try{localStorage.removeItem(vT)}catch{}}function Bh(e){const t=new Headers(e),n=Dte();return n&&t.set("X-VeADK-Local-User",n),t}async function Pte(){let e;try{e=await fetch("/web/auth-config",{headers:{Accept:"application/json"},signal:wo(void 0,o$)})}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 RTe(e){const t=window.location.pathname+window.location.search+window.location.hash,n=e.includes("?")?"&":"?";window.location.assign(`${e}${n}redirect=${encodeURIComponent(t)}`)}function ITe(){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 DTe(){const[e,t]=await Promise.all([mP(),Pte()]);return e.status==="unauthenticated"&&t.length>0}function PTe(){window.location.assign("/oauth2/logout")}async function MTe(){for(let e=0;;e+=1){let t;try{t=await fetch("/oauth2/userinfo",{headers:{Accept:"application/json"},signal:wo(void 0,o$)})}catch(i){throw console.warn("[identity] /oauth2/userinfo is unreachable:",i),new Error("无法连接身份服务,请检查网络后重试。")}const n=CTe[e];if(t.status!==401||t.headers.get(ATe)!=="1"||n===void 0)return t;await new Promise(i=>window.setTimeout(i,n))}}async function mP(){const e=await MTe();if(e.ok){let n;try{n=await e.json()}catch(r){throw console.warn("[identity] /oauth2/userinfo returned a non-JSON response:",r),new Error("身份服务返回了无法解析的响应,请稍后重试。")}return{status:"authenticated",userId:String(n.sub??n.user_id??n.email??""),info:n}}if(e.status===401)return{status:"unauthenticated",userId:"",local:!1};if(e.status!==404)throw new Error(`身份服务异常(HTTP ${e.status}),请稍后重试。`);const t=Dte();return t?{status:"authenticated",userId:t,info:{name:t},local:!0}:{status:"unauthenticated",userId:"",local:!0}}function LTe(e){return e?String(e.name??e.preferred_username??e.email??e.sub??""):""}function $Te(e){const t=e==null?void 0:e.picture;return typeof t=="string"?t.trim():""}const gP="veadk:authentication-required";let hx=null,Ry=null;function QTe(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 BTe(e){hx||(hx=new Promise(n=>{Ry=n}),window.dispatchEvent(new Event(gP)));const t=hx;return e?e.aborted?Promise.reject(e.reason??new Error("Request aborted")):new Promise((n,i)=>{const r=()=>i(e.reason??new Error("Request aborted"));e.addEventListener("abort",r,{once:!0}),t.then(()=>{e.removeEventListener("abort",r),n()},s=>{e.removeEventListener("abort",r),i(s)})}):t}function FTe(){return hx!==null}function UTe(){Ry==null||Ry(),Ry=null,hx=null}async function _A(e,t){var i;const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失",s=n.trim().slice(0,2e3),a=s?` +响应:${s}`:"";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},${r})${a}`)}}const zTe=/\brun_sse\s*failed\s*:\s*404\b/i,VTe=/session not found/i,qTe=/(?:^|[::\s])not found\s*$/i,XTe=/Expecting (?:'[^']+'|\w+)(?: delimiter)?: line \d+ column \d+ \(char \d+\)/i,eF="提示:会话已不存在。使用 in-memory 或 SQLite 短期记忆时,多实例、进程重启或滚动发布都可能导致会话丢失;建议改用基于数据库的持久化短期记忆存储。",tF="提示:该 Runtime 未提供会话能力运行接口,可能是 Runtime 版本与当前 Studio 不兼容。",nF="提示:模型生成的工具参数格式不完整,请重新发送一次。";function oS(e){const t=String(e);return XTe.test(t)?t.includes(nF)?t:`${t} -${H7}`:ATe.test(t)?CTe.test(t)?t.includes(q7)?t:`${t} +${nF}`:zTe.test(t)?VTe.test(t)?t.includes(eF)?t:`${t} -${q7}`:NTe.test(t)?t.includes(X7)?t:`${t} +${eF}`:qTe.test(t)?t.includes(tF)?t:`${t} -${X7}`:t:t}async function*J3(e){if(!e.body)throw new Error("Response has no body");const t=e.body.getReader(),n=new TextDecoder;let i="";try{for(;;){const{done:r,value:s}=await t.read();if(r)break;i+=n.decode(s,{stream:!0});let a=i.match(/\r?\n\r?\n/);for(;(a==null?void 0:a.index)!==void 0;){const o=i.slice(0,a.index);i=i.slice(a.index+a[0].length);const c=o.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=i.match(/\r?\n\r?\n/)}}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}const RTe=255,DTe=/[\p{L}\p{M}\p{N}\p{P}\p{Zs}]/u;function ITe(e){const t=e.normalize("NFKC").replace(/\s+/gu," ").trim(),n=new TextEncoder;let i=0,r="";for(const s of t){if(!DTe.test(s))continue;const a=n.encode(s).byteLength;if(i+a>RTe)break;r+=s,i+=a}return r.replace(/ +/g," ").trimEnd()}const lP="ap-southeast-1",e$="cn-beijing",PTe="https://ark.ap-southeast.bytepluses.com/api/v3",MTe="https://ark.cn-beijing.volces.com/api/v3/",LTe="https://console.byteplus.com/ark/region:ark+ap-southeast-1/openManagement",$Te="https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement",QTe="dola-seed-2-1-turbo-260628",BTe="doubao-seed-2-1-pro-260628",FTe="skylark-embedding-vision-250615",UTe="doubao-embedding-vision-250615",zTe="seed-2-0-lite-260228",VTe="doubao-seed-2-0-lite-260428",qTe="dola-seedream-5-0-pro-260628",XTe="doubao-seedream-5-0-260128",HTe="seededit-3-0-i2i-250628",YTe="doubao-seededit-3-0-i2i-250628",GTe="dreamina-seedance-2-0-260128",WTe="doubao-seedance-2-0-260128",Ete=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}],kte=[{value:lP,label:lP}];function J0(e){return e==="byteplus"?kte:Ete}function Ri(e){var t;return((t=J0(e)[0])==null?void 0:t.value)||e$}const ZTe=new Set(["cn-beijing","cn-shanghai","ap-southeast-1"]);function t$(e){return typeof e=="string"&&ZTe.has(e)}function du(e,t){var i;return((i=(t?J0(t):[...Ete,...kte]).find(r=>r.value===e))==null?void 0:i.label)||e||"-"}function nm(e){return e==="byteplus"?QTe:BTe}function hc(e){return e==="byteplus"?PTe:MTe}function KTe(e){return e==="byteplus"?LTe:$Te}function JTe(e){return e==="byteplus"?FTe:UTe}function e_e(e){return e==="byteplus"?zTe:VTe}function t_e(e){return e==="byteplus"?qTe:XTe}function n_e(e){return e==="byteplus"?HTe:YTe}function i_e(e){return e==="byteplus"?GTe:WTe}const n$="veadk.messageFeedback.v1";function i$(e,t,n,i){return[e,t,n,i].join(":")}function r$(){if(typeof window>"u")return{};try{const e=JSON.parse(localStorage.getItem(n$)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}}function r_e(e,t,n){if(typeof window>"u")return;const i=r$();i[e]={...i[e]??{},[`veadk_feedback:${t}`]:n},localStorage.setItem(n$,JSON.stringify(i))}function Tte(e){if(typeof window>"u")return;const t=i$(e.runtimeId,e.appName,e.userId,e.sessionId),n=r$(),i=n[t];if(i){for(const r of e.eventIds)delete i[`veadk_feedback:${r}`];Object.keys(i).length===0?delete n[t]:n[t]=i,localStorage.setItem(n$,JSON.stringify(n))}}const BE="",s$=new Map;function _te(e,t){s$.set(e,t)}function Ate(){s$.clear()}function cs(e){const t=s$.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 Qt(e,t={},n={},i=mo){const r=!!n.runtimeId&&String(t.method??"GET").toUpperCase()==="DELETE",s={...t,...r?{method:"POST"}:{},headers:Ph(t.headers)},a=()=>{const u={...s,signal:go(t.signal,i)};if(n.runtimeId){const d=new URLSearchParams;n.region&&d.set("region",n.region),n.retryProbe&&d.set("probe_retry","connect"),r&&d.set("_method","DELETE");const f=d.toString()?`${e.includes("?")?"&":"?"}${d.toString()}`:"";return fetch(lo(`${BE}/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(lo(`${BE}/agentkit-proxy${e}`),{...u,headers:d})}return fetch(lo(`${BE}${e}`),u)},o=async u=>{if(ETe(u))return!0;if(u.status!==401)return!1;try{return await yTe()}catch{return!1}};let c=await a();for(;await o(c);)await kTe(t.signal),c=await a();return c}function Kn(e,t={},n=mo){return Qt(e,t,{},n)}function s_e(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{var n;if(t&&typeof t=="object"&&"msg"in t){const i=Array.isArray(t.loc)?(n=t.loc)==null?void 0:n.join("."):"",r=String(t.msg??"");return i?`${i}: ${r}`:r}return String(t)}).filter(Boolean).join(` -`):e&&typeof e=="object"?JSON.stringify(e):""}async function on(e,t){const n=`${t}(HTTP ${e.status})`,i=await e.text().catch(()=>"");if(!i)return n;try{const r=JSON.parse(i),s=s_e(r.detail??r.error);return s?`${n} +${tF}`:t:t}async function*l$(e){if(!e.body)throw new Error("Response has no body");const t=e.body.getReader(),n=new TextDecoder;let i="";try{for(;;){const{done:r,value:s}=await t.read();if(r)break;i+=n.decode(s,{stream:!0});let a=i.match(/\r?\n\r?\n/);for(;(a==null?void 0:a.index)!==void 0;){const o=i.slice(0,a.index);i=i.slice(a.index+a[0].length);const c=o.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=i.match(/\r?\n\r?\n/)}}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}const HTe=255,GTe=/[\p{L}\p{M}\p{N}\p{P}\p{Zs}]/u;function YTe(e){const t=e.normalize("NFKC").replace(/\s+/gu," ").trim(),n=new TextEncoder;let i=0,r="";for(const s of t){if(!GTe.test(s))continue;const a=n.encode(s).byteLength;if(i+a>HTe)break;r+=s,i+=a}return r.replace(/ +/g," ").trimEnd()}const bP="ap-southeast-1",c$="cn-beijing",WTe="https://ark.ap-southeast.bytepluses.com/api/v3",ZTe="https://ark.cn-beijing.volces.com/api/v3/",KTe="https://console.byteplus.com/ark/region:ark+ap-southeast-1/openManagement",JTe="https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement",e_e="dola-seed-2-1-turbo-260628",t_e="doubao-seed-2-1-pro-260628",n_e="skylark-embedding-vision-250615",i_e="doubao-embedding-vision-250615",r_e="seed-2-0-lite-260228",s_e="doubao-seed-2-0-lite-260428",a_e="dola-seedream-5-0-pro-260628",o_e="doubao-seedream-5-0-260128",l_e="seededit-3-0-i2i-250628",c_e="doubao-seededit-3-0-i2i-250628",u_e="dreamina-seedance-2-0-260128",d_e="doubao-seedance-2-0-260128",Mte=[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}],Lte=[{value:bP,label:bP}];function ob(e){return e==="byteplus"?Lte:Mte}function Li(e){var t;return((t=ob(e)[0])==null?void 0:t.value)||c$}const f_e=new Set(["cn-beijing","cn-shanghai","ap-southeast-1"]);function u$(e){return typeof e=="string"&&f_e.has(e)}function wu(e,t){var i;return((i=(t?ob(t):[...Mte,...Lte]).find(r=>r.value===e))==null?void 0:i.label)||e||"-"}function dm(e){return e==="byteplus"?e_e:t_e}function Sc(e){return e==="byteplus"?WTe:ZTe}function h_e(e){return e==="byteplus"?KTe:JTe}function p_e(e){return e==="byteplus"?n_e:i_e}function m_e(e){return e==="byteplus"?r_e:s_e}function g_e(e){return e==="byteplus"?a_e:o_e}function b_e(e){return e==="byteplus"?l_e:c_e}function O_e(e){return e==="byteplus"?u_e:d_e}const d$="veadk.messageFeedback.v1";function f$(e,t,n,i){return[e,t,n,i].join(":")}function h$(){if(typeof window>"u")return{};try{const e=JSON.parse(localStorage.getItem(d$)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}}function y_e(e,t,n){if(typeof window>"u")return;const i=h$();i[e]={...i[e]??{},[`veadk_feedback:${t}`]:n},localStorage.setItem(d$,JSON.stringify(i))}function $te(e){if(typeof window>"u")return;const t=f$(e.runtimeId,e.appName,e.userId,e.sessionId),n=h$(),i=n[t];if(i){for(const r of e.eventIds)delete i[`veadk_feedback:${r}`];Object.keys(i).length===0?delete n[t]:n[t]=i,localStorage.setItem(d$,JSON.stringify(n))}}const VE="",p$=new Map;function Qte(e,t){p$.set(e,t)}function Bte(){p$.clear()}function gs(e){const t=p$.get(e);return t?{app:t.app,ep:{base:t.base,apiKey:t.apiKey,runtimeId:t.runtimeId,region:t.region}}:{app:e,ep:{}}}async function kt(e,t={},n={},i=vo){const r=!!n.runtimeId&&String(t.method??"GET").toUpperCase()==="DELETE",s={...t,...r?{method:"POST"}:{},headers:Bh(t.headers)},a=()=>{const u={...s,signal:wo(t.signal,i)};if(n.runtimeId){const d=new URLSearchParams;n.region&&d.set("region",n.region),n.retryProbe&&d.set("probe_retry","connect"),r&&d.set("_method","DELETE");const f=d.toString()?`${e.includes("?")?"&":"?"}${d.toString()}`:"";return fetch(mo(`${VE}/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(mo(`${VE}/agentkit-proxy${e}`),{...u,headers:d})}return fetch(mo(`${VE}${e}`),u)},o=async u=>{if(QTe(u))return!0;if(u.status!==401)return!1;try{return await DTe()}catch{return!1}};let c=await a();for(;await o(c);)await BTe(t.signal),c=await a();return c}function ri(e,t={},n=vo){return kt(e,t,{},n)}function x_e(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{var n;if(t&&typeof t=="object"&&"msg"in t){const i=Array.isArray(t.loc)?(n=t.loc)==null?void 0:n.join("."):"",r=String(t.msg??"");return i?`${i}: ${r}`:r}return String(t)}).filter(Boolean).join(` +`):e&&typeof e=="object"?JSON.stringify(e):""}async function hn(e,t){const n=`${t}(HTTP ${e.status})`,i=await e.text().catch(()=>"");if(!i)return n;try{const r=JSON.parse(i),s=x_e(r.detail??r.error);return s?`${n} ${s} 原始响应: ${i}`:`${n} 原始响应: ${i}`}catch{return`${n} 原始响应: -${i}`}}async function Cte(e,t=!1){const n=await Qt(`/web/model-api-keys${t?"?refresh=true":""}`,{signal:e,cache:"no-store"});if(!n.ok)throw new Error(await on(n,"加载 Ark API Key 失败"));return await n.json()}async function Nte(e,t){const n=await Qt(`/web/model-api-keys/${encodeURIComponent(e)}/value`,{method:"POST",signal:t,cache:"no-store"});if(!n.ok)throw new Error(await on(n,"加载 Ark API Key 失败"));return await n.json()}async function a$(e){const t=new URLSearchParams;e!=null&&e.apiKeyId&&t.set("apiKeyId",e.apiKeyId),e!=null&&e.refresh&&t.set("refresh","true");const n=t.toString(),i=await Qt(`/web/model-options${n?`?${n}`:""}`,{signal:e==null?void 0:e.signal,cache:"no-store"});if(!i.ok)throw new Error(await on(i,"加载模型列表失败"));return await i.json()}async function jte(){const e=await Qt("/list-apps");if(!e.ok)throw new Error(`list-apps failed: ${e.status}`);return e.json()}class Bb extends Error{constructor(){super("当前账号无权访问该 Runtime,请刷新列表或重新登录后重试。"),this.name="RuntimeAccessDeniedError"}}class Ra extends Error{constructor(t,n=!1,i=!1){super(t),this.unsupported=n,this.retryable=i,this.name="RuntimeProbeError"}}const Rte="Runtime 已部署成功,但当前 Studio 无法访问私网 Runtime。请使用已绑定相同 VPC 的 Studio 访问,或改用公网 / 公网+VPC 部署。",Dte="Runtime 已部署成功,但 Studio 暂时无法连接服务。网关域名可能仍在生效,或当前网络/DNS 无法访问该 Runtime,请稍后在智能体管理页重试连接。",Y7=["cn-beijing","cn-shanghai"],a_e=3e4,wA=5*60*1e3,Ite=60*1e3;let Pte="volcengine";const FE=new Map,up=new Map,dp=new Map,tc=new Map;function Mte(e,t){return`${t}:${e}`}function Lte(e){Pte=e}function vv(e){const t=(e||"").trim();if(Pte==="byteplus")return[t&&!t.startsWith("cn-")?t:lP];const n=t&&!t.startsWith("ap-")?t:e$;return Y7.includes(n)?[n,...Y7.filter(i=>i!==n)]:[n]}function SA(e){const t=(e||"").trim();return t?[t]:vv()}function Fb(...e){return e.map(t=>String(t??"")).join("")}function Ub(e,t,n){const i=e.get(t);return i!=null&&i.value&&Date.now()-i.updatedAt<=n?i.value:null}function o$(e,t,n){return e.set(t,{value:n,updatedAt:Date.now()}),n}async function $te(e){try{const t=await e.clone().json();return typeof t.detail=="string"?t.detail:""}catch{return""}}async function EA(e,t,n){const i=await Qt("/list-apps",{},n??{base:e,apiKey:t}),r=n!=null&&n.runtimeId?await $te(i):"";if(n!=null&&n.runtimeId&&r==="runtime_access_denied")throw new Bb;if(n!=null&&n.runtimeId&&r==="runtime_private_endpoint_unreachable")throw new Ra(Rte);if(n!=null&&n.runtimeId&&["runtime_proxy_connect_error","runtime_proxy_timeout","runtime_json_connect_error","runtime_json_timeout"].includes(r))throw new Ra(Dte,!1,!0);if(n!=null&&n.runtimeId&&i.status===404)throw new Ra("该 Runtime 的 Agent Server 未提供连接接口,请确认 Runtime 已就绪且版本兼容。",!0,!0);if(n!=null&&n.runtimeId&&(i.status===401||i.status===403))throw new Ra("Runtime 服务拒绝了连接请求,请检查 Runtime 的鉴权配置。");if(!i.ok)throw new Error(await on(i,"读取 Agent 列表失败"));const s=await i.json();return n!=null&&n.runtimeId&&FE.set(Mte(n.runtimeId,n.region??""),{apps:s,expiresAt:Date.now()+a_e}),s}async function Qte(e,t){const{app:n,ep:i}=cs(e),r=await Qt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"},i);if(!r.ok){const a=`创建会话失败 (${r.status})`,o=await on(r,"创建会话失败");throw new Error(o===a?a:`${a}:${o}`)}return(await r.json()).id}async function l$(e,t){const{app:n,ep:i}=cs(e),r=await Qt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{},i);if(!r.ok)throw new Error(`list sessions failed: ${r.status}`);return r.json()}async function kA(e,t,n){const{app:i,ep:r}=cs(e),s=await Qt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}`,{},r);if(!s.ok){const o=await on(s,"读取会话失败");throw new Error(`get session failed: ${s.status}:${o}`)}const a=await s.json();if(r.runtimeId){const o=i$(r.runtimeId,i,t,n);a.state={...r$()[o]??{},...a.state??{}}}return a}async function Bte(e){const{app:t,ep:n}=cs(e.appName);if(!n.runtimeId)throw new Error("只有连接到 AgentKit Runtime 的会话支持反馈回流");if(!n.region)throw new Error("Runtime 缺少地域信息,无法提交反馈");const i=await Qt("/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??""})},{},gr);if(!i.ok)throw new Error(await on(i,"提交反馈失败"));const r=await i.json(),s=i$(n.runtimeId,t,e.userId,e.sessionId);return r_e(s,e.eventId,r),r}async function TA(e,t={}){const n=Fb(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),i=Ub(tc,n,Ite);if(!t.force&&i)return i;const r=tc.get(n);if(!t.force&&(r!=null&&r.promise))return r.promise;let s=null;const a=(async()=>{for(const o of SA(e.region)){const c=new URLSearchParams({runtimeId:e.runtimeId,region:o,appName:e.appName,page_size:String(e.pageSize??100)}),u=await Qt(`/web/evaluation/feedback-cases?${c.toString()}`);if(u.ok)return o$(tc,n,await u.json());s=new Error(await on(u,"读取评测集失败"))}throw s??new Error("读取评测集失败")})();tc.set(n,{...r,promise:a,updatedAt:(r==null?void 0:r.updatedAt)??0});try{return await a}finally{const o=tc.get(n);(o==null?void 0:o.promise)===a&&tc.set(n,{value:o.value,updatedAt:o.updatedAt})}}async function cP(e){let t=null;for(const n of SA(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName,userId:e.userId}),r=await Qt(`/web/evaluation/statuses?${i.toString()}`);if(r.ok)return r.json();t=new Error(await on(r,"读取自动评测状态失败"))}throw t??new Error("读取自动评测状态失败")}async function Fte(e){let t=null;for(const n of SA(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName}),r=await Qt(`/web/evaluation/optimizations?${i.toString()}`);if(r.ok)return r.json();t=new Error(await on(r,"读取优化项失败"))}throw t??new Error("读取优化项失败")}function Ute(e){return Ub(tc,Fb(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),Ite)}function o_e(e){TA(e).catch(()=>{})}function zte(e){TA(e,{force:!0}).catch(()=>{})}function Vte(e,t){return["good","bad"].map(n=>{const i=e.find(r=>r.kind===n);return{kind:n,evaluationSetId:(i==null?void 0:i.evaluationSetId)??null,evaluationSetName:(i==null?void 0:i.evaluationSetName)??null,workspaceId:(i==null?void 0:i.workspaceId)??null,itemCount:t.filter(r=>r.kind===n).length}})}function UE(e){const t=e.comment??"",n=e.rating==="bad"&&!!t.trim();for(const[i,r]of tc.entries()){const s=r.value;if(!s||s.runtimeId!==e.runtimeId||s.agentName!==e.appName)continue;const a=s.items.filter(c=>c.sessionId!==e.sessionId||c.messageId!==e.messageId),o=e.rating?[{id:`local:${e.runtimeId}:${e.sessionId}:${e.messageId}`,itemKey:`local:${e.messageId}`,kind:e.rating,input:e.input,output:e.output,referenceOutput:e.referenceOutput??e.output,comment:t,agentName:e.appName,sessionId:e.sessionId,messageId:e.messageId,runtimeId:e.runtimeId,invocationId:e.invocationId??"",userId:e.userId,createdAt:e.createdAt??new Date().toISOString(),evaluationSetId:"",evaluationSetName:"",workspaceId:"",source:"user",score:n?0:null,reason:n?t:""},...a]:a;tc.set(i,{value:{...s,sets:Vte(s.sets,o),items:o},updatedAt:Date.now(),promise:r.promise})}}async function qte(e){let t=null;for(const n of SA(e.region)){const i=await Qt("/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})},{},gr);if(i.ok){const r=await i.json(),s=new Set(e.itemIds);for(const[a,o]of tc.entries()){const c=o.value;if(!c||c.runtimeId!==e.runtimeId||c.agentName!==e.appName)continue;const u=c.items.filter(d=>!s.has(d.id));tc.set(a,{value:{...c,sets:Vte(c.sets,u),items:u},updatedAt:Date.now()})}return r}t=new Error(await on(i,"删除评测案例失败"))}throw t??new Error("删除评测案例失败")}async function uP(e,t,n){const{app:i,ep:r}=cs(e),s=await Qt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${n}`,{method:"DELETE"},r);if(!s.ok&&s.status!==404)throw new Error(`delete session failed: ${s.status}`)}function l_e(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"="),i=window.atob(n),r=new Uint8Array(i.length);for(let s=0;sURL.revokeObjectURL(o),0)}async function Xte(e,t,n,i,r){const{app:s,ep:a}=cs(e),o=r==null?"":`?version=${encodeURIComponent(r)}`,c=`/apps/${encodeURIComponent(s)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/artifacts/${encodeURIComponent(i)}${o}`,u=await Qt(c,{},a,gr);if(!u.ok)throw new Error(await on(u,"下载文件失败"));const d=await u.json(),f=d.inlineData??d.inline_data;if(!(f!=null&&f.data))throw new Error("文件内容不可用");const h=l_e(f.data),p=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength);return{blob:new Blob([p],{type:f.mimeType??f.mime_type??"application/octet-stream"}),downloadName:f.displayName??f.display_name??i}}async function u$(e,t,n,i,r){const{blob:s}=await Xte(e,t,n,i,r);return URL.createObjectURL(s)}async function c_e(e){const t=await Qt("/web/media/capabilities");if(!t.ok)throw new Error(await on(t,"media capabilities failed"));return t.json()}async function Hte(e,t,n,i){const{app:r}=cs(e),s=new FormData;s.set("app_name",r),s.set("user_id",t),s.set("session_id",n),s.set("file",i);const a=await Qt("/web/media",{method:"POST",body:s},{},gr);if(!a.ok)throw new Error(await on(a,"文件上传失败"));return{...await a.json(),status:"ready"}}async function dP(e,t,n){const{app:i}=cs(e),r=`/web/media/${encodeURIComponent(i)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/delete`,s=await Qt(r,{method:"POST"});if(!s.ok&&s.status!==404)throw new Error(await on(s,"media cleanup failed"))}function Yte(e){try{const t=new URL(e);if(t.protocol!=="veadk-media:"||t.hostname!=="apps")return;const n=t.pathname.split("/").filter(Boolean).map(decodeURIComponent);return n.length!==7||n[1]!=="users"||n[3]!=="sessions"||n[5]!=="media"?void 0:`/web/media/${n.map(encodeURIComponent).filter((i,r)=>![1,3,5].includes(r)).join("/")}`}catch{return}}async function zE(e,t){const n=Yte(t);if(!n)throw new Error("Invalid VeADK media URI");const i=await Qt(`${n}/delete`,{method:"POST"});if(!i.ok&&i.status!==404)throw new Error(await on(i,"media cleanup failed"))}function Gte(e,t){if(t.startsWith("data:")||t.startsWith("blob:")||/^https?:/.test(t))return t;const n=Yte(t);if(!n)return t;const i=`${n}/content`;return lo(`${BE}${i}`)}async function bT(e,t,n){const{app:i,ep:r}=cs(e);let s;if(r.runtimeId){const c=new URLSearchParams({runtimeId:r.runtimeId,sessionId:t,region:r.region??"cn-beijing"});if(n&&c.set("endTimeMs",String(Math.round(n))),s=await Qt(`/web/runtime-trace?${c.toString()}`),s.status===404)throw new Error("该 Agent 暂未开启链路观测,请到控制台打开后使用。")}else s=await Qt(`/dev/apps/${encodeURIComponent(i)}/debug/trace/session/${encodeURIComponent(t)}`,{},r);if(!s.ok)throw new Error(await on(s,"加载调用链路失败"));const a=s.headers.get("content-type")??"";if(!a.includes("application/json")){const c=a.split(";",1)[0]||"Content-Type 缺失";throw new Error(`trace failed: 服务端返回了非 JSON 响应(${c}),请检查 Studio API 代理配置`)}const o=await s.json();if(!Array.isArray(o))throw new Error("trace failed: 返回格式无效");return o}async function fP(e){const t=await Qt("/web/issue-feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await on(t,"问题反馈上报失败"));if((await t.json()).submitted!==!0)throw new Error("问题反馈上报失败:服务端未确认提交结果");return{submitted:!0}}function d$(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 f$(e,t,n){return`/harness/apps/${encodeURIComponent(e)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/capabilities`}async function hP(e,t,n){const{app:i,ep:r}=cs(e),s=await Qt(f$(i,t,n),{},r);if(!s.ok)throw new Error(await on(s,"读取会话能力失败"));return d$(await s.json())}async function h$(e){const{ep:t}=cs(e),n=await Qt("/harness/capabilities/tools",{},t);if(!n.ok)throw new Error(await on(n,"读取内置工具失败"));return((await n.json()).tools??[]).map(r=>{var s;return((s=r.name)==null?void 0:s.trim())??""}).filter(Boolean)}async function u_e(e){const{ep:t}=cs(e),n=await Qt("/harness/skills/spaces?region=all",{},t);if(!n.ok)throw new Error(await on(n,"读取 Skill Space 失败"));return(await n.json()).items??[]}async function d_e(e,t,n){const{ep:i}=cs(e),r=new URLSearchParams({region:n||"cn-beijing"}),s=`/harness/skills/spaces/${encodeURIComponent(t)}/skills?${r.toString()}`,a=await Qt(s,{},i);if(!a.ok)throw new Error(await on(a,"读取 Skill 列表失败"));return(await a.json()).items??[]}async function Wte(e,t,n=1,i=20){const{ep:r}=cs(e),s=new URLSearchParams({query:t,page_number:String(n),page_size:String(i)}),a=await Qt(`/harness/skills/findskill?${s.toString()}`,{},r);if(!a.ok)throw new Error(await on(a,"搜索 Skill Hub 失败"));const o=await a.json();return{items:o.items??[],totalCount:Number(o.totalCount??0)}}async function pP(e,t,n,i,r){const{app:s,ep:a}=cs(e),o=await Qt(f$(s,t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:i.kind,name:i.name,skill_source_id:i.skillSourceId,description:i.description,version:i.version,expected_revision:r})},a);if(!o.ok)throw new Error(await on(o,"添加会话能力失败"));return d$(await o.json())}async function Zte(e,t,n,i,r){const{app:s,ep:a}=cs(e),o=`${f$(s,t,n)}/${encodeURIComponent(i)}?expected_revision=${r}`,c=await Qt(o,{method:"DELETE"},a);if(!c.ok)throw new Error(await on(c,"移除会话能力失败"));return d$(await c.json())}async function Kte(e,t,n=!0){const i=await Qt(`/web/agent-info/${e}`,{},t);if(!i.ok)throw new Error(`agent-info failed: ${i.status}`);const r=await i.json();if(n&&!r.draft)try{const s=await Qt(`/web/agent-draft/${e}`,{},t);if(s.ok){const a=await s.json();r.draft=a.draft}}catch{}return{appName:e,name:r.name??e,description:r.description??"",type:r.type,model:r.model??"",tools:r.tools??[],skillsPreviewSupported:Array.isArray(r.skills),skills:r.skills??[],subAgents:r.subAgents??[],components:r.components??[],searchSources:r.searchSources??[],graph:r.graph,draft:r.draft}}async function mP(e){const{app:t,ep:n}=cs(e);return Kte(t,n,!1)}async function f_e(e,t,n){let i=null;for(const r of vv(t)){const s={runtimeId:e,region:r};try{const a=Mte(e,r),o=FE.get(a);o&&o.expiresAt<=Date.now()&&FE.delete(a);const c=FE.get(a),u=n||(c==null?void 0:c.apps[0])||(await EA("","",s))[0];if(!u)throw new Error("该 Runtime 未提供可预览的 Agent。");return Kte(u,s)}catch(a){if(a instanceof Bb||a instanceof Ra&&!a.unsupported)throw a;i=a instanceof Error?a:new Error(String(a))}}throw i??new Error("该 Runtime 未提供可预览的 Agent。")}async function p$(e,t,n={},i={}){const r=typeof n=="string"?n:void 0,s=typeof n=="string"?i:n,a=Fb(e,t||"cn-beijing",r??""),o=Ub(up,a,wA);if(!s.force&&o)return o;const c=up.get(a);if(!s.force&&(c!=null&&c.promise))return c.promise;const u=f_e(e,t,r).then(d=>o$(up,a,d));up.set(a,{...c,promise:u,updatedAt:(c==null?void 0:c.updatedAt)??0});try{return await u}finally{const d=up.get(a);(d==null?void 0:d.promise)===u&&up.set(a,{value:d.value,updatedAt:d.updatedAt})}}function Jte(e,t,n=""){return Ub(up,Fb(e,t||"cn-beijing",n),wA)}function ene(e,t,n=""){p$(e,t,n).catch(()=>{})}async function tne(e,t,n,i){const{app:r,ep:s}=cs(e),a=new URLSearchParams({source:t,app_name:r,q:n,user_id:i}),o=await Qt(`/web/search?${a.toString()}`,{},s);if(!o.ok)throw new Error(await on(o,"Agent 检索失败"));return o.json()}async function nne(e,t){const{app:n}=cs(e),i=await Qt(`/web/search?source=web&app_name=${encodeURIComponent(n)}&q=${encodeURIComponent(t)}`);if(!i.ok)throw new Error(`web search failed: ${i.status}`);return i.json()}async function*gP({appName:e,userId:t,sessionId:n,text:i,attachments:r=[],invocation:s,functionResponses:a=[],signal:o,sessionCapabilities:c=!1}){const{app:u,ep:d}=cs(e),f=r.flatMap(g=>g.status&&g.status!=="ready"?[]:g.uri?[{fileData:{mimeType:g.mimeType,fileUri:g.uri,displayName:g.name},partMetadata:{veadkMedia:{id:g.id,uri:g.uri,name:g.name,mimeType:g.mimeType,sizeBytes:g.sizeBytes}}}]:g.data?[{inlineData:{mimeType:g.mimeType,data:g.data,displayName:g.name}}]:[]),h=s&&(s.skills.length>0||s.targetAgent)?s:void 0,p=[...f,...a.map(g=>({functionResponse:{id:g.id,name:g.name,response:g.response}})),...i.trim()?[{text:i}]:[]];if(h&&p.length>0){const g=p[0],O=g.partMetadata;p[0]={...g,partMetadata:{...O,veadkInvocation:h}}}const b=await Qt(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:p},streaming:!0,custom_metadata:h?{veadkInvocation:h}:void 0}),signal:o},d,0);if(!b.ok){const g=await on(b,"运行会话失败");throw new Error(iS(`run_sse failed: ${b.status}:${g}`))}for await(const g of J3(b)){const O=g;typeof O.error=="string"&&(O.error=iS(O.error)),typeof O.errorMessage=="string"&&(O.errorMessage=iS(O.errorMessage)),typeof O.error_message=="string"&&(O.error_message=iS(O.error_message)),yield O}}async function m$(e,t){const n=new URLSearchParams({name:e,region:t}),i=await Qt(`/web/runtime-name-availability?${n.toString()}`,{cache:"no-store"});if(!i.ok)throw new Error(await on(i,"检查 Runtime 名称失败"));const r=await i.json();if(typeof r.available!="boolean")throw new Error("检查 Runtime 名称失败:服务返回格式错误");return{available:r.available}}async function ine(e,t){const n=new URLSearchParams({kind:e.kind,region:e.region});e.registry&&n.set("registry",e.registry),e.namespace&&n.set("namespace",e.namespace),e.workspaceId&&n.set("workspaceId",e.workspaceId),e.search&&n.set("search",e.search),e.pageNumber&&n.set("pageNumber",String(e.pageNumber)),e.pageSize&&n.set("pageSize",String(e.pageSize));const i=await Qt(`/web/deployment-resources?${n.toString()}`,{signal:t});if(!i.ok)throw new Error(await on(i,"加载云资源失败"));const r=await i.json();if(typeof r.serviceRegion!="string"||!Array.isArray(r.items)||typeof r.pageNumber!="number"||typeof r.pageSize!="number"||typeof r.totalCount!="number"||typeof r.hasMore!="boolean")throw new Error("云资源列表响应格式无效");const s=r.items.map(a=>{if(!a||typeof a!="object"||typeof a.id!="string"||typeof a.name!="string"||typeof a.region!="string"||typeof a.status!="string")throw new Error("云资源列表响应格式无效");return a});return{serviceRegion:r.serviceRegion,items:s,pageNumber:r.pageNumber,pageSize:r.pageSize,totalCount:r.totalCount,hasMore:r.hasMore}}const G7={codex:0,codex_snapshot:1,deepseek_harness:2,deepseek_harness_snapshot:3,openclaw:4,openclaw_snapshot:5,hermes:6,hermes_snapshot:7,dev:8};async function rne(e){var r;const t=await Qt("/web/system-info",{signal:e});if(!t.ok)throw new Error(await on(t,"加载系统信息失败"));const n=await t.json();if(typeof((r=n.storage)==null?void 0:r.tosAddress)!="string"||!Array.isArray(n.sandboxTools))throw new Error("系统信息响应格式无效");const i=n.sandboxTools.map(s=>{if(!s||typeof s!="object"||typeof s.kind!="string"||typeof s.label!="string"||typeof s.toolId!="string"||typeof s.snapshot!="boolean"||typeof s.needsModelEnvUpdate!="boolean"||typeof s.canUpdateModelEnv!="boolean"||typeof s.modelEnvError!="string"||typeof s.modelEnvErrorCode!="string")throw new Error("系统信息响应格式无效");return s}).sort((s,a)=>(G7[s.kind]??Number.MAX_SAFE_INTEGER)-(G7[a.kind]??Number.MAX_SAFE_INTEGER));return{storage:{tosAddress:n.storage.tosAddress},sandboxTools:i}}async function sne(e,t){const n=await Qt(`/web/system-info/sandbox-tools/${encodeURIComponent(e)}/model-env`,{method:"POST",signal:t});if(!n.ok)throw new Error(await on(n,"更新 Codex Sandbox 失败"));const i=await n.json();if(i.kind!=="codex"&&i.kind!=="codex_snapshot"||typeof i.toolId!="string"||typeof i.updated!="boolean")throw new Error("Codex Sandbox 更新响应格式无效");return i}async function g$(e){const t=await Qt("/web/identity/user-pools",{signal:e});if(!t.ok)throw new Error(await on(t,"加载用户池失败"));const n=await t.json();if(!Array.isArray(n.items))throw new Error("用户池列表响应格式无效");return n.items.map(i=>{if(!i||typeof i!="object"||typeof i.uid!="string"||typeof i.name!="string"||typeof i.domain!="string"||typeof i.region!="string"||typeof i.isCurrent!="boolean")throw new Error("用户池列表响应格式无效");return i})}const ox=new Map;async function zb(e,t,n,i){var f,h,p,b,g;const r=i==null?void 0:i.taskId,s=r?new AbortController:void 0;r&&s&&ox.set(r,s);const a=()=>{r&&ox.get(r)===s&&ox.delete(r)};let o;try{const O=!!(i!=null&&i.migrationTaskId);(f=i==null?void 0:i.onStage)==null||f.call(i,{level:"info",phase:"upload",message:O?"正在校验迁移产物":"正在上传代码包",pct:0}),o=await Qt("/web/deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},signal:s==null?void 0:s.signal,body:JSON.stringify({name:e,files:O?[]:t,config:n,taskId:r,migrationTaskId:i==null?void 0:i.migrationTaskId,runtimeId:i==null?void 0:i.runtimeId,runtimeName:i==null?void 0:i.runtimeName,appName:i==null?void 0:i.appName,sessionStorage:i==null?void 0:i.sessionStorage,minInstance:i==null?void 0:i.minInstance,maxInstance:i==null?void 0:i.maxInstance,createEvaluationSets:i==null?void 0:i.createEvaluationSets,description:ITe((i==null?void 0:i.description)??""),authentication:i==null?void 0:i.authentication,im:i==null?void 0:i.im,envs:i==null?void 0:i.envs,resources:i==null?void 0:i.resources,source:(i==null?void 0:i.source)??(i!=null&&i.migrationTaskId?{kind:"migration",migrationId:i.migrationTaskId}:{kind:"inlineFiles"}),harnessSidecar:i==null?void 0:i.harnessSidecar})},{},0),(h=i==null?void 0:i.onStage)==null||h.call(i,{level:"success",phase:"upload",message:O?"迁移产物校验完成":"代码包上传完成",pct:100})}catch(O){throw a(),O}if(!o.ok){const O=await on(o,"部署失败");throw a(),new Error(O)}let c=null;try{for await(const O of J3(o)){const y=O;if(y&&y.done){c=y;break}y&&y.message&&((p=i==null?void 0:i.onStage)==null||p.call(i,y))}}catch(O){throw a(),O}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 连接信息");const u=(b=c.runtimeName)!=null&&b.trim()?c.agentName:e,d=((g=c.runtimeName)==null?void 0:g.trim())||c.agentName;return{apikey:c.apikey??"",url:c.url??"",agentName:u,runtimeName:d,runtimeId:c.runtimeId,consoleUrl:c.consoleUrl,region:c.region,version:c.version,warnings:c.warnings,feishuChannel:c.feishuChannel}}async function ane(e){var n;const t=await Qt("/web/cancel-deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(!t.ok){const i=await t.text().catch(()=>"");throw new Error(i||`取消部署失败 (${t.status})`)}(n=ox.get(e))==null||n.abort(),ox.delete(e)}async function h_e(e=e$){const t=await Qt(`/web/my-runtimes?region=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`加载失败 (${t.status})`);return(await t.json()).runtimes??[]}const n1={title:"AgentKit Studio",logoUrl:""},bP={enabled:!1},XN={studio:!1,version:"",provider:"volcengine",branding:n1,features:{newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0,generatedAgentTestRun:!0},defaultView:"chat",agentsSource:"local",telemetry:bP};function p_e(e){if(!e||typeof e!="object")return bP;const t=e;if(t.enabled!==!0||!t.studio||typeof t.studio!="object")return bP;const n=t.studio;return{enabled:!0,studio:{deployId:typeof n.deployId=="string"?n.deployId:"",userPoolId:typeof n.userPoolId=="string"?n.userPoolId:"",applicationId:typeof n.applicationId=="string"?n.applicationId:"",functionId:typeof n.functionId=="string"?n.functionId:"",region:typeof n.region=="string"?n.region:"",project:typeof n.project=="string"?n.project:"",version:typeof n.version=="string"?n.version:"",accountId:typeof n.accountId=="string"?n.accountId:""}}}async function one(){var e,t;try{const n=await Qt("/web/ui-config");if(!n.ok)return XN;const i=await n.json(),r=typeof((e=i.branding)==null?void 0:e.logoUrl)=="string"?i.branding.logoUrl:n1.logoUrl,s=i.provider==="byteplus"?"byteplus":"volcengine";return Lte(s),{studio:i.studio??!1,version:typeof i.version=="string"?i.version:"",provider:s,branding:{title:typeof((t=i.branding)==null?void 0:t.title)=="string"?i.branding.title:n1.title,logoUrl:r?lo(r):""},features:{...XN.features,...i.features??{}},defaultView:i.defaultView??"chat",agentsSource:i.agentsSource==="cloud"?"cloud":"local",telemetry:p_e(i.telemetry)}}catch{return XN}}const lne={role:"user",telemetry:{userId:"",accountId:""},capabilities:{createAgents:!1,manageAgents:!1,runtimeScope:"mine"}};async function cne(){var n,i,r,s;const e=await Qt("/web/access");if(!e.ok)throw new Error(`加载权限失败 (${e.status})`);const t=await e.json();if(!["admin","developer","user"].includes(t.role)||typeof((n=t.telemetry)==null?void 0:n.userId)!="string"||t.telemetry.accountId!==void 0&&typeof t.telemetry.accountId!="string"||typeof((i=t.capabilities)==null?void 0:i.createAgents)!="boolean"||typeof((r=t.capabilities)==null?void 0:r.manageAgents)!="boolean"||!["all","mine"].includes((s=t.capabilities)==null?void 0:s.runtimeScope))throw new Error("权限服务返回了无法解析的响应");return t}async function une(e,t){const n=new URLSearchParams;e&&n.set("targetVersion",e),t&&n.set("startedAt",String(t));const i=n.size?`?${n.toString()}`:"",r=await Qt(`/web/studio-update${i}`);if(!r.ok)throw new Error(`检查 Studio 更新失败 (${r.status})`);return await r.json()}async function dne(e){const t=await Qt("/web/studio-update",{method:"POST",headers:{"Content-Type":"application/json","X-VeADK-Studio-Update":"1"},body:JSON.stringify({version:e})},{},gr);if(!t.ok){let n="";try{const i=await t.json();n=typeof i.detail=="string"?i.detail:""}catch{n=""}throw new Error(n||`提交 Studio 更新失败 (${t.status})`)}return await t.json()}async function fne({runtimeId:e,region:t,appName:n,page:i=1,pageSize:r=20,signal:s}){const a=new URLSearchParams({runtimeId:e,region:t,appName:n,page:String(i),pageSize:String(r)}),o=await Qt(`/web/agent-usage?${a.toString()}`,{signal:s});if(!o.ok)throw new Error(await on(o,"加载 Agent 用量失败"));const c=o.headers.get("content-type")||"未提供",u=c.toLowerCase();if(!u.includes("application/json")&&!u.includes("+json"))throw new Error(`加载 Agent 用量失败:服务端返回非 JSON 响应(HTTP ${o.status},Content-Type: ${c})。请确认当前服务以 Studio 模式启动,并检查代理或网关配置。`);try{return await o.json()}catch{throw new Error(`加载 Agent 用量失败:服务端返回了无法解析的 JSON(HTTP ${o.status},Content-Type: ${c})。请稍后重试;若问题持续,请检查代理或网关配置。`)}}async function _A(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 Qt(`/web/runtimes?${t.toString()}`);if(!n.ok){const r=await on(n,"加载 Runtime 失败");throw new Error(r)}const i=await n.json();return{runtimes:i.runtimes??[],nextToken:i.nextToken??""}}async function b$(e,t,n={}){try{const i={runtimeId:e,region:t};return n.retryProbe&&(i.retryProbe=!0),await EA("","",i)}catch(i){if(i instanceof Bb||i instanceof Ra)throw i;return null}}async function hne(e,t,n={}){const i={runtimeId:e,region:t};n.retryProbe&&(i.retryProbe=!0);const r=await Qt("/.well-known/agent-card.json",{},i),s=await $te(r);if(s==="runtime_access_denied")throw new Bb;if(s==="runtime_private_endpoint_unreachable")throw new Ra(Rte);if(["runtime_proxy_connect_error","runtime_proxy_timeout"].includes(s))throw new Ra(Dte);if(r.status===404)return null;if(r.status===401||r.status===403)throw new Ra("Runtime 服务拒绝了 A2A 探测请求,请检查 Runtime 的鉴权配置。");if(!r.ok)throw new Error(await on(r,"读取 A2A Agent Card 失败"));const a=await r.json().catch(()=>null),o=typeof(a==null?void 0:a.url)=="string"?a.url.trim():"";return o?{name:typeof(a==null?void 0:a.name)=="string"?a.name:"",description:typeof(a==null?void 0:a.description)=="string"?a.description:"",endpoint:o}:null}async function pne(e,t){const n=new URLSearchParams({runtimeId:e,region:t}),i=await Qt(`/web/runtime-api-key/reveal?${n.toString()}`,{method:"POST",cache:"no-store"});if(!i.ok)throw new Error(await on(i,"读取 Runtime API Key 失败"));const r=await i.json();if(typeof r.apiKey!="string"||!r.apiKey)throw new Error("Runtime 未返回可用的 API Key");return r.apiKey}async function mne(e,t){const n=await Qt("/web/delete-runtime",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e,region:t})});if(!n.ok){const i=await n.text().catch(()=>"");throw new Error(i||`删除失败 (${n.status})`)}}async function gne({runtimeId:e,region:t,appName:n,signal:i}){const r=new URLSearchParams({runtimeId:e,region:t});n&&r.set("appName",n);const s=await Qt(`/web/runtime-update-capability?${r.toString()}`,{signal:i});if(!s.ok)throw new Error(await m_e(s));return await s.json()}async function m_e(e){const t=await e.json().catch(()=>null),n=typeof(t==null?void 0:t.detail)=="string"?t.detail:"";return e.status===403?"当前账号没有管理该 Runtime 的权限。":e.status===404?n==="runtime_not_found"?"该 Runtime 不存在或已被删除。":"当前账号无法访问该 Runtime。":`检查 Runtime 更新能力失败(HTTP ${e.status}),请稍后重试。`}async function g_e(e,t){let n=null;for(const i of vv(t)){const r=await Qt(`/web/runtime-detail?runtimeId=${encodeURIComponent(e)}®ion=${encodeURIComponent(i)}`);if(r.ok)return r.json();n=new Error(await on(r,"加载 Runtime 详情失败"))}throw n??new Error("加载 Runtime 详情失败")}async function O$(e,t="cn-beijing",n={}){const i=Fb(e,t||"cn-beijing"),r=Ub(dp,i,wA);if(!n.force&&r)return r;const s=dp.get(i);if(!n.force&&(s!=null&&s.promise))return s.promise;const a=g_e(e,t).then(o=>o$(dp,i,o));dp.set(i,{...s,promise:a,updatedAt:(s==null?void 0:s.updatedAt)??0});try{return await a}finally{const o=dp.get(i);(o==null?void 0:o.promise)===a&&dp.set(i,{value:o.value,updatedAt:o.updatedAt})}}function bne(e,t="cn-beijing"){return Ub(dp,Fb(e,t||"cn-beijing"),wA)}function One(e,t="cn-beijing"){O$(e,t).catch(()=>{})}async function y$(e){const t=await Qt("/web/generated-agent-projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await on(t,"生成项目失败"));return t.json()}const b_e=19e4;async function yne(e){const t=await Qt("/web/generated-agent-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requirement:e})},{},b_e);if(!t.ok)throw new Error(await on(t,"生成 Agent 配置失败"));return vA(t,"生成 Agent 配置失败")}async function xne(e,t){const n=await Qt("/web/generated-agent-test-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,runtimeId:t==null?void 0:t.runtimeId,runtimeRegion:t==null?void 0:t.region})});if(!n.ok)throw new Error(await on(n,"创建调试运行失败"));return vA(n,"创建调试运行失败")}async function vne(e,t){const n=await Qt(`/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 on(n,"创建调试会话失败"));return(await vA(n,"创建调试会话失败")).id}async function wne(e,t){const n=await Qt(`/web/generated-agent-test-runs/${encodeURIComponent(e)}/trace/session/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(await on(n,"加载调试调用链路失败"));const i=await vA(n,"加载调试调用链路失败");if(!Array.isArray(i))throw new Error("加载调试调用链路失败:返回格式无效");return i}async function*Sne({runId:e,userId:t,sessionId:n,text:i,signal:r}){const s=i.trim()?[{text:i}]:[],a=await Qt(`/web/generated-agent-test-runs/${e}/run_sse`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user_id:t,session_id:n,new_message:{role:"user",parts:s},streaming:!0}),signal:r},{},0);if(!a.ok)throw new Error(await on(a,"调试运行失败"));for await(const o of J3(a))yield o}async function Sg(e){const t=await Qt(`/web/generated-agent-test-runs/${e}`,{method:"DELETE"});if(!t.ok&&t.status!==404)throw new Error(await on(t,"清理调试运行失败"))}const O_e=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SITE_BRANDING:n1,DEFAULT_STUDIO_ACCESS:lne,RuntimeAccessDeniedError:Bb,RuntimeProbeError:Ra,addSessionCapability:pP,cancelAgentkitDeployment:ane,checkRuntimeNameAvailability:m$,clearMessageFeedbackCache:Tte,clearRemoteApps:Ate,componentSearch:tne,createGeneratedAgentTestRun:xne,createGeneratedAgentTestSession:vne,createSession:Qte,deleteAgentFeedbackCases:qte,deleteGeneratedAgentTestRun:Sg,deleteMedia:zE,deleteRuntime:mne,deleteSession:uP,deleteSessionMedia:dP,deployAgentkitProject:zb,downloadArtifact:c$,fetchRemoteApps:EA,generateAgentDraftFromRequirement:yne,generateAgentProject:y$,getAgentFeedbackCases:TA,getAgentInfo:mP,getAgentOptimizations:Fte,getAgentUsage:fne,getAutomaticEvaluationStatuses:cP,getCachedAgentFeedbackCases:Ute,getCachedRuntimeAgentInfo:Jte,getCachedRuntimeDetail:bne,getGeneratedAgentTestTrace:wne,getMediaCapabilities:c_e,getMyRuntimes:h_e,getRuntimeAgentInfo:p$,getRuntimeDetail:O$,getRuntimeUpdateCapability:gne,getRuntimes:_A,getSession:kA,getSessionCapabilities:hP,getSessionTrace:bT,getStudioAccess:cne,getStudioUpdateStatus:une,getSystemInfo:rne,getUiConfig:one,listApps:jte,listDeploymentResources:ine,listIdentityUserPools:g$,listModelApiKeys:Cte,listModelOptions:a$,listSessionBuiltinTools:h$,listSessionSkillSpaces:u_e,listSessionSkillsInSpace:d_e,listSessions:l$,mediaContentUrl:Gte,prefetchAgentFeedbackCases:o_e,prefetchRuntimeAgentInfo:ene,prefetchRuntimeDetail:One,previewArtifact:u$,probeRuntimeA2a:hne,probeRuntimeApps:b$,refreshAgentFeedbackCases:zte,registerRemoteApp:_te,removeSessionCapability:Zte,revealModelApiKey:Nte,revealRuntimeApiKey:pne,runGeneratedAgentTestSSE:Sne,runSSE:gP,runtimeRegionCandidates:vv,searchSessionPublicSkills:Wte,setClientCloudProvider:Lte,startStudioUpdate:dne,studioFetch:Kn,submitIssueFeedback:fP,submitMessageFeedback:Bte,updateCodexSandboxToolModelEnv:sne,uploadMedia:Hte,upsertCachedAgentFeedbackCase:UE,webSearch:nne},Symbol.toStringTag,{value:"Module"})),W7=Object.freeze({totalTokenCount:0,promptTokenCount:0,candidatesTokenCount:0,thoughtsTokenCount:0,cachedContentTokenCount:0}),VE=Object.freeze({modelName:"",current:W7,cumulative:W7}),y_e={totalTokenCount:"total_token_count",promptTokenCount:"prompt_token_count",candidatesTokenCount:"candidates_token_count",thoughtsTokenCount:"thoughts_token_count",cachedContentTokenCount:"cached_content_token_count"},x_e=24,v_e=64,w_e=16;function rS(e){var o,c;const t=e.trim();if(!t)return 0;const n=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/gu,i=((o=t.match(n))==null?void 0:o.length)??0,r=t.replace(n," "),s=(r.match(/[A-Za-z0-9_]+/g)??[]).reduce((u,d)=>u+Math.max(1,Math.ceil(d.length/4)),0),a=((c=r.match(/[^\sA-Za-z0-9_]/g))==null?void 0:c.length)??0;return i+s+a}function S_e(e){var o,c,u;const t=((o=e.instruction)==null?void 0:o.trim())??"",n=((c=e.tools)==null?void 0:c.filter(d=>d.trim()))??[],i=((u=e.skills)==null?void 0:u.filter(d=>d.name.trim()))??[],r=rS(t),s=n.reduce((d,f)=>d+v_e+rS(f),0),a=i.reduce((d,f)=>d+w_e+rS(f.name)+rS(f.description??""),0);return x_e+r+s+a}function E_e({usage:e,contextWindow:t,estimatedSystemTokens:n}){const i=Math.max(1,Math.round(t)),r=Math.max(0,e.current.promptTokenCount),s=Math.max(r,e.current.totalTokenCount),a=Math.min(i,r>0?Math.min(r,Math.max(0,n??0)):Math.max(0,n??0)),o=Math.max(0,r-a),c=r>0?Math.max(0,s-r):Math.max(0,s),u=r>0?s:a+c;return{systemTokens:a,inputTokens:o,outputTokens:c,remainingTokens:Math.max(0,i-u),usedTokens:u,contextWindow:i}}function k_e(e){const t=[{kind:"system",tokens:e.systemTokens},{kind:"input",tokens:e.inputTokens},{kind:"output",tokens:e.outputTokens},{kind:"remaining",tokens:e.remainingTokens}],n=e.contextWindow/100;let i=0;const r=t.map(s=>{const a=i;return i+=s.tokens,{...s,start:a,end:i}});return Array.from({length:100},(s,a)=>{const o=a*n,c=o+n,u=r.flatMap(d=>{const f=Math.max(0,Math.min(c,d.end)-Math.max(o,d.start));return f>0?[{kind:d.kind,share:f/n}]:[]});return{index:a,slices:u}})}function zO(e,t){const n=e,i=n[t]??n[y_e[t]];return typeof i=="number"&&Number.isFinite(i)&&i>0?Math.round(i):0}function T_e(e){const t=zO(e,"promptTokenCount"),n=zO(e,"candidatesTokenCount"),i=zO(e,"thoughtsTokenCount");return{totalTokenCount:zO(e,"totalTokenCount")||t+n+i,promptTokenCount:t,candidatesTokenCount:n,thoughtsTokenCount:i,cachedContentTokenCount:zO(e,"cachedContentTokenCount")}}function __e(e,t){return{totalTokenCount:e.totalTokenCount+t.totalTokenCount,promptTokenCount:e.promptTokenCount+t.promptTokenCount,candidatesTokenCount:e.candidatesTokenCount+t.candidatesTokenCount,thoughtsTokenCount:e.thoughtsTokenCount+t.thoughtsTokenCount,cachedContentTokenCount:e.cachedContentTokenCount+t.cachedContentTokenCount}}function Ene(e,t){if(!t)return e;const n=typeof t.modelVersion=="string"?t.modelVersion.trim():"",i=typeof t.model_version=="string"?t.model_version.trim():"",r=n||i||e.modelName,s=t.usageMetadata??t.usage_metadata;if(!s)return r===e.modelName?e:{...e,modelName:r};const a=T_e(s);return a.totalTokenCount===0?r===e.modelName?e:{...e,modelName:r}:{modelName:r,current:a,cumulative:__e(e.cumulative,a)}}function Z7(e){return e.reduce((t,n)=>Ene(t,n),VE)}function K7(e){return e.blocks.flatMap(t=>t.kind==="tool"?[{name:t.name,args:t.args,response:t.response,done:t.done}]:[])}function A_e(e){const t=e.attributes;return String(t["invocation.id"]??t["gen_ai.invocation.id"]??t["gcp.vertex.agent.invocation_id"]??"")}function C_e(e,t){if(!t)return e;const n=new Set(e.filter(r=>A_e(r)===t).map(r=>r.trace_id)),i=e.filter(r=>n.has(r.trace_id));return i.length>0?i:e}function HN(e){return!!(e&&[...e.tools,...e.skills].some(t=>t.custom))}const N_e="send_a2ui_json_to_client",j_e="validated_a2ui_json",OP="adk_request_credential",J7="transfer_to_agent";function R_e(e){var i,r,s,a;const t=e,n=((i=t==null?void 0:t.exchangedAuthCredential)==null?void 0:i.oauth2)??((r=t==null?void 0:t.exchanged_auth_credential)==null?void 0:r.oauth2)??((s=t==null?void 0:t.rawAuthCredential)==null?void 0:s.oauth2)??((a=t==null?void 0:t.raw_auth_credential)==null?void 0:a.oauth2);return(n==null?void 0:n.authUri)??(n==null?void 0:n.auth_uri)}function cd(){return{blocks:[],liveStart:0}}const eF=e=>e.functionCall??e.function_call,yP=e=>e.functionResponse??e.function_response;function D_e(e){if(!e||typeof e!="object")return"";const t=e,n=t.agentName??t.agent_name;return typeof n=="string"?n:""}function I_e(e){return e.replace(/-/g,"+").replace(/_/g,"/")}function kne(e){const t=[];for(const[n,i]of e.entries()){const r=i.partMetadata??i.part_metadata,s=r==null?void 0:r.veadkTransport;if((s==null?void 0:s.hidden)===!0)continue;const a=r==null?void 0:r.veadkMedia;if(typeof(a==null?void 0:a.uri)=="string"){t.push({id:String(a.id??a.uri),mimeType:typeof a.mimeType=="string"?a.mimeType:void 0,uri:a.uri,name:typeof a.name=="string"?a.name:void 0,sizeBytes:typeof a.sizeBytes=="number"?a.sizeBytes:void 0});continue}const o=i.inlineData??i.inline_data;if(o&&o.data){t.push({id:`inline-${n}-${o.displayName??o.display_name??"media"}`,mimeType:o.mimeType??o.mime_type,data:I_e(o.data),name:o.displayName??o.display_name});continue}const c=i.fileData??i.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 xP(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 P_e=new Set(["llm","sequential","parallel","loop","a2a"]);function M_e(e){var t;for(const n of e){const i=(t=n.partMetadata??n.part_metadata)==null?void 0:t.veadkInvocation;if(!i||typeof i!="object")continue;const r=i,s=Array.isArray(r.skills)?r.skills.flatMap(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 o=r.targetAgent;if(o&&typeof o=="object"){const c=o,u=c.type;typeof c.name=="string"&&typeof u=="string"&&P_e.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(s.length>0||a)return{skills:s,targetAgent:a}}}function L_e(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 $_e(e,t){if(!t.length)return;const n=e[e.length-1];if((n==null?void 0:n.kind)==="artifact"){for(const i of t)n.files.some(r=>r.filename===i.filename&&r.version===i.version)||n.files.push(i);return}e.push({kind:"artifact",files:t})}function tF(e,t,n){const i=e[e.length-1];i&&i.kind===t?i.text+=n:e.push(t==="thinking"?{kind:t,text:n,done:!1}:{kind:t,text:n})}function sS(e){for(const t of e)t.kind==="thinking"&&(t.done=!0)}function OT(e,t){var o,c,u,d,f,h;const n=e.blocks.map(p=>({...p}));let i=e.liveStart;const r=((o=t.content)==null?void 0:o.parts)??[],s=r.some(p=>eF(p)||yP(p));if(t.partial&&!s){for(const p of r){const b=xP(p);typeof b=="string"&&b&&tF(n,p.thought?"thinking":"text",b)}return{blocks:n,liveStart:i}}n.length=i;for(const p of r){const b=eF(p),g=yP(p),O=kne([p]),y=xP(p);if(typeof y=="string"&&y)tF(n,p.thought?"thinking":"text",y);else if(O.length)sS(n),L_e(n,O);else if(b)if(sS(n),b.name===J7){const v=D_e(b.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:v,done:!1})}else if(b.name===OP){const v=b.args??{},x=v.authConfig??v.auth_config??v,E=String(v.functionCallId??v.function_call_id??"").replace(/^_adk_toolset_auth_/,"")||void 0;n.push({kind:"auth",callId:b.id??"",label:E,authUri:R_e(x),authConfig:x,done:!1})}else n.push({kind:"tool",name:b.name??"",args:b.args,done:!1});else if(g){if(sS(n),g.name===J7)for(let v=n.length-1;v>=0;v--){const x=n[v];if(x.kind==="agent-transfer"&&!x.done){x.done=!0;break}}if(g.name===OP)for(let v=n.length-1;v>=0;v--){const x=n[v];if(x.kind==="auth"&&!x.done){x.done=!0;break}}for(let v=n.length-1;v>=0;v--){const x=n[v];if(x.kind==="tool"&&!x.done&&x.name===g.name){x.done=!0,x.response=g.response;break}}if(g.name===N_e){const v=((d=g.response)==null?void 0:d[j_e])??[];if(v.length){const x=n[n.length-1];x&&x.kind==="a2ui"?x.messages.push(...v):n.push({kind:"a2ui",messages:v})}}}}const a=((f=t.actions)==null?void 0:f.artifactDelta)??((h=t.actions)==null?void 0:h.artifact_delta);return a&&$_e(n,Object.entries(a).map(([p,b])=>({filename:p,version:b}))),sS(n),i=n.length,{blocks:n,liveStart:i}}function Q_e(e,t={}){var r,s;const n=[];let i=cd();for(const a of e)if(a.author==="user"){const c=((r=a.content)==null?void 0:r.parts)??[];if(c.some(p=>{var b;return((b=yP(p))==null?void 0:b.name)===OP})){for(let p=n.length-1;p>=0;p--)if(n[p].role==="assistant"){for(let b=n[p].blocks.length-1;b>=0;b--){const g=n[p].blocks[b];if(g.kind==="auth"){g.done=!0;break}}break}}const u=c.map(xP).filter(p=>!!p).join(""),d=kne(c),f=M_e(c);if(!u&&!d.length&&!f){i=cd();continue}const h=[];f&&h.push({kind:"invocation",value:f}),d.length&&h.push({kind:"attachment",files:d}),u&&h.push({kind:"text",text:u}),n.push({role:"user",blocks:h,meta:{ts:a.timestamp}}),i=cd()}else{const c=a.author??"";let u=n[n.length-1];(!u||u.role!=="assistant"||c&&((s=u.meta)==null?void 0:s.author)!==c)&&(u={role:"assistant",blocks:[],meta:{author:c||void 0}},n.push(u),i=cd()),i=OT(i,a),u.blocks=i.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 o=a.meta,c=o==null?void 0:o.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"||(o.feedback=u)}return n}function AA(e){var t,n;for(const i of e??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"新会话"}const B_e=50,nF=48;function F_e(e){return(e.events??[]).flatMap(t=>{var r,s;const i=(((r=t.content)==null?void 0:r.parts)??[]).map(a=>typeof a.text=="string"?a.text:"").filter(Boolean).join("");return i?[{text:i,role:t.author??((s=t.content)==null?void 0:s.role)??"",ts:t.timestamp}]:[]})}function U_e(e){var t,n;for(const i of e.events??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"未命名会话"}function z_e(e,t,n){const i=Math.max(0,t-nF),r=Math.min(e.length,t+n+nF);return(i>0?"…":"")+e.slice(i,r).trim()+(r{var c;if((c=o.events)!=null&&c.length)return o;try{return await kA(t,e,o.id)}catch{return o}})),a=[];for(const o of s)for(const{text:c,role:u,ts:d}of F_e(o)){const f=c.toLowerCase().indexOf(i);if(f!==-1){a.push({type:"session",appId:t,sessionId:o.id,title:U_e(o),snippet:z_e(c,f,i.length),role:u,ts:d??o.lastUpdateTime});break}}return a.sort((o,c)=>(c.ts??0)-(o.ts??0)),a.slice(0,B_e)}async function q_e(e,t){if(!e||!t.trim())return{results:[]};let n;try{n=await nne(e,t.trim())}catch(a){const o=String(a);return{results:[],note:o.includes("404")?"网络搜索接口未就绪(后端未启用 /web/search)。":`网络搜索失败:${o}`}}const{mounted:i,results:r,error:s}=n;return i?s?{results:[],note:s}:{results:r.map((a,o)=>({type:"web",index:o,title:a.title,url:a.url,siteName:a.siteName,summary:a.summary}))}:{results:[],note:"当前 Agent 未挂载 web_search 工具。"}}async function X_e(e,t,n,i){if(!t||!i.trim())return{results:[]};const r=await tne(t,e,i.trim(),n);if(!r.mounted)return{results:[],note:e==="knowledge"?"该 Agent 未挂载知识库。":"该 Agent 未挂载长期记忆。"};if(r.error)return{results:[],note:r.error};const s=r.sourceName??(e==="knowledge"?"知识库":"长期记忆");return{results:r.results.map((a,o)=>e==="knowledge"?{type:"knowledge",index:o,content:a.content,sourceName:s,sourceType:r.sourceType}:{type:"memory",index:o,content:a.content,sourceName:s,sourceType:r.sourceType,author:a.author,ts:a.timestamp})}}async function H_e(e,t,n){return e==="session"?{results:await V_e(n.userId,n.appId,t)}:e==="web"?q_e(n.appId,t):X_e(e,n.appId,n.userId,t)}function Tne({className:e="icon"}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M16.4 10.7a5.7 5.7 0 1 1-1.67-4.03"}),l.jsx("path",{d:"M15.25 15.25 19.6 19.6"})]})}function Y_e({open:e}){return l.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:l.jsx("path",{d:"m3.25 4.75 2.75 2.5 2.75-2.5"})})}function G_e({active:e=!1,onClick:t}){return l.jsxs("button",{className:`new-chat${e?" is-active":""}`,onClick:t,"aria-label":"搜索","aria-current":e?"page":void 0,title:"搜索",children:[l.jsx(Tne,{}),l.jsx("span",{className:"sidebar-nav-label",children:"搜索"})]})}function W_e(e,t,n){const i=!!e,r=new Set((t==null?void 0:t.searchSources)??[]),s=a=>i?n?"正在检测 Agent 能力":`当前 Agent 未挂载${a}`:"请选择 Agent";return[{id:"session",label:"会话",ready:i,unavailableLabel:"请选择 Agent"},{id:"web",label:"网络",ready:i&&r.has("web"),description:"通过 web_search 工具检索",unavailableLabel:s(" web_search 工具")},{id:"knowledge",label:"知识库",ready:i&&r.has("knowledge"),unavailableLabel:s("知识库")},{id:"memory",label:"长期记忆",ready:i&&r.has("memory"),unavailableLabel:s("长期记忆")}]}function yT(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 iF(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 Z_e({userId:e,appId:t,agentInfo:n,capabilitiesLoading:i,agentLabel:r,onOpenSession:s}){var $,j;const[a,o]=m.useState("session"),[c,u]=m.useState(""),[d,f]=m.useState([]),[h,p]=m.useState(),[b,g]=m.useState(!1),[O,y]=m.useState(!1),[v,x]=m.useState(!1),w=m.useRef(0),E=m.useRef(null),S=W_e(t,n,i),k=S.find(D=>D.id===a),T=a==="knowledge"?($=n==null?void 0:n.components)==null?void 0:$.find(D=>D.source==="knowledgebase"||D.kind==="knowledgebase"):a==="memory"?(j=n==null?void 0:n.components)==null?void 0:j.find(D=>D.source==="long_term_memory"||D.kind==="memory"):void 0;m.useEffect(()=>{w.current+=1,o("session"),f([]),p(void 0),y(!1),g(!1),x(!1)},[t]),m.useEffect(()=>{if(!v)return;function D(F){var Q;(Q=E.current)!=null&&Q.contains(F.target)||x(!1)}return document.addEventListener("pointerdown",D),()=>document.removeEventListener("pointerdown",D)},[v]);async function C(D,F){var H;const Q=D.trim();if(!Q||!((H=S.find(U=>U.id===F))!=null&&H.ready))return;const M=++w.current;g(!0),y(!0);let G;try{G=await H_e(F,Q,{userId:e,appId:t})}catch(U){const q=U instanceof Error?U.message:String(U);G={results:[],note:`搜索失败:${q}`}}M===w.current&&(f(G.results),p(G.note),g(!1))}function A(D){w.current+=1,u(D),f([]),p(void 0),y(!1),g(!1)}function R(D){w.current+=1,o(D),x(!1),f([]),p(void 0),y(!1),g(!1)}const P=!!(k!=null&&k.ready),B=t?a==="web"?"在网络中检索":a==="knowledge"?`在 ${(T==null?void 0:T.name)??"当前 Agent 的知识库"} 中检索`:a==="memory"?`在 ${(T==null?void 0:T.name)??"当前用户的长期记忆"} 中检索`:"在当前 Agent 的会话中检索":"请先选择 Agent",I=T!=null&&T.backend?yT(T.backend):"";return l.jsxs("div",{className:"search",children:[l.jsxs("div",{className:"search-box",children:[l.jsxs("div",{className:"search-source-picker-wrap",ref:E,children:[l.jsxs("button",{className:"search-source-picker",type:"button","aria-label":`搜索类型:${(k==null?void 0:k.label)??"未选择"}`,"aria-haspopup":"listbox","aria-expanded":v,onClick:()=>x(D=>!D),children:[l.jsx("span",{children:(k==null?void 0:k.label)??"搜索类型"}),I&&l.jsx("small",{children:I}),l.jsx(Y_e,{open:v})]}),v&&l.jsx("div",{className:"search-source-menu",role:"listbox","aria-label":"选择搜索类型",children:S.map(D=>{var M,G;const F=D.id==="knowledge"?(M=n==null?void 0:n.components)==null?void 0:M.find(H=>H.source==="knowledgebase"||H.kind==="knowledgebase"):D.id==="memory"?(G=n==null?void 0:n.components)==null?void 0:G.find(H=>H.source==="long_term_memory"||H.kind==="memory"):void 0,Q=F?[F.name,F.backend?yT(F.backend):""].filter(Boolean).join(" · "):D.ready?D.description:D.unavailableLabel;return l.jsxs("button",{type:"button",role:"option","aria-selected":a===D.id,disabled:!D.ready,onClick:()=>R(D.id),children:[l.jsx("span",{children:D.label}),Q&&l.jsx("small",{children:Q})]},D.id)})})]}),l.jsx("span",{className:"search-box-divider","aria-hidden":!0}),l.jsx("input",{className:"search-input",value:c,onChange:D=>A(D.target.value),onKeyDown:D=>{D.key==="Enter"&&(D.preventDefault(),C(c,a))},placeholder:B,disabled:!P,autoFocus:!0}),l.jsx("button",{className:"search-go",onClick:()=>void C(c,a),disabled:!c.trim()||b,"aria-label":"搜索",children:b?l.jsx(qn,{className:"icon spin"}):l.jsx(Tne,{className:"icon"})})]}),l.jsx("div",{className:"search-results",children:P?O?b?null:h?l.jsx("div",{className:"search-empty",children:h}):d.length===0&&O?l.jsxs("div",{className:"search-empty",children:["未找到匹配「",c.trim(),"」的结果。"]}):d.map((D,F)=>l.jsx(K_e,{result:D,agentLabel:r,onOpen:s},F)):l.jsx("div",{className:"search-empty",children:a==="web"?"输入关键词后回车或点击按钮,通过 web_search 工具检索。":a==="knowledge"?"输入问题,检索当前 Agent 挂载的知识库。":a==="memory"?"输入线索,检索当前用户跨会话保存的长期记忆。":"输入关键词后回车或点击按钮,搜索当前 Agent 的会话。"}):l.jsx("div",{className:"search-empty",children:t?i?"正在读取当前 Agent 的检索能力…":(k==null?void 0:k.unavailableLabel)??"当前 Agent 未挂载该数据源":"选择一个 Agent 后,即可检索会话、网络及其挂载的数据源。"})})]})}function K_e({result:e,agentLabel:t,onOpen:n}){switch(e.type){case"session":return l.jsxs("button",{className:"search-result",onClick:()=>n(e.appId,e.sessionId),children:[l.jsx(yte,{className:"search-result-icon"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsx("span",{className:"search-result-title",children:e.title}),l.jsxs("span",{className:"search-result-meta",children:[t(e.appId),e.ts?` · ${iF(e.ts)}`:""]})]}),l.jsx("div",{className:"search-result-snippet",children:e.snippet})]})]});case"web":return l.jsxs("a",{className:"search-result",href:e.url||void 0,target:"_blank",rel:"noreferrer noopener",children:[l.jsx(xA,{className:"search-result-icon"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsx("span",{className:"search-result-title",children:e.title||e.url}),l.jsxs("span",{className:"search-result-meta",children:[e.siteName,e.url&&l.jsx(K0,{className:"search-result-ext"})]})]}),e.summary&&l.jsx("div",{className:"search-result-snippet",children:e.summary})]})]});case"knowledge":return l.jsxs("div",{className:"search-result search-result-static",children:[l.jsx(rF,{source:"knowledge"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsxs("span",{className:"search-result-title",children:["知识片段 ",e.index+1]}),l.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${yT(e.sourceType)}`:""]})]}),l.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});case"memory":return l.jsxs("div",{className:"search-result search-result-static",children:[l.jsx(rF,{source:"memory"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsxs("span",{className:"search-result-title",children:["记忆片段 ",e.index+1]}),l.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${yT(e.sourceType)}`:"",e.ts?` · ${iF(e.ts)}`:""]})]}),l.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});default:return null}}function rF({source:e,className:t="search-result-icon"}){return e==="knowledge"?l.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[l.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"}),l.jsx("path",{d:"M8.25 9h7.5M8.25 12.25h6"})]}):l.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[l.jsx("path",{d:"M12 4.5a7.5 7.5 0 1 0 7.5 7.5"}),l.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 gh({className:e="icon"}){return l.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:[l.jsx("rect",{x:"4.25",y:"5.25",width:"15.5",height:"13.5",rx:"4.75"}),l.jsx("path",{className:"sidebar-agent-face__eye",d:"M8.5 10.7v2"}),l.jsx("path",{className:"sidebar-agent-face__eye",d:"M15.5 10.7v2"})]})}const J_e={volcengine:{console:"https://console.volcengine.com/agentkit",docs:"https://www.volcengine.com/docs/86681/1844823"},byteplus:{console:"https://console.byteplus.com/agentkit",docs:"https://docs.byteplus.com/en/docs/AgentKit"}};function eAe(e){return J_e[e]}function sF({href:e,label:t,tone:n}){return l.jsxs("a",{className:`agentkit-promo-link is-${n}`,href:e,target:"_blank",rel:"noreferrer","aria-label":`${t},在新窗口打开`,title:t,children:[l.jsx("span",{className:"agentkit-promo-content",children:l.jsx("span",{className:"agentkit-promo-copy",children:t})}),l.jsxs("svg",{className:"agentkit-promo-external-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("path",{d:"M7.75 5.25h-2.5a1.5 1.5 0 0 0-1.5 1.5v8a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5"}),l.jsx("path",{d:"M10.25 3.75h6v6M16 4 9 11"})]})]})}function tAe({cloudProvider:e}){const t=eAe(e);return l.jsxs("div",{className:"agentkit-promo-stack",children:[l.jsx(sF,{href:t.console,label:"前往 AgentKit 控制台",tone:"console"}),l.jsx(sF,{href:t.docs,label:"查看 AgentKit 官方文档",tone:"docs"})]})}function nAe({filled:e=!1,...t}){return l.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:[l.jsx("rect",{x:"3.5",y:"9.3",width:"4.5",height:"10.2",rx:"1.5"}),l.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 iAe({filled:e=!1,...t}){return l.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:[l.jsx("rect",{x:"3.5",y:"4.5",width:"4.5",height:"10.2",rx:"1.5"}),l.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 _ne(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M5.25 4.25h9.5a2.5 2.5 0 0 1 2.5 2.5v3.5"}),l.jsx("path",{d:"M13.25 17.75h-8a2.5 2.5 0 0 1-2.5-2.5v-8a3 3 0 0 1 3-3"}),l.jsx("path",{d:"M7 8.25h5.5M7 11.75h3.25"}),l.jsx("path",{d:"m13.35 16.65.42-2.16 4.76-4.76a1.35 1.35 0 0 1 1.91 1.91l-4.76 4.76-2.33.25Z"}),l.jsx("path",{d:"m17.65 10.6 1.9 1.9"})]})}const x$="/assets/media/logo-DCsNZy-k.svg",v$="data:image/svg+xml,%3csvg%20width='28'%20height='23'%20viewBox='0%200%2028%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.1957%209.44218C17.0253%209.58161%2016.7774%209.47317%2016.7774%209.24079V8.01696V0.611967C16.7774%200.395085%2016.514%200.271152%2016.3591%200.410576L6.04172%209.16334C5.87132%209.30276%205.62345%209.19432%205.62345%208.96194V2.98218C5.62345%202.81178%205.48403%202.67235%205.31362%202.67235H0.309832C0.139424%202.67235%200%202.81178%200%202.98218V21.7115C0%2021.9284%200.263357%2022.0524%200.418273%2021.9129L10.7202%2013.1602C10.8906%2013.0207%2011.1385%2013.1292%2011.1385%2013.3616V22.0059C11.1385%2022.2228%2011.4018%2022.3467%2011.5567%2022.2073L21.8586%2013.4545C22.0291%2013.3151%2022.2769%2013.4235%2022.2769%2013.6559V19.6357C22.2769%2019.8061%2022.4163%2019.9455%2022.5868%2019.9455H27.5905C27.7609%2019.9455%2027.9004%2019.8061%2027.9004%2019.6357V0.890816C27.9004%200.673934%2027.637%200.550001%2027.4821%200.689425L17.1957%209.44218Z'%20fill='%230066FC'/%3e%3c/svg%3e",aF="(max-width: 860px)";function rAe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"7",cy:"7",r:"2.25"}),l.jsx("circle",{cx:"17",cy:"7",r:"2.25"}),l.jsx("circle",{cx:"7",cy:"17",r:"2.25"}),l.jsx("circle",{cx:"17",cy:"17",r:"2.25"})]})}function sAe(e){let t=2166136261;for(const i of e)t^=i.charCodeAt(0),t=Math.imul(t,16777619);const n=t>>>0;return{"--avatar-hue-a":194+n%22,"--avatar-hue-b":214+(n>>>6)%25,"--avatar-hue-c":176+(n>>>12)%25,"--avatar-x":`${22+(n>>>18)%55}%`,"--avatar-y":`${18+(n>>>24)%58}%`}}const aAe={admin:"管理员",developer:"开发者",user:"普通用户"};function oF({role:e}){const t=aAe[e];return l.jsx("span",{className:`studio-role-badge studio-role-badge--${e}`,title:t,children:t})}function oAe({access:e,userInfo:t,onSystemInfo:n,onIssueFeedback:i,onLogout:r}){const[s,a]=m.useState(!1),[o,c]=m.useState("");if(!t)return null;const u=wTe(t),d=typeof t.email=="string"?t.email:"",f=(u||"U").slice(0,1).toUpperCase(),h=sAe(u||d||f),p=STe(t),b=p===o?"":p;return l.jsxs("div",{className:"sidebar-user",children:[l.jsxs("button",{className:"sidebar-user-btn",onClick:()=>a(g=>!g),title:d?`${u} -${d}`:u,children:[l.jsxs("span",{className:`account-avatar${b?" has-image":""}`,style:h,children:[f,b?l.jsx("img",{className:"account-avatar-image",src:b,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>c(b)}):null]}),l.jsxs("span",{className:"sidebar-user-identity",children:[l.jsxs("span",{className:"sidebar-user-primary",children:[l.jsx("span",{className:"sidebar-user-name",children:u}),l.jsx(oF,{role:e.role})]}),d&&d!==u&&l.jsx("span",{className:"sidebar-user-email",children:d})]})]}),s&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>a(!1)}),l.jsxs("div",{className:"account-pop sidebar-user-pop",children:[l.jsxs("div",{className:"account-head",children:[l.jsxs("span",{className:`account-avatar account-avatar--lg${b?" has-image":""}`,style:h,children:[f,b?l.jsx("img",{className:"account-avatar-image",src:b,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>c(b)}):null]}),l.jsxs("div",{className:"account-id",children:[l.jsxs("div",{className:"account-name-row",children:[l.jsx("div",{className:"account-name",children:u}),l.jsx(oF,{role:e.role})]}),d&&d!==u&&l.jsx("div",{className:"account-sub",children:d})]})]}),l.jsxs("button",{type:"button",className:"account-action",onClick:()=>{a(!1),n()},children:[l.jsx(xu,{className:"icon"})," 系统信息"]}),l.jsxs("button",{type:"button",className:"account-action",onClick:()=>{a(!1),i()},children:[l.jsx(_ne,{className:"icon"})," 问题反馈"]}),l.jsxs("button",{type:"button",className:"account-action",onClick:()=>{a(!1),r()},children:[l.jsx(Zke,{className:"icon"})," 退出登录"]})]})]})]})}function lAe({branding:e,cloudProvider:t,sessions:n,currentSessionId:i,activePage:r,features:s,access:a,streamingSids:o,evaluatingSids:c,sandboxHistory:u,intelligentHistory:d,onNewChat:f,onSearch:h,onQuickCreate:p,onLibrary:b,onAddAgent:g,onMyAgents:O,onApplications:y,onSystemInfo:v,onIssueFeedback:x,onPickSession:w,onDeleteSession:E,userInfo:S,onLogout:k}){const T=D=>(s==null?void 0:s[D])!==!1,[C,A]=m.useState(null),R=m.useRef(typeof window<"u"&&window.matchMedia(aF).matches),[P,B]=m.useState(R.current),I=[...n.map(D=>({kind:"agent",id:D.id,title:AA(D.events),createdAt:(D.lastUpdateTime??0)*1e3,session:D})),...((d==null?void 0:d.sessions)??[]).map(D=>({kind:"intelligent",id:D.id,title:D.displayName||"智能构建",createdAt:Date.parse(D.createdAt)||0,session:D}))].sort((D,F)=>F.createdAt-D.createdAt),$=()=>{R.current=!1,B(D=>!D),A(null)};m.useEffect(()=>{const D=window.matchMedia(aF),F=Q=>{Q.matches?B(M=>M||(R.current=!0,!0)):R.current&&(R.current=!1,B(!1))};return D.addEventListener("change",F),()=>D.removeEventListener("change",F)},[]);const j=t==="byteplus"?v$:x$;return l.jsxs("aside",{className:`sidebar ${P?"is-collapsed":""}`,children:[l.jsxs("div",{className:"sidebar-top",children:[l.jsxs("div",{className:"sidebar-brand-row",children:[l.jsxs("button",{type:"button",className:"brand",onClick:f,"aria-label":"返回首页",title:"返回首页",children:[l.jsx("img",{className:"brand-logo",src:e.logoUrl||j,width:20,height:20,alt:"","aria-hidden":!0}),l.jsx("span",{className:"brand-title",children:e.title})]}),l.jsx("button",{type:"button",className:"sidebar-collapse-toggle",onClick:$,"aria-label":P?"展开侧边栏":"收起侧边栏",title:P?"展开侧边栏":"收起侧边栏",children:P?l.jsx(nTe,{className:"icon"}):l.jsx(tTe,{className:"icon"})})]}),T("newChat")&&l.jsxs("button",{className:`new-chat new-chat--conversation${r==="new-chat"?" is-active":""}`,onClick:f,"aria-label":"新会话","aria-current":r==="new-chat"?"page":void 0,title:"新会话",children:[l.jsx(ea,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"新会话"})]}),l.jsxs("button",{className:`new-chat new-chat--agents${r==="agents"?" is-active":""}`,onClick:O,"aria-label":"智能体","aria-current":r==="agents"?"page":void 0,title:"智能体",children:[l.jsx(gh,{}),l.jsx("span",{className:"sidebar-nav-label",children:"智能体"})]}),a.capabilities.createAgents&&T("addAgent")?l.jsxs("button",{className:"new-chat new-chat--add-agent",onClick:p,"aria-label":"添加智能体",title:"添加智能体",children:[l.jsx(ea,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"添加智能体"})]}):null,l.jsxs("button",{className:`new-chat new-chat--library${r==="library"?" is-active":""}`,onClick:b,"aria-label":"库","aria-current":r==="library"?"page":void 0,title:"库",children:[l.jsx(wke,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"库"})]}),T("search")&&l.jsx(G_e,{active:r==="search",onClick:h}),l.jsxs("button",{className:`new-chat new-chat--applications${r==="applications"?" is-active":""}`,onClick:y,"aria-label":"自动化","aria-current":r==="applications"?"page":void 0,title:"自动化",children:[l.jsx(rAe,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"自动化"}),l.jsx("span",{className:"sidebar-beta-badge",children:"Beta"})]})]}),T("history")&&l.jsxs("div",{className:"sidebar-history",children:[l.jsxs("div",{className:"history-head",children:[l.jsx("span",{children:"历史会话"}),T("newChat")&&l.jsx("button",{type:"button",className:"history-new-chat",onClick:(u==null?void 0:u.onNew)??f,disabled:u==null?void 0:u.newDisabled,"aria-label":"新建会话",title:"新建会话",children:l.jsx(ea,{className:"icon"})})]}),l.jsx("div",{className:"history-list",children:u?l.jsxs(l.Fragment,{children:[u.loading&&u.threads.length===0?l.jsx("div",{className:"history-empty",role:"status",children:"正在加载历史会话…"}):null,u.error?l.jsx("div",{className:"history-error",role:"alert",children:u.error}):null,!u.loading&&!u.error&&u.threads.length===0?l.jsx("div",{className:"history-empty",children:"暂无会话"}):null,u.threads.map(D=>{const F=D.id===u.currentThreadId,Q=D.name||D.preview||`Thread ${D.id.slice(0,8)}`,M=D.id===u.busyThreadId;return l.jsxs("div",{className:`history-item ${F?"active":""}`,children:[l.jsxs("button",{type:"button",className:"history-item-btn",onClick:()=>u.onSelect(D.id),"aria-current":F?"page":void 0,title:Q,disabled:M,children:[l.jsx("span",{className:"history-title",children:Q}),F?l.jsx("span",{className:"history-current-badge",children:"当前"}):null]}),l.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${Q}`,title:"更多",disabled:M,onClick:()=>A(G=>G===D.id?null:D.id),children:l.jsx(B7,{className:"icon"})}),C===D.id?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>A(null)}),l.jsx("div",{className:"history-menu",children:l.jsxs("button",{type:"button",className:"menu-item menu-item--danger",onClick:()=>{A(null),u.onDelete(D)},children:[l.jsx(mh,{className:"icon"})," 删除"]})})]}):null]},D.id)}),u.hasMore?l.jsx("button",{type:"button",className:"history-load-more",disabled:u.loading,onClick:u.onLoadMore,children:u.loading?"加载中…":"加载更多"}):null]}):l.jsxs(l.Fragment,{children:[d!=null&&d.loading&&I.length===0?l.jsx("div",{className:"history-empty",role:"status",children:"正在加载历史会话…"}):null,d!=null&&d.error?l.jsx("div",{className:"history-error",role:"alert",children:d.error}):null,!(d!=null&&d.loading)&&!(d!=null&&d.error)&&I.length===0?l.jsx("div",{className:"history-empty",children:"暂无会话"}):null,I.map(D=>{const F=`${D.kind}:${D.id}`,Q=D.kind==="intelligent",M=Q?D.id===(d==null?void 0:d.currentSessionId):D.id===i,G=Q?D.id===(d==null?void 0:d.busySessionId):(o==null?void 0:o.has(D.id))===!0,H=!Q&&!G&&(c==null?void 0:c.has(D.id))===!0,U=Q&&D.id===(d==null?void 0:d.openingSessionId);return l.jsxs("div",{className:`history-item ${M?"active":""}`,children:[l.jsxs("button",{className:"history-item-btn",onClick:()=>D.kind==="intelligent"?d==null?void 0:d.onSelect(D.session):w(D.id),"aria-current":M?"page":void 0,title:D.title,disabled:U,children:[G&&l.jsx("span",{className:"history-streaming",title:Q?"正在构建…":"正在生成…","aria-label":Q?"正在构建":"正在生成"}),l.jsx("span",{className:"history-title",children:D.title}),H&&l.jsxs("span",{className:"history-evaluating-status",title:"正在自动评测",children:[l.jsx("span",{className:"history-evaluating","aria-hidden":"true"}),"评测中"]})]}),l.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${D.title}`,title:"更多",disabled:U||Q&&G,onClick:()=>A(q=>q===F?null:F),children:l.jsx(B7,{className:"icon"})}),C===F&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>A(null)}),l.jsx("div",{className:"history-menu",children:l.jsxs("button",{type:"button",className:"menu-item menu-item--danger",onClick:()=>{A(null),D.kind==="intelligent"?d==null||d.onDelete(D.session):E(D.id)},children:[l.jsx(mh,{className:"icon"})," 删除"]})})]})]},F)})]})})]}),l.jsxs("div",{className:"sidebar-footer",children:[l.jsx(tAe,{cloudProvider:t}),l.jsx(oAe,{access:a,userInfo:S,onSystemInfo:v,onIssueFeedback:x,onLogout:k})]})]})}function us(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n{}};function CA(){for(var e=0,t=arguments.length,n={},i;e=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}qE.prototype=CA.prototype={constructor:qE,on:function(e,t){var n=this._,i=uAe(e+"",n),r,s=-1,a=i.length;if(arguments.length<2){for(;++s0)for(var n=new Array(r),i=0,r,s;i=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),cF.hasOwnProperty(t)?{space:cF[t],local:e}:e}function fAe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===vP&&t.documentElement.namespaceURI===vP?t.createElement(e):t.createElementNS(n,e)}}function hAe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ane(e){var t=NA(e);return(t.local?hAe:fAe)(t)}function pAe(){}function w$(e){return e==null?pAe:function(){return this.querySelector(e)}}function mAe(e){typeof e!="function"&&(e=w$(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r=x&&(x=v+1);!(E=O[x])&&++x=0;)(a=i[r])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function BAe(e){e||(e=FAe);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,i=n.length,r=new Array(i),s=0;st?1:e>=t?0:NaN}function UAe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function zAe(){return Array.from(this)}function VAe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?t2e:typeof t=="function"?i2e:n2e)(e,t,n??"")):eb(this.node(),e)}function eb(e,t){return e.style.getPropertyValue(t)||Dne(e).getComputedStyle(e,null).getPropertyValue(t)}function s2e(e){return function(){delete this[e]}}function a2e(e,t){return function(){this[e]=t}}function o2e(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function l2e(e,t){return arguments.length>1?this.each((t==null?s2e:typeof t=="function"?o2e:a2e)(e,t)):this.node()[e]}function Ine(e){return e.trim().split(/^|\s+/)}function S$(e){return e.classList||new Pne(e)}function Pne(e){this._node=e,this._names=Ine(e.getAttribute("class")||"")}Pne.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 Mne(e,t){for(var n=S$(e),i=-1,r=t.length;++i=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function M2e(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,r=t.length,s;n()=>e;function wP(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:s,x:a,y:o,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:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}wP.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function X2e(e){return!e.ctrlKey&&!e.button}function H2e(){return this.parentNode}function Y2e(e,t){return t??{x:e.x,y:e.y}}function G2e(){return navigator.maxTouchPoints||"ontouchstart"in this}function Une(){var e=X2e,t=H2e,n=Y2e,i=G2e,r={},s=CA("start","drag","end"),a=0,o,c,u,d,f=0;function h(w){w.on("mousedown.drag",p).filter(i).on("touchstart.drag",O).on("touchmove.drag",y,q2e).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(w,E){if(!(d||!e.call(this,w,E))){var S=x(this,t.call(this,w,E),w,E,"mouse");S&&($o(w.view).on("mousemove.drag",b,i1).on("mouseup.drag",g,i1),Bne(w.view),YN(w),u=!1,o=w.clientX,c=w.clientY,S("start",w))}}function b(w){if(b0(w),!u){var E=w.clientX-o,S=w.clientY-c;u=E*E+S*S>f}r.mouse("drag",w)}function g(w){$o(w.view).on("mousemove.drag mouseup.drag",null),Fne(w.view,u),b0(w),r.mouse("end",w)}function O(w,E){if(e.call(this,w,E)){var S=w.changedTouches,k=t.call(this,w,E),T=S.length,C,A;for(C=0;C>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?oS(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?oS(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=Z2e.exec(e))?new io(t[1],t[2],t[3],1):(t=K2e.exec(e))?new io(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=J2e.exec(e))?oS(t[1],t[2],t[3],t[4]):(t=eCe.exec(e))?oS(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=tCe.exec(e))?gF(t[1],t[2]/100,t[3]/100,1):(t=nCe.exec(e))?gF(t[1],t[2]/100,t[3]/100,t[4]):uF.hasOwnProperty(e)?hF(uF[e]):e==="transparent"?new io(NaN,NaN,NaN,0):null}function hF(e){return new io(e>>16&255,e>>8&255,e&255,1)}function oS(e,t,n,i){return i<=0&&(e=t=n=NaN),new io(e,t,n,i)}function sCe(e){return e instanceof Sv||(e=im(e)),e?(e=e.rgb(),new io(e.r,e.g,e.b,e.opacity)):new io}function SP(e,t,n,i){return arguments.length===1?sCe(e):new io(e,t,n,i??1)}function io(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}E$(io,SP,zne(Sv,{brighter(e){return e=e==null?vT:Math.pow(vT,e),new io(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?r1:Math.pow(r1,e),new io(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new io(Up(this.r),Up(this.g),Up(this.b),wT(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:pF,formatHex:pF,formatHex8:aCe,formatRgb:mF,toString:mF}));function pF(){return`#${kp(this.r)}${kp(this.g)}${kp(this.b)}`}function aCe(){return`#${kp(this.r)}${kp(this.g)}${kp(this.b)}${kp((isNaN(this.opacity)?1:this.opacity)*255)}`}function mF(){const e=wT(this.opacity);return`${e===1?"rgb(":"rgba("}${Up(this.r)}, ${Up(this.g)}, ${Up(this.b)}${e===1?")":`, ${e})`}`}function wT(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Up(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function kp(e){return e=Up(e),(e<16?"0":"")+e.toString(16)}function gF(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ic(e,t,n,i)}function Vne(e){if(e instanceof ic)return new ic(e.h,e.s,e.l,e.opacity);if(e instanceof Sv||(e=im(e)),!e)return new ic;if(e instanceof ic)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),s=Math.max(t,n,i),a=NaN,o=s-r,c=(s+r)/2;return o?(t===s?a=(n-i)/o+(n0&&c<1?0:a,new ic(a,o,c,e.opacity)}function oCe(e,t,n,i){return arguments.length===1?Vne(e):new ic(e,t,n,i??1)}function ic(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}E$(ic,oCe,zne(Sv,{brighter(e){return e=e==null?vT:Math.pow(vT,e),new ic(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?r1:Math.pow(r1,e),new ic(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new io(GN(e>=240?e-240:e+120,r,i),GN(e,r,i),GN(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new ic(bF(this.h),lS(this.s),lS(this.l),wT(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=wT(this.opacity);return`${e===1?"hsl(":"hsla("}${bF(this.h)}, ${lS(this.s)*100}%, ${lS(this.l)*100}%${e===1?")":`, ${e})`}`}}));function bF(e){return e=(e||0)%360,e<0?e+360:e}function lS(e){return Math.max(0,Math.min(1,e||0))}function GN(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 jA=e=>()=>e;function qne(e,t){return function(n){return e+n*t}}function lCe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function hwt(e,t){var n=t-e;return n?qne(e,n>180||n<-180?n-360*Math.round(n/360):n):jA(isNaN(e)?t:e)}function cCe(e){return(e=+e)==1?Xne:function(t,n){return n-t?lCe(t,n,e):jA(isNaN(t)?n:t)}}function Xne(e,t){var n=t-e;return n?qne(e,n):jA(isNaN(e)?t:e)}const ST=function e(t){var n=cCe(t);function i(r,s){var a=n((r=SP(r)).r,(s=SP(s)).r),o=n(r.g,s.g),c=n(r.b,s.b),u=Xne(r.opacity,s.opacity);return function(d){return r.r=a(d),r.g=o(d),r.b=c(d),r.opacity=u(d),r+""}}return i.gamma=e,i}(1);function uCe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),r;return function(s){for(r=0;rn&&(s=t.slice(n,s),o[a]?o[a]+=s:o[++a]=s),(i=i[0])===(r=r[0])?o[a]?o[a]+=r:o[++a]=r:(o[++a]=null,c.push({i:a,x:Uc(i,r)})),n=WN.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(r(f)+"rotate(",null,i)-2,x:Uc(u,d)})):d&&f.push(r(f)+"rotate("+d+i)}function o(u,d,f,h){u!==d?h.push({i:f.push(r(f)+"skewX(",null,i)-2,x:Uc(u,d)}):d&&f.push(r(f)+"skewX("+d+i)}function c(u,d,f,h,p,b){if(u!==f||d!==h){var g=p.push(r(p)+"scale(",null,",",null,")");b.push({i:g-4,x:Uc(u,f)},{i:g-2,x:Uc(d,h)})}else(f!==1||h!==1)&&p.push(r(p)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),s(u.translateX,u.translateY,d.translateX,d.translateY,f,h),a(u.rotate,d.rotate,f,h),o(u.skewX,d.skewX,f,h),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(p){for(var b=-1,g=h.length,O;++b=0&&e._call.call(void 0,t),e=e._next;--tb}function xF(){rm=(kT=a1.now())+RA,tb=ky=0;try{kCe()}finally{tb=0,_Ce(),rm=0}}function TCe(){var e=a1.now(),t=e-kT;t>Wne&&(RA-=t,kT=e)}function _Ce(){for(var e,t=ET,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ET=n);Ty=e,TP(i)}function TP(e){if(!tb){ky&&(ky=clearTimeout(ky));var t=e-rm;t>24?(e<1/0&&(ky=setTimeout(xF,e-a1.now()-RA)),VO&&(VO=clearInterval(VO))):(VO||(kT=a1.now(),VO=setInterval(TCe,Wne)),tb=1,Zne(xF))}}function vF(e,t,n){var i=new TT;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var ACe=CA("start","end","cancel","interrupt"),CCe=[],Jne=0,wF=1,_P=2,HE=3,SF=4,AP=5,YE=6;function DA(e,t,n,i,r,s){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;NCe(e,n,{name:t,index:i,group:r,on:ACe,tween:CCe,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:Jne})}function T$(e,t){var n=Oc(e,t);if(n.state>Jne)throw new Error("too late; already scheduled");return n}function vu(e,t){var n=Oc(e,t);if(n.state>HE)throw new Error("too late; already running");return n}function Oc(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function NCe(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=Kne(s,0,n.time);function s(u){n.state=wF,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var d,f,h,p;if(n.state!==wF)return c();for(d in i)if(p=i[d],p.name===n.name){if(p.state===HE)return vF(a);p.state===SF?(p.state=YE,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[d]):+d_P&&i.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function aNe(e,t,n){var i,r,s=sNe(t)?T$:vu;return function(){var a=s(this,e),o=a.on;o!==i&&(r=(i=o).copy()).on(t,n),a.on=r}}function oNe(e,t){var n=this._id;return arguments.length<2?Oc(this.node(),n).on.on(e):this.each(aNe(n,e,t))}function lNe(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function cNe(){return this.on("end.remove",lNe(this._id))}function uNe(e){var t=this._name,n=this._id;typeof e!="function"&&(e=w$(e));for(var i=this._groups,r=i.length,s=new Array(r),a=0;a()=>e;function PNe(e,{sourceEvent:t,target:n,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function ud(e,t,n){this.k=e,this.x=t,this.y=n}ud.prototype={constructor:ud,scale:function(e){return e===1?this:new ud(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ud(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 IA=new ud(1,0,0);iie.prototype=ud.prototype;function iie(e){for(;!e.__zoom;)if(!(e=e.parentNode))return IA;return e.__zoom}function ZN(e){e.stopImmediatePropagation()}function qO(e){e.preventDefault(),e.stopImmediatePropagation()}function MNe(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function LNe(){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 EF(){return this.__zoom||IA}function $Ne(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function QNe(){return navigator.maxTouchPoints||"ontouchstart"in this}function BNe(e,t,n){var i=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),a>s?(s+a)/2:Math.min(0,s)||Math.max(0,a))}function rie(){var e=MNe,t=LNe,n=BNe,i=$Ne,r=QNe,s=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],o=250,c=XE,u=CA("start","zoom","end"),d,f,h,p=500,b=150,g=0,O=10;function y(I){I.property("__zoom",EF).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",A).filter(r).on("touchstart.zoom",R).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",B).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(I,$,j,D){var F=I.selection?I.selection():I;F.property("__zoom",EF),I!==F?E(I,$,j,D):F.interrupt().each(function(){S(this,arguments).event(D).start().zoom(null,typeof $=="function"?$.apply(this,arguments):$).end()})},y.scaleBy=function(I,$,j,D){y.scaleTo(I,function(){var F=this.__zoom.k,Q=typeof $=="function"?$.apply(this,arguments):$;return F*Q},j,D)},y.scaleTo=function(I,$,j,D){y.transform(I,function(){var F=t.apply(this,arguments),Q=this.__zoom,M=j==null?w(F):typeof j=="function"?j.apply(this,arguments):j,G=Q.invert(M),H=typeof $=="function"?$.apply(this,arguments):$;return n(x(v(Q,H),M,G),F,a)},j,D)},y.translateBy=function(I,$,j,D){y.transform(I,function(){return n(this.__zoom.translate(typeof $=="function"?$.apply(this,arguments):$,typeof j=="function"?j.apply(this,arguments):j),t.apply(this,arguments),a)},null,D)},y.translateTo=function(I,$,j,D,F){y.transform(I,function(){var Q=t.apply(this,arguments),M=this.__zoom,G=D==null?w(Q):typeof D=="function"?D.apply(this,arguments):D;return n(IA.translate(G[0],G[1]).scale(M.k).translate(typeof $=="function"?-$.apply(this,arguments):-$,typeof j=="function"?-j.apply(this,arguments):-j),Q,a)},D,F)};function v(I,$){return $=Math.max(s[0],Math.min(s[1],$)),$===I.k?I:new ud($,I.x,I.y)}function x(I,$,j){var D=$[0]-j[0]*I.k,F=$[1]-j[1]*I.k;return D===I.x&&F===I.y?I:new ud(I.k,D,F)}function w(I){return[(+I[0][0]+ +I[1][0])/2,(+I[0][1]+ +I[1][1])/2]}function E(I,$,j,D){I.on("start.zoom",function(){S(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(D).end()}).tween("zoom",function(){var F=this,Q=arguments,M=S(F,Q).event(D),G=t.apply(F,Q),H=j==null?w(G):typeof j=="function"?j.apply(F,Q):j,U=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=F.__zoom,ie=typeof $=="function"?$.apply(F,Q):$,fe=c(q.invert(H).concat(U/q.k),ie.invert(H).concat(U/ie.k));return function(me){if(me===1)me=ie;else{var ce=fe(me),K=U/ce[2];me=new ud(K,H[0]-ce[0]*K,H[1]-ce[1]*K)}M.zoom(null,me)}})}function S(I,$,j){return!j&&I.__zooming||new k(I,$)}function k(I,$){this.that=I,this.args=$,this.active=0,this.sourceEvent=null,this.extent=t.apply(I,$),this.taps=0}k.prototype={event:function(I){return I&&(this.sourceEvent=I),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(I,$){return this.mouse&&I!=="mouse"&&(this.mouse[1]=$.invert(this.mouse[0])),this.touch0&&I!=="touch"&&(this.touch0[1]=$.invert(this.touch0[0])),this.touch1&&I!=="touch"&&(this.touch1[1]=$.invert(this.touch1[0])),this.that.__zoom=$,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(I){var $=$o(this.that).datum();u.call(I,this.that,new PNe(I,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:u}),$)}};function T(I,...$){if(!e.apply(this,arguments))return;var j=S(this,$).event(I),D=this.__zoom,F=Math.max(s[0],Math.min(s[1],D.k*Math.pow(2,i.apply(this,arguments)))),Q=ec(I);if(j.wheel)(j.mouse[0][0]!==Q[0]||j.mouse[0][1]!==Q[1])&&(j.mouse[1]=D.invert(j.mouse[0]=Q)),clearTimeout(j.wheel);else{if(D.k===F)return;j.mouse=[Q,D.invert(Q)],GE(this),j.start()}qO(I),j.wheel=setTimeout(M,b),j.zoom("mouse",n(x(v(D,F),j.mouse[0],j.mouse[1]),j.extent,a));function M(){j.wheel=null,j.end()}}function C(I,...$){if(h||!e.apply(this,arguments))return;var j=I.currentTarget,D=S(this,$,!0).event(I),F=$o(I.view).on("mousemove.zoom",H,!0).on("mouseup.zoom",U,!0),Q=ec(I,j),M=I.clientX,G=I.clientY;Bne(I.view),ZN(I),D.mouse=[Q,this.__zoom.invert(Q)],GE(this),D.start();function H(q){if(qO(q),!D.moved){var ie=q.clientX-M,fe=q.clientY-G;D.moved=ie*ie+fe*fe>g}D.event(q).zoom("mouse",n(x(D.that.__zoom,D.mouse[0]=ec(q,j),D.mouse[1]),D.extent,a))}function U(q){F.on("mousemove.zoom mouseup.zoom",null),Fne(q.view,D.moved),qO(q),D.event(q).end()}}function A(I,...$){if(e.apply(this,arguments)){var j=this.__zoom,D=ec(I.changedTouches?I.changedTouches[0]:I,this),F=j.invert(D),Q=j.k*(I.shiftKey?.5:2),M=n(x(v(j,Q),D,F),t.apply(this,$),a);qO(I),o>0?$o(this).transition().duration(o).call(E,M,D,I):$o(this).call(y.transform,M,D,I)}}function R(I,...$){if(e.apply(this,arguments)){var j=I.touches,D=j.length,F=S(this,$,I.changedTouches.length===D).event(I),Q,M,G,H;for(ZN(I),M=0;M`Seems like you have not used zustand provider as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},o1=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],sie=["Enter"," ","Escape"],aie={"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 nb;(function(e){e.Strict="strict",e.Loose="loose"})(nb||(nb={}));var zp;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(zp||(zp={}));var l1;(function(e){e.Partial="partial",e.Full="full"})(l1||(l1={}));const oie={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var If;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(If||(If={}));var c1;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(c1||(c1={}));var _t;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(_t||(_t={}));const kF={[_t.Left]:_t.Right,[_t.Right]:_t.Left,[_t.Top]:_t.Bottom,[_t.Bottom]:_t.Top};function lie(e){return e===null?null:e?"valid":"invalid"}const cie=e=>"id"in e&&"source"in e&&"target"in e,FNe=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),A$=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Ev=(e,t=[0,0])=>{const{width:n,height:i}=Ud(e),r=e.origin??t,s=n*r[0],a=i*r[1];return{x:e.position.x-s,y:e.position.y-a}},UNe=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,r)=>{const s=typeof r=="string";let a=!t.nodeLookup&&!s?r:void 0;t.nodeLookup&&(a=s?t.nodeLookup.get(r):A$(r)?r:t.nodeLookup.get(r.id));const o=a?_T(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return PA(i,o)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return MA(n)},kv=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=PA(n,_T(r)),i=!0)}),i?MA(n):{x:0,y:0,width:0,height:0}},C$=(e,t,[n,i,r]=[0,0,1],s=!1,a=!1)=>{const o={...Vb(t,[n,i,r]),width:t.width/r,height:t.height/r},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:h=!1}=u;if(a&&!f||h)continue;const p=d.width??u.width??u.initialWidth??null,b=d.height??u.height??u.initialHeight??null,g=u1(o,rb(u)),O=(p??0)*(b??0),y=s&&g>0;(!u.internals.handleBounds||y||g>=O||u.dragging)&&c.push(u)}return c},zNe=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function VNe(e,t){const n=new Map,i=t!=null&&t.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!r.hidden)&&(!i||i.has(r.id))&&n.set(r.id,r)}),n}async function qNe({nodes:e,width:t,height:n,panZoom:i,minZoom:r,maxZoom:s},a){if(e.size===0)return!0;const o=VNe(e,a),c=kv(o),u=j$(c,t,n,(a==null?void 0:a.minZoom)??r,(a==null?void 0:a.maxZoom)??s,(a==null?void 0:a.padding)??.1);return await i.setViewport(u,{duration:a==null?void 0:a.duration,ease:a==null?void 0:a.ease,interpolate:a==null?void 0:a.interpolate}),!0}function uie({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:r,onError:s}){const a=n.get(e),o=a.parentId?n.get(a.parentId):void 0,{x:c,y:u}=o?o.internals.positionAbsolute:{x:0,y:0},d=a.origin??i;let f=a.extent||r;if(a.extent==="parent"&&!a.expandParent)if(!o)s==null||s("005",pc.error005());else{const p=o.measured.width,b=o.measured.height;p&&b&&(f=[[c,u],[c+p,u+b]])}else o&&am(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=am(f)?sm(t,f,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(s==null||s("015",pc.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 XNe({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:r}){const s=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const p=s.has(h.id),b=!p&&h.parentId&&a.find(g=>g.id===h.parentId);(p||b)&&a.push(h)}const o=new Set(t.map(h=>h.id)),c=i.filter(h=>h.deletable!==!1),d=zNe(a,c);for(const h of c)o.has(h.id)&&!d.find(b=>b.id===h.id)&&d.push(h);if(!r)return{edges:d,nodes:a};const f=await r({nodes:a,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:a}:{edges:[],nodes:[]}:f}const ib=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),sm=(e={x:0,y:0},t,n)=>({x:ib(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:ib(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function die(e,t,n){const{width:i,height:r}=Ud(n),{x:s,y:a}=n.internals.positionAbsolute;return sm(e,[[s,a],[s+i,a+r]],t)}const TF=(e,t,n)=>en?-ib(Math.abs(e-n),1,t)/t:0,N$=(e,t,n=15,i=40)=>{const r=TF(e.x,i,t.width-i)*n,s=TF(e.y,i,t.height-i)*n;return[r,s]},PA=(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)}),CP=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),MA=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),rb=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=A$(e)?e.internals.positionAbsolute:Ev(e,t);return{x:n,y:i,width:((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},_T=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=A$(e)?e.internals.positionAbsolute:Ev(e,t);return{x:n,y:i,x2:n+(((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0),y2:i+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},fie=(e,t)=>MA(PA(CP(e),CP(t))),u1=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),i=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*i)},_F=e=>sc(e.width)&&sc(e.height)&&sc(e.x)&&sc(e.y),sc=e=>!isNaN(e)&&isFinite(e),hie=(e,t)=>(n,i)=>{},Tv=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Vb=({x:e,y:t},[n,i,r],s=!1,a=[1,1])=>{const o={x:(e-n)/r,y:(t-i)/r};return s?Tv(o,a):o},sb=({x:e,y:t},[n,i,r])=>({x:e*r+n,y:t*r+i});function tg(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 HNe(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=tg(e,n),r=tg(e,t);return{top:i,right:r,bottom:i,left:r,x:r*2,y:i*2}}if(typeof e=="object"){const i=tg(e.top??e.y??0,n),r=tg(e.bottom??e.y??0,n),s=tg(e.left??e.x??0,t),a=tg(e.right??e.x??0,t);return{top:i,right:a,bottom:r,left:s,x:s+a,y:i+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function YNe(e,t,n,i,r,s){const{x:a,y:o}=sb(e,[t,n,i]),{x:c,y:u}=sb({x:e.x+e.width,y:e.y+e.height},[t,n,i]),d=r-c,f=s-u;return{left:Math.floor(a),top:Math.floor(o),right:Math.floor(d),bottom:Math.floor(f)}}const j$=(e,t,n,i,r,s)=>{const a=HNe(s,t,n),o=(t-a.x)/e.width,c=(n-a.y)/e.height,u=Math.min(o,c),d=ib(u,i,r),f=e.x+e.width/2,h=e.y+e.height/2,p=t/2-f*d,b=n/2-h*d,g=YNe(e,p,b,d,t,n),O={left:Math.min(g.left-a.left,0),top:Math.min(g.top-a.top,0),right:Math.min(g.right-a.right,0),bottom:Math.min(g.bottom-a.bottom,0)};return{x:p-O.left+O.right,y:b-O.top+O.bottom,zoom:d}},d1=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function am(e){return e!=null&&e!=="parent"}function Ud(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 R$(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 pie(e,t={width:0,height:0},n,i,r){const s={...e},a=i.get(n);if(a){const o=a.origin||r;s.x+=a.internals.positionAbsolute.x-(t.width??0)*o[0],s.y+=a.internals.positionAbsolute.y-(t.height??0)*o[1]}return s}function AF(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function GNe(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}}function WNe(e){return{...aie,...e||{}}}function cx(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:r}){const{x:s,y:a}=ac(e),o=Vb({x:s-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)},i),{x:c,y:u}=n?Tv(o,t):o;return{xSnapped:c,ySnapped:u,...o}}const D$=e=>({width:e.offsetWidth,height:e.offsetHeight}),mie=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},ZNe=["INPUT","SELECT","TEXTAREA"];function gie(e){var i,r;const t=((r=(i=e.composedPath)==null?void 0:i.call(e))==null?void 0:r[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:ZNe.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const bie=e=>"clientX"in e,ac=(e,t)=>{var s,a;const n=bie(e),i=n?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,r=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:i-((t==null?void 0:t.left)??0),y:r-((t==null?void 0:t.top)??0)}},CF=(e,t,n,i,r)=>{const s=t.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(a=>{const o=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:r,position:a.getAttribute("data-handlepos"),x:(o.left-n.left)/i,y:(o.top-n.top)/i,...D$(a)}})};function Oie({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:r,sourceControlY:s,targetControlX:a,targetControlY:o}){const c=e*.125+r*.375+a*.375+n*.125,u=t*.125+s*.375+o*.375+i*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function dS(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function NF({pos:e,x1:t,y1:n,x2:i,y2:r,c:s}){switch(e){case _t.Left:return[t-dS(t-i,s),n];case _t.Right:return[t+dS(i-t,s),n];case _t.Top:return[t,n-dS(n-r,s)];case _t.Bottom:return[t,n+dS(r-n,s)]}}function yie({sourceX:e,sourceY:t,sourcePosition:n=_t.Bottom,targetX:i,targetY:r,targetPosition:s=_t.Top,curvature:a=.25}){const[o,c]=NF({pos:n,x1:e,y1:t,x2:i,y2:r,c:a}),[u,d]=NF({pos:s,x1:i,y1:r,x2:e,y2:t,c:a}),[f,h,p,b]=Oie({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:o,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${o},${c} ${u},${d} ${i},${r}`,f,h,p,b]}function xie({sourceX:e,sourceY:t,targetX:n,targetY:i}){const r=Math.abs(n-e)/2,s=n0}const eje=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,tje=(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)),nje=(e,t,n={})=>{var s;if(!e.source||!e.target)return(s=n.onError)==null||s.call(n,"006",pc.error006()),t;const i=n.getEdgeId||eje;let r;return cie(e)?r={...e}:r={...e,id:i(e)},tje(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function vie({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[r,s,a,o]=xie({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,r,s,a,o]}const jF={[_t.Left]:{x:-1,y:0},[_t.Right]:{x:1,y:0},[_t.Top]:{x:0,y:-1},[_t.Bottom]:{x:0,y:1}},ije=({source:e,sourcePosition:t=_t.Bottom,target:n})=>t===_t.Left||t===_t.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function rje({source:e,sourcePosition:t=_t.Bottom,target:n,targetPosition:i=_t.Top,center:r,offset:s,stepPosition:a}){const o=jF[t],c=jF[i],u={x:e.x+o.x*s,y:e.y+o.y*s},d={x:n.x+c.x*s,y:n.y+c.y*s},f=ije({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",p=f[h];let b=[],g,O;const y={x:0,y:0},v={x:0,y:0},[,,x,w]=xie({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(o[h]*c[h]===-1){h==="x"?(g=r.x??u.x+(d.x-u.x)*a,O=r.y??(u.y+d.y)/2):(g=r.x??(u.x+d.x)/2,O=r.y??u.y+(d.y-u.y)*a);const T=[{x:g,y:u.y},{x:g,y:d.y}],C=[{x:u.x,y:O},{x:d.x,y:O}];o[h]===p?b=h==="x"?T:C:b=h==="x"?C:T}else{const T=[{x:u.x,y:d.y}],C=[{x:d.x,y:u.y}];if(h==="x"?b=o.x===p?C:T:b=o.y===p?T:C,t===i){const I=Math.abs(e[h]-n[h]);if(I<=s){const $=Math.min(s-1,s-I);o[h]===p?y[h]=(u[h]>e[h]?-1:1)*$:v[h]=(d[h]>n[h]?-1:1)*$}}if(t!==i){const I=h==="x"?"y":"x",$=o[h]===c[I],j=u[I]>d[I],D=u[I]=B?(g=(A.x+R.x)/2,O=b[0].y):(g=b[0].x,O=(A.y+R.y)/2)}const E={x:u.x+y.x,y:u.y+y.y},S={x:d.x+v.x,y:d.y+v.y};return[[e,...E.x!==b[0].x||E.y!==b[0].y?[E]:[],...b,...S.x!==b[b.length-1].x||S.y!==b[b.length-1].y?[S]:[],n],g,O,x,w]}function sje(e,t,n,i){const r=Math.min(RF(e,t)/2,RF(t,n)/2,i),{x:s,y:a}=t;if(e.x===s&&s===n.x||e.y===a&&a===n.y)return`L${s} ${a}`;if(e.y===a){const u=e.xn.id===t):e[0])||null}function NP(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function oje(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:r}){const s=new Set;return e.reduce((a,o)=>([o.markerStart||i,o.markerEnd||r].forEach(c=>{if(c&&typeof c=="object"){const u=NP(c,t);s.has(u)||(a.push({id:u,color:c.color||n,...c}),s.add(u))}}),a),[]).sort((a,o)=>a.id.localeCompare(o.id))}const wie=1e3,lje=10,I$={nodeOrigin:[0,0],nodeExtent:o1,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},cje={...I$,checkEquality:!0};function P$(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function uje(e,t,n){const i=P$(I$,n);for(const r of e.values())if(r.parentId)L$(r,e,t,i);else{const s=Ev(r,i.nodeOrigin),a=am(r.extent)?r.extent:i.nodeExtent,o=sm(s,a,Ud(r));r.internals.positionAbsolute=o}}function dje(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],i=[];for(const r of e.handles){const s={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(s):r.type==="target"&&i.push(s)}return{source:n,target:i}}function M$(e){return e==="manual"}function jP(e,t,n,i={}){var d,f;const r=P$(cje,i),s={i:0},a=new Map(t),o=r!=null&&r.elevateNodesOnSelect&&!M$(r.zIndexMode)?wie:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const h of e){let p=a.get(h.id);if(r.checkEquality&&h===(p==null?void 0:p.internals.userNode))t.set(h.id,p);else{const b=Ev(h,r.nodeOrigin),g=am(h.extent)?h.extent:r.nodeExtent,O=sm(b,g,Ud(h));p={...r.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(f=h.measured)==null?void 0:f.height},internals:{positionAbsolute:O,handleBounds:dje(h,p),z:Sie(h,o,r.zIndexMode),userNode:h}},t.set(h.id,p)}(p.measured===void 0||p.measured.width===void 0||p.measured.height===void 0)&&!p.hidden&&(c=!1),h.parentId&&L$(p,t,n,i,s),u||(u=h.selected??!1)}return{nodesInitialized:c,hasSelectedNodes:u}}function fje(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 L$(e,t,n,i,r){const{elevateNodesOnSelect:s,nodeOrigin:a,nodeExtent:o,zIndexMode:c}=P$(I$,i),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}fje(e,n),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*lje),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);const f=s&&!M$(c)?wie:0,{x:h,y:p,z:b}=hje(e,d,a,o,f,c),{positionAbsolute:g}=e.internals,O=h!==g.x||p!==g.y;(O||b!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:O?{x:h,y:p}:g,z:b}})}function Sie(e,t,n){const i=sc(e.zIndex)?e.zIndex:0;return M$(n)?i:i+(e.selected?t:0)}function hje(e,t,n,i,r,s){const{x:a,y:o}=t.internals.positionAbsolute,c=Ud(e),u=Ev(e,n),d=am(e.extent)?sm(u,e.extent,c):u;let f=sm({x:a+d.x,y:o+d.y},i,c);e.extent==="parent"&&(f=die(f,c,t));const h=Sie(e,r,s),p=t.internals.z??0;return{x:f.x,y:f.y,z:p>=h?p+1:h}}function $$(e,t,n,i=[0,0]){var a;const r=[],s=new Map;for(const o of e){const c=t.get(o.parentId);if(!c)continue;const u=((a=s.get(o.parentId))==null?void 0:a.expandedRect)??rb(c),d=fie(u,o.rect);s.set(o.parentId,{expandedRect:d,parent:c})}return s.size>0&&s.forEach(({expandedRect:o,parent:c},u)=>{var x;const d=c.internals.positionAbsolute,f=Ud(c),h=c.origin??i,p=o.x0||b>0||y||v)&&(r.push({id:u,type:"position",position:{x:c.position.x-p+y,y:c.position.y-b+v}}),(x=n.get(u))==null||x.forEach(w=>{e.some(E=>E.id===w.id)||r.push({id:w.id,type:"position",position:{x:w.position.x+p,y:w.position.y+b}})})),(f.width0){const p=$$(h,t,n,r);u.push(...p)}return{changes:u,updatedInternals:c}}async function mje({delta:e,panZoom:t,transform:n,translateExtent:i,width:r,height:s}){if(!t||!e.x&&!e.y)return!1;const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,s]],i);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function MF(e,t,n,i,r,s){let a=r;const o=i.get(a)||new Map;i.set(a,o.set(n,t)),a=`${r}-${e}`;const c=i.get(a)||new Map;if(i.set(a,c.set(n,t)),s){a=`${r}-${e}-${s}`;const u=i.get(a)||new Map;i.set(a,u.set(n,t))}}function Eie(e,t,n){e.clear(),t.clear();for(const i of n){const{source:r,target:s,sourceHandle:a=null,targetHandle:o=null}=i,c={edgeId:i.id,source:r,target:s,sourceHandle:a,targetHandle:o},u=`${r}-${a}--${s}-${o}`,d=`${s}-${o}--${r}-${a}`;MF("source",c,d,e,r,a),MF("target",c,u,e,s,o),t.set(i.id,i)}}function kie(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:kie(n,t):!1}function LF(e,t,n){var r;let i=e;do{if((r=i==null?void 0:i.matches)!=null&&r.call(i,t))return!0;if(i===n)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function gje(e,t,n,i){const r=new Map;for(const[s,a]of e)if((a.selected||a.id===i)&&(!a.parentId||!kie(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const o=e.get(s);o&&r.set(s,{id:s,position:o.position||{x:0,y:0},distance:{x:n.x-o.internals.positionAbsolute.x,y:n.y-o.internals.positionAbsolute.y},extent:o.extent,parentId:o.parentId,origin:o.origin,expandParent:o.expandParent,internals:{positionAbsolute:o.internals.positionAbsolute||{x:0,y:0}},measured:{width:o.measured.width??0,height:o.measured.height??0}})}return r}function KN({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){var a,o,c;const r=[];for(const[u,d]of t){const f=(a=n.get(u))==null?void 0:a.internals.userNode;f&&r.push({...f,position:d.position,dragging:i})}if(!e)return[r[0],r];const s=(o=n.get(e))==null?void 0:o.internals.userNode;return[s?{...s,position:((c=t.get(e))==null?void 0:c.position)||s.position,dragging:i}:r[0],r]}function bje({dragItems:e,snapGrid:t,x:n,y:i}){const r=e.values().next().value;if(!r)return null;const s={x:n-r.distance.x,y:i-r.distance.y},a=Tv(s,t);return{x:a.x-s.x,y:a.y-s.y}}function Oje({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:r}){let s={x:null,y:null},a=0,o=new Map,c=!1,u={x:0,y:0},d=null,f=!1,h=null,p=!1,b=!1,g=null;function O({noDragClassName:v,handleSelector:x,domNode:w,isSelectable:E,nodeId:S,nodeClickDistance:k=0}){h=$o(w);function T({x:P,y:B}){const{nodeLookup:I,nodeExtent:$,snapGrid:j,snapToGrid:D,nodeOrigin:F,onNodeDrag:Q,onSelectionDrag:M,onError:G,updateNodePositions:H}=t();s={x:P,y:B};let U=!1;const q=o.size>1,ie=q&&$?CP(kv(o)):null,fe=q&&D?bje({dragItems:o,snapGrid:j,x:P,y:B}):null;for(const[me,ce]of o){if(!I.has(me))continue;let K={x:P-ce.distance.x,y:B-ce.distance.y};D&&(K=fe?{x:Math.round(K.x+fe.x),y:Math.round(K.y+fe.y)}:Tv(K,j));let ee=null;if(q&&$&&!ce.extent&&ie){const{positionAbsolute:Re}=ce.internals,Pe=Re.x-ie.x+$[0][0],De=Re.x+ce.measured.width-ie.x2+$[1][0],he=Re.y-ie.y+$[0][1],Ee=Re.y+ce.measured.height-ie.y2+$[1][1];ee=[[Pe,he],[De,Ee]]}const{position:ye,positionAbsolute:ve}=uie({nodeId:me,nextPosition:K,nodeLookup:I,nodeExtent:ee||$,nodeOrigin:F,onError:G});U=U||ce.position.x!==ye.x||ce.position.y!==ye.y,ce.position=ye,ce.internals.positionAbsolute=ve}if(b=b||U,!!U&&(H(o,!0),g&&(i||Q||!S&&M))){const[me,ce]=KN({nodeId:S,dragItems:o,nodeLookup:I});i==null||i(g,o,me,ce),Q==null||Q(g,me,ce),S||M==null||M(g,ce)}}async function C(){if(!d)return;const{transform:P,panBy:B,autoPanSpeed:I,autoPanOnNodeDrag:$}=t();if(!$){c=!1,cancelAnimationFrame(a);return}const[j,D]=N$(u,d,I);(j!==0||D!==0)&&(s.x=(s.x??0)-j/P[2],s.y=(s.y??0)-D/P[2],await B({x:j,y:D})&&T(s)),a=requestAnimationFrame(C)}function A(P){var q;const{nodeLookup:B,multiSelectionActive:I,nodesDraggable:$,transform:j,snapGrid:D,snapToGrid:F,selectNodesOnDrag:Q,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:H}=t();f=!0,(!Q||!E)&&!I&&S&&((q=B.get(S))!=null&&q.selected||H()),E&&Q&&S&&(e==null||e(S));const U=cx(P.sourceEvent,{transform:j,snapGrid:D,snapToGrid:F,containerBounds:d});if(s=U,o=gje(B,$,U,S),o.size>0&&(n||M||!S&&G)){const[ie,fe]=KN({nodeId:S,dragItems:o,nodeLookup:B});n==null||n(P.sourceEvent,o,ie,fe),M==null||M(P.sourceEvent,ie,fe),S||G==null||G(P.sourceEvent,fe)}}const R=Une().clickDistance(k).on("start",P=>{const{domNode:B,nodeDragThreshold:I,transform:$,snapGrid:j,snapToGrid:D}=t();d=(B==null?void 0:B.getBoundingClientRect())||null,p=!1,b=!1,g=P.sourceEvent,I===0&&A(P),s=cx(P.sourceEvent,{transform:$,snapGrid:j,snapToGrid:D,containerBounds:d}),u=ac(P.sourceEvent,d)}).on("drag",P=>{const{autoPanOnNodeDrag:B,transform:I,snapGrid:$,snapToGrid:j,nodeDragThreshold:D,nodeLookup:F}=t(),Q=cx(P.sourceEvent,{transform:I,snapGrid:$,snapToGrid:j,containerBounds:d});if(g=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||S&&!F.has(S))&&(p=!0),!p){if(!c&&B&&f&&(c=!0,C()),!f){const M=ac(P.sourceEvent,d),G=M.x-u.x,H=M.y-u.y;Math.sqrt(G*G+H*H)>D&&A(P)}(s.x!==Q.xSnapped||s.y!==Q.ySnapped)&&o&&f&&(u=ac(P.sourceEvent,d),T(Q))}}).on("end",P=>{if(!f||p){p&&o.size>0&&t().updateNodePositions(o,!1);return}if(c=!1,f=!1,cancelAnimationFrame(a),o.size>0){const{nodeLookup:B,updateNodePositions:I,onNodeDragStop:$,onSelectionDragStop:j}=t();if(b&&(I(o,!1),b=!1),r||$||!S&&j){const[D,F]=KN({nodeId:S,dragItems:o,nodeLookup:B,dragging:!1});r==null||r(P.sourceEvent,o,D,F),$==null||$(P.sourceEvent,D,F),S||j==null||j(P.sourceEvent,F)}}}).filter(P=>{const B=P.target;return!P.button&&(!v||!LF(B,`.${v}`,w))&&(!x||LF(B,x,w))});h.call(R)}function y(){h==null||h.on(".drag",null)}return{update:O,destroy:y}}function yje(e,t,n){const i=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const s of t.values())u1(r,rb(s))>0&&i.push(s);return i}const xje=250;function vje(e,t,n,i){var o,c;let r=[],s=1/0;const a=yje(e,n,t+xje);for(const u of a){const d=[...((o=u.internals.handleBounds)==null?void 0:o.source)??[],...((c=u.internals.handleBounds)==null?void 0:c.target)??[]];for(const f of d){if(i.nodeId===f.nodeId&&i.type===f.type&&i.id===f.id)continue;const{x:h,y:p}=om(u,f,f.position,!0),b=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(p-e.y,2));b>t||(b1){const u=i.type==="source"?"target":"source";return r.find(d=>d.type===u)??r[0]}return r[0]}function Tie(e,t,n,i,r,s=!1){var u,d,f;const a=i.get(e);if(!a)return null;const o=r==="strict"?(u=a.internals.handleBounds)==null?void 0:u[t]:[...((d=a.internals.handleBounds)==null?void 0:d.source)??[],...((f=a.internals.handleBounds)==null?void 0:f.target)??[]],c=(n?o==null?void 0:o.find(h=>h.id===n):o==null?void 0:o[0])??null;return c&&s?{...c,...om(a,c,c.position,!0)}:c}function _ie(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function wje(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Aie=()=>!0;function Sje(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:r,edgeUpdaterType:s,isTarget:a,domNode:o,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:p,onConnectStart:b,onConnect:g,onConnectEnd:O,isValidConnection:y=Aie,onReconnectEnd:v,updateConnection:x,getTransform:w,getFromHandle:E,autoPanSpeed:S,dragThreshold:k=1,handleDomNode:T}){const C=mie(e.target);let A=0,R;const{x:P,y:B}=ac(e),I=_ie(s,T),$=o==null?void 0:o.getBoundingClientRect();let j=!1;if(!$||!I)return;const D=Tie(r,I,i,c,t);if(!D)return;let F=ac(e,$),Q=!1,M=null,G=!1,H=null;function U(){if(!d||!$)return;const[ye,ve]=N$(F,$,S);h({x:ye,y:ve}),A=requestAnimationFrame(U)}const q={...D,nodeId:r,type:I,position:D.position},ie=c.get(r);let me={inProgress:!0,isValid:null,from:om(ie,q,_t.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:ie,to:F,toHandle:null,toPosition:kF[q.position],toNode:null,pointer:F};function ce(){j=!0,x(me),b==null||b(e,{nodeId:r,handleId:i,handleType:I})}k===0&&ce();function K(ye){if(!j){const{x:Ee,y:Oe}=ac(ye),Le=Ee-P,Fe=Oe-B;if(!(Le*Le+Fe*Fe>k*k))return;ce()}if(!E()||!q){ee(ye);return}const ve=w();F=ac(ye,$),R=vje(Vb(F,ve,!1,[1,1]),n,c,q),Q||(U(),Q=!0);const Re=Cie(ye,{handle:R,connectionMode:t,fromNodeId:r,fromHandleId:i,fromType:a?"target":"source",isValidConnection:y,doc:C,lib:u,flowId:f,nodeLookup:c});H=Re.handleDomNode,M=Re.connection,G=wje(!!R,Re.isValid);const Pe=c.get(r),De=Pe?om(Pe,q,_t.Left,!0):me.from,he={...me,from:De,isValid:G,to:Re.toHandle&&G?sb({x:Re.toHandle.x,y:Re.toHandle.y},ve):F,toHandle:Re.toHandle,toPosition:G&&Re.toHandle?Re.toHandle.position:kF[q.position],toNode:Re.toHandle?c.get(Re.toHandle.nodeId):null,pointer:F};x(he),me=he}function ee(ye){if(!("touches"in ye&&ye.touches.length>0)){if(j){(R||H)&&M&&G&&(g==null||g(M));const{inProgress:ve,...Re}=me,Pe={...Re,toPosition:me.toHandle?me.toPosition:null};O==null||O(ye,Pe),s&&(v==null||v(ye,Pe))}p(),cancelAnimationFrame(A),Q=!1,G=!1,M=null,H=null,C.removeEventListener("mousemove",K),C.removeEventListener("mouseup",ee),C.removeEventListener("touchmove",K),C.removeEventListener("touchend",ee)}}C.addEventListener("mousemove",K),C.addEventListener("mouseup",ee),C.addEventListener("touchmove",K),C.addEventListener("touchend",ee)}function Cie(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:r,fromType:s,doc:a,lib:o,flowId:c,isValidConnection:u=Aie,nodeLookup:d}){const f=s==="target",h=t?a.querySelector(`.${o}-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:p,y:b}=ac(e),g=a.elementFromPoint(p,b),O=g!=null&&g.classList.contains(`${o}-flow__handle`)?g:h,y={handleDomNode:O,isValid:!1,connection:null,toHandle:null};if(O){const v=_ie(void 0,O),x=O.getAttribute("data-nodeid"),w=O.getAttribute("data-handleid"),E=O.classList.contains("connectable"),S=O.classList.contains("connectableend");if(!x||!v)return y;const k={source:f?x:i,sourceHandle:f?w:r,target:f?i:x,targetHandle:f?r:w};y.connection=k;const C=E&&S&&(n===nb.Strict?f&&v==="source"||!f&&v==="target":x!==i||w!==r);y.isValid=C&&u(k),y.toHandle=Tie(x,v,w,d,n,!0)}return y}const RP={onPointerDown:Sje,isValid:Cie};function Eje({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const r=$o(e);function s({translateExtent:o,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:p=!1}){const b=x=>{if(x.sourceEvent.type!=="wheel"||!t)return;const w=n(),E=x.sourceEvent.ctrlKey&&d1()?10:1,S=-x.sourceEvent.deltaY*(x.sourceEvent.deltaMode===1?.05:x.sourceEvent.deltaMode?1:.002)*d,k=w[2]*Math.pow(2,S*E);t.scaleTo(k)};let g=[0,0];const O=x=>{(x.sourceEvent.type==="mousedown"||x.sourceEvent.type==="touchstart")&&(g=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY])},y=x=>{const w=n();if(x.sourceEvent.type!=="mousemove"&&x.sourceEvent.type!=="touchmove"||!t)return;const E=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY],S=[E[0]-g[0],E[1]-g[1]];g=E;const k=i()*Math.max(w[2],Math.log(w[2]))*(p?-1:1),T={x:w[0]-S[0]*k,y:w[1]-S[1]*k},C=[[0,0],[c,u]];t.setViewportConstrained({x:T.x,y:T.y,zoom:w[2]},C,o)},v=rie().on("start",O).on("zoom",f?y:null).on("zoom.wheel",h?b:null);r.call(v,{})}function a(){r.on("zoom",null)}return{update:s,destroy:a,pointer:ec}}const LA=e=>({x:e.x,y:e.y,zoom:e.k}),JN=({x:e,y:t,zoom:n})=>IA.translate(e,t).scale(n),Wg=(e,t)=>e.target.closest(`.${t}`),Nie=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),kje=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ej=(e,t=0,n=kje,i=()=>{})=>{const r=typeof t=="number"&&t>0;return r||i(),r?e.transition().duration(t).ease(n).on("end",i):e},jie=e=>{const t=e.ctrlKey&&d1()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Tje({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:r,panOnScrollSpeed:s,zoomOnPinch:a,onPanZoomStart:o,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(Wg(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&a){const O=ec(d),y=jie(d),v=f*Math.pow(2,y);i.scaleTo(n,v,O,d);return}const h=d.deltaMode===1?20:1;let p=r===zp.Vertical?0:d.deltaX*h,b=r===zp.Horizontal?0:d.deltaY*h;!d1()&&d.shiftKey&&r!==zp.Vertical&&(p=d.deltaY*h,b=0),i.translateBy(n,-(p/f)*s,-(b/f)*s,{internal:!0});const g=LA(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,o==null||o(d,g))}}function _je({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,r){const s=i.type==="wheel",a=!t&&s&&!i.ctrlKey,o=Wg(i,e);if(i.ctrlKey&&s&&o&&i.preventDefault(),a||o)return null;i.preventDefault(),n.call(this,i,r)}}function Aje({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{var s,a,o;if((s=i.sourceEvent)!=null&&s.internal)return;const r=LA(i.transform);e.mouseButton=((a=i.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=r,((o=i.sourceEvent)==null?void 0:o.type)==="mousedown"&&t(!0),n&&(n==null||n(i.sourceEvent,r))}}function Cje({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:r}){return s=>{var a,o;e.usedRightMouseButton=!!(n&&Nie(t,e.mouseButton??0)),(a=s.sourceEvent)!=null&&a.sync||i([s.transform.x,s.transform.y,s.transform.k]),r&&!((o=s.sourceEvent)!=null&&o.internal)&&(r==null||r(s.sourceEvent,LA(s.transform)))}}function Nje({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:r,onPaneContextMenu:s}){return a=>{var o;if(!((o=a.sourceEvent)!=null&&o.internal)&&(e.isZoomingOrPanning=!1,s&&Nie(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&s(a.sourceEvent),e.usedRightMouseButton=!1,i(!1),r)){const c=LA(a.transform);e.prevViewport=c,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r==null||r(a.sourceEvent,c)},n?150:0)}}}function jje({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:r,zoomOnDoubleClick:s,userSelectionActive:a,noWheelClassName:o,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{var O;const h=e||t,p=n&&f.ctrlKey,b=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(Wg(f,`${u}-flow__node`)||Wg(f,`${u}-flow__edge`)))return!0;if(!i&&!h&&!r&&!s&&!n||a||d&&!b||Wg(f,o)&&b||Wg(f,c)&&(!b||r&&b&&!e)||!n&&f.ctrlKey&&b)return!1;if(!n&&f.type==="touchstart"&&((O=f.touches)==null?void 0:O.length)>1)return f.preventDefault(),!1;if(!h&&!r&&!p&&b||!i&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(i)&&!i.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||b)&&g}}function Rje({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:r,onPanZoom:s,onPanZoomStart:a,onPanZoomEnd:o,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=rie().scaleExtent([t,n]).translateExtent(i),h=$o(e).call(f);v({x:r.x,y:r.y,zoom:ib(r.zoom,t,n)},[[0,0],[d.width,d.height]],i);const p=h.on("wheel.zoom"),b=h.on("dblclick.zoom");f.wheelDelta(jie);async function g(R,P){return h?new Promise(B=>{f==null||f.interpolate((P==null?void 0:P.interpolate)==="linear"?lx:XE).transform(ej(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>B(!0)),R)}):!1}function O({noWheelClassName:R,noPanClassName:P,onPaneContextMenu:B,userSelectionActive:I,panOnScroll:$,panOnDrag:j,panOnScrollMode:D,panOnScrollSpeed:F,preventScrolling:Q,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:H,zoomActivationKeyPressed:U,lib:q,onTransformChange:ie,connectionInProgress:fe,paneClickDistance:me,selectionOnDrag:ce}){I&&!u.isZoomingOrPanning&&y();const K=$&&!U&&!I;f.clickDistance(ce?1/0:!sc(me)||me<0?0:me);const ee=K?Tje({zoomPanValues:u,noWheelClassName:R,d3Selection:h,d3Zoom:f,panOnScrollMode:D,panOnScrollSpeed:F,zoomOnPinch:M,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:o}):_je({noWheelClassName:R,preventScrolling:Q,d3ZoomHandler:p});h.on("wheel.zoom",ee,{passive:!1});const ye=Aje({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:a});f.on("start",ye);const ve=Cje({zoomPanValues:u,panOnDrag:j,onPaneContextMenu:!!B,onPanZoom:s,onTransformChange:ie});f.on("zoom",ve);const Re=Nje({zoomPanValues:u,panOnDrag:j,panOnScroll:$,onPaneContextMenu:B,onPanZoomEnd:o,onDraggingChange:c});f.on("end",Re);const Pe=jje({zoomActivationKeyPressed:U,panOnDrag:j,zoomOnScroll:G,panOnScroll:$,zoomOnDoubleClick:H,zoomOnPinch:M,userSelectionActive:I,noPanClassName:P,noWheelClassName:R,lib:q,connectionInProgress:fe});f.filter(Pe),H?h.on("dblclick.zoom",b):h.on("dblclick.zoom",null)}function y(){f.on("zoom",null)}async function v(R,P,B){const I=JN(R),$=f==null?void 0:f.constrain()(I,P,B);return $&&await g($),$}async function x(R,P){const B=JN(R);return await g(B,P),B}function w(R){if(h){const P=JN(R),B=h.property("__zoom");(B.k!==R.zoom||B.x!==R.x||B.y!==R.y)&&(f==null||f.transform(h,P,null,{sync:!0}))}}function E(){const R=h?iie(h.node()):{x:0,y:0,k:1};return{x:R.x,y:R.y,zoom:R.k}}async function S(R,P){return h?new Promise(B=>{f==null||f.interpolate((P==null?void 0:P.interpolate)==="linear"?lx:XE).scaleTo(ej(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>B(!0)),R)}):!1}async function k(R,P){return h?new Promise(B=>{f==null||f.interpolate((P==null?void 0:P.interpolate)==="linear"?lx:XE).scaleBy(ej(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>B(!0)),R)}):!1}function T(R){f==null||f.scaleExtent(R)}function C(R){f==null||f.translateExtent(R)}function A(R){const P=!sc(R)||R<0?0:R;f==null||f.clickDistance(P)}return{update:O,destroy:y,setViewport:x,setViewportConstrained:v,getViewport:E,scaleTo:S,scaleBy:k,setScaleExtent:T,setTranslateExtent:C,syncViewport:w,setClickDistance:A}}var ab;(function(e){e.Line="line",e.Handle="handle"})(ab||(ab={}));function Dje({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:r,affectsY:s}){const a=e-t,o=n-i,c=[a>0?1:a<0?-1:0,o>0?1:o<0?-1:0];return a&&r&&(c[0]=c[0]*-1),o&&s&&(c[1]=c[1]*-1),c}function $F(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:r}}function pf(e,t){return Math.max(0,t-e)}function mf(e,t){return Math.max(0,e-t)}function fS(e,t,n){return Math.max(0,t-e,e-n)}function QF(e,t){return e?!t:t}function Ije(e,t,n,i,r,s,a,o){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:p,ySnapped:b}=n,{minWidth:g,maxWidth:O,minHeight:y,maxHeight:v}=i,{x,y:w,width:E,height:S,aspectRatio:k}=e;let T=Math.floor(d?p-e.pointerX:0),C=Math.floor(f?b-e.pointerY:0);const A=E+(c?-T:T),R=S+(u?-C:C),P=-s[0]*E,B=-s[1]*S;let I=fS(A,g,O),$=fS(R,y,v);if(a){let F=0,Q=0;c&&T<0?F=pf(x+T+P,a[0][0]):!c&&T>0&&(F=mf(x+A+P,a[1][0])),u&&C<0?Q=pf(w+C+B,a[0][1]):!u&&C>0&&(Q=mf(w+R+B,a[1][1])),I=Math.max(I,F),$=Math.max($,Q)}if(o){let F=0,Q=0;c&&T>0?F=mf(x+T,o[0][0]):!c&&T<0&&(F=pf(x+A,o[1][0])),u&&C>0?Q=mf(w+C,o[0][1]):!u&&C<0&&(Q=pf(w+R,o[1][1])),I=Math.max(I,F),$=Math.max($,Q)}if(r){if(d){const F=fS(A/k,y,v)*k;if(I=Math.max(I,F),a){let Q=0;!c&&!u||c&&!u&&h?Q=mf(w+B+A/k,a[1][1])*k:Q=pf(w+B+(c?T:-T)/k,a[0][1])*k,I=Math.max(I,Q)}if(o){let Q=0;!c&&!u||c&&!u&&h?Q=pf(w+A/k,o[1][1])*k:Q=mf(w+(c?T:-T)/k,o[0][1])*k,I=Math.max(I,Q)}}if(f){const F=fS(R*k,g,O)/k;if($=Math.max($,F),a){let Q=0;!c&&!u||u&&!c&&h?Q=mf(x+R*k+P,a[1][0])/k:Q=pf(x+(u?C:-C)*k+P,a[0][0])/k,$=Math.max($,Q)}if(o){let Q=0;!c&&!u||u&&!c&&h?Q=pf(x+R*k,o[1][0])/k:Q=mf(x+(u?C:-C)*k,o[0][0])/k,$=Math.max($,Q)}}}C=C+(C<0?$:-$),T=T+(T<0?I:-I),r&&(h?A>R*k?C=(QF(c,u)?-T:T)/k:T=(QF(c,u)?-C:C)*k:d?(C=T/k,u=c):(T=C*k,c=u));const j=c?x+T:x,D=u?w+C:w;return{width:E+(c?-T:T),height:S+(u?-C:C),x:s[0]*T*(c?-1:1)+j,y:s[1]*C*(u?-1:1)+D}}const Rie={width:0,height:0,x:0,y:0},Pje={...Rie,pointerX:0,pointerY:0,aspectRatio:1};function Mje(e,t,n){const i=t.position.x+e.position.x,r=t.position.y+e.position.y,s=e.measured.width??0,a=e.measured.height??0,o=n[0]*s,c=n[1]*a;return[[i-o,r-c],[i+s-o,r+a-c]]}function Lje({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:r}){const s=$o(e);let a={controlDirection:$F("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function o({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:p,onResize:b,onResizeEnd:g,shouldResize:O}){let y={...Rie},v={...Pje};a={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:$F(u)};let x,w=null,E=[],S,k,T,C=!1;const A=Une().on("start",R=>{const{nodeLookup:P,transform:B,snapGrid:I,snapToGrid:$,nodeOrigin:j,paneDomNode:D}=n();if(x=P.get(t),!x)return;w=(D==null?void 0:D.getBoundingClientRect())??null;const{xSnapped:F,ySnapped:Q}=cx(R.sourceEvent,{transform:B,snapGrid:I,snapToGrid:$,containerBounds:w});y={width:x.measured.width??0,height:x.measured.height??0,x:x.position.x??0,y:x.position.y??0},v={...y,pointerX:F,pointerY:Q,aspectRatio:y.width/y.height},S=void 0,k=am(x.extent)?x.extent:void 0,x.parentId&&(x.extent==="parent"||x.expandParent)&&(S=P.get(x.parentId)),S&&x.extent==="parent"&&(k=[[0,0],[S.measured.width,S.measured.height]]),E=[],T=void 0;for(const[M,G]of P)if(G.parentId===t&&(E.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const H=Mje(G,x,G.origin??j);T?T=[[Math.min(H[0][0],T[0][0]),Math.min(H[0][1],T[0][1])],[Math.max(H[1][0],T[1][0]),Math.max(H[1][1],T[1][1])]]:T=H}p==null||p(R,{...y})}).on("drag",R=>{const{transform:P,snapGrid:B,snapToGrid:I,nodeOrigin:$}=n(),j=cx(R.sourceEvent,{transform:P,snapGrid:B,snapToGrid:I,containerBounds:w}),D=[];if(!x)return;const{x:F,y:Q,width:M,height:G}=y,H={},U=x.origin??$,{width:q,height:ie,x:fe,y:me}=Ije(v,a.controlDirection,j,a.boundaries,a.keepAspectRatio,U,k,T),ce=q!==M,K=ie!==G,ee=fe!==F&&ce,ye=me!==Q&&K;if(!ee&&!ye&&!ce&&!K)return;if((ee||ye||U[0]===1||U[1]===1)&&(H.x=ee?fe:y.x,H.y=ye?me:y.y,y.x=H.x,y.y=H.y,E.length>0)){const De=fe-F,he=me-Q;for(const Ee of E)Ee.position={x:Ee.position.x-De+U[0]*(q-M),y:Ee.position.y-he+U[1]*(ie-G)},D.push(Ee)}if((ce||K)&&(H.width=ce&&(!a.resizeDirection||a.resizeDirection==="horizontal")?q:y.width,H.height=K&&(!a.resizeDirection||a.resizeDirection==="vertical")?ie:y.height,y.width=H.width,y.height=H.height),S&&x.expandParent){const De=U[0]*(H.width??0);H.x&&H.x{C&&(g==null||g(R,{...y}),r==null||r({...y}),C=!1)});s.call(A)}function c(){s.on(".drag",null)}return{update:o,destroy:c}}var Die={exports:{}},Iie={},Pie={exports:{}},Mie={};/** +${i}`}}async function Fte(e,t=!1){const n=await kt(`/web/model-api-keys${t?"?refresh=true":""}`,{signal:e,cache:"no-store"});if(!n.ok)throw new Error(await hn(n,"加载 Ark API Key 失败"));return await n.json()}async function Ute(e,t){const n=await kt(`/web/model-api-keys/${encodeURIComponent(e)}/value`,{method:"POST",signal:t,cache:"no-store"});if(!n.ok)throw new Error(await hn(n,"加载 Ark API Key 失败"));return await n.json()}async function m$(e){const t=new URLSearchParams;e!=null&&e.apiKeyId&&t.set("apiKeyId",e.apiKeyId),e!=null&&e.refresh&&t.set("refresh","true");const n=t.toString(),i=await kt(`/web/model-options${n?`?${n}`:""}`,{signal:e==null?void 0:e.signal,cache:"no-store"});if(!i.ok)throw new Error(await hn(i,"加载模型列表失败"));return await i.json()}async function zte(){const e=await kt("/list-apps");if(!e.ok)throw new Error(`list-apps failed: ${e.status}`);return e.json()}class Gb extends Error{constructor(){super("当前账号无权访问该 Runtime,请刷新列表或重新登录后重试。"),this.name="RuntimeAccessDeniedError"}}class Qa extends Error{constructor(t,n=!1,i=!1){super(t),this.unsupported=n,this.retryable=i,this.name="RuntimeProbeError"}}const Vte="Runtime 已部署成功,但当前 Studio 无法访问私网 Runtime。请使用已绑定相同 VPC 的 Studio 访问,或改用公网 / 公网+VPC 部署。",qte="Runtime 已部署成功,但 Studio 暂时无法连接服务。网关域名可能仍在生效,或当前网络/DNS 无法访问该 Runtime,请稍后在智能体管理页重试连接。",iF=["cn-beijing","cn-shanghai"],v_e=3e4,AA=5*60*1e3,Xte=60*1e3;let Hte="volcengine";const qE=new Map,yp=new Map,xp=new Map,dc=new Map;function Gte(e,t){return`${t}:${e}`}function Yte(e){Hte=e}function Cv(e){const t=(e||"").trim();if(Hte==="byteplus")return[t&&!t.startsWith("cn-")?t:bP];const n=t&&!t.startsWith("ap-")?t:c$;return iF.includes(n)?[n,...iF.filter(i=>i!==n)]:[n]}function CA(e){const t=(e||"").trim();return t?[t]:Cv()}function Yb(...e){return e.map(t=>String(t??"")).join("")}function Wb(e,t,n){const i=e.get(t);return i!=null&&i.value&&Date.now()-i.updatedAt<=n?i.value:null}function g$(e,t,n){return e.set(t,{value:n,updatedAt:Date.now()}),n}async function Wte(e){try{const t=await e.clone().json();return typeof t.detail=="string"?t.detail:""}catch{return""}}async function NA(e,t,n){const i=await kt("/list-apps",{},n??{base:e,apiKey:t}),r=n!=null&&n.runtimeId?await Wte(i):"";if(n!=null&&n.runtimeId&&r==="runtime_access_denied")throw new Gb;if(n!=null&&n.runtimeId&&r==="runtime_private_endpoint_unreachable")throw new Qa(Vte);if(n!=null&&n.runtimeId&&["runtime_proxy_connect_error","runtime_proxy_timeout","runtime_json_connect_error","runtime_json_timeout"].includes(r))throw new Qa(qte,!1,!0);if(n!=null&&n.runtimeId&&i.status===404)throw new Qa("该 Runtime 的 Agent Server 未提供连接接口,请确认 Runtime 已就绪且版本兼容。",!0,!0);if(n!=null&&n.runtimeId&&(i.status===401||i.status===403))throw new Qa("Runtime 服务拒绝了连接请求,请检查 Runtime 的鉴权配置。");if(!i.ok)throw new Error(await hn(i,"读取 Agent 列表失败"));const s=await i.json();return n!=null&&n.runtimeId&&qE.set(Gte(n.runtimeId,n.region??""),{apps:s,expiresAt:Date.now()+v_e}),s}async function Zte(e,t){const{app:n,ep:i}=gs(e),r=await kt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"},i);if(!r.ok){const a=`创建会话失败 (${r.status})`,o=await hn(r,"创建会话失败");throw new Error(o===a?a:`${a}:${o}`)}return(await r.json()).id}async function b$(e,t){const{app:n,ep:i}=gs(e),r=await kt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{},i);if(!r.ok)throw new Error(`list sessions failed: ${r.status}`);return r.json()}async function jA(e,t,n){const{app:i,ep:r}=gs(e),s=await kt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}`,{},r);if(!s.ok){const o=await hn(s,"读取会话失败");throw new Error(`get session failed: ${s.status}:${o}`)}const a=await s.json();if(r.runtimeId){const o=f$(r.runtimeId,i,t,n);a.state={...h$()[o]??{},...a.state??{}}}return a}async function Kte(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 i=await kt("/web/evaluation/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:n.runtimeId,region:n.region,appName:t,userId:e.userId,sessionId:e.sessionId,eventId:e.eventId,rating:e.rating,comment:e.comment??""})},{},kr);if(!i.ok)throw new Error(await hn(i,"提交反馈失败"));const r=await i.json(),s=f$(n.runtimeId,t,e.userId,e.sessionId);return y_e(s,e.eventId,r),r}async function RA(e,t={}){const n=Yb(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),i=Wb(dc,n,Xte);if(!t.force&&i)return i;const r=dc.get(n);if(!t.force&&(r!=null&&r.promise))return r.promise;let s=null;const a=(async()=>{for(const o of CA(e.region)){const c=new URLSearchParams({runtimeId:e.runtimeId,region:o,appName:e.appName,page_size:String(e.pageSize??100)}),u=await kt(`/web/evaluation/feedback-cases?${c.toString()}`);if(u.ok)return g$(dc,n,await u.json());s=new Error(await hn(u,"读取评测集失败"))}throw s??new Error("读取评测集失败")})();dc.set(n,{...r,promise:a,updatedAt:(r==null?void 0:r.updatedAt)??0});try{return await a}finally{const o=dc.get(n);(o==null?void 0:o.promise)===a&&dc.set(n,{value:o.value,updatedAt:o.updatedAt})}}async function OP(e){let t=null;for(const n of CA(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName,userId:e.userId}),r=await kt(`/web/evaluation/statuses?${i.toString()}`);if(r.ok)return r.json();t=new Error(await hn(r,"读取自动评测状态失败"))}throw t??new Error("读取自动评测状态失败")}async function Jte(e){let t=null;for(const n of CA(e.region)){const i=new URLSearchParams({runtimeId:e.runtimeId,region:n,appName:e.appName}),r=await kt(`/web/evaluation/optimizations?${i.toString()}`);if(r.ok)return r.json();t=new Error(await hn(r,"读取优化项失败"))}throw t??new Error("读取优化项失败")}function ene(e){return Wb(dc,Yb(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),Xte)}function w_e(e){RA(e).catch(()=>{})}function tne(e){RA(e,{force:!0}).catch(()=>{})}function nne(e,t){return["good","bad"].map(n=>{const i=e.find(r=>r.kind===n);return{kind:n,evaluationSetId:(i==null?void 0:i.evaluationSetId)??null,evaluationSetName:(i==null?void 0:i.evaluationSetName)??null,workspaceId:(i==null?void 0:i.workspaceId)??null,itemCount:t.filter(r=>r.kind===n).length}})}function XE(e){const t=e.comment??"",n=e.rating==="bad"&&!!t.trim();for(const[i,r]of dc.entries()){const s=r.value;if(!s||s.runtimeId!==e.runtimeId||s.agentName!==e.appName)continue;const a=s.items.filter(c=>c.sessionId!==e.sessionId||c.messageId!==e.messageId),o=e.rating?[{id:`local:${e.runtimeId}:${e.sessionId}:${e.messageId}`,itemKey:`local:${e.messageId}`,kind:e.rating,input:e.input,output:e.output,referenceOutput:e.referenceOutput??e.output,comment:t,agentName:e.appName,sessionId:e.sessionId,messageId:e.messageId,runtimeId:e.runtimeId,invocationId:e.invocationId??"",userId:e.userId,createdAt:e.createdAt??new Date().toISOString(),evaluationSetId:"",evaluationSetName:"",workspaceId:"",source:"user",score:n?0:null,reason:n?t:""},...a]:a;dc.set(i,{value:{...s,sets:nne(s.sets,o),items:o},updatedAt:Date.now(),promise:r.promise})}}async function ine(e){let t=null;for(const n of CA(e.region)){const i=await kt("/web/evaluation/feedback-cases/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e.runtimeId,region:n,appName:e.appName,itemIds:e.itemIds})},{},kr);if(i.ok){const r=await i.json(),s=new Set(e.itemIds);for(const[a,o]of dc.entries()){const c=o.value;if(!c||c.runtimeId!==e.runtimeId||c.agentName!==e.appName)continue;const u=c.items.filter(d=>!s.has(d.id));dc.set(a,{value:{...c,sets:nne(c.sets,u),items:u},updatedAt:Date.now()})}return r}t=new Error(await hn(i,"删除评测案例失败"))}throw t??new Error("删除评测案例失败")}async function yP(e,t,n){const{app:i,ep:r}=gs(e),s=await kt(`/apps/${i}/users/${encodeURIComponent(t)}/sessions/${n}`,{method:"DELETE"},r);if(!s.ok&&s.status!==404)throw new Error(`delete session failed: ${s.status}`)}function S_e(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"="),i=window.atob(n),r=new Uint8Array(i.length);for(let s=0;sURL.revokeObjectURL(o),0)}async function rne(e,t,n,i,r){const{app:s,ep:a}=gs(e),o=r==null?"":`?version=${encodeURIComponent(r)}`,c=`/apps/${encodeURIComponent(s)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/artifacts/${encodeURIComponent(i)}${o}`,u=await kt(c,{},a,kr);if(!u.ok)throw new Error(await hn(u,"下载文件失败"));const d=await u.json(),f=d.inlineData??d.inline_data;if(!(f!=null&&f.data))throw new Error("文件内容不可用");const h=S_e(f.data),p=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength);return{blob:new Blob([p],{type:f.mimeType??f.mime_type??"application/octet-stream"}),downloadName:f.displayName??f.display_name??i}}async function y$(e,t,n,i,r){const{blob:s}=await rne(e,t,n,i,r);return URL.createObjectURL(s)}async function E_e(e){const t=await kt("/web/media/capabilities");if(!t.ok)throw new Error(await hn(t,"media capabilities failed"));return t.json()}async function sne(e,t,n,i){const{app:r}=gs(e),s=new FormData;s.set("app_name",r),s.set("user_id",t),s.set("session_id",n),s.set("file",i);const a=await kt("/web/media",{method:"POST",body:s},{},kr);if(!a.ok)throw new Error(await hn(a,"文件上传失败"));return{...await a.json(),status:"ready"}}async function xP(e,t,n){const{app:i}=gs(e),r=`/web/media/${encodeURIComponent(i)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/delete`,s=await kt(r,{method:"POST"});if(!s.ok&&s.status!==404)throw new Error(await hn(s,"media cleanup failed"))}function ane(e){try{const t=new URL(e);if(t.protocol!=="veadk-media:"||t.hostname!=="apps")return;const n=t.pathname.split("/").filter(Boolean).map(decodeURIComponent);return n.length!==7||n[1]!=="users"||n[3]!=="sessions"||n[5]!=="media"?void 0:`/web/media/${n.map(encodeURIComponent).filter((i,r)=>![1,3,5].includes(r)).join("/")}`}catch{return}}async function HE(e,t){const n=ane(t);if(!n)throw new Error("Invalid VeADK media URI");const i=await kt(`${n}/delete`,{method:"POST"});if(!i.ok&&i.status!==404)throw new Error(await hn(i,"media cleanup failed"))}function one(e,t){if(t.startsWith("data:")||t.startsWith("blob:")||/^https?:/.test(t))return t;const n=ane(t);if(!n)return t;const i=`${n}/content`;return mo(`${VE}${i}`)}async function ST(e,t,n){const{app:i,ep:r}=gs(e);let s;if(r.runtimeId){const c=new URLSearchParams({runtimeId:r.runtimeId,sessionId:t,region:r.region??"cn-beijing"});if(n&&c.set("endTimeMs",String(Math.round(n))),s=await kt(`/web/runtime-trace?${c.toString()}`),s.status===404)throw new Error("该 Agent 暂未开启链路观测,请到控制台打开后使用。")}else s=await kt(`/dev/apps/${encodeURIComponent(i)}/debug/trace/session/${encodeURIComponent(t)}`,{},r);if(!s.ok)throw new Error(await hn(s,"加载调用链路失败"));const a=s.headers.get("content-type")??"";if(!a.includes("application/json")){const c=a.split(";",1)[0]||"Content-Type 缺失";throw new Error(`trace failed: 服务端返回了非 JSON 响应(${c}),请检查 Studio API 代理配置`)}const o=await s.json();if(!Array.isArray(o))throw new Error("trace failed: 返回格式无效");return o}async function vP(e){const t=await kt("/web/issue-feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(await hn(t,"问题反馈上报失败"));if((await t.json()).submitted!==!0)throw new Error("问题反馈上报失败:服务端未确认提交结果");return{submitted:!0}}function x$(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 v$(e,t,n){return`/harness/apps/${encodeURIComponent(e)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/capabilities`}async function wP(e,t,n){const{app:i,ep:r}=gs(e),s=await kt(v$(i,t,n),{},r);if(!s.ok)throw new Error(await hn(s,"读取会话能力失败"));return x$(await s.json())}async function w$(e){const{ep:t}=gs(e),n=await kt("/harness/capabilities/tools",{},t);if(!n.ok)throw new Error(await hn(n,"读取内置工具失败"));return((await n.json()).tools??[]).map(r=>{var s;return((s=r.name)==null?void 0:s.trim())??""}).filter(Boolean)}async function k_e(e){const{ep:t}=gs(e),n=await kt("/harness/skills/spaces?region=all",{},t);if(!n.ok)throw new Error(await hn(n,"读取 Skill Space 失败"));return(await n.json()).items??[]}async function T_e(e,t,n){const{ep:i}=gs(e),r=new URLSearchParams({region:n||"cn-beijing"}),s=`/harness/skills/spaces/${encodeURIComponent(t)}/skills?${r.toString()}`,a=await kt(s,{},i);if(!a.ok)throw new Error(await hn(a,"读取 Skill 列表失败"));return(await a.json()).items??[]}async function lne(e,t,n=1,i=20){const{ep:r}=gs(e),s=new URLSearchParams({query:t,page_number:String(n),page_size:String(i)}),a=await kt(`/harness/skills/findskill?${s.toString()}`,{},r);if(!a.ok)throw new Error(await hn(a,"搜索 Skill Hub 失败"));const o=await a.json();return{items:o.items??[],totalCount:Number(o.totalCount??0)}}async function SP(e,t,n,i,r){const{app:s,ep:a}=gs(e),o=await kt(v$(s,t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:i.kind,name:i.name,skill_source_id:i.skillSourceId,description:i.description,version:i.version,expected_revision:r})},a);if(!o.ok)throw new Error(await hn(o,"添加会话能力失败"));return x$(await o.json())}async function cne(e,t,n,i,r){const{app:s,ep:a}=gs(e),o=`${v$(s,t,n)}/${encodeURIComponent(i)}?expected_revision=${r}`,c=await kt(o,{method:"DELETE"},a);if(!c.ok)throw new Error(await hn(c,"移除会话能力失败"));return x$(await c.json())}async function une(e,t,n=!0){const i=await kt(`/web/agent-info/${e}`,{},t);if(!i.ok)throw new Error(`agent-info failed: ${i.status}`);const r=await i.json();if(n&&!r.draft)try{const s=await kt(`/web/agent-draft/${e}`,{},t);if(s.ok){const a=await s.json();r.draft=a.draft}}catch{}return{appName:e,name:r.name??e,description:r.description??"",type:r.type,model:r.model??"",tools:r.tools??[],skillsPreviewSupported:Array.isArray(r.skills),skills:r.skills??[],subAgents:r.subAgents??[],components:r.components??[],searchSources:r.searchSources??[],graph:r.graph,draft:r.draft}}async function EP(e){const{app:t,ep:n}=gs(e);return une(t,n,!1)}async function __e(e,t,n){let i=null;for(const r of Cv(t)){const s={runtimeId:e,region:r};try{const a=Gte(e,r),o=qE.get(a);o&&o.expiresAt<=Date.now()&&qE.delete(a);const c=qE.get(a),u=n||(c==null?void 0:c.apps[0])||(await NA("","",s))[0];if(!u)throw new Error("该 Runtime 未提供可预览的 Agent。");return une(u,s)}catch(a){if(a instanceof Gb||a instanceof Qa&&!a.unsupported)throw a;i=a instanceof Error?a:new Error(String(a))}}throw i??new Error("该 Runtime 未提供可预览的 Agent。")}async function S$(e,t,n={},i={}){const r=typeof n=="string"?n:void 0,s=typeof n=="string"?i:n,a=Yb(e,t||"cn-beijing",r??""),o=Wb(yp,a,AA);if(!s.force&&o)return o;const c=yp.get(a);if(!s.force&&(c!=null&&c.promise))return c.promise;const u=__e(e,t,r).then(d=>g$(yp,a,d));yp.set(a,{...c,promise:u,updatedAt:(c==null?void 0:c.updatedAt)??0});try{return await u}finally{const d=yp.get(a);(d==null?void 0:d.promise)===u&&yp.set(a,{value:d.value,updatedAt:d.updatedAt})}}function dne(e,t,n=""){return Wb(yp,Yb(e,t||"cn-beijing",n),AA)}function fne(e,t,n=""){S$(e,t,n).catch(()=>{})}async function hne(e,t,n,i){const{app:r,ep:s}=gs(e),a=new URLSearchParams({source:t,app_name:r,q:n,user_id:i}),o=await kt(`/web/search?${a.toString()}`,{},s);if(!o.ok)throw new Error(await hn(o,"Agent 检索失败"));return o.json()}async function pne(e,t){const{app:n}=gs(e),i=await kt(`/web/search?source=web&app_name=${encodeURIComponent(n)}&q=${encodeURIComponent(t)}`);if(!i.ok)throw new Error(`web search failed: ${i.status}`);return i.json()}async function*kP({appName:e,userId:t,sessionId:n,text:i,attachments:r=[],invocation:s,functionResponses:a=[],signal:o,sessionCapabilities:c=!1}){const{app:u,ep:d}=gs(e),f=r.flatMap(g=>g.status&&g.status!=="ready"?[]:g.uri?[{fileData:{mimeType:g.mimeType,fileUri:g.uri,displayName:g.name},partMetadata:{veadkMedia:{id:g.id,uri:g.uri,name:g.name,mimeType:g.mimeType,sizeBytes:g.sizeBytes}}}]:g.data?[{inlineData:{mimeType:g.mimeType,data:g.data,displayName:g.name}}]:[]),h=s&&(s.skills.length>0||s.targetAgent)?s:void 0,p=[...f,...a.map(g=>({functionResponse:{id:g.id,name:g.name,response:g.response}})),...i.trim()?[{text:i}]:[]];if(h&&p.length>0){const g=p[0],O=g.partMetadata;p[0]={...g,partMetadata:{...O,veadkInvocation:h}}}const b=await kt(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:p},streaming:!0,custom_metadata:h?{veadkInvocation:h}:void 0}),signal:o},d,0);if(!b.ok){const g=await hn(b,"运行会话失败");throw new Error(oS(`run_sse failed: ${b.status}:${g}`))}for await(const g of l$(b)){const O=g;typeof O.error=="string"&&(O.error=oS(O.error)),typeof O.errorMessage=="string"&&(O.errorMessage=oS(O.errorMessage)),typeof O.error_message=="string"&&(O.error_message=oS(O.error_message)),yield O}}async function E$(e,t){const n=new URLSearchParams({name:e,region:t}),i=await kt(`/web/runtime-name-availability?${n.toString()}`,{cache:"no-store"});if(!i.ok)throw new Error(await hn(i,"检查 Runtime 名称失败"));const r=await i.json();if(typeof r.available!="boolean")throw new Error("检查 Runtime 名称失败:服务返回格式错误");return{available:r.available}}async function mne(e,t){const n=new URLSearchParams({kind:e.kind,region:e.region});e.registry&&n.set("registry",e.registry),e.namespace&&n.set("namespace",e.namespace),e.workspaceId&&n.set("workspaceId",e.workspaceId),e.search&&n.set("search",e.search),e.pageNumber&&n.set("pageNumber",String(e.pageNumber)),e.pageSize&&n.set("pageSize",String(e.pageSize));const i=await kt(`/web/deployment-resources?${n.toString()}`,{signal:t});if(!i.ok)throw new Error(await hn(i,"加载云资源失败"));const r=await i.json();if(typeof r.serviceRegion!="string"||!Array.isArray(r.items)||typeof r.pageNumber!="number"||typeof r.pageSize!="number"||typeof r.totalCount!="number"||typeof r.hasMore!="boolean")throw new Error("云资源列表响应格式无效");const s=r.items.map(a=>{if(!a||typeof a!="object"||typeof a.id!="string"||typeof a.name!="string"||typeof a.region!="string"||typeof a.status!="string")throw new Error("云资源列表响应格式无效");return a});return{serviceRegion:r.serviceRegion,items:s,pageNumber:r.pageNumber,pageSize:r.pageSize,totalCount:r.totalCount,hasMore:r.hasMore}}const rF={codex:0,codex_snapshot:1,deepseek_harness:2,deepseek_harness_snapshot:3,openclaw:4,openclaw_snapshot:5,hermes:6,hermes_snapshot:7,dev:8};async function gne(e){var r;const t=await kt("/web/system-info",{signal:e});if(!t.ok)throw new Error(await hn(t,"加载系统信息失败"));const n=await t.json();if(typeof((r=n.storage)==null?void 0:r.tosAddress)!="string"||!Array.isArray(n.sandboxTools))throw new Error("系统信息响应格式无效");const i=n.sandboxTools.map(s=>{if(!s||typeof s!="object"||typeof s.kind!="string"||typeof s.label!="string"||typeof s.toolId!="string"||typeof s.snapshot!="boolean"||typeof s.needsModelEnvUpdate!="boolean"||typeof s.canUpdateModelEnv!="boolean"||typeof s.modelEnvError!="string"||typeof s.modelEnvErrorCode!="string")throw new Error("系统信息响应格式无效");return s}).sort((s,a)=>(rF[s.kind]??Number.MAX_SAFE_INTEGER)-(rF[a.kind]??Number.MAX_SAFE_INTEGER));return{storage:{tosAddress:n.storage.tosAddress},sandboxTools:i}}async function bne(e,t){const n=await kt(`/web/system-info/sandbox-tools/${encodeURIComponent(e)}/model-env`,{method:"POST",signal:t});if(!n.ok)throw new Error(await hn(n,"更新 Codex Sandbox 失败"));const i=await n.json();if(i.kind!=="codex"&&i.kind!=="codex_snapshot"||typeof i.toolId!="string"||typeof i.updated!="boolean")throw new Error("Codex Sandbox 更新响应格式无效");return i}async function k$(e){const t=await kt("/web/identity/user-pools",{signal:e});if(!t.ok)throw new Error(await hn(t,"加载用户池失败"));const n=await t.json();if(!Array.isArray(n.items))throw new Error("用户池列表响应格式无效");return n.items.map(i=>{if(!i||typeof i!="object"||typeof i.uid!="string"||typeof i.name!="string"||typeof i.domain!="string"||typeof i.region!="string"||typeof i.isCurrent!="boolean")throw new Error("用户池列表响应格式无效");return i})}const px=new Map;function A_e(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 mx extends Error{constructor(t){super(t.message),this.detail=t,this.name="GithubCicdPipelineError"}}async function Gd(e){const t=await e.text().catch(()=>"");if(t)try{const n=JSON.parse(t),i=A_e(n.detail??n.error);if(i)return new mx(i)}catch{return new mx({message:t})}return new mx({message:`同步 GitHub 代码失败 (${e.status})`})}async function One(e){const t=await kt("/web/github-delivery/source-sync",{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,cloudProvider:e.cloudProvider})},{},0);if(!t.ok)throw await Gd(t);return t.json()}async function yne(e){const t=await kt("/web/github-delivery/cicd-pipeline",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({githubUrl:e.githubUrl,githubToken:e.githubToken,baseBranch:e.baseBranch,runtimeName:e.runtimeName,runtimeId:e.runtimeId,region:e.region,cloudProvider:e.cloudProvider,projectPath:e.projectPath??".",volcengineAccessKey:e.volcengineAccessKey,volcengineSecretKey:e.volcengineSecretKey,volcengineSessionToken:e.volcengineSessionToken??""})},{},0);if(!t.ok)throw await Gd(t);return t.json()}async function xne(e){const t=await kt("/web/github-delivery/init-main",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project:e.project,githubUrl:e.githubUrl,githubToken:e.githubToken,baseBranch:e.baseBranch,runtimeName:e.runtimeName,runtimeId:e.runtimeId,region:e.region,cloudProvider:e.cloudProvider,projectPath:e.projectPath??".",volcengineAccessKey:e.volcengineAccessKey,volcengineSecretKey:e.volcengineSecretKey,volcengineSessionToken:e.volcengineSessionToken??""})},{},0);if(!t.ok)throw await Gd(t);return t.json()}async function C_e(e){const t=await kt("/web/github-delivery/source-sync/cicd",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pipelineId:e.pipelineId,runtimeName:e.runtimeName,runtimeId:e.runtimeId,region:e.region,cloudProvider:e.cloudProvider,projectPath:e.projectPath??".",volcengineAccessKey:e.volcengineAccessKey,volcengineSecretKey:e.volcengineSecretKey,volcengineSessionToken:e.volcengineSessionToken??""})},{},0);if(!t.ok)throw await Gd(t);return t.json()}async function vne(e){const t=await kt(`/web/github-cicd/runtime-binding?runtimeId=${encodeURIComponent(e)}`);if(!t.ok)throw await Gd(t);const n=await t.json();return n.pipelineId?n:null}async function GE(e){const t=await kt(`/web/github-delivery/versions?runtimeId=${encodeURIComponent(e)}`);if(!t.ok)throw await Gd(t);return t.json()}async function wne(e){const t=await kt("/web/github-delivery/rollback-pr",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw await Gd(t);return t.json()}async function T$(e){const t=await kt("/web/github-cicd/runtime-binding",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw await Gd(t);return t.json()}async function Sne(e){const t=await kt("/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 Gd(t);return t.json()}async function Zb(e,t,n,i){var f,h,p,b,g;const r=i==null?void 0:i.taskId,s=r?new AbortController:void 0;r&&s&&px.set(r,s);const a=()=>{r&&px.get(r)===s&&px.delete(r)};let o;try{const O=!!(i!=null&&i.migrationTaskId);(f=i==null?void 0:i.onStage)==null||f.call(i,{level:"info",phase:"upload",message:O?"正在校验迁移产物":"正在上传代码包",pct:0}),o=await kt("/web/deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},signal:s==null?void 0:s.signal,body:JSON.stringify({name:e,files:O?[]:t,config:n,taskId:r,migrationTaskId:i==null?void 0:i.migrationTaskId,runtimeId:i==null?void 0:i.runtimeId,runtimeName:i==null?void 0:i.runtimeName,appName:i==null?void 0:i.appName,sessionStorage:i==null?void 0:i.sessionStorage,minInstance:i==null?void 0:i.minInstance,maxInstance:i==null?void 0:i.maxInstance,createEvaluationSets:i==null?void 0:i.createEvaluationSets,description:YTe((i==null?void 0:i.description)??""),authentication:i==null?void 0:i.authentication,im:i==null?void 0:i.im,envs:i==null?void 0:i.envs,resources:i==null?void 0:i.resources,source:(i==null?void 0:i.source)??(i!=null&&i.migrationTaskId?{kind:"migration",migrationId:i.migrationTaskId}:{kind:"inlineFiles"}),harnessSidecar:i==null?void 0:i.harnessSidecar})},{},0),(h=i==null?void 0:i.onStage)==null||h.call(i,{level:"success",phase:"upload",message:O?"迁移产物校验完成":"代码包上传完成",pct:100})}catch(O){throw a(),O}if(!o.ok){const O=await hn(o,"部署失败");throw a(),new Error(O)}let c=null;try{for await(const O of l$(o)){const y=O;if(y&&y.done){c=y;break}y&&y.message&&((p=i==null?void 0:i.onStage)==null||p.call(i,y))}}catch(O){throw a(),O}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 连接信息");const u=(b=c.runtimeName)!=null&&b.trim()?c.agentName:e,d=((g=c.runtimeName)==null?void 0:g.trim())||c.agentName;return{apikey:c.apikey??"",url:c.url??"",agentName:u,runtimeName:d,runtimeId:c.runtimeId,consoleUrl:c.consoleUrl,region:c.region,version:c.version,warnings:c.warnings,feishuChannel:c.feishuChannel}}async function Ene(e){var n;const t=await kt("/web/cancel-deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(!t.ok){const i=await t.text().catch(()=>"");throw new Error(i||`取消部署失败 (${t.status})`)}(n=px.get(e))==null||n.abort(),px.delete(e)}async function N_e(e=c$){const t=await kt(`/web/my-runtimes?region=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`加载失败 (${t.status})`);return(await t.json()).runtimes??[]}const u1={title:"AgentKit Studio",logoUrl:""},TP={enabled:!1},tj={studio:!1,version:"",provider:"volcengine",branding:u1,features:{newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0,generatedAgentTestRun:!0},defaultView:"chat",agentsSource:"local",telemetry:TP};function j_e(e){if(!e||typeof e!="object")return TP;const t=e;if(t.enabled!==!0||!t.studio||typeof t.studio!="object")return TP;const n=t.studio;return{enabled:!0,studio:{deployId:typeof n.deployId=="string"?n.deployId:"",userPoolId:typeof n.userPoolId=="string"?n.userPoolId:"",applicationId:typeof n.applicationId=="string"?n.applicationId:"",functionId:typeof n.functionId=="string"?n.functionId:"",region:typeof n.region=="string"?n.region:"",project:typeof n.project=="string"?n.project:"",version:typeof n.version=="string"?n.version:"",accountId:typeof n.accountId=="string"?n.accountId:""}}}async function kne(){var e,t;try{const n=await kt("/web/ui-config");if(!n.ok)return tj;const i=await n.json(),r=typeof((e=i.branding)==null?void 0:e.logoUrl)=="string"?i.branding.logoUrl:u1.logoUrl,s=i.provider==="byteplus"?"byteplus":"volcengine";return Yte(s),{studio:i.studio??!1,version:typeof i.version=="string"?i.version:"",provider:s,branding:{title:typeof((t=i.branding)==null?void 0:t.title)=="string"?i.branding.title:u1.title,logoUrl:r?mo(r):""},features:{...tj.features,...i.features??{}},defaultView:i.defaultView??"chat",agentsSource:i.agentsSource==="cloud"?"cloud":"local",telemetry:j_e(i.telemetry)}}catch{return tj}}const Tne={role:"user",telemetry:{userId:"",accountId:""},capabilities:{createAgents:!1,manageAgents:!1,runtimeScope:"mine"}};async function _ne(){var n,i,r,s;const e=await kt("/web/access");if(!e.ok)throw new Error(`加载权限失败 (${e.status})`);const t=await e.json();if(!["admin","developer","user"].includes(t.role)||typeof((n=t.telemetry)==null?void 0:n.userId)!="string"||t.telemetry.accountId!==void 0&&typeof t.telemetry.accountId!="string"||typeof((i=t.capabilities)==null?void 0:i.createAgents)!="boolean"||typeof((r=t.capabilities)==null?void 0:r.manageAgents)!="boolean"||!["all","mine"].includes((s=t.capabilities)==null?void 0:s.runtimeScope))throw new Error("权限服务返回了无法解析的响应");return t}async function Ane(e,t){const n=new URLSearchParams;e&&n.set("targetVersion",e),t&&n.set("startedAt",String(t));const i=n.size?`?${n.toString()}`:"",r=await kt(`/web/studio-update${i}`);if(!r.ok)throw new Error(`检查 Studio 更新失败 (${r.status})`);return await r.json()}async function Cne(e){const t=await kt("/web/studio-update",{method:"POST",headers:{"Content-Type":"application/json","X-VeADK-Studio-Update":"1"},body:JSON.stringify({version:e})},{},kr);if(!t.ok){let n="";try{const i=await t.json();n=typeof i.detail=="string"?i.detail:""}catch{n=""}throw new Error(n||`提交 Studio 更新失败 (${t.status})`)}return await t.json()}async function Nne({runtimeId:e,region:t,appName:n,page:i=1,pageSize:r=20,signal:s}){const a=new URLSearchParams({runtimeId:e,region:t,appName:n,page:String(i),pageSize:String(r)}),o=await kt(`/web/agent-usage?${a.toString()}`,{signal:s});if(!o.ok)throw new Error(await hn(o,"加载 Agent 用量失败"));const c=o.headers.get("content-type")||"未提供",u=c.toLowerCase();if(!u.includes("application/json")&&!u.includes("+json"))throw new Error(`加载 Agent 用量失败:服务端返回非 JSON 响应(HTTP ${o.status},Content-Type: ${c})。请确认当前服务以 Studio 模式启动,并检查代理或网关配置。`);try{return await o.json()}catch{throw new Error(`加载 Agent 用量失败:服务端返回了无法解析的 JSON(HTTP ${o.status},Content-Type: ${c})。请稍后重试;若问题持续,请检查代理或网关配置。`)}}async function IA(e={}){const t=new URLSearchParams({scope:e.scope??"all",page_size:String(e.pageSize??30),region:e.region??"all"});e.nextToken&&t.set("next_token",e.nextToken);const n=await kt(`/web/runtimes?${t.toString()}`);if(!n.ok){const r=await hn(n,"加载 Runtime 失败");throw new Error(r)}const i=await n.json();return{runtimes:i.runtimes??[],nextToken:i.nextToken??""}}async function _$(e,t,n={}){try{const i={runtimeId:e,region:t};return n.retryProbe&&(i.retryProbe=!0),await NA("","",i)}catch(i){if(i instanceof Gb||i instanceof Qa)throw i;return null}}async function jne(e,t,n={}){const i={runtimeId:e,region:t};n.retryProbe&&(i.retryProbe=!0);const r=await kt("/.well-known/agent-card.json",{},i),s=await Wte(r);if(s==="runtime_access_denied")throw new Gb;if(s==="runtime_private_endpoint_unreachable")throw new Qa(Vte);if(["runtime_proxy_connect_error","runtime_proxy_timeout"].includes(s))throw new Qa(qte);if(r.status===404)return null;if(r.status===401||r.status===403)throw new Qa("Runtime 服务拒绝了 A2A 探测请求,请检查 Runtime 的鉴权配置。");if(!r.ok)throw new Error(await hn(r,"读取 A2A Agent Card 失败"));const a=await r.json().catch(()=>null),o=typeof(a==null?void 0:a.url)=="string"?a.url.trim():"";return o?{name:typeof(a==null?void 0:a.name)=="string"?a.name:"",description:typeof(a==null?void 0:a.description)=="string"?a.description:"",endpoint:o}:null}async function Rne(e,t){const n=new URLSearchParams({runtimeId:e,region:t}),i=await kt(`/web/runtime-api-key/reveal?${n.toString()}`,{method:"POST",cache:"no-store"});if(!i.ok)throw new Error(await hn(i,"读取 Runtime API Key 失败"));const r=await i.json();if(typeof r.apiKey!="string"||!r.apiKey)throw new Error("Runtime 未返回可用的 API Key");return r.apiKey}async function Ine(e,t){const n=await kt("/web/delete-runtime",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e,region:t})});if(!n.ok){const i=await n.text().catch(()=>"");throw new Error(i||`删除失败 (${n.status})`)}}async function Dne({runtimeId:e,region:t,appName:n,signal:i}){const r=new URLSearchParams({runtimeId:e,region:t});n&&r.set("appName",n);const s=await kt(`/web/runtime-update-capability?${r.toString()}`,{signal:i});if(!s.ok)throw new Error(await R_e(s));return await s.json()}async function R_e(e){const t=await e.json().catch(()=>null),n=typeof(t==null?void 0:t.detail)=="string"?t.detail:"";return e.status===403?"当前账号没有管理该 Runtime 的权限。":e.status===404?n==="runtime_not_found"?"该 Runtime 不存在或已被删除。":"当前账号无法访问该 Runtime。":`检查 Runtime 更新能力失败(HTTP ${e.status}),请稍后重试。`}async function I_e(e,t){let n=null;for(const i of Cv(t)){const r=await kt(`/web/runtime-detail?runtimeId=${encodeURIComponent(e)}®ion=${encodeURIComponent(i)}`);if(r.ok)return r.json();n=new Error(await hn(r,"加载 Runtime 详情失败"))}throw n??new Error("加载 Runtime 详情失败")}async function A$(e,t="cn-beijing",n={}){const i=Yb(e,t||"cn-beijing"),r=Wb(xp,i,AA);if(!n.force&&r)return r;const s=xp.get(i);if(!n.force&&(s!=null&&s.promise))return s.promise;const a=I_e(e,t).then(o=>g$(xp,i,o));xp.set(i,{...s,promise:a,updatedAt:(s==null?void 0:s.updatedAt)??0});try{return await a}finally{const o=xp.get(i);(o==null?void 0:o.promise)===a&&xp.set(i,{value:o.value,updatedAt:o.updatedAt})}}function Pne(e,t="cn-beijing"){return Wb(xp,Yb(e,t||"cn-beijing"),AA)}function Mne(e,t="cn-beijing"){A$(e,t).catch(()=>{})}async function C$(e){const t=await kt("/web/generated-agent-projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await hn(t,"生成项目失败"));return t.json()}const D_e=19e4;async function Lne(e){const t=await kt("/web/generated-agent-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requirement:e})},{},D_e);if(!t.ok)throw new Error(await hn(t,"生成 Agent 配置失败"));return _A(t,"生成 Agent 配置失败")}async function $ne(e,t){const n=await kt("/web/generated-agent-test-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e,runtimeId:t==null?void 0:t.runtimeId,runtimeRegion:t==null?void 0:t.region})});if(!n.ok)throw new Error(await hn(n,"创建调试运行失败"));return _A(n,"创建调试运行失败")}async function Qne(e,t){const n=await kt(`/web/generated-agent-test-runs/${e}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:t})});if(!n.ok)throw new Error(await hn(n,"创建调试会话失败"));return(await _A(n,"创建调试会话失败")).id}async function Bne(e,t){const n=await kt(`/web/generated-agent-test-runs/${encodeURIComponent(e)}/trace/session/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(await hn(n,"加载调试调用链路失败"));const i=await _A(n,"加载调试调用链路失败");if(!Array.isArray(i))throw new Error("加载调试调用链路失败:返回格式无效");return i}async function*Fne({runId:e,userId:t,sessionId:n,text:i,signal:r}){const s=i.trim()?[{text:i}]:[],a=await kt(`/web/generated-agent-test-runs/${e}/run_sse`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user_id:t,session_id:n,new_message:{role:"user",parts:s},streaming:!0}),signal:r},{},0);if(!a.ok)throw new Error(await hn(a,"调试运行失败"));for await(const o of l$(a))yield o}async function jg(e){const t=await kt(`/web/generated-agent-test-runs/${e}`,{method:"DELETE"});if(!t.ok&&t.status!==404)throw new Error(await hn(t,"清理调试运行失败"))}const P_e=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SITE_BRANDING:u1,DEFAULT_STUDIO_ACCESS:Tne,GithubCicdPipelineError:mx,RuntimeAccessDeniedError:Gb,RuntimeProbeError:Qa,addSessionCapability:SP,attachGithubDeliveryCicdToSourceSync:C_e,bindGithubCicdRuntime:T$,cancelAgentkitDeployment:Ene,checkRuntimeNameAvailability:E$,clearMessageFeedbackCache:$te,clearRemoteApps:Bte,componentSearch:hne,createGeneratedAgentTestRun:$ne,createGeneratedAgentTestSession:Qne,createGithubCicdPipeline:One,createGithubDeliveryCicdPipeline:yne,createGithubDeliveryRollbackPr:wne,createSession:Zte,deleteAgentFeedbackCases:ine,deleteGeneratedAgentTestRun:jg,deleteMedia:HE,deleteRuntime:Ine,deleteSession:yP,deleteSessionMedia:xP,deployAgentkitProject:Zb,downloadArtifact:O$,fetchRemoteApps:NA,generateAgentDraftFromRequirement:Lne,generateAgentProject:C$,getAgentFeedbackCases:RA,getAgentInfo:EP,getAgentOptimizations:Jte,getAgentUsage:Nne,getAutomaticEvaluationStatuses:OP,getCachedAgentFeedbackCases:ene,getCachedRuntimeAgentInfo:dne,getCachedRuntimeDetail:Pne,getGeneratedAgentTestTrace:Bne,getGithubCicdRuntimeBinding:vne,getGithubDeliveryVersions:GE,getMediaCapabilities:E_e,getMyRuntimes:N_e,getRuntimeAgentInfo:S$,getRuntimeDetail:A$,getRuntimeUpdateCapability:Dne,getRuntimes:IA,getSession:jA,getSessionCapabilities:wP,getSessionTrace:ST,getStudioAccess:_ne,getStudioUpdateStatus:Ane,getSystemInfo:gne,getUiConfig:kne,initializeGithubDeliveryMain:xne,listApps:zte,listDeploymentResources:mne,listIdentityUserPools:k$,listModelApiKeys:Fte,listModelOptions:m$,listSessionBuiltinTools:w$,listSessionSkillSpaces:k_e,listSessionSkillsInSpace:T_e,listSessions:b$,mediaContentUrl:one,prefetchAgentFeedbackCases:w_e,prefetchRuntimeAgentInfo:fne,prefetchRuntimeDetail:Mne,previewArtifact:y$,probeRuntimeA2a:jne,probeRuntimeApps:_$,refreshAgentFeedbackCases:tne,registerRemoteApp:Qte,removeSessionCapability:cne,revealModelApiKey:Ute,revealRuntimeApiKey:Rne,runGeneratedAgentTestSSE:Fne,runSSE:kP,runtimeRegionCandidates:Cv,searchSessionPublicSkills:lne,setClientCloudProvider:Yte,startStudioUpdate:Cne,studioFetch:ri,submitIssueFeedback:vP,submitMessageFeedback:Kte,syncGithubCicdRuntime:Sne,updateCodexSandboxToolModelEnv:bne,uploadMedia:sne,upsertCachedAgentFeedbackCase:XE,webSearch:pne},Symbol.toStringTag,{value:"Module"})),sF=Object.freeze({totalTokenCount:0,promptTokenCount:0,candidatesTokenCount:0,thoughtsTokenCount:0,cachedContentTokenCount:0}),YE=Object.freeze({modelName:"",current:sF,cumulative:sF}),M_e={totalTokenCount:"total_token_count",promptTokenCount:"prompt_token_count",candidatesTokenCount:"candidates_token_count",thoughtsTokenCount:"thoughts_token_count",cachedContentTokenCount:"cached_content_token_count"},L_e=24,$_e=64,Q_e=16;function lS(e){var o,c;const t=e.trim();if(!t)return 0;const n=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/gu,i=((o=t.match(n))==null?void 0:o.length)??0,r=t.replace(n," "),s=(r.match(/[A-Za-z0-9_]+/g)??[]).reduce((u,d)=>u+Math.max(1,Math.ceil(d.length/4)),0),a=((c=r.match(/[^\sA-Za-z0-9_]/g))==null?void 0:c.length)??0;return i+s+a}function B_e(e){var o,c,u;const t=((o=e.instruction)==null?void 0:o.trim())??"",n=((c=e.tools)==null?void 0:c.filter(d=>d.trim()))??[],i=((u=e.skills)==null?void 0:u.filter(d=>d.name.trim()))??[],r=lS(t),s=n.reduce((d,f)=>d+$_e+lS(f),0),a=i.reduce((d,f)=>d+Q_e+lS(f.name)+lS(f.description??""),0);return L_e+r+s+a}function F_e({usage:e,contextWindow:t,estimatedSystemTokens:n}){const i=Math.max(1,Math.round(t)),r=Math.max(0,e.current.promptTokenCount),s=Math.max(r,e.current.totalTokenCount),a=Math.min(i,r>0?Math.min(r,Math.max(0,n??0)):Math.max(0,n??0)),o=Math.max(0,r-a),c=r>0?Math.max(0,s-r):Math.max(0,s),u=r>0?s:a+c;return{systemTokens:a,inputTokens:o,outputTokens:c,remainingTokens:Math.max(0,i-u),usedTokens:u,contextWindow:i}}function U_e(e){const t=[{kind:"system",tokens:e.systemTokens},{kind:"input",tokens:e.inputTokens},{kind:"output",tokens:e.outputTokens},{kind:"remaining",tokens:e.remainingTokens}],n=e.contextWindow/100;let i=0;const r=t.map(s=>{const a=i;return i+=s.tokens,{...s,start:a,end:i}});return Array.from({length:100},(s,a)=>{const o=a*n,c=o+n,u=r.flatMap(d=>{const f=Math.max(0,Math.min(c,d.end)-Math.max(o,d.start));return f>0?[{kind:d.kind,share:f/n}]:[]});return{index:a,slices:u}})}function ZO(e,t){const n=e,i=n[t]??n[M_e[t]];return typeof i=="number"&&Number.isFinite(i)&&i>0?Math.round(i):0}function z_e(e){const t=ZO(e,"promptTokenCount"),n=ZO(e,"candidatesTokenCount"),i=ZO(e,"thoughtsTokenCount");return{totalTokenCount:ZO(e,"totalTokenCount")||t+n+i,promptTokenCount:t,candidatesTokenCount:n,thoughtsTokenCount:i,cachedContentTokenCount:ZO(e,"cachedContentTokenCount")}}function V_e(e,t){return{totalTokenCount:e.totalTokenCount+t.totalTokenCount,promptTokenCount:e.promptTokenCount+t.promptTokenCount,candidatesTokenCount:e.candidatesTokenCount+t.candidatesTokenCount,thoughtsTokenCount:e.thoughtsTokenCount+t.thoughtsTokenCount,cachedContentTokenCount:e.cachedContentTokenCount+t.cachedContentTokenCount}}function Une(e,t){if(!t)return e;const n=typeof t.modelVersion=="string"?t.modelVersion.trim():"",i=typeof t.model_version=="string"?t.model_version.trim():"",r=n||i||e.modelName,s=t.usageMetadata??t.usage_metadata;if(!s)return r===e.modelName?e:{...e,modelName:r};const a=z_e(s);return a.totalTokenCount===0?r===e.modelName?e:{...e,modelName:r}:{modelName:r,current:a,cumulative:V_e(e.cumulative,a)}}function aF(e){return e.reduce((t,n)=>Une(t,n),YE)}function oF(e){return e.blocks.flatMap(t=>t.kind==="tool"?[{name:t.name,args:t.args,response:t.response,done:t.done}]:[])}function q_e(e){const t=e.attributes;return String(t["invocation.id"]??t["gen_ai.invocation.id"]??t["gcp.vertex.agent.invocation_id"]??"")}function X_e(e,t){if(!t)return e;const n=new Set(e.filter(r=>q_e(r)===t).map(r=>r.trace_id)),i=e.filter(r=>n.has(r.trace_id));return i.length>0?i:e}function nj(e){return!!(e&&[...e.tools,...e.skills].some(t=>t.custom))}const H_e="send_a2ui_json_to_client",G_e="validated_a2ui_json",_P="adk_request_credential",lF="transfer_to_agent";function Y_e(e){var i,r,s,a;const t=e,n=((i=t==null?void 0:t.exchangedAuthCredential)==null?void 0:i.oauth2)??((r=t==null?void 0:t.exchanged_auth_credential)==null?void 0:r.oauth2)??((s=t==null?void 0:t.rawAuthCredential)==null?void 0:s.oauth2)??((a=t==null?void 0:t.raw_auth_credential)==null?void 0:a.oauth2);return(n==null?void 0:n.authUri)??(n==null?void 0:n.auth_uri)}function md(){return{blocks:[],liveStart:0}}const cF=e=>e.functionCall??e.function_call,AP=e=>e.functionResponse??e.function_response;function W_e(e){if(!e||typeof e!="object")return"";const t=e,n=t.agentName??t.agent_name;return typeof n=="string"?n:""}function Z_e(e){return e.replace(/-/g,"+").replace(/_/g,"/")}function zne(e){const t=[];for(const[n,i]of e.entries()){const r=i.partMetadata??i.part_metadata,s=r==null?void 0:r.veadkTransport;if((s==null?void 0:s.hidden)===!0)continue;const a=r==null?void 0:r.veadkMedia;if(typeof(a==null?void 0:a.uri)=="string"){t.push({id:String(a.id??a.uri),mimeType:typeof a.mimeType=="string"?a.mimeType:void 0,uri:a.uri,name:typeof a.name=="string"?a.name:void 0,sizeBytes:typeof a.sizeBytes=="number"?a.sizeBytes:void 0});continue}const o=i.inlineData??i.inline_data;if(o&&o.data){t.push({id:`inline-${n}-${o.displayName??o.display_name??"media"}`,mimeType:o.mimeType??o.mime_type,data:Z_e(o.data),name:o.displayName??o.display_name});continue}const c=i.fileData??i.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 CP(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 K_e=new Set(["llm","sequential","parallel","loop","a2a"]);function J_e(e){var t;for(const n of e){const i=(t=n.partMetadata??n.part_metadata)==null?void 0:t.veadkInvocation;if(!i||typeof i!="object")continue;const r=i,s=Array.isArray(r.skills)?r.skills.flatMap(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 o=r.targetAgent;if(o&&typeof o=="object"){const c=o,u=c.type;typeof c.name=="string"&&typeof u=="string"&&K_e.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(s.length>0||a)return{skills:s,targetAgent:a}}}function eAe(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 tAe(e,t){if(!t.length)return;const n=e[e.length-1];if((n==null?void 0:n.kind)==="artifact"){for(const i of t)n.files.some(r=>r.filename===i.filename&&r.version===i.version)||n.files.push(i);return}e.push({kind:"artifact",files:t})}function uF(e,t,n){const i=e[e.length-1];i&&i.kind===t?i.text+=n:e.push(t==="thinking"?{kind:t,text:n,done:!1}:{kind:t,text:n})}function cS(e){for(const t of e)t.kind==="thinking"&&(t.done=!0)}function ET(e,t){var o,c,u,d,f,h;const n=e.blocks.map(p=>({...p}));let i=e.liveStart;const r=((o=t.content)==null?void 0:o.parts)??[],s=r.some(p=>cF(p)||AP(p));if(t.partial&&!s){for(const p of r){const b=CP(p);typeof b=="string"&&b&&uF(n,p.thought?"thinking":"text",b)}return{blocks:n,liveStart:i}}n.length=i;for(const p of r){const b=cF(p),g=AP(p),O=zne([p]),y=CP(p);if(typeof y=="string"&&y)uF(n,p.thought?"thinking":"text",y);else if(O.length)cS(n),eAe(n,O);else if(b)if(cS(n),b.name===lF){const v=W_e(b.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:v,done:!1})}else if(b.name===_P){const v=b.args??{},x=v.authConfig??v.auth_config??v,E=String(v.functionCallId??v.function_call_id??"").replace(/^_adk_toolset_auth_/,"")||void 0;n.push({kind:"auth",callId:b.id??"",label:E,authUri:Y_e(x),authConfig:x,done:!1})}else n.push({kind:"tool",name:b.name??"",args:b.args,done:!1});else if(g){if(cS(n),g.name===lF)for(let v=n.length-1;v>=0;v--){const x=n[v];if(x.kind==="agent-transfer"&&!x.done){x.done=!0;break}}if(g.name===_P)for(let v=n.length-1;v>=0;v--){const x=n[v];if(x.kind==="auth"&&!x.done){x.done=!0;break}}for(let v=n.length-1;v>=0;v--){const x=n[v];if(x.kind==="tool"&&!x.done&&x.name===g.name){x.done=!0,x.response=g.response;break}}if(g.name===H_e){const v=((d=g.response)==null?void 0:d[G_e])??[];if(v.length){const x=n[n.length-1];x&&x.kind==="a2ui"?x.messages.push(...v):n.push({kind:"a2ui",messages:v})}}}}const a=((f=t.actions)==null?void 0:f.artifactDelta)??((h=t.actions)==null?void 0:h.artifact_delta);return a&&tAe(n,Object.entries(a).map(([p,b])=>({filename:p,version:b}))),cS(n),i=n.length,{blocks:n,liveStart:i}}function nAe(e,t={}){var r,s;const n=[];let i=md();for(const a of e)if(a.author==="user"){const c=((r=a.content)==null?void 0:r.parts)??[];if(c.some(p=>{var b;return((b=AP(p))==null?void 0:b.name)===_P})){for(let p=n.length-1;p>=0;p--)if(n[p].role==="assistant"){for(let b=n[p].blocks.length-1;b>=0;b--){const g=n[p].blocks[b];if(g.kind==="auth"){g.done=!0;break}}break}}const u=c.map(CP).filter(p=>!!p).join(""),d=zne(c),f=J_e(c);if(!u&&!d.length&&!f){i=md();continue}const h=[];f&&h.push({kind:"invocation",value:f}),d.length&&h.push({kind:"attachment",files:d}),u&&h.push({kind:"text",text:u}),n.push({role:"user",blocks:h,meta:{ts:a.timestamp}}),i=md()}else{const c=a.author??"";let u=n[n.length-1];(!u||u.role!=="assistant"||c&&((s=u.meta)==null?void 0:s.author)!==c)&&(u={role:"assistant",blocks:[],meta:{author:c||void 0}},n.push(u),i=md()),i=ET(i,a),u.blocks=i.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 o=a.meta,c=o==null?void 0:o.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"||(o.feedback=u)}return n}function DA(e){var t,n;for(const i of e??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"新会话"}const iAe=50,dF=48;function rAe(e){return(e.events??[]).flatMap(t=>{var r,s;const i=(((r=t.content)==null?void 0:r.parts)??[]).map(a=>typeof a.text=="string"?a.text:"").filter(Boolean).join("");return i?[{text:i,role:t.author??((s=t.content)==null?void 0:s.role)??"",ts:t.timestamp}]:[]})}function sAe(e){var t,n;for(const i of e.events??[])if(i.author==="user"||((t=i.content)==null?void 0:t.role)==="user"){const r=(((n=i.content)==null?void 0:n.parts)??[]).map(s=>s.text).find(Boolean);if(r)return r}return"未命名会话"}function aAe(e,t,n){const i=Math.max(0,t-dF),r=Math.min(e.length,t+n+dF);return(i>0?"…":"")+e.slice(i,r).trim()+(r{var c;if((c=o.events)!=null&&c.length)return o;try{return await jA(t,e,o.id)}catch{return o}})),a=[];for(const o of s)for(const{text:c,role:u,ts:d}of rAe(o)){const f=c.toLowerCase().indexOf(i);if(f!==-1){a.push({type:"session",appId:t,sessionId:o.id,title:sAe(o),snippet:aAe(c,f,i.length),role:u,ts:d??o.lastUpdateTime});break}}return a.sort((o,c)=>(c.ts??0)-(o.ts??0)),a.slice(0,iAe)}async function lAe(e,t){if(!e||!t.trim())return{results:[]};let n;try{n=await pne(e,t.trim())}catch(a){const o=String(a);return{results:[],note:o.includes("404")?"网络搜索接口未就绪(后端未启用 /web/search)。":`网络搜索失败:${o}`}}const{mounted:i,results:r,error:s}=n;return i?s?{results:[],note:s}:{results:r.map((a,o)=>({type:"web",index:o,title:a.title,url:a.url,siteName:a.siteName,summary:a.summary}))}:{results:[],note:"当前 Agent 未挂载 web_search 工具。"}}async function cAe(e,t,n,i){if(!t||!i.trim())return{results:[]};const r=await hne(t,e,i.trim(),n);if(!r.mounted)return{results:[],note:e==="knowledge"?"该 Agent 未挂载知识库。":"该 Agent 未挂载长期记忆。"};if(r.error)return{results:[],note:r.error};const s=r.sourceName??(e==="knowledge"?"知识库":"长期记忆");return{results:r.results.map((a,o)=>e==="knowledge"?{type:"knowledge",index:o,content:a.content,sourceName:s,sourceType:r.sourceType}:{type:"memory",index:o,content:a.content,sourceName:s,sourceType:r.sourceType,author:a.author,ts:a.timestamp})}}async function uAe(e,t,n){return e==="session"?{results:await oAe(n.userId,n.appId,t)}:e==="web"?lAe(n.appId,t):cAe(e,n.appId,n.userId,t)}function Vne({className:e="icon"}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M16.4 10.7a5.7 5.7 0 1 1-1.67-4.03"}),l.jsx("path",{d:"M15.25 15.25 19.6 19.6"})]})}function dAe({open:e}){return l.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:l.jsx("path",{d:"m3.25 4.75 2.75 2.5 2.75-2.5"})})}function fAe({active:e=!1,onClick:t}){return l.jsxs("button",{className:`new-chat${e?" is-active":""}`,onClick:t,"aria-label":"搜索","aria-current":e?"page":void 0,title:"搜索",children:[l.jsx(Vne,{}),l.jsx("span",{className:"sidebar-nav-label",children:"搜索"})]})}function hAe(e,t,n){const i=!!e,r=new Set((t==null?void 0:t.searchSources)??[]),s=a=>i?n?"正在检测 Agent 能力":`当前 Agent 未挂载${a}`:"请选择 Agent";return[{id:"session",label:"会话",ready:i,unavailableLabel:"请选择 Agent"},{id:"web",label:"网络",ready:i&&r.has("web"),description:"通过 web_search 工具检索",unavailableLabel:s(" web_search 工具")},{id:"knowledge",label:"知识库",ready:i&&r.has("knowledge"),unavailableLabel:s("知识库")},{id:"memory",label:"长期记忆",ready:i&&r.has("memory"),unavailableLabel:s("长期记忆")}]}function kT(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 fF(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 pAe({userId:e,appId:t,agentInfo:n,capabilitiesLoading:i,agentLabel:r,onOpenSession:s}){var $,j;const[a,o]=m.useState("session"),[c,u]=m.useState(""),[d,f]=m.useState([]),[h,p]=m.useState(),[b,g]=m.useState(!1),[O,y]=m.useState(!1),[v,x]=m.useState(!1),w=m.useRef(0),E=m.useRef(null),S=hAe(t,n,i),k=S.find(I=>I.id===a),T=a==="knowledge"?($=n==null?void 0:n.components)==null?void 0:$.find(I=>I.source==="knowledgebase"||I.kind==="knowledgebase"):a==="memory"?(j=n==null?void 0:n.components)==null?void 0:j.find(I=>I.source==="long_term_memory"||I.kind==="memory"):void 0;m.useEffect(()=>{w.current+=1,o("session"),f([]),p(void 0),y(!1),g(!1),x(!1)},[t]),m.useEffect(()=>{if(!v)return;function I(F){var B;(B=E.current)!=null&&B.contains(F.target)||x(!1)}return document.addEventListener("pointerdown",I),()=>document.removeEventListener("pointerdown",I)},[v]);async function C(I,F){var q;const B=I.trim();if(!B||!((q=S.find(U=>U.id===F))!=null&&q.ready))return;const M=++w.current;g(!0),y(!0);let Y;try{Y=await uAe(F,B,{userId:e,appId:t})}catch(U){const V=U instanceof Error?U.message:String(U);Y={results:[],note:`搜索失败:${V}`}}M===w.current&&(f(Y.results),p(Y.note),g(!1))}function A(I){w.current+=1,u(I),f([]),p(void 0),y(!1),g(!1)}function N(I){w.current+=1,o(I),x(!1),f([]),p(void 0),y(!1),g(!1)}const P=!!(k!=null&&k.ready),Q=t?a==="web"?"在网络中检索":a==="knowledge"?`在 ${(T==null?void 0:T.name)??"当前 Agent 的知识库"} 中检索`:a==="memory"?`在 ${(T==null?void 0:T.name)??"当前用户的长期记忆"} 中检索`:"在当前 Agent 的会话中检索":"请先选择 Agent",D=T!=null&&T.backend?kT(T.backend):"";return l.jsxs("div",{className:"search",children:[l.jsxs("div",{className:"search-box",children:[l.jsxs("div",{className:"search-source-picker-wrap",ref:E,children:[l.jsxs("button",{className:"search-source-picker",type:"button","aria-label":`搜索类型:${(k==null?void 0:k.label)??"未选择"}`,"aria-haspopup":"listbox","aria-expanded":v,onClick:()=>x(I=>!I),children:[l.jsx("span",{children:(k==null?void 0:k.label)??"搜索类型"}),D&&l.jsx("small",{children:D}),l.jsx(dAe,{open:v})]}),v&&l.jsx("div",{className:"search-source-menu",role:"listbox","aria-label":"选择搜索类型",children:S.map(I=>{var M,Y;const F=I.id==="knowledge"?(M=n==null?void 0:n.components)==null?void 0:M.find(q=>q.source==="knowledgebase"||q.kind==="knowledgebase"):I.id==="memory"?(Y=n==null?void 0:n.components)==null?void 0:Y.find(q=>q.source==="long_term_memory"||q.kind==="memory"):void 0,B=F?[F.name,F.backend?kT(F.backend):""].filter(Boolean).join(" · "):I.ready?I.description:I.unavailableLabel;return l.jsxs("button",{type:"button",role:"option","aria-selected":a===I.id,disabled:!I.ready,onClick:()=>N(I.id),children:[l.jsx("span",{children:I.label}),B&&l.jsx("small",{children:B})]},I.id)})})]}),l.jsx("span",{className:"search-box-divider","aria-hidden":!0}),l.jsx("input",{className:"search-input",value:c,onChange:I=>A(I.target.value),onKeyDown:I=>{I.key==="Enter"&&(I.preventDefault(),C(c,a))},placeholder:Q,disabled:!P,autoFocus:!0}),l.jsx("button",{className:"search-go",onClick:()=>void C(c,a),disabled:!c.trim()||b,"aria-label":"搜索",children:b?l.jsx(Hn,{className:"icon spin"}):l.jsx(Vne,{className:"icon"})})]}),l.jsx("div",{className:"search-results",children:P?O?b?null:h?l.jsx("div",{className:"search-empty",children:h}):d.length===0&&O?l.jsxs("div",{className:"search-empty",children:["未找到匹配「",c.trim(),"」的结果。"]}):d.map((I,F)=>l.jsx(mAe,{result:I,agentLabel:r,onOpen:s},F)):l.jsx("div",{className:"search-empty",children:a==="web"?"输入关键词后回车或点击按钮,通过 web_search 工具检索。":a==="knowledge"?"输入问题,检索当前 Agent 挂载的知识库。":a==="memory"?"输入线索,检索当前用户跨会话保存的长期记忆。":"输入关键词后回车或点击按钮,搜索当前 Agent 的会话。"}):l.jsx("div",{className:"search-empty",children:t?i?"正在读取当前 Agent 的检索能力…":(k==null?void 0:k.unavailableLabel)??"当前 Agent 未挂载该数据源":"选择一个 Agent 后,即可检索会话、网络及其挂载的数据源。"})})]})}function mAe({result:e,agentLabel:t,onOpen:n}){switch(e.type){case"session":return l.jsxs("button",{className:"search-result",onClick:()=>n(e.appId,e.sessionId),children:[l.jsx(jte,{className:"search-result-icon"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsx("span",{className:"search-result-title",children:e.title}),l.jsxs("span",{className:"search-result-meta",children:[t(e.appId),e.ts?` · ${fF(e.ts)}`:""]})]}),l.jsx("div",{className:"search-result-snippet",children:e.snippet})]})]});case"web":return l.jsxs("a",{className:"search-result",href:e.url||void 0,target:"_blank",rel:"noreferrer noopener",children:[l.jsx(TA,{className:"search-result-icon"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsx("span",{className:"search-result-title",children:e.title||e.url}),l.jsxs("span",{className:"search-result-meta",children:[e.siteName,e.url&&l.jsx(ab,{className:"search-result-ext"})]})]}),e.summary&&l.jsx("div",{className:"search-result-snippet",children:e.summary})]})]});case"knowledge":return l.jsxs("div",{className:"search-result search-result-static",children:[l.jsx(hF,{source:"knowledge"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsxs("span",{className:"search-result-title",children:["知识片段 ",e.index+1]}),l.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${kT(e.sourceType)}`:""]})]}),l.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});case"memory":return l.jsxs("div",{className:"search-result search-result-static",children:[l.jsx(hF,{source:"memory"}),l.jsxs("div",{className:"search-result-body",children:[l.jsxs("div",{className:"search-result-head",children:[l.jsxs("span",{className:"search-result-title",children:["记忆片段 ",e.index+1]}),l.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${kT(e.sourceType)}`:"",e.ts?` · ${fF(e.ts)}`:""]})]}),l.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});default:return null}}function hF({source:e,className:t="search-result-icon"}){return e==="knowledge"?l.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[l.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"}),l.jsx("path",{d:"M8.25 9h7.5M8.25 12.25h6"})]}):l.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[l.jsx("path",{d:"M12 4.5a7.5 7.5 0 1 0 7.5 7.5"}),l.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 vh({className:e="icon"}){return l.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:[l.jsx("rect",{x:"4.25",y:"5.25",width:"15.5",height:"13.5",rx:"4.75"}),l.jsx("path",{className:"sidebar-agent-face__eye",d:"M8.5 10.7v2"}),l.jsx("path",{className:"sidebar-agent-face__eye",d:"M15.5 10.7v2"})]})}const gAe={volcengine:{console:"https://console.volcengine.com/agentkit",docs:"https://www.volcengine.com/docs/86681/1844823"},byteplus:{console:"https://console.byteplus.com/agentkit",docs:"https://docs.byteplus.com/en/docs/AgentKit"}};function bAe(e){return gAe[e]}function pF({href:e,label:t,tone:n}){return l.jsxs("a",{className:`agentkit-promo-link is-${n}`,href:e,target:"_blank",rel:"noreferrer","aria-label":`${t},在新窗口打开`,title:t,children:[l.jsx("span",{className:"agentkit-promo-content",children:l.jsx("span",{className:"agentkit-promo-copy",children:t})}),l.jsxs("svg",{className:"agentkit-promo-external-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("path",{d:"M7.75 5.25h-2.5a1.5 1.5 0 0 0-1.5 1.5v8a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5"}),l.jsx("path",{d:"M10.25 3.75h6v6M16 4 9 11"})]})]})}function OAe({cloudProvider:e}){const t=bAe(e);return l.jsxs("div",{className:"agentkit-promo-stack",children:[l.jsx(pF,{href:t.console,label:"前往 AgentKit 控制台",tone:"console"}),l.jsx(pF,{href:t.docs,label:"查看 AgentKit 官方文档",tone:"docs"})]})}function yAe({filled:e=!1,...t}){return l.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:[l.jsx("rect",{x:"3.5",y:"9.3",width:"4.5",height:"10.2",rx:"1.5"}),l.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 xAe({filled:e=!1,...t}){return l.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:[l.jsx("rect",{x:"3.5",y:"4.5",width:"4.5",height:"10.2",rx:"1.5"}),l.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 qne(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M5.25 4.25h9.5a2.5 2.5 0 0 1 2.5 2.5v3.5"}),l.jsx("path",{d:"M13.25 17.75h-8a2.5 2.5 0 0 1-2.5-2.5v-8a3 3 0 0 1 3-3"}),l.jsx("path",{d:"M7 8.25h5.5M7 11.75h3.25"}),l.jsx("path",{d:"m13.35 16.65.42-2.16 4.76-4.76a1.35 1.35 0 0 1 1.91 1.91l-4.76 4.76-2.33.25Z"}),l.jsx("path",{d:"m17.65 10.6 1.9 1.9"})]})}const N$="/assets/media/logo-DCsNZy-k.svg",j$="data:image/svg+xml,%3csvg%20width='28'%20height='23'%20viewBox='0%200%2028%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.1957%209.44218C17.0253%209.58161%2016.7774%209.47317%2016.7774%209.24079V8.01696V0.611967C16.7774%200.395085%2016.514%200.271152%2016.3591%200.410576L6.04172%209.16334C5.87132%209.30276%205.62345%209.19432%205.62345%208.96194V2.98218C5.62345%202.81178%205.48403%202.67235%205.31362%202.67235H0.309832C0.139424%202.67235%200%202.81178%200%202.98218V21.7115C0%2021.9284%200.263357%2022.0524%200.418273%2021.9129L10.7202%2013.1602C10.8906%2013.0207%2011.1385%2013.1292%2011.1385%2013.3616V22.0059C11.1385%2022.2228%2011.4018%2022.3467%2011.5567%2022.2073L21.8586%2013.4545C22.0291%2013.3151%2022.2769%2013.4235%2022.2769%2013.6559V19.6357C22.2769%2019.8061%2022.4163%2019.9455%2022.5868%2019.9455H27.5905C27.7609%2019.9455%2027.9004%2019.8061%2027.9004%2019.6357V0.890816C27.9004%200.673934%2027.637%200.550001%2027.4821%200.689425L17.1957%209.44218Z'%20fill='%230066FC'/%3e%3c/svg%3e",mF="(max-width: 860px)";function vAe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"7",cy:"7",r:"2.25"}),l.jsx("circle",{cx:"17",cy:"7",r:"2.25"}),l.jsx("circle",{cx:"7",cy:"17",r:"2.25"}),l.jsx("circle",{cx:"17",cy:"17",r:"2.25"})]})}function wAe(e){let t=2166136261;for(const i of e)t^=i.charCodeAt(0),t=Math.imul(t,16777619);const n=t>>>0;return{"--avatar-hue-a":194+n%22,"--avatar-hue-b":214+(n>>>6)%25,"--avatar-hue-c":176+(n>>>12)%25,"--avatar-x":`${22+(n>>>18)%55}%`,"--avatar-y":`${18+(n>>>24)%58}%`}}const SAe={admin:"管理员",developer:"开发者",user:"普通用户"};function gF({role:e}){const t=SAe[e];return l.jsx("span",{className:`studio-role-badge studio-role-badge--${e}`,title:t,children:t})}function EAe({access:e,userInfo:t,onSystemInfo:n,onIssueFeedback:i,onLogout:r}){const[s,a]=m.useState(!1),[o,c]=m.useState("");if(!t)return null;const u=LTe(t),d=typeof t.email=="string"?t.email:"",f=(u||"U").slice(0,1).toUpperCase(),h=wAe(u||d||f),p=$Te(t),b=p===o?"":p;return l.jsxs("div",{className:"sidebar-user",children:[l.jsxs("button",{className:"sidebar-user-btn",onClick:()=>a(g=>!g),title:d?`${u} +${d}`:u,children:[l.jsxs("span",{className:`account-avatar${b?" has-image":""}`,style:h,children:[f,b?l.jsx("img",{className:"account-avatar-image",src:b,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>c(b)}):null]}),l.jsxs("span",{className:"sidebar-user-identity",children:[l.jsxs("span",{className:"sidebar-user-primary",children:[l.jsx("span",{className:"sidebar-user-name",children:u}),l.jsx(gF,{role:e.role})]}),d&&d!==u&&l.jsx("span",{className:"sidebar-user-email",children:d})]})]}),s&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>a(!1)}),l.jsxs("div",{className:"account-pop sidebar-user-pop",children:[l.jsxs("div",{className:"account-head",children:[l.jsxs("span",{className:`account-avatar account-avatar--lg${b?" has-image":""}`,style:h,children:[f,b?l.jsx("img",{className:"account-avatar-image",src:b,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>c(b)}):null]}),l.jsxs("div",{className:"account-id",children:[l.jsxs("div",{className:"account-name-row",children:[l.jsx("div",{className:"account-name",children:u}),l.jsx(gF,{role:e.role})]}),d&&d!==u&&l.jsx("div",{className:"account-sub",children:d})]})]}),l.jsxs("button",{type:"button",className:"account-action",onClick:()=>{a(!1),n()},children:[l.jsx(ju,{className:"icon"})," 系统信息"]}),l.jsxs("button",{type:"button",className:"account-action",onClick:()=>{a(!1),i()},children:[l.jsx(qne,{className:"icon"})," 问题反馈"]}),l.jsxs("button",{type:"button",className:"account-action",onClick:()=>{a(!1),r()},children:[l.jsx(fTe,{className:"icon"})," 退出登录"]})]})]})]})}function kAe({branding:e,cloudProvider:t,sessions:n,currentSessionId:i,activePage:r,features:s,access:a,streamingSids:o,evaluatingSids:c,sandboxHistory:u,intelligentHistory:d,onNewChat:f,onSearch:h,onQuickCreate:p,onLibrary:b,onAddAgent:g,onMyAgents:O,onApplications:y,onSystemInfo:v,onIssueFeedback:x,onPickSession:w,onDeleteSession:E,userInfo:S,onLogout:k}){const T=I=>(s==null?void 0:s[I])!==!1,[C,A]=m.useState(null),N=m.useRef(typeof window<"u"&&window.matchMedia(mF).matches),[P,Q]=m.useState(N.current),D=[...n.map(I=>({kind:"agent",id:I.id,title:DA(I.events),createdAt:(I.lastUpdateTime??0)*1e3,session:I})),...((d==null?void 0:d.sessions)??[]).map(I=>({kind:"intelligent",id:I.id,title:I.displayName||"智能构建",createdAt:Date.parse(I.createdAt)||0,session:I}))].sort((I,F)=>F.createdAt-I.createdAt),$=()=>{N.current=!1,Q(I=>!I),A(null)};m.useEffect(()=>{const I=window.matchMedia(mF),F=B=>{B.matches?Q(M=>M||(N.current=!0,!0)):N.current&&(N.current=!1,Q(!1))};return I.addEventListener("change",F),()=>I.removeEventListener("change",F)},[]);const j=t==="byteplus"?j$:N$;return l.jsxs("aside",{className:`sidebar ${P?"is-collapsed":""}`,children:[l.jsxs("div",{className:"sidebar-top",children:[l.jsxs("div",{className:"sidebar-brand-row",children:[l.jsxs("button",{type:"button",className:"brand",onClick:f,"aria-label":"返回首页",title:"返回首页",children:[l.jsx("img",{className:"brand-logo",src:e.logoUrl||j,width:20,height:20,alt:"","aria-hidden":!0}),l.jsx("span",{className:"brand-title",children:e.title})]}),l.jsx("button",{type:"button",className:"sidebar-collapse-toggle",onClick:$,"aria-label":P?"展开侧边栏":"收起侧边栏",title:P?"展开侧边栏":"收起侧边栏",children:P?l.jsx(bTe,{className:"icon"}):l.jsx(gTe,{className:"icon"})})]}),T("newChat")&&l.jsxs("button",{className:`new-chat new-chat--conversation${r==="new-chat"?" is-active":""}`,onClick:f,"aria-label":"新会话","aria-current":r==="new-chat"?"page":void 0,title:"新会话",children:[l.jsx(wa,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"新会话"})]}),l.jsxs("button",{className:`new-chat new-chat--agents${r==="agents"?" is-active":""}`,onClick:O,"aria-label":"智能体","aria-current":r==="agents"?"page":void 0,title:"智能体",children:[l.jsx(vh,{}),l.jsx("span",{className:"sidebar-nav-label",children:"智能体"})]}),l.jsxs("button",{className:`new-chat new-chat--library${r==="library"?" is-active":""}`,onClick:b,"aria-label":"库","aria-current":r==="library"?"page":void 0,title:"库",children:[l.jsx(Lke,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"库"})]}),T("search")&&l.jsx(fAe,{active:r==="search",onClick:h}),l.jsxs("button",{className:`new-chat new-chat--applications${r==="applications"?" is-active":""}`,onClick:y,"aria-label":"自动化","aria-current":r==="applications"?"page":void 0,title:"自动化",children:[l.jsx(vAe,{className:"icon"}),l.jsx("span",{className:"sidebar-nav-label",children:"自动化"}),l.jsx("span",{className:"sidebar-beta-badge",children:"Beta"})]})]}),T("history")&&l.jsxs("div",{className:"sidebar-history",children:[l.jsxs("div",{className:"history-head",children:[l.jsx("span",{children:"历史会话"}),T("newChat")&&l.jsx("button",{type:"button",className:"history-new-chat",onClick:(u==null?void 0:u.onNew)??f,disabled:u==null?void 0:u.newDisabled,"aria-label":"新建会话",title:"新建会话",children:l.jsx(wa,{className:"icon"})})]}),l.jsx("div",{className:"history-list",children:u?l.jsxs(l.Fragment,{children:[u.loading&&u.threads.length===0?l.jsx("div",{className:"history-empty",role:"status",children:"正在加载历史会话…"}):null,u.error?l.jsx("div",{className:"history-error",role:"alert",children:u.error}):null,!u.loading&&!u.error&&u.threads.length===0?l.jsx("div",{className:"history-empty",children:"暂无会话"}):null,u.threads.map(I=>{const F=I.id===u.currentThreadId,B=I.name||I.preview||`Thread ${I.id.slice(0,8)}`,M=I.id===u.busyThreadId;return l.jsxs("div",{className:`history-item ${F?"active":""}`,children:[l.jsxs("button",{type:"button",className:"history-item-btn",onClick:()=>u.onSelect(I.id),"aria-current":F?"page":void 0,title:B,disabled:M,children:[l.jsx("span",{className:"history-title",children:B}),F?l.jsx("span",{className:"history-current-badge",children:"当前"}):null]}),l.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${B}`,title:"更多",disabled:M,onClick:()=>A(Y=>Y===I.id?null:I.id),children:l.jsx(Y7,{className:"icon"})}),C===I.id?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>A(null)}),l.jsx("div",{className:"history-menu",children:l.jsxs("button",{type:"button",className:"menu-item menu-item--danger",onClick:()=>{A(null),u.onDelete(I)},children:[l.jsx(xh,{className:"icon"})," 删除"]})})]}):null]},I.id)}),u.hasMore?l.jsx("button",{type:"button",className:"history-load-more",disabled:u.loading,onClick:u.onLoadMore,children:u.loading?"加载中…":"加载更多"}):null]}):l.jsxs(l.Fragment,{children:[d!=null&&d.loading&&D.length===0?l.jsx("div",{className:"history-empty",role:"status",children:"正在加载历史会话…"}):null,d!=null&&d.error?l.jsx("div",{className:"history-error",role:"alert",children:d.error}):null,!(d!=null&&d.loading)&&!(d!=null&&d.error)&&D.length===0?l.jsx("div",{className:"history-empty",children:"暂无会话"}):null,D.map(I=>{const F=`${I.kind}:${I.id}`,B=I.kind==="intelligent",M=B?I.id===(d==null?void 0:d.currentSessionId):I.id===i,Y=B?I.id===(d==null?void 0:d.busySessionId):(o==null?void 0:o.has(I.id))===!0,q=!B&&!Y&&(c==null?void 0:c.has(I.id))===!0,U=B&&I.id===(d==null?void 0:d.openingSessionId);return l.jsxs("div",{className:`history-item ${M?"active":""}`,children:[l.jsxs("button",{className:"history-item-btn",onClick:()=>I.kind==="intelligent"?d==null?void 0:d.onSelect(I.session):w(I.id),"aria-current":M?"page":void 0,title:I.title,disabled:U,children:[Y&&l.jsx("span",{className:"history-streaming",title:B?"正在构建…":"正在生成…","aria-label":B?"正在构建":"正在生成"}),l.jsx("span",{className:"history-title",children:I.title}),q&&l.jsxs("span",{className:"history-evaluating-status",title:"正在自动评测",children:[l.jsx("span",{className:"history-evaluating","aria-hidden":"true"}),"评测中"]})]}),l.jsx("button",{type:"button",className:"history-more","aria-label":`管理历史会话:${I.title}`,title:"更多",disabled:U||B&&Y,onClick:()=>A(V=>V===F?null:F),children:l.jsx(Y7,{className:"icon"})}),C===F&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>A(null)}),l.jsx("div",{className:"history-menu",children:l.jsxs("button",{type:"button",className:"menu-item menu-item--danger",onClick:()=>{A(null),I.kind==="intelligent"?d==null||d.onDelete(I.session):E(I.id)},children:[l.jsx(xh,{className:"icon"})," 删除"]})})]})]},F)})]})})]}),l.jsxs("div",{className:"sidebar-footer",children:[l.jsx(OAe,{cloudProvider:t}),l.jsx(EAe,{access:a,userInfo:S,onSystemInfo:v,onIssueFeedback:x,onLogout:k})]})]})}function bs(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n{}};function PA(){for(var e=0,t=arguments.length,n={},i;e=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}WE.prototype=PA.prototype={constructor:WE,on:function(e,t){var n=this._,i=_Ae(e+"",n),r,s=-1,a=i.length;if(arguments.length<2){for(;++s0)for(var n=new Array(r),i=0,r,s;i=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),OF.hasOwnProperty(t)?{space:OF[t],local:e}:e}function CAe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===NP&&t.documentElement.namespaceURI===NP?t.createElement(e):t.createElementNS(n,e)}}function NAe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Xne(e){var t=MA(e);return(t.local?NAe:CAe)(t)}function jAe(){}function R$(e){return e==null?jAe:function(){return this.querySelector(e)}}function RAe(e){typeof e!="function"&&(e=R$(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r=x&&(x=v+1);!(E=O[x])&&++x=0;)(a=i[r])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function i2e(e){e||(e=r2e);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,i=n.length,r=new Array(i),s=0;st?1:e>=t?0:NaN}function s2e(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function a2e(){return Array.from(this)}function o2e(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?O2e:typeof t=="function"?x2e:y2e)(e,t,n??"")):lb(this.node(),e)}function lb(e,t){return e.style.getPropertyValue(t)||Zne(e).getComputedStyle(e,null).getPropertyValue(t)}function w2e(e){return function(){delete this[e]}}function S2e(e,t){return function(){this[e]=t}}function E2e(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function k2e(e,t){return arguments.length>1?this.each((t==null?w2e:typeof t=="function"?E2e:S2e)(e,t)):this.node()[e]}function Kne(e){return e.trim().split(/^|\s+/)}function I$(e){return e.classList||new Jne(e)}function Jne(e){this._node=e,this._names=Kne(e.getAttribute("class")||"")}Jne.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 eie(e,t){for(var n=I$(e),i=-1,r=t.length;++i=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function J2e(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,r=t.length,s;n()=>e;function jP(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:s,x:a,y:o,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:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}jP.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function cCe(e){return!e.ctrlKey&&!e.button}function uCe(){return this.parentNode}function dCe(e,t){return t??{x:e.x,y:e.y}}function fCe(){return navigator.maxTouchPoints||"ontouchstart"in this}function aie(){var e=cCe,t=uCe,n=dCe,i=fCe,r={},s=PA("start","drag","end"),a=0,o,c,u,d,f=0;function h(w){w.on("mousedown.drag",p).filter(i).on("touchstart.drag",O).on("touchmove.drag",y,lCe).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(w,E){if(!(d||!e.call(this,w,E))){var S=x(this,t.call(this,w,E),w,E,"mouse");S&&(Xo(w.view).on("mousemove.drag",b,d1).on("mouseup.drag",g,d1),rie(w.view),ij(w),u=!1,o=w.clientX,c=w.clientY,S("start",w))}}function b(w){if(k0(w),!u){var E=w.clientX-o,S=w.clientY-c;u=E*E+S*S>f}r.mouse("drag",w)}function g(w){Xo(w.view).on("mousemove.drag mouseup.drag",null),sie(w.view,u),k0(w),r.mouse("end",w)}function O(w,E){if(e.call(this,w,E)){var S=w.changedTouches,k=t.call(this,w,E),T=S.length,C,A;for(C=0;C>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?dS(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?dS(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=pCe.exec(e))?new co(t[1],t[2],t[3],1):(t=mCe.exec(e))?new co(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=gCe.exec(e))?dS(t[1],t[2],t[3],t[4]):(t=bCe.exec(e))?dS(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OCe.exec(e))?kF(t[1],t[2]/100,t[3]/100,1):(t=yCe.exec(e))?kF(t[1],t[2]/100,t[3]/100,t[4]):yF.hasOwnProperty(e)?wF(yF[e]):e==="transparent"?new co(NaN,NaN,NaN,0):null}function wF(e){return new co(e>>16&255,e>>8&255,e&255,1)}function dS(e,t,n,i){return i<=0&&(e=t=n=NaN),new co(e,t,n,i)}function wCe(e){return e instanceof jv||(e=fm(e)),e?(e=e.rgb(),new co(e.r,e.g,e.b,e.opacity)):new co}function RP(e,t,n,i){return arguments.length===1?wCe(e):new co(e,t,n,i??1)}function co(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}D$(co,RP,oie(jv,{brighter(e){return e=e==null?_T:Math.pow(_T,e),new co(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?f1:Math.pow(f1,e),new co(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new co(Zp(this.r),Zp(this.g),Zp(this.b),AT(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:SF,formatHex:SF,formatHex8:SCe,formatRgb:EF,toString:EF}));function SF(){return`#${Dp(this.r)}${Dp(this.g)}${Dp(this.b)}`}function SCe(){return`#${Dp(this.r)}${Dp(this.g)}${Dp(this.b)}${Dp((isNaN(this.opacity)?1:this.opacity)*255)}`}function EF(){const e=AT(this.opacity);return`${e===1?"rgb(":"rgba("}${Zp(this.r)}, ${Zp(this.g)}, ${Zp(this.b)}${e===1?")":`, ${e})`}`}function AT(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Zp(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dp(e){return e=Zp(e),(e<16?"0":"")+e.toString(16)}function kF(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hc(e,t,n,i)}function lie(e){if(e instanceof hc)return new hc(e.h,e.s,e.l,e.opacity);if(e instanceof jv||(e=fm(e)),!e)return new hc;if(e instanceof hc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),s=Math.max(t,n,i),a=NaN,o=s-r,c=(s+r)/2;return o?(t===s?a=(n-i)/o+(n0&&c<1?0:a,new hc(a,o,c,e.opacity)}function ECe(e,t,n,i){return arguments.length===1?lie(e):new hc(e,t,n,i??1)}function hc(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}D$(hc,ECe,oie(jv,{brighter(e){return e=e==null?_T:Math.pow(_T,e),new hc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?f1:Math.pow(f1,e),new hc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new co(rj(e>=240?e-240:e+120,r,i),rj(e,r,i),rj(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new hc(TF(this.h),fS(this.s),fS(this.l),AT(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=AT(this.opacity);return`${e===1?"hsl(":"hsla("}${TF(this.h)}, ${fS(this.s)*100}%, ${fS(this.l)*100}%${e===1?")":`, ${e})`}`}}));function TF(e){return e=(e||0)%360,e<0?e+360:e}function fS(e){return Math.max(0,Math.min(1,e||0))}function rj(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 LA=e=>()=>e;function cie(e,t){return function(n){return e+n*t}}function kCe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function $wt(e,t){var n=t-e;return n?cie(e,n>180||n<-180?n-360*Math.round(n/360):n):LA(isNaN(e)?t:e)}function TCe(e){return(e=+e)==1?uie:function(t,n){return n-t?kCe(t,n,e):LA(isNaN(t)?n:t)}}function uie(e,t){var n=t-e;return n?cie(e,n):LA(isNaN(e)?t:e)}const CT=function e(t){var n=TCe(t);function i(r,s){var a=n((r=RP(r)).r,(s=RP(s)).r),o=n(r.g,s.g),c=n(r.b,s.b),u=uie(r.opacity,s.opacity);return function(d){return r.r=a(d),r.g=o(d),r.b=c(d),r.opacity=u(d),r+""}}return i.gamma=e,i}(1);function _Ce(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),r;return function(s){for(r=0;rn&&(s=t.slice(n,s),o[a]?o[a]+=s:o[++a]=s),(i=i[0])===(r=r[0])?o[a]?o[a]+=r:o[++a]=r:(o[++a]=null,c.push({i:a,x:Jc(i,r)})),n=sj.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(r(f)+"rotate(",null,i)-2,x:Jc(u,d)})):d&&f.push(r(f)+"rotate("+d+i)}function o(u,d,f,h){u!==d?h.push({i:f.push(r(f)+"skewX(",null,i)-2,x:Jc(u,d)}):d&&f.push(r(f)+"skewX("+d+i)}function c(u,d,f,h,p,b){if(u!==f||d!==h){var g=p.push(r(p)+"scale(",null,",",null,")");b.push({i:g-4,x:Jc(u,f)},{i:g-2,x:Jc(d,h)})}else(f!==1||h!==1)&&p.push(r(p)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),s(u.translateX,u.translateY,d.translateX,d.translateY,f,h),a(u.rotate,d.rotate,f,h),o(u.skewX,d.skewX,f,h),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(p){for(var b=-1,g=h.length,O;++b=0&&e._call.call(void 0,t),e=e._next;--cb}function CF(){hm=(jT=p1.now())+$A,cb=Iy=0;try{UCe()}finally{cb=0,VCe(),hm=0}}function zCe(){var e=p1.now(),t=e-jT;t>pie&&($A-=t,jT=e)}function VCe(){for(var e,t=NT,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:NT=n);Dy=e,PP(i)}function PP(e){if(!cb){Iy&&(Iy=clearTimeout(Iy));var t=e-hm;t>24?(e<1/0&&(Iy=setTimeout(CF,e-p1.now()-$A)),KO&&(KO=clearInterval(KO))):(KO||(jT=p1.now(),KO=setInterval(zCe,pie)),cb=1,mie(CF))}}function NF(e,t,n){var i=new RT;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var qCe=PA("start","end","cancel","interrupt"),XCe=[],bie=0,jF=1,MP=2,KE=3,RF=4,LP=5,JE=6;function QA(e,t,n,i,r,s){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;HCe(e,n,{name:t,index:i,group:r,on:qCe,tween:XCe,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:bie})}function M$(e,t){var n=Ac(e,t);if(n.state>bie)throw new Error("too late; already scheduled");return n}function Ru(e,t){var n=Ac(e,t);if(n.state>KE)throw new Error("too late; already running");return n}function Ac(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function HCe(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=gie(s,0,n.time);function s(u){n.state=jF,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var d,f,h,p;if(n.state!==jF)return c();for(d in i)if(p=i[d],p.name===n.name){if(p.state===KE)return NF(a);p.state===RF?(p.state=JE,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete i[d]):+dMP&&i.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function SNe(e,t,n){var i,r,s=wNe(t)?M$:Ru;return function(){var a=s(this,e),o=a.on;o!==i&&(r=(i=o).copy()).on(t,n),a.on=r}}function ENe(e,t){var n=this._id;return arguments.length<2?Ac(this.node(),n).on.on(e):this.each(SNe(n,e,t))}function kNe(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function TNe(){return this.on("end.remove",kNe(this._id))}function _Ne(e){var t=this._name,n=this._id;typeof e!="function"&&(e=R$(e));for(var i=this._groups,r=i.length,s=new Array(r),a=0;a()=>e;function KNe(e,{sourceEvent:t,target:n,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function gd(e,t,n){this.k=e,this.x=t,this.y=n}gd.prototype={constructor:gd,scale:function(e){return e===1?this:new gd(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new gd(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 BA=new gd(1,0,0);vie.prototype=gd.prototype;function vie(e){for(;!e.__zoom;)if(!(e=e.parentNode))return BA;return e.__zoom}function aj(e){e.stopImmediatePropagation()}function JO(e){e.preventDefault(),e.stopImmediatePropagation()}function JNe(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function eje(){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 IF(){return this.__zoom||BA}function tje(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function nje(){return navigator.maxTouchPoints||"ontouchstart"in this}function ije(e,t,n){var i=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),a>s?(s+a)/2:Math.min(0,s)||Math.max(0,a))}function wie(){var e=JNe,t=eje,n=ije,i=tje,r=nje,s=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],o=250,c=ZE,u=PA("start","zoom","end"),d,f,h,p=500,b=150,g=0,O=10;function y(D){D.property("__zoom",IF).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",A).filter(r).on("touchstart.zoom",N).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",Q).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(D,$,j,I){var F=D.selection?D.selection():D;F.property("__zoom",IF),D!==F?E(D,$,j,I):F.interrupt().each(function(){S(this,arguments).event(I).start().zoom(null,typeof $=="function"?$.apply(this,arguments):$).end()})},y.scaleBy=function(D,$,j,I){y.scaleTo(D,function(){var F=this.__zoom.k,B=typeof $=="function"?$.apply(this,arguments):$;return F*B},j,I)},y.scaleTo=function(D,$,j,I){y.transform(D,function(){var F=t.apply(this,arguments),B=this.__zoom,M=j==null?w(F):typeof j=="function"?j.apply(this,arguments):j,Y=B.invert(M),q=typeof $=="function"?$.apply(this,arguments):$;return n(x(v(B,q),M,Y),F,a)},j,I)},y.translateBy=function(D,$,j,I){y.transform(D,function(){return n(this.__zoom.translate(typeof $=="function"?$.apply(this,arguments):$,typeof j=="function"?j.apply(this,arguments):j),t.apply(this,arguments),a)},null,I)},y.translateTo=function(D,$,j,I,F){y.transform(D,function(){var B=t.apply(this,arguments),M=this.__zoom,Y=I==null?w(B):typeof I=="function"?I.apply(this,arguments):I;return n(BA.translate(Y[0],Y[1]).scale(M.k).translate(typeof $=="function"?-$.apply(this,arguments):-$,typeof j=="function"?-j.apply(this,arguments):-j),B,a)},I,F)};function v(D,$){return $=Math.max(s[0],Math.min(s[1],$)),$===D.k?D:new gd($,D.x,D.y)}function x(D,$,j){var I=$[0]-j[0]*D.k,F=$[1]-j[1]*D.k;return I===D.x&&F===D.y?D:new gd(D.k,I,F)}function w(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function E(D,$,j,I){D.on("start.zoom",function(){S(this,arguments).event(I).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(I).end()}).tween("zoom",function(){var F=this,B=arguments,M=S(F,B).event(I),Y=t.apply(F,B),q=j==null?w(Y):typeof j=="function"?j.apply(F,B):j,U=Math.max(Y[1][0]-Y[0][0],Y[1][1]-Y[0][1]),V=F.__zoom,re=typeof $=="function"?$.apply(F,B):$,de=c(V.invert(q).concat(U/V.k),re.invert(q).concat(U/re.k));return function(be){if(be===1)be=re;else{var ce=de(be),K=U/ce[2];be=new gd(K,q[0]-ce[0]*K,q[1]-ce[1]*K)}M.zoom(null,be)}})}function S(D,$,j){return!j&&D.__zooming||new k(D,$)}function k(D,$){this.that=D,this.args=$,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,$),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,$){return this.mouse&&D!=="mouse"&&(this.mouse[1]=$.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=$.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=$.invert(this.touch1[0])),this.that.__zoom=$,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var $=Xo(this.that).datum();u.call(D,this.that,new KNe(D,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:u}),$)}};function T(D,...$){if(!e.apply(this,arguments))return;var j=S(this,$).event(D),I=this.__zoom,F=Math.max(s[0],Math.min(s[1],I.k*Math.pow(2,i.apply(this,arguments)))),B=uc(D);if(j.wheel)(j.mouse[0][0]!==B[0]||j.mouse[0][1]!==B[1])&&(j.mouse[1]=I.invert(j.mouse[0]=B)),clearTimeout(j.wheel);else{if(I.k===F)return;j.mouse=[B,I.invert(B)],ek(this),j.start()}JO(D),j.wheel=setTimeout(M,b),j.zoom("mouse",n(x(v(I,F),j.mouse[0],j.mouse[1]),j.extent,a));function M(){j.wheel=null,j.end()}}function C(D,...$){if(h||!e.apply(this,arguments))return;var j=D.currentTarget,I=S(this,$,!0).event(D),F=Xo(D.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",U,!0),B=uc(D,j),M=D.clientX,Y=D.clientY;rie(D.view),aj(D),I.mouse=[B,this.__zoom.invert(B)],ek(this),I.start();function q(V){if(JO(V),!I.moved){var re=V.clientX-M,de=V.clientY-Y;I.moved=re*re+de*de>g}I.event(V).zoom("mouse",n(x(I.that.__zoom,I.mouse[0]=uc(V,j),I.mouse[1]),I.extent,a))}function U(V){F.on("mousemove.zoom mouseup.zoom",null),sie(V.view,I.moved),JO(V),I.event(V).end()}}function A(D,...$){if(e.apply(this,arguments)){var j=this.__zoom,I=uc(D.changedTouches?D.changedTouches[0]:D,this),F=j.invert(I),B=j.k*(D.shiftKey?.5:2),M=n(x(v(j,B),I,F),t.apply(this,$),a);JO(D),o>0?Xo(this).transition().duration(o).call(E,M,I,D):Xo(this).call(y.transform,M,I,D)}}function N(D,...$){if(e.apply(this,arguments)){var j=D.touches,I=j.length,F=S(this,$,D.changedTouches.length===I).event(D),B,M,Y,q;for(aj(D),M=0;M`Seems like you have not used zustand provider as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},m1=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Sie=["Enter"," ","Escape"],Eie={"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 ub;(function(e){e.Strict="strict",e.Loose="loose"})(ub||(ub={}));var Kp;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Kp||(Kp={}));var g1;(function(e){e.Partial="partial",e.Full="full"})(g1||(g1={}));const kie={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Qf;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Qf||(Qf={}));var b1;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(b1||(b1={}));var Et;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Et||(Et={}));const DF={[Et.Left]:Et.Right,[Et.Right]:Et.Left,[Et.Top]:Et.Bottom,[Et.Bottom]:Et.Top};function Tie(e){return e===null?null:e?"valid":"invalid"}const _ie=e=>"id"in e&&"source"in e&&"target"in e,rje=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),$$=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Rv=(e,t=[0,0])=>{const{width:n,height:i}=Yd(e),r=e.origin??t,s=n*r[0],a=i*r[1];return{x:e.position.x-s,y:e.position.y-a}},sje=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,r)=>{const s=typeof r=="string";let a=!t.nodeLookup&&!s?r:void 0;t.nodeLookup&&(a=s?t.nodeLookup.get(r):$$(r)?r:t.nodeLookup.get(r.id));const o=a?IT(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return FA(i,o)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return UA(n)},Iv=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=FA(n,IT(r)),i=!0)}),i?UA(n):{x:0,y:0,width:0,height:0}},Q$=(e,t,[n,i,r]=[0,0,1],s=!1,a=!1)=>{const o={...Kb(t,[n,i,r]),width:t.width/r,height:t.height/r},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:h=!1}=u;if(a&&!f||h)continue;const p=d.width??u.width??u.initialWidth??null,b=d.height??u.height??u.initialHeight??null,g=O1(o,fb(u)),O=(p??0)*(b??0),y=s&&g>0;(!u.internals.handleBounds||y||g>=O||u.dragging)&&c.push(u)}return c},aje=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function oje(e,t){const n=new Map,i=t!=null&&t.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!r.hidden)&&(!i||i.has(r.id))&&n.set(r.id,r)}),n}async function lje({nodes:e,width:t,height:n,panZoom:i,minZoom:r,maxZoom:s},a){if(e.size===0)return!0;const o=oje(e,a),c=Iv(o),u=F$(c,t,n,(a==null?void 0:a.minZoom)??r,(a==null?void 0:a.maxZoom)??s,(a==null?void 0:a.padding)??.1);return await i.setViewport(u,{duration:a==null?void 0:a.duration,ease:a==null?void 0:a.ease,interpolate:a==null?void 0:a.interpolate}),!0}function Aie({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:r,onError:s}){const a=n.get(e),o=a.parentId?n.get(a.parentId):void 0,{x:c,y:u}=o?o.internals.positionAbsolute:{x:0,y:0},d=a.origin??i;let f=a.extent||r;if(a.extent==="parent"&&!a.expandParent)if(!o)s==null||s("005",Ec.error005());else{const p=o.measured.width,b=o.measured.height;p&&b&&(f=[[c,u],[c+p,u+b]])}else o&&mm(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=mm(f)?pm(t,f,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(s==null||s("015",Ec.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 cje({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:r}){const s=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const p=s.has(h.id),b=!p&&h.parentId&&a.find(g=>g.id===h.parentId);(p||b)&&a.push(h)}const o=new Set(t.map(h=>h.id)),c=i.filter(h=>h.deletable!==!1),d=aje(a,c);for(const h of c)o.has(h.id)&&!d.find(b=>b.id===h.id)&&d.push(h);if(!r)return{edges:d,nodes:a};const f=await r({nodes:a,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:a}:{edges:[],nodes:[]}:f}const db=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),pm=(e={x:0,y:0},t,n)=>({x:db(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:db(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function Cie(e,t,n){const{width:i,height:r}=Yd(n),{x:s,y:a}=n.internals.positionAbsolute;return pm(e,[[s,a],[s+i,a+r]],t)}const PF=(e,t,n)=>en?-db(Math.abs(e-n),1,t)/t:0,B$=(e,t,n=15,i=40)=>{const r=PF(e.x,i,t.width-i)*n,s=PF(e.y,i,t.height-i)*n;return[r,s]},FA=(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)}),$P=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),UA=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),fb=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=$$(e)?e.internals.positionAbsolute:Rv(e,t);return{x:n,y:i,width:((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0,height:((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0}},IT=(e,t=[0,0])=>{var r,s;const{x:n,y:i}=$$(e)?e.internals.positionAbsolute:Rv(e,t);return{x:n,y:i,x2:n+(((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0),y2:i+(((s=e.measured)==null?void 0:s.height)??e.height??e.initialHeight??0)}},Nie=(e,t)=>UA(FA($P(e),$P(t))),O1=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),i=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*i)},MF=e=>mc(e.width)&&mc(e.height)&&mc(e.x)&&mc(e.y),mc=e=>!isNaN(e)&&isFinite(e),jie=(e,t)=>(n,i)=>{},Dv=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Kb=({x:e,y:t},[n,i,r],s=!1,a=[1,1])=>{const o={x:(e-n)/r,y:(t-i)/r};return s?Dv(o,a):o},hb=({x:e,y:t},[n,i,r])=>({x:e*r+n,y:t*r+i});function lg(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 uje(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=lg(e,n),r=lg(e,t);return{top:i,right:r,bottom:i,left:r,x:r*2,y:i*2}}if(typeof e=="object"){const i=lg(e.top??e.y??0,n),r=lg(e.bottom??e.y??0,n),s=lg(e.left??e.x??0,t),a=lg(e.right??e.x??0,t);return{top:i,right:a,bottom:r,left:s,x:s+a,y:i+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function dje(e,t,n,i,r,s){const{x:a,y:o}=hb(e,[t,n,i]),{x:c,y:u}=hb({x:e.x+e.width,y:e.y+e.height},[t,n,i]),d=r-c,f=s-u;return{left:Math.floor(a),top:Math.floor(o),right:Math.floor(d),bottom:Math.floor(f)}}const F$=(e,t,n,i,r,s)=>{const a=uje(s,t,n),o=(t-a.x)/e.width,c=(n-a.y)/e.height,u=Math.min(o,c),d=db(u,i,r),f=e.x+e.width/2,h=e.y+e.height/2,p=t/2-f*d,b=n/2-h*d,g=dje(e,p,b,d,t,n),O={left:Math.min(g.left-a.left,0),top:Math.min(g.top-a.top,0),right:Math.min(g.right-a.right,0),bottom:Math.min(g.bottom-a.bottom,0)};return{x:p-O.left+O.right,y:b-O.top+O.bottom,zoom:d}},y1=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function mm(e){return e!=null&&e!=="parent"}function Yd(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 U$(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 Rie(e,t={width:0,height:0},n,i,r){const s={...e},a=i.get(n);if(a){const o=a.origin||r;s.x+=a.internals.positionAbsolute.x-(t.width??0)*o[0],s.y+=a.internals.positionAbsolute.y-(t.height??0)*o[1]}return s}function LF(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function fje(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}}function hje(e){return{...Eie,...e||{}}}function bx(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:r}){const{x:s,y:a}=gc(e),o=Kb({x:s-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)},i),{x:c,y:u}=n?Dv(o,t):o;return{xSnapped:c,ySnapped:u,...o}}const z$=e=>({width:e.offsetWidth,height:e.offsetHeight}),Iie=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},pje=["INPUT","SELECT","TEXTAREA"];function Die(e){var i,r;const t=((r=(i=e.composedPath)==null?void 0:i.call(e))==null?void 0:r[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:pje.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Pie=e=>"clientX"in e,gc=(e,t)=>{var s,a;const n=Pie(e),i=n?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,r=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:i-((t==null?void 0:t.left)??0),y:r-((t==null?void 0:t.top)??0)}},$F=(e,t,n,i,r)=>{const s=t.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(a=>{const o=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:r,position:a.getAttribute("data-handlepos"),x:(o.left-n.left)/i,y:(o.top-n.top)/i,...z$(a)}})};function Mie({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:r,sourceControlY:s,targetControlX:a,targetControlY:o}){const c=e*.125+r*.375+a*.375+n*.125,u=t*.125+s*.375+o*.375+i*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function mS(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function QF({pos:e,x1:t,y1:n,x2:i,y2:r,c:s}){switch(e){case Et.Left:return[t-mS(t-i,s),n];case Et.Right:return[t+mS(i-t,s),n];case Et.Top:return[t,n-mS(n-r,s)];case Et.Bottom:return[t,n+mS(r-n,s)]}}function Lie({sourceX:e,sourceY:t,sourcePosition:n=Et.Bottom,targetX:i,targetY:r,targetPosition:s=Et.Top,curvature:a=.25}){const[o,c]=QF({pos:n,x1:e,y1:t,x2:i,y2:r,c:a}),[u,d]=QF({pos:s,x1:i,y1:r,x2:e,y2:t,c:a}),[f,h,p,b]=Mie({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:o,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${o},${c} ${u},${d} ${i},${r}`,f,h,p,b]}function $ie({sourceX:e,sourceY:t,targetX:n,targetY:i}){const r=Math.abs(n-e)/2,s=n0}const bje=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,Oje=(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)),yje=(e,t,n={})=>{var s;if(!e.source||!e.target)return(s=n.onError)==null||s.call(n,"006",Ec.error006()),t;const i=n.getEdgeId||bje;let r;return _ie(e)?r={...e}:r={...e,id:i(e)},Oje(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function Qie({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[r,s,a,o]=$ie({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,r,s,a,o]}const BF={[Et.Left]:{x:-1,y:0},[Et.Right]:{x:1,y:0},[Et.Top]:{x:0,y:-1},[Et.Bottom]:{x:0,y:1}},xje=({source:e,sourcePosition:t=Et.Bottom,target:n})=>t===Et.Left||t===Et.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function vje({source:e,sourcePosition:t=Et.Bottom,target:n,targetPosition:i=Et.Top,center:r,offset:s,stepPosition:a}){const o=BF[t],c=BF[i],u={x:e.x+o.x*s,y:e.y+o.y*s},d={x:n.x+c.x*s,y:n.y+c.y*s},f=xje({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",p=f[h];let b=[],g,O;const y={x:0,y:0},v={x:0,y:0},[,,x,w]=$ie({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(o[h]*c[h]===-1){h==="x"?(g=r.x??u.x+(d.x-u.x)*a,O=r.y??(u.y+d.y)/2):(g=r.x??(u.x+d.x)/2,O=r.y??u.y+(d.y-u.y)*a);const T=[{x:g,y:u.y},{x:g,y:d.y}],C=[{x:u.x,y:O},{x:d.x,y:O}];o[h]===p?b=h==="x"?T:C:b=h==="x"?C:T}else{const T=[{x:u.x,y:d.y}],C=[{x:d.x,y:u.y}];if(h==="x"?b=o.x===p?C:T:b=o.y===p?T:C,t===i){const D=Math.abs(e[h]-n[h]);if(D<=s){const $=Math.min(s-1,s-D);o[h]===p?y[h]=(u[h]>e[h]?-1:1)*$:v[h]=(d[h]>n[h]?-1:1)*$}}if(t!==i){const D=h==="x"?"y":"x",$=o[h]===c[D],j=u[D]>d[D],I=u[D]=Q?(g=(A.x+N.x)/2,O=b[0].y):(g=b[0].x,O=(A.y+N.y)/2)}const E={x:u.x+y.x,y:u.y+y.y},S={x:d.x+v.x,y:d.y+v.y};return[[e,...E.x!==b[0].x||E.y!==b[0].y?[E]:[],...b,...S.x!==b[b.length-1].x||S.y!==b[b.length-1].y?[S]:[],n],g,O,x,w]}function wje(e,t,n,i){const r=Math.min(FF(e,t)/2,FF(t,n)/2,i),{x:s,y:a}=t;if(e.x===s&&s===n.x||e.y===a&&a===n.y)return`L${s} ${a}`;if(e.y===a){const u=e.xn.id===t):e[0])||null}function QP(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function Eje(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:r}){const s=new Set;return e.reduce((a,o)=>([o.markerStart||i,o.markerEnd||r].forEach(c=>{if(c&&typeof c=="object"){const u=QP(c,t);s.has(u)||(a.push({id:u,color:c.color||n,...c}),s.add(u))}}),a),[]).sort((a,o)=>a.id.localeCompare(o.id))}const Bie=1e3,kje=10,V$={nodeOrigin:[0,0],nodeExtent:m1,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Tje={...V$,checkEquality:!0};function q$(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function _je(e,t,n){const i=q$(V$,n);for(const r of e.values())if(r.parentId)H$(r,e,t,i);else{const s=Rv(r,i.nodeOrigin),a=mm(r.extent)?r.extent:i.nodeExtent,o=pm(s,a,Yd(r));r.internals.positionAbsolute=o}}function Aje(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],i=[];for(const r of e.handles){const s={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(s):r.type==="target"&&i.push(s)}return{source:n,target:i}}function X$(e){return e==="manual"}function BP(e,t,n,i={}){var d,f;const r=q$(Tje,i),s={i:0},a=new Map(t),o=r!=null&&r.elevateNodesOnSelect&&!X$(r.zIndexMode)?Bie:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const h of e){let p=a.get(h.id);if(r.checkEquality&&h===(p==null?void 0:p.internals.userNode))t.set(h.id,p);else{const b=Rv(h,r.nodeOrigin),g=mm(h.extent)?h.extent:r.nodeExtent,O=pm(b,g,Yd(h));p={...r.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(f=h.measured)==null?void 0:f.height},internals:{positionAbsolute:O,handleBounds:Aje(h,p),z:Fie(h,o,r.zIndexMode),userNode:h}},t.set(h.id,p)}(p.measured===void 0||p.measured.width===void 0||p.measured.height===void 0)&&!p.hidden&&(c=!1),h.parentId&&H$(p,t,n,i,s),u||(u=h.selected??!1)}return{nodesInitialized:c,hasSelectedNodes:u}}function Cje(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 H$(e,t,n,i,r){const{elevateNodesOnSelect:s,nodeOrigin:a,nodeExtent:o,zIndexMode:c}=q$(V$,i),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Cje(e,n),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*kje),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);const f=s&&!X$(c)?Bie:0,{x:h,y:p,z:b}=Nje(e,d,a,o,f,c),{positionAbsolute:g}=e.internals,O=h!==g.x||p!==g.y;(O||b!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:O?{x:h,y:p}:g,z:b}})}function Fie(e,t,n){const i=mc(e.zIndex)?e.zIndex:0;return X$(n)?i:i+(e.selected?t:0)}function Nje(e,t,n,i,r,s){const{x:a,y:o}=t.internals.positionAbsolute,c=Yd(e),u=Rv(e,n),d=mm(e.extent)?pm(u,e.extent,c):u;let f=pm({x:a+d.x,y:o+d.y},i,c);e.extent==="parent"&&(f=Cie(f,c,t));const h=Fie(e,r,s),p=t.internals.z??0;return{x:f.x,y:f.y,z:p>=h?p+1:h}}function G$(e,t,n,i=[0,0]){var a;const r=[],s=new Map;for(const o of e){const c=t.get(o.parentId);if(!c)continue;const u=((a=s.get(o.parentId))==null?void 0:a.expandedRect)??fb(c),d=Nie(u,o.rect);s.set(o.parentId,{expandedRect:d,parent:c})}return s.size>0&&s.forEach(({expandedRect:o,parent:c},u)=>{var x;const d=c.internals.positionAbsolute,f=Yd(c),h=c.origin??i,p=o.x0||b>0||y||v)&&(r.push({id:u,type:"position",position:{x:c.position.x-p+y,y:c.position.y-b+v}}),(x=n.get(u))==null||x.forEach(w=>{e.some(E=>E.id===w.id)||r.push({id:w.id,type:"position",position:{x:w.position.x+p,y:w.position.y+b}})})),(f.width0){const p=G$(h,t,n,r);u.push(...p)}return{changes:u,updatedInternals:c}}async function Rje({delta:e,panZoom:t,transform:n,translateExtent:i,width:r,height:s}){if(!t||!e.x&&!e.y)return!1;const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,s]],i);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function qF(e,t,n,i,r,s){let a=r;const o=i.get(a)||new Map;i.set(a,o.set(n,t)),a=`${r}-${e}`;const c=i.get(a)||new Map;if(i.set(a,c.set(n,t)),s){a=`${r}-${e}-${s}`;const u=i.get(a)||new Map;i.set(a,u.set(n,t))}}function Uie(e,t,n){e.clear(),t.clear();for(const i of n){const{source:r,target:s,sourceHandle:a=null,targetHandle:o=null}=i,c={edgeId:i.id,source:r,target:s,sourceHandle:a,targetHandle:o},u=`${r}-${a}--${s}-${o}`,d=`${s}-${o}--${r}-${a}`;qF("source",c,d,e,r,a),qF("target",c,u,e,s,o),t.set(i.id,i)}}function zie(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:zie(n,t):!1}function XF(e,t,n){var r;let i=e;do{if((r=i==null?void 0:i.matches)!=null&&r.call(i,t))return!0;if(i===n)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function Ije(e,t,n,i){const r=new Map;for(const[s,a]of e)if((a.selected||a.id===i)&&(!a.parentId||!zie(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const o=e.get(s);o&&r.set(s,{id:s,position:o.position||{x:0,y:0},distance:{x:n.x-o.internals.positionAbsolute.x,y:n.y-o.internals.positionAbsolute.y},extent:o.extent,parentId:o.parentId,origin:o.origin,expandParent:o.expandParent,internals:{positionAbsolute:o.internals.positionAbsolute||{x:0,y:0}},measured:{width:o.measured.width??0,height:o.measured.height??0}})}return r}function oj({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){var a,o,c;const r=[];for(const[u,d]of t){const f=(a=n.get(u))==null?void 0:a.internals.userNode;f&&r.push({...f,position:d.position,dragging:i})}if(!e)return[r[0],r];const s=(o=n.get(e))==null?void 0:o.internals.userNode;return[s?{...s,position:((c=t.get(e))==null?void 0:c.position)||s.position,dragging:i}:r[0],r]}function Dje({dragItems:e,snapGrid:t,x:n,y:i}){const r=e.values().next().value;if(!r)return null;const s={x:n-r.distance.x,y:i-r.distance.y},a=Dv(s,t);return{x:a.x-s.x,y:a.y-s.y}}function Pje({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:r}){let s={x:null,y:null},a=0,o=new Map,c=!1,u={x:0,y:0},d=null,f=!1,h=null,p=!1,b=!1,g=null;function O({noDragClassName:v,handleSelector:x,domNode:w,isSelectable:E,nodeId:S,nodeClickDistance:k=0}){h=Xo(w);function T({x:P,y:Q}){const{nodeLookup:D,nodeExtent:$,snapGrid:j,snapToGrid:I,nodeOrigin:F,onNodeDrag:B,onSelectionDrag:M,onError:Y,updateNodePositions:q}=t();s={x:P,y:Q};let U=!1;const V=o.size>1,re=V&&$?$P(Iv(o)):null,de=V&&I?Dje({dragItems:o,snapGrid:j,x:P,y:Q}):null;for(const[be,ce]of o){if(!D.has(be))continue;let K={x:P-ce.distance.x,y:Q-ce.distance.y};I&&(K=de?{x:Math.round(K.x+de.x),y:Math.round(K.y+de.y)}:Dv(K,j));let ee=null;if(V&&$&&!ce.extent&&re){const{positionAbsolute:Ne}=ce.internals,Ie=Ne.x-re.x+$[0][0],De=Ne.x+ce.measured.width-re.x2+$[1][0],pe=Ne.y-re.y+$[0][1],Se=Ne.y+ce.measured.height-re.y2+$[1][1];ee=[[Ie,pe],[De,Se]]}const{position:me,positionAbsolute:ve}=Aie({nodeId:be,nextPosition:K,nodeLookup:D,nodeExtent:ee||$,nodeOrigin:F,onError:Y});U=U||ce.position.x!==me.x||ce.position.y!==me.y,ce.position=me,ce.internals.positionAbsolute=ve}if(b=b||U,!!U&&(q(o,!0),g&&(i||B||!S&&M))){const[be,ce]=oj({nodeId:S,dragItems:o,nodeLookup:D});i==null||i(g,o,be,ce),B==null||B(g,be,ce),S||M==null||M(g,ce)}}async function C(){if(!d)return;const{transform:P,panBy:Q,autoPanSpeed:D,autoPanOnNodeDrag:$}=t();if(!$){c=!1,cancelAnimationFrame(a);return}const[j,I]=B$(u,d,D);(j!==0||I!==0)&&(s.x=(s.x??0)-j/P[2],s.y=(s.y??0)-I/P[2],await Q({x:j,y:I})&&T(s)),a=requestAnimationFrame(C)}function A(P){var V;const{nodeLookup:Q,multiSelectionActive:D,nodesDraggable:$,transform:j,snapGrid:I,snapToGrid:F,selectNodesOnDrag:B,onNodeDragStart:M,onSelectionDragStart:Y,unselectNodesAndEdges:q}=t();f=!0,(!B||!E)&&!D&&S&&((V=Q.get(S))!=null&&V.selected||q()),E&&B&&S&&(e==null||e(S));const U=bx(P.sourceEvent,{transform:j,snapGrid:I,snapToGrid:F,containerBounds:d});if(s=U,o=Ije(Q,$,U,S),o.size>0&&(n||M||!S&&Y)){const[re,de]=oj({nodeId:S,dragItems:o,nodeLookup:Q});n==null||n(P.sourceEvent,o,re,de),M==null||M(P.sourceEvent,re,de),S||Y==null||Y(P.sourceEvent,de)}}const N=aie().clickDistance(k).on("start",P=>{const{domNode:Q,nodeDragThreshold:D,transform:$,snapGrid:j,snapToGrid:I}=t();d=(Q==null?void 0:Q.getBoundingClientRect())||null,p=!1,b=!1,g=P.sourceEvent,D===0&&A(P),s=bx(P.sourceEvent,{transform:$,snapGrid:j,snapToGrid:I,containerBounds:d}),u=gc(P.sourceEvent,d)}).on("drag",P=>{const{autoPanOnNodeDrag:Q,transform:D,snapGrid:$,snapToGrid:j,nodeDragThreshold:I,nodeLookup:F}=t(),B=bx(P.sourceEvent,{transform:D,snapGrid:$,snapToGrid:j,containerBounds:d});if(g=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||S&&!F.has(S))&&(p=!0),!p){if(!c&&Q&&f&&(c=!0,C()),!f){const M=gc(P.sourceEvent,d),Y=M.x-u.x,q=M.y-u.y;Math.sqrt(Y*Y+q*q)>I&&A(P)}(s.x!==B.xSnapped||s.y!==B.ySnapped)&&o&&f&&(u=gc(P.sourceEvent,d),T(B))}}).on("end",P=>{if(!f||p){p&&o.size>0&&t().updateNodePositions(o,!1);return}if(c=!1,f=!1,cancelAnimationFrame(a),o.size>0){const{nodeLookup:Q,updateNodePositions:D,onNodeDragStop:$,onSelectionDragStop:j}=t();if(b&&(D(o,!1),b=!1),r||$||!S&&j){const[I,F]=oj({nodeId:S,dragItems:o,nodeLookup:Q,dragging:!1});r==null||r(P.sourceEvent,o,I,F),$==null||$(P.sourceEvent,I,F),S||j==null||j(P.sourceEvent,F)}}}).filter(P=>{const Q=P.target;return!P.button&&(!v||!XF(Q,`.${v}`,w))&&(!x||XF(Q,x,w))});h.call(N)}function y(){h==null||h.on(".drag",null)}return{update:O,destroy:y}}function Mje(e,t,n){const i=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const s of t.values())O1(r,fb(s))>0&&i.push(s);return i}const Lje=250;function $je(e,t,n,i){var o,c;let r=[],s=1/0;const a=Mje(e,n,t+Lje);for(const u of a){const d=[...((o=u.internals.handleBounds)==null?void 0:o.source)??[],...((c=u.internals.handleBounds)==null?void 0:c.target)??[]];for(const f of d){if(i.nodeId===f.nodeId&&i.type===f.type&&i.id===f.id)continue;const{x:h,y:p}=gm(u,f,f.position,!0),b=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(p-e.y,2));b>t||(b1){const u=i.type==="source"?"target":"source";return r.find(d=>d.type===u)??r[0]}return r[0]}function Vie(e,t,n,i,r,s=!1){var u,d,f;const a=i.get(e);if(!a)return null;const o=r==="strict"?(u=a.internals.handleBounds)==null?void 0:u[t]:[...((d=a.internals.handleBounds)==null?void 0:d.source)??[],...((f=a.internals.handleBounds)==null?void 0:f.target)??[]],c=(n?o==null?void 0:o.find(h=>h.id===n):o==null?void 0:o[0])??null;return c&&s?{...c,...gm(a,c,c.position,!0)}:c}function qie(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Qje(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Xie=()=>!0;function Bje(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:r,edgeUpdaterType:s,isTarget:a,domNode:o,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:p,onConnectStart:b,onConnect:g,onConnectEnd:O,isValidConnection:y=Xie,onReconnectEnd:v,updateConnection:x,getTransform:w,getFromHandle:E,autoPanSpeed:S,dragThreshold:k=1,handleDomNode:T}){const C=Iie(e.target);let A=0,N;const{x:P,y:Q}=gc(e),D=qie(s,T),$=o==null?void 0:o.getBoundingClientRect();let j=!1;if(!$||!D)return;const I=Vie(r,D,i,c,t);if(!I)return;let F=gc(e,$),B=!1,M=null,Y=!1,q=null;function U(){if(!d||!$)return;const[me,ve]=B$(F,$,S);h({x:me,y:ve}),A=requestAnimationFrame(U)}const V={...I,nodeId:r,type:D,position:I.position},re=c.get(r);let be={inProgress:!0,isValid:null,from:gm(re,V,Et.Left,!0),fromHandle:V,fromPosition:V.position,fromNode:re,to:F,toHandle:null,toPosition:DF[V.position],toNode:null,pointer:F};function ce(){j=!0,x(be),b==null||b(e,{nodeId:r,handleId:i,handleType:D})}k===0&&ce();function K(me){if(!j){const{x:Se,y:Oe}=gc(me),Le=Se-P,Fe=Oe-Q;if(!(Le*Le+Fe*Fe>k*k))return;ce()}if(!E()||!V){ee(me);return}const ve=w();F=gc(me,$),N=$je(Kb(F,ve,!1,[1,1]),n,c,V),B||(U(),B=!0);const Ne=Hie(me,{handle:N,connectionMode:t,fromNodeId:r,fromHandleId:i,fromType:a?"target":"source",isValidConnection:y,doc:C,lib:u,flowId:f,nodeLookup:c});q=Ne.handleDomNode,M=Ne.connection,Y=Qje(!!N,Ne.isValid);const Ie=c.get(r),De=Ie?gm(Ie,V,Et.Left,!0):be.from,pe={...be,from:De,isValid:Y,to:Ne.toHandle&&Y?hb({x:Ne.toHandle.x,y:Ne.toHandle.y},ve):F,toHandle:Ne.toHandle,toPosition:Y&&Ne.toHandle?Ne.toHandle.position:DF[V.position],toNode:Ne.toHandle?c.get(Ne.toHandle.nodeId):null,pointer:F};x(pe),be=pe}function ee(me){if(!("touches"in me&&me.touches.length>0)){if(j){(N||q)&&M&&Y&&(g==null||g(M));const{inProgress:ve,...Ne}=be,Ie={...Ne,toPosition:be.toHandle?be.toPosition:null};O==null||O(me,Ie),s&&(v==null||v(me,Ie))}p(),cancelAnimationFrame(A),B=!1,Y=!1,M=null,q=null,C.removeEventListener("mousemove",K),C.removeEventListener("mouseup",ee),C.removeEventListener("touchmove",K),C.removeEventListener("touchend",ee)}}C.addEventListener("mousemove",K),C.addEventListener("mouseup",ee),C.addEventListener("touchmove",K),C.addEventListener("touchend",ee)}function Hie(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:r,fromType:s,doc:a,lib:o,flowId:c,isValidConnection:u=Xie,nodeLookup:d}){const f=s==="target",h=t?a.querySelector(`.${o}-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:p,y:b}=gc(e),g=a.elementFromPoint(p,b),O=g!=null&&g.classList.contains(`${o}-flow__handle`)?g:h,y={handleDomNode:O,isValid:!1,connection:null,toHandle:null};if(O){const v=qie(void 0,O),x=O.getAttribute("data-nodeid"),w=O.getAttribute("data-handleid"),E=O.classList.contains("connectable"),S=O.classList.contains("connectableend");if(!x||!v)return y;const k={source:f?x:i,sourceHandle:f?w:r,target:f?i:x,targetHandle:f?r:w};y.connection=k;const C=E&&S&&(n===ub.Strict?f&&v==="source"||!f&&v==="target":x!==i||w!==r);y.isValid=C&&u(k),y.toHandle=Vie(x,v,w,d,n,!0)}return y}const FP={onPointerDown:Bje,isValid:Hie};function Fje({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const r=Xo(e);function s({translateExtent:o,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:p=!1}){const b=x=>{if(x.sourceEvent.type!=="wheel"||!t)return;const w=n(),E=x.sourceEvent.ctrlKey&&y1()?10:1,S=-x.sourceEvent.deltaY*(x.sourceEvent.deltaMode===1?.05:x.sourceEvent.deltaMode?1:.002)*d,k=w[2]*Math.pow(2,S*E);t.scaleTo(k)};let g=[0,0];const O=x=>{(x.sourceEvent.type==="mousedown"||x.sourceEvent.type==="touchstart")&&(g=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY])},y=x=>{const w=n();if(x.sourceEvent.type!=="mousemove"&&x.sourceEvent.type!=="touchmove"||!t)return;const E=[x.sourceEvent.clientX??x.sourceEvent.touches[0].clientX,x.sourceEvent.clientY??x.sourceEvent.touches[0].clientY],S=[E[0]-g[0],E[1]-g[1]];g=E;const k=i()*Math.max(w[2],Math.log(w[2]))*(p?-1:1),T={x:w[0]-S[0]*k,y:w[1]-S[1]*k},C=[[0,0],[c,u]];t.setViewportConstrained({x:T.x,y:T.y,zoom:w[2]},C,o)},v=wie().on("start",O).on("zoom",f?y:null).on("zoom.wheel",h?b:null);r.call(v,{})}function a(){r.on("zoom",null)}return{update:s,destroy:a,pointer:uc}}const zA=e=>({x:e.x,y:e.y,zoom:e.k}),lj=({x:e,y:t,zoom:n})=>BA.translate(e,t).scale(n),r0=(e,t)=>e.target.closest(`.${t}`),Gie=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Uje=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,cj=(e,t=0,n=Uje,i=()=>{})=>{const r=typeof t=="number"&&t>0;return r||i(),r?e.transition().duration(t).ease(n).on("end",i):e},Yie=e=>{const t=e.ctrlKey&&y1()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function zje({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:r,panOnScrollSpeed:s,zoomOnPinch:a,onPanZoomStart:o,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(r0(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&a){const O=uc(d),y=Yie(d),v=f*Math.pow(2,y);i.scaleTo(n,v,O,d);return}const h=d.deltaMode===1?20:1;let p=r===Kp.Vertical?0:d.deltaX*h,b=r===Kp.Horizontal?0:d.deltaY*h;!y1()&&d.shiftKey&&r!==Kp.Vertical&&(p=d.deltaY*h,b=0),i.translateBy(n,-(p/f)*s,-(b/f)*s,{internal:!0});const g=zA(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,o==null||o(d,g))}}function Vje({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,r){const s=i.type==="wheel",a=!t&&s&&!i.ctrlKey,o=r0(i,e);if(i.ctrlKey&&s&&o&&i.preventDefault(),a||o)return null;i.preventDefault(),n.call(this,i,r)}}function qje({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{var s,a,o;if((s=i.sourceEvent)!=null&&s.internal)return;const r=zA(i.transform);e.mouseButton=((a=i.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=r,((o=i.sourceEvent)==null?void 0:o.type)==="mousedown"&&t(!0),n&&(n==null||n(i.sourceEvent,r))}}function Xje({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:r}){return s=>{var a,o;e.usedRightMouseButton=!!(n&&Gie(t,e.mouseButton??0)),(a=s.sourceEvent)!=null&&a.sync||i([s.transform.x,s.transform.y,s.transform.k]),r&&!((o=s.sourceEvent)!=null&&o.internal)&&(r==null||r(s.sourceEvent,zA(s.transform)))}}function Hje({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:r,onPaneContextMenu:s}){return a=>{var o;if(!((o=a.sourceEvent)!=null&&o.internal)&&(e.isZoomingOrPanning=!1,s&&Gie(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&s(a.sourceEvent),e.usedRightMouseButton=!1,i(!1),r)){const c=zA(a.transform);e.prevViewport=c,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r==null||r(a.sourceEvent,c)},n?150:0)}}}function Gje({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:r,zoomOnDoubleClick:s,userSelectionActive:a,noWheelClassName:o,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{var O;const h=e||t,p=n&&f.ctrlKey,b=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(r0(f,`${u}-flow__node`)||r0(f,`${u}-flow__edge`)))return!0;if(!i&&!h&&!r&&!s&&!n||a||d&&!b||r0(f,o)&&b||r0(f,c)&&(!b||r&&b&&!e)||!n&&f.ctrlKey&&b)return!1;if(!n&&f.type==="touchstart"&&((O=f.touches)==null?void 0:O.length)>1)return f.preventDefault(),!1;if(!h&&!r&&!p&&b||!i&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(i)&&!i.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||b)&&g}}function Yje({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:r,onPanZoom:s,onPanZoomStart:a,onPanZoomEnd:o,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=wie().scaleExtent([t,n]).translateExtent(i),h=Xo(e).call(f);v({x:r.x,y:r.y,zoom:db(r.zoom,t,n)},[[0,0],[d.width,d.height]],i);const p=h.on("wheel.zoom"),b=h.on("dblclick.zoom");f.wheelDelta(Yie);async function g(N,P){return h?new Promise(Q=>{f==null||f.interpolate((P==null?void 0:P.interpolate)==="linear"?gx:ZE).transform(cj(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>Q(!0)),N)}):!1}function O({noWheelClassName:N,noPanClassName:P,onPaneContextMenu:Q,userSelectionActive:D,panOnScroll:$,panOnDrag:j,panOnScrollMode:I,panOnScrollSpeed:F,preventScrolling:B,zoomOnPinch:M,zoomOnScroll:Y,zoomOnDoubleClick:q,zoomActivationKeyPressed:U,lib:V,onTransformChange:re,connectionInProgress:de,paneClickDistance:be,selectionOnDrag:ce}){D&&!u.isZoomingOrPanning&&y();const K=$&&!U&&!D;f.clickDistance(ce?1/0:!mc(be)||be<0?0:be);const ee=K?zje({zoomPanValues:u,noWheelClassName:N,d3Selection:h,d3Zoom:f,panOnScrollMode:I,panOnScrollSpeed:F,zoomOnPinch:M,onPanZoomStart:a,onPanZoom:s,onPanZoomEnd:o}):Vje({noWheelClassName:N,preventScrolling:B,d3ZoomHandler:p});h.on("wheel.zoom",ee,{passive:!1});const me=qje({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:a});f.on("start",me);const ve=Xje({zoomPanValues:u,panOnDrag:j,onPaneContextMenu:!!Q,onPanZoom:s,onTransformChange:re});f.on("zoom",ve);const Ne=Hje({zoomPanValues:u,panOnDrag:j,panOnScroll:$,onPaneContextMenu:Q,onPanZoomEnd:o,onDraggingChange:c});f.on("end",Ne);const Ie=Gje({zoomActivationKeyPressed:U,panOnDrag:j,zoomOnScroll:Y,panOnScroll:$,zoomOnDoubleClick:q,zoomOnPinch:M,userSelectionActive:D,noPanClassName:P,noWheelClassName:N,lib:V,connectionInProgress:de});f.filter(Ie),q?h.on("dblclick.zoom",b):h.on("dblclick.zoom",null)}function y(){f.on("zoom",null)}async function v(N,P,Q){const D=lj(N),$=f==null?void 0:f.constrain()(D,P,Q);return $&&await g($),$}async function x(N,P){const Q=lj(N);return await g(Q,P),Q}function w(N){if(h){const P=lj(N),Q=h.property("__zoom");(Q.k!==N.zoom||Q.x!==N.x||Q.y!==N.y)&&(f==null||f.transform(h,P,null,{sync:!0}))}}function E(){const N=h?vie(h.node()):{x:0,y:0,k:1};return{x:N.x,y:N.y,zoom:N.k}}async function S(N,P){return h?new Promise(Q=>{f==null||f.interpolate((P==null?void 0:P.interpolate)==="linear"?gx:ZE).scaleTo(cj(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>Q(!0)),N)}):!1}async function k(N,P){return h?new Promise(Q=>{f==null||f.interpolate((P==null?void 0:P.interpolate)==="linear"?gx:ZE).scaleBy(cj(h,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>Q(!0)),N)}):!1}function T(N){f==null||f.scaleExtent(N)}function C(N){f==null||f.translateExtent(N)}function A(N){const P=!mc(N)||N<0?0:N;f==null||f.clickDistance(P)}return{update:O,destroy:y,setViewport:x,setViewportConstrained:v,getViewport:E,scaleTo:S,scaleBy:k,setScaleExtent:T,setTranslateExtent:C,syncViewport:w,setClickDistance:A}}var pb;(function(e){e.Line="line",e.Handle="handle"})(pb||(pb={}));function Wje({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:r,affectsY:s}){const a=e-t,o=n-i,c=[a>0?1:a<0?-1:0,o>0?1:o<0?-1:0];return a&&r&&(c[0]=c[0]*-1),o&&s&&(c[1]=c[1]*-1),c}function HF(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:r}}function yf(e,t){return Math.max(0,t-e)}function xf(e,t){return Math.max(0,e-t)}function gS(e,t,n){return Math.max(0,t-e,e-n)}function GF(e,t){return e?!t:t}function Zje(e,t,n,i,r,s,a,o){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:p,ySnapped:b}=n,{minWidth:g,maxWidth:O,minHeight:y,maxHeight:v}=i,{x,y:w,width:E,height:S,aspectRatio:k}=e;let T=Math.floor(d?p-e.pointerX:0),C=Math.floor(f?b-e.pointerY:0);const A=E+(c?-T:T),N=S+(u?-C:C),P=-s[0]*E,Q=-s[1]*S;let D=gS(A,g,O),$=gS(N,y,v);if(a){let F=0,B=0;c&&T<0?F=yf(x+T+P,a[0][0]):!c&&T>0&&(F=xf(x+A+P,a[1][0])),u&&C<0?B=yf(w+C+Q,a[0][1]):!u&&C>0&&(B=xf(w+N+Q,a[1][1])),D=Math.max(D,F),$=Math.max($,B)}if(o){let F=0,B=0;c&&T>0?F=xf(x+T,o[0][0]):!c&&T<0&&(F=yf(x+A,o[1][0])),u&&C>0?B=xf(w+C,o[0][1]):!u&&C<0&&(B=yf(w+N,o[1][1])),D=Math.max(D,F),$=Math.max($,B)}if(r){if(d){const F=gS(A/k,y,v)*k;if(D=Math.max(D,F),a){let B=0;!c&&!u||c&&!u&&h?B=xf(w+Q+A/k,a[1][1])*k:B=yf(w+Q+(c?T:-T)/k,a[0][1])*k,D=Math.max(D,B)}if(o){let B=0;!c&&!u||c&&!u&&h?B=yf(w+A/k,o[1][1])*k:B=xf(w+(c?T:-T)/k,o[0][1])*k,D=Math.max(D,B)}}if(f){const F=gS(N*k,g,O)/k;if($=Math.max($,F),a){let B=0;!c&&!u||u&&!c&&h?B=xf(x+N*k+P,a[1][0])/k:B=yf(x+(u?C:-C)*k+P,a[0][0])/k,$=Math.max($,B)}if(o){let B=0;!c&&!u||u&&!c&&h?B=yf(x+N*k,o[1][0])/k:B=xf(x+(u?C:-C)*k,o[0][0])/k,$=Math.max($,B)}}}C=C+(C<0?$:-$),T=T+(T<0?D:-D),r&&(h?A>N*k?C=(GF(c,u)?-T:T)/k:T=(GF(c,u)?-C:C)*k:d?(C=T/k,u=c):(T=C*k,c=u));const j=c?x+T:x,I=u?w+C:w;return{width:E+(c?-T:T),height:S+(u?-C:C),x:s[0]*T*(c?-1:1)+j,y:s[1]*C*(u?-1:1)+I}}const Wie={width:0,height:0,x:0,y:0},Kje={...Wie,pointerX:0,pointerY:0,aspectRatio:1};function Jje(e,t,n){const i=t.position.x+e.position.x,r=t.position.y+e.position.y,s=e.measured.width??0,a=e.measured.height??0,o=n[0]*s,c=n[1]*a;return[[i-o,r-c],[i+s-o,r+a-c]]}function eRe({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:r}){const s=Xo(e);let a={controlDirection:HF("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function o({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:p,onResize:b,onResizeEnd:g,shouldResize:O}){let y={...Wie},v={...Kje};a={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:HF(u)};let x,w=null,E=[],S,k,T,C=!1;const A=aie().on("start",N=>{const{nodeLookup:P,transform:Q,snapGrid:D,snapToGrid:$,nodeOrigin:j,paneDomNode:I}=n();if(x=P.get(t),!x)return;w=(I==null?void 0:I.getBoundingClientRect())??null;const{xSnapped:F,ySnapped:B}=bx(N.sourceEvent,{transform:Q,snapGrid:D,snapToGrid:$,containerBounds:w});y={width:x.measured.width??0,height:x.measured.height??0,x:x.position.x??0,y:x.position.y??0},v={...y,pointerX:F,pointerY:B,aspectRatio:y.width/y.height},S=void 0,k=mm(x.extent)?x.extent:void 0,x.parentId&&(x.extent==="parent"||x.expandParent)&&(S=P.get(x.parentId)),S&&x.extent==="parent"&&(k=[[0,0],[S.measured.width,S.measured.height]]),E=[],T=void 0;for(const[M,Y]of P)if(Y.parentId===t&&(E.push({id:M,position:{...Y.position},extent:Y.extent}),Y.extent==="parent"||Y.expandParent)){const q=Jje(Y,x,Y.origin??j);T?T=[[Math.min(q[0][0],T[0][0]),Math.min(q[0][1],T[0][1])],[Math.max(q[1][0],T[1][0]),Math.max(q[1][1],T[1][1])]]:T=q}p==null||p(N,{...y})}).on("drag",N=>{const{transform:P,snapGrid:Q,snapToGrid:D,nodeOrigin:$}=n(),j=bx(N.sourceEvent,{transform:P,snapGrid:Q,snapToGrid:D,containerBounds:w}),I=[];if(!x)return;const{x:F,y:B,width:M,height:Y}=y,q={},U=x.origin??$,{width:V,height:re,x:de,y:be}=Zje(v,a.controlDirection,j,a.boundaries,a.keepAspectRatio,U,k,T),ce=V!==M,K=re!==Y,ee=de!==F&&ce,me=be!==B&&K;if(!ee&&!me&&!ce&&!K)return;if((ee||me||U[0]===1||U[1]===1)&&(q.x=ee?de:y.x,q.y=me?be:y.y,y.x=q.x,y.y=q.y,E.length>0)){const De=de-F,pe=be-B;for(const Se of E)Se.position={x:Se.position.x-De+U[0]*(V-M),y:Se.position.y-pe+U[1]*(re-Y)},I.push(Se)}if((ce||K)&&(q.width=ce&&(!a.resizeDirection||a.resizeDirection==="horizontal")?V:y.width,q.height=K&&(!a.resizeDirection||a.resizeDirection==="vertical")?re:y.height,y.width=q.width,y.height=q.height),S&&x.expandParent){const De=U[0]*(q.width??0);q.x&&q.x{C&&(g==null||g(N,{...y}),r==null||r({...y}),C=!1)});s.call(A)}function c(){s.on(".drag",null)}return{update:o,destroy:c}}var Zie={exports:{}},Kie={},Jie={exports:{}},ere={};/** * @license React * use-sync-external-store-shim.production.js * @@ -430,7 +430,7 @@ ${d}`:u,children:[l.jsxs("span",{className:`account-avatar${b?" 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 ob=m;function $je(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Qje=typeof Object.is=="function"?Object.is:$je,Bje=ob.useState,Fje=ob.useEffect,Uje=ob.useLayoutEffect,zje=ob.useDebugValue;function Vje(e,t){var n=t(),i=Bje({inst:{value:n,getSnapshot:t}}),r=i[0].inst,s=i[1];return Uje(function(){r.value=n,r.getSnapshot=t,tj(r)&&s({inst:r})},[e,n,t]),Fje(function(){return tj(r)&&s({inst:r}),e(function(){tj(r)&&s({inst:r})})},[e]),zje(n),n}function tj(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Qje(e,n)}catch{return!0}}function qje(e,t){return t()}var Xje=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?qje:Vje;Mie.useSyncExternalStore=ob.useSyncExternalStore!==void 0?ob.useSyncExternalStore:Xje;Pie.exports=Mie;var Hje=Pie.exports;/** + */var mb=m;function tRe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var nRe=typeof Object.is=="function"?Object.is:tRe,iRe=mb.useState,rRe=mb.useEffect,sRe=mb.useLayoutEffect,aRe=mb.useDebugValue;function oRe(e,t){var n=t(),i=iRe({inst:{value:n,getSnapshot:t}}),r=i[0].inst,s=i[1];return sRe(function(){r.value=n,r.getSnapshot=t,uj(r)&&s({inst:r})},[e,n,t]),rRe(function(){return uj(r)&&s({inst:r}),e(function(){uj(r)&&s({inst:r})})},[e]),aRe(n),n}function uj(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!nRe(e,n)}catch{return!0}}function lRe(e,t){return t()}var cRe=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?lRe:oRe;ere.useSyncExternalStore=mb.useSyncExternalStore!==void 0?mb.useSyncExternalStore:cRe;Jie.exports=ere;var uRe=Jie.exports;/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -438,30 +438,30 @@ ${d}`:u,children:[l.jsxs("span",{className:`account-avatar${b?" 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 $A=m,Yje=Hje;function Gje(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Wje=typeof Object.is=="function"?Object.is:Gje,Zje=Yje.useSyncExternalStore,Kje=$A.useRef,Jje=$A.useEffect,eRe=$A.useMemo,tRe=$A.useDebugValue;Iie.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var s=Kje(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=eRe(function(){function c(p){if(!u){if(u=!0,d=p,p=i(p),r!==void 0&&a.hasValue){var b=a.value;if(r(b,p))return f=b}return f=p}if(b=f,Wje(d,p))return b;var g=i(p);return r!==void 0&&r(b,g)?(d=p,b):(d=p,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,i,r]);var o=Zje(e,s[0],s[1]);return Jje(function(){a.hasValue=!0,a.value=o},[o]),tRe(o),o};Die.exports=Iie;var nRe=Die.exports;const iRe=_b(nRe),rRe={},BF=e=>{let t;const n=new Set,i=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const p=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(b=>b(t,p))}},r=()=>t,c={setState:i,getState:r,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(rRe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(i,r,c);return c},sRe=e=>e?BF(e):BF,{useDebugValue:aRe}=On,{useSyncExternalStoreWithSelector:oRe}=iRe,lRe=e=>e;function Lie(e,t=lRe,n){const i=oRe(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return aRe(i),i}const FF=(e,t)=>{const n=sRe(e),i=(r,s=t)=>Lie(n,r,s);return Object.assign(i,n),i},cRe=(e,t)=>e?FF(e,t):FF;function br(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,r]of e)if(!Object.is(r,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}const QA=m.createContext(null),uRe=QA.Provider,$ie=pc.error001("react");function Xn(e,t){const n=m.useContext(QA);if(n===null)throw new Error($ie);return Lie(n,e,t)}function Or(){const e=m.useContext(QA);if(e===null)throw new Error($ie);return m.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const UF={display:"none"},dRe={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Qie="react-flow__node-desc",Bie="react-flow__edge-desc",fRe="react-flow__aria-live",hRe=e=>e.ariaLiveMessage,pRe=e=>e.ariaLabelConfig;function mRe({rfId:e}){const t=Xn(hRe);return l.jsx("div",{id:`${fRe}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:dRe,children:t})}function gRe({rfId:e,disableKeyboardA11y:t}){const n=Xn(pRe);return l.jsxs(l.Fragment,{children:[l.jsx("div",{id:`${Qie}-${e}`,style:UF,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),l.jsx("div",{id:`${Bie}-${e}`,style:UF,children:n["edge.a11yDescription.default"]}),!t&&l.jsx(mRe,{rfId:e})]})}const BA=m.forwardRef(({position:e="top-left",children:t,className:n,style:i,...r},s)=>{const a=`${e}`.split("-");return l.jsx("div",{className:us(["react-flow__panel",n,...a]),style:i,ref:s,...r,children:t})});BA.displayName="Panel";function bRe({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:l.jsx(BA,{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:l.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const ORe=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},hS=e=>e.id;function yRe(e,t){return br(e.selectedNodes.map(hS),t.selectedNodes.map(hS))&&br(e.selectedEdges.map(hS),t.selectedEdges.map(hS))}function xRe({onSelectionChange:e}){const t=Or(),{selectedNodes:n,selectedEdges:i}=Xn(ORe,yRe);return m.useEffect(()=>{const r={nodes:n,edges:i};e==null||e(r),t.getState().onSelectionChangeHandlers.forEach(s=>s(r))},[n,i,e]),null}const vRe=e=>!!e.onSelectionChangeHandlers;function wRe({onSelectionChange:e}){const t=Xn(vRe);return e||t?l.jsx(xRe,{onSelectionChange:e}):null}const Fie=[0,0],SRe={x:0,y:0,zoom:1},ERe=["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"],zF=[...ERe,"rfId"],kRe=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}),VF={translateExtent:o1,nodeOrigin:Fie,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function TRe(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:r,setTranslateExtent:s,setNodeExtent:a,reset:o,setDefaultNodesAndEdges:c}=Xn(kRe,br),u=Or();m.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=VF,o()}),[]);const d=m.useRef(VF);return m.useEffect(()=>{for(const f of zF){const h=e[f],p=d.current[f];h!==p&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?i(h):f==="maxZoom"?r(h):f==="translateExtent"?s(h):f==="nodeExtent"?a(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:WNe(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},zF.map(f=>e[f])),null}function qF(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function _Re(e){var i;const[t,n]=m.useState(e==="system"?null:e);return m.useEffect(()=>{if(e!=="system"){n(e);return}const r=qF(),s=()=>n(r!=null&&r.matches?"dark":"light");return s(),r==null||r.addEventListener("change",s),()=>{r==null||r.removeEventListener("change",s)}},[e]),t!==null?t:(i=qF())!=null&&i.matches?"dark":"light"}const XF=typeof document<"u"?document:null;function f1(e=null,t={target:XF,actInsideInputWithModifier:!0}){const[n,i]=m.useState(!1),r=m.useRef(!1),s=m.useRef(new Set([])),[a,o]=m.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",` + */var VA=m,dRe=uRe;function fRe(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var hRe=typeof Object.is=="function"?Object.is:fRe,pRe=dRe.useSyncExternalStore,mRe=VA.useRef,gRe=VA.useEffect,bRe=VA.useMemo,ORe=VA.useDebugValue;Kie.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var s=mRe(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=bRe(function(){function c(p){if(!u){if(u=!0,d=p,p=i(p),r!==void 0&&a.hasValue){var b=a.value;if(r(b,p))return f=b}return f=p}if(b=f,hRe(d,p))return b;var g=i(p);return r!==void 0&&r(b,g)?(d=p,b):(d=p,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,i,r]);var o=pRe(e,s[0],s[1]);return gRe(function(){a.hasValue=!0,a.value=o},[o]),ORe(o),o};Zie.exports=Kie;var yRe=Zie.exports;const xRe=Pb(yRe),vRe={},YF=e=>{let t;const n=new Set,i=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const p=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(b=>b(t,p))}},r=()=>t,c={setState:i,getState:r,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(vRe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(i,r,c);return c},wRe=e=>e?YF(e):YF,{useDebugValue:SRe}=_n,{useSyncExternalStoreWithSelector:ERe}=xRe,kRe=e=>e;function tre(e,t=kRe,n){const i=ERe(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return SRe(i),i}const WF=(e,t)=>{const n=wRe(e),i=(r,s=t)=>tre(n,r,s);return Object.assign(i,n),i},TRe=(e,t)=>e?WF(e,t):WF;function Tr(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,r]of e)if(!Object.is(r,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}const qA=m.createContext(null),_Re=qA.Provider,nre=Ec.error001("react");function Gn(e,t){const n=m.useContext(qA);if(n===null)throw new Error(nre);return tre(n,e,t)}function _r(){const e=m.useContext(qA);if(e===null)throw new Error(nre);return m.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const ZF={display:"none"},ARe={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ire="react-flow__node-desc",rre="react-flow__edge-desc",CRe="react-flow__aria-live",NRe=e=>e.ariaLiveMessage,jRe=e=>e.ariaLabelConfig;function RRe({rfId:e}){const t=Gn(NRe);return l.jsx("div",{id:`${CRe}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ARe,children:t})}function IRe({rfId:e,disableKeyboardA11y:t}){const n=Gn(jRe);return l.jsxs(l.Fragment,{children:[l.jsx("div",{id:`${ire}-${e}`,style:ZF,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),l.jsx("div",{id:`${rre}-${e}`,style:ZF,children:n["edge.a11yDescription.default"]}),!t&&l.jsx(RRe,{rfId:e})]})}const XA=m.forwardRef(({position:e="top-left",children:t,className:n,style:i,...r},s)=>{const a=`${e}`.split("-");return l.jsx("div",{className:bs(["react-flow__panel",n,...a]),style:i,ref:s,...r,children:t})});XA.displayName="Panel";function DRe({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:l.jsx(XA,{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:l.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const PRe=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},bS=e=>e.id;function MRe(e,t){return Tr(e.selectedNodes.map(bS),t.selectedNodes.map(bS))&&Tr(e.selectedEdges.map(bS),t.selectedEdges.map(bS))}function LRe({onSelectionChange:e}){const t=_r(),{selectedNodes:n,selectedEdges:i}=Gn(PRe,MRe);return m.useEffect(()=>{const r={nodes:n,edges:i};e==null||e(r),t.getState().onSelectionChangeHandlers.forEach(s=>s(r))},[n,i,e]),null}const $Re=e=>!!e.onSelectionChangeHandlers;function QRe({onSelectionChange:e}){const t=Gn($Re);return e||t?l.jsx(LRe,{onSelectionChange:e}):null}const sre=[0,0],BRe={x:0,y:0,zoom:1},FRe=["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"],KF=[...FRe,"rfId"],URe=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}),JF={translateExtent:m1,nodeOrigin:sre,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function zRe(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:r,setTranslateExtent:s,setNodeExtent:a,reset:o,setDefaultNodesAndEdges:c}=Gn(URe,Tr),u=_r();m.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=JF,o()}),[]);const d=m.useRef(JF);return m.useEffect(()=>{for(const f of KF){const h=e[f],p=d.current[f];h!==p&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?i(h):f==="maxZoom"?r(h):f==="translateExtent"?s(h):f==="nodeExtent"?a(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:hje(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},KF.map(f=>e[f])),null}function eU(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function VRe(e){var i;const[t,n]=m.useState(e==="system"?null:e);return m.useEffect(()=>{if(e!=="system"){n(e);return}const r=eU(),s=()=>n(r!=null&&r.matches?"dark":"light");return s(),r==null||r.addEventListener("change",s),()=>{r==null||r.removeEventListener("change",s)}},[e]),t!==null?t:(i=eU())!=null&&i.matches?"dark":"light"}const tU=typeof document<"u"?document:null;function x1(e=null,t={target:tU,actInsideInputWithModifier:!0}){const[n,i]=m.useState(!1),r=m.useRef(!1),s=m.useRef(new Set([])),[a,o]=m.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 m.useEffect(()=>{const c=(t==null?void 0:t.target)??XF,u=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=p=>{var O,y;if(r.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!r.current||r.current&&!u)&&gie(p))return!1;const g=YF(p.code,o);if(s.current.add(p[g]),HF(a,s.current,!1)){const v=((y=(O=p.composedPath)==null?void 0:O.call(p))==null?void 0:y[0])||p.target,x=(v==null?void 0:v.nodeName)==="BUTTON"||(v==null?void 0:v.nodeName)==="A";t.preventDefault!==!1&&(r.current||!x)&&p.preventDefault(),i(!0)}},f=p=>{const b=YF(p.code,o);HF(a,s.current,!0)?(i(!1),s.current.clear()):s.current.delete(p[b]),p.key==="Meta"&&s.current.clear(),r.current=!1},h=()=>{s.current.clear(),i(!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,i]),n}function HF(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(r=>t.has(r)))}function YF(e,t){return t.includes(e)?"code":"key"}const ARe=()=>{const e=Or();return m.useMemo(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,r,s],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??i,y:t.y??r,zoom:t.zoom??s},n),!0):!1},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:r,minZoom:s,maxZoom:a,panZoom:o}=e.getState(),c=j$(t,i,r,s,a,(n==null?void 0:n.padding)??.1);return o?(await o.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:i,snapGrid:r,snapToGrid:s,domNode:a}=e.getState();if(!a)return t;const{x:o,y:c}=a.getBoundingClientRect(),u={x:t.x-o,y:t.y-c},d=n.snapGrid??r,f=n.snapToGrid??s;return Vb(u,i,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:r,y:s}=i.getBoundingClientRect(),a=sb(t,n);return{x:a.x+r,y:a.y+s}}}),[])};function Uie(e,t){const n=[],i=new Map,r=[];for(const s of e)if(s.type==="add"){r.push(s);continue}else if(s.type==="remove"||s.type==="replace")i.set(s.id,[s]);else{const a=i.get(s.id);a?a.push(s):i.set(s.id,[s])}for(const s of t){const a=i.get(s.id);if(!a){n.push(s);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const o={...s};for(const c of a)CRe(c,o);n.push(o)}return r.length&&r.forEach(s=>{s.index!==void 0?n.splice(s.index,0,{...s.item}):n.push({...s.item})}),n}function CRe(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 zie(e,t){return Uie(e,t)}function Vie(e,t){return Uie(e,t)}function fp(e,t){return{id:e,type:"select",selected:t}}function Zg(e,t=new Set,n=!1){const i=[];for(const[r,s]of e){const a=t.has(r);!(s.selected===void 0&&!a)&&s.selected!==a&&(n&&(s.selected=a),i.push(fp(s.id,a)))}return i}function GF({items:e=[],lookup:t}){var r;const n=[],i=new Map(e.map(s=>[s.id,s]));for(const[s,a]of e.entries()){const o=t.get(a.id),c=((r=o==null?void 0:o.internals)==null?void 0:r.userNode)??o;c!==void 0&&c!==a&&n.push({id:a.id,item:a,type:"replace"}),c===void 0&&n.push({item:a,type:"add",index:s})}for(const[s]of t)i.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function WF(e){return{id:e.id,type:"remove"}}const NRe=hie();function jRe(e,t,n={}){return nje(e,t,{...n,onError:n.onError??NRe})}const ZF=e=>FNe(e),RRe=e=>cie(e);function qie(e){return m.forwardRef(e)}const DRe=typeof window<"u"?m.useLayoutEffect:m.useEffect;function KF(e){const[t,n]=m.useState(BigInt(0)),[i]=m.useState(()=>IRe(()=>n(r=>r+BigInt(1))));return DRe(()=>{const r=i.get();r.length&&(e(r),i.reset())},[t]),i}function IRe(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Xie=m.createContext(null);function PRe({children:e}){const t=Or(),n=m.useCallback(o=>{const{nodes:c=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:h,fitViewQueued:p,onNodesChangeMiddlewareMap:b}=t.getState();let g=c;for(const y of o)g=typeof y=="function"?y(g):y;let O=GF({items:g,lookup:h});for(const y of b.values())O=y(O);d&&u(g),O.length>0?f==null||f(O):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:v,setNodes:x}=t.getState();y&&x(v)})},[]),i=KF(n),r=m.useCallback(o=>{const{edges:c=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:h}=t.getState();let p=c;for(const b of o)p=typeof b=="function"?b(p):b;d?u(p):f&&f(GF({items:p,lookup:h}))},[]),s=KF(r),a=m.useMemo(()=>({nodeQueue:i,edgeQueue:s}),[]);return l.jsx(Xie.Provider,{value:a,children:e})}function MRe(){const e=m.useContext(Xie);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const LRe=e=>!!e.panZoom;function FA(){const e=ARe(),t=Or(),n=MRe(),i=Xn(LRe),r=m.useMemo(()=>{const s=f=>t.getState().nodeLookup.get(f),a=f=>{n.nodeQueue.push(f)},o=f=>{n.edgeQueue.push(f)},c=f=>{var y,v;const{nodeLookup:h,nodeOrigin:p}=t.getState(),b=ZF(f)?f:h.get(f.id),g=b.parentId?pie(b.position,b.measured,b.parentId,h,p):b.position,O={...b,position:g,width:((y=b.measured)==null?void 0:y.width)??b.width,height:((v=b.measured)==null?void 0:v.height)??b.height};return rb(O)},u=(f,h,p={replace:!1})=>{a(b=>b.map(g=>{if(g.id===f){const O=typeof h=="function"?h(g):h;return p.replace&&ZF(O)?O:{...g,...O}}return g}))},d=(f,h,p={replace:!1})=>{o(b=>b.map(g=>{if(g.id===f){const O=typeof h=="function"?h(g):h;return p.replace&&RRe(O)?O:{...g,...O}}return g}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var h;return(h=s(f))==null?void 0:h.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:a,setEdges:o,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(p=>[...p,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(p=>[...p,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:p}=t.getState(),[b,g,O]=p;return{nodes:f.map(y=>({...y})),edges:h.map(y=>({...y})),viewport:{x:b,y:g,zoom:O}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:p,edges:b,onNodesDelete:g,onEdgesDelete:O,triggerNodeChanges:y,triggerEdgeChanges:v,onDelete:x,onBeforeDelete:w}=t.getState(),{nodes:E,edges:S}=await XNe({nodesToRemove:f,edgesToRemove:h,nodes:p,edges:b,onBeforeDelete:w}),k=S.length>0,T=E.length>0;if(k){const C=S.map(WF);O==null||O(S),v(C)}if(T){const C=E.map(WF);g==null||g(E),y(C)}return(T||k)&&(x==null||x({nodes:E,edges:S})),{deletedNodes:E,deletedEdges:S}},getIntersectingNodes:(f,h=!0,p)=>{const b=_F(f),g=b?f:c(f),O=p!==void 0;return g?(p||t.getState().nodes).filter(y=>{const v=t.getState().nodeLookup.get(y.id);if(v&&!b&&(y.id===f.id||!v.internals.positionAbsolute))return!1;const x=rb(O?y:v),w=u1(x,g);return h&&w>0||w>=x.width*x.height||w>=g.width*g.height}):[]},isNodeIntersecting:(f,h,p=!0)=>{const g=_F(f)?f:c(f);if(!g)return!1;const O=u1(g,h);return p&&O>0||O>=h.width*h.height||O>=g.width*g.height},updateNode:u,updateNodeData:(f,h,p={replace:!1})=>{u(f,b=>{const g=typeof h=="function"?h(b):h;return p.replace?{...b,data:g}:{...b,data:{...b.data,...g}}},p)},updateEdge:d,updateEdgeData:(f,h,p={replace:!1})=>{d(f,b=>{const g=typeof h=="function"?h(b):h;return p.replace?{...b,data:g}:{...b,data:{...b.data,...g}}},p)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:p}=t.getState();return UNe(f,{nodeLookup:h,nodeOrigin:p})},getHandleConnections:({type:f,id:h,nodeId:p})=>{var b;return Array.from(((b=t.getState().connectionLookup.get(`${p}-${f}${h?`-${h}`:""}`))==null?void 0:b.values())??[])},getNodeConnections:({type:f,handleId:h,nodeId:p})=>{var b;return Array.from(((b=t.getState().connectionLookup.get(`${p}${f?h?`-${f}-${h}`:`-${f}`:""}`))==null?void 0:b.values())??[])},fitView:async f=>{const h=t.getState().fitViewResolver??GNe();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(p=>[...p]),h.promise}}},[]);return m.useMemo(()=>({...r,...e,viewportInitialized:i}),[i])}const JF=e=>e.selected,$Re=typeof window<"u"?window:void 0;function QRe({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Or(),{deleteElements:i}=FA(),r=f1(e,{actInsideInputWithModifier:!1}),s=f1(t,{target:$Re});m.useEffect(()=>{if(r){const{edges:a,nodes:o}=n.getState();i({nodes:o.filter(JF),edges:a.filter(JF)}),n.setState({nodesSelectionActive:!1})}},[r]),m.useEffect(()=>{n.setState({multiSelectionActive:s})},[s])}function BRe(e){const t=Or();m.useEffect(()=>{const n=()=>{var r,s,a,o;if(!e.current||!(((s=(r=e.current).checkVisibility)==null?void 0:s.call(r))??!0))return!1;const i=D$(e.current);(i.height===0||i.width===0)&&((o=(a=t.getState()).onError)==null||o.call(a,"004",pc.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const UA={position:"absolute",width:"100%",height:"100%",top:0,left:0},FRe=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function URe({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:r=.5,panOnScrollMode:s=zp.Free,zoomOnDoubleClick:a=!0,panOnDrag:o=!0,defaultViewport:c,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:p=!0,children:b,noWheelClassName:g,noPanClassName:O,onViewportChange:y,isControlledViewport:v,paneClickDistance:x,selectionOnDrag:w}){const E=Or(),S=m.useRef(null),{userSelectionActive:k,lib:T,connectionInProgress:C}=Xn(FRe,br),A=f1(h),R=m.useRef();BRe(S);const P=m.useCallback(B=>{y==null||y({x:B[0],y:B[1],zoom:B[2]}),v||E.setState({transform:B})},[y,v]);return m.useEffect(()=>{if(S.current){R.current=Rje({domNode:S.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:c,onDraggingChange:j=>E.setState(D=>D.paneDragging===j?D:{paneDragging:j}),onPanZoomStart:(j,D)=>{const{onViewportChangeStart:F,onMoveStart:Q}=E.getState();Q==null||Q(j,D),F==null||F(D)},onPanZoom:(j,D)=>{const{onViewportChange:F,onMove:Q}=E.getState();Q==null||Q(j,D),F==null||F(D)},onPanZoomEnd:(j,D)=>{const{onViewportChangeEnd:F,onMoveEnd:Q}=E.getState();Q==null||Q(j,D),F==null||F(D)}});const{x:B,y:I,zoom:$}=R.current.getViewport();return E.setState({panZoom:R.current,transform:[B,I,$],domNode:S.current.closest(".react-flow")}),()=>{var j;(j=R.current)==null||j.destroy()}}},[]),m.useEffect(()=>{var B;(B=R.current)==null||B.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:r,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:o,zoomActivationKeyPressed:A,preventScrolling:p,noPanClassName:O,userSelectionActive:k,noWheelClassName:g,lib:T,onTransformChange:P,connectionInProgress:C,selectionOnDrag:w,paneClickDistance:x})},[e,t,n,i,r,s,a,o,A,p,O,k,g,T,P,C,w,x]),l.jsx("div",{className:"react-flow__renderer",ref:S,style:UA,children:b})}const zRe=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function VRe(){const{userSelectionActive:e,userSelectionRect:t}=Xn(zRe,br);return e&&t?l.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 nj=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},qRe=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function XRe({isSelecting:e,selectionKeyPressed:t,selectionMode:n=l1.Full,panOnDrag:i,autoPanOnSelection:r,paneClickDistance:s,selectionOnDrag:a,onSelectionStart:o,onSelectionEnd:c,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:p,onPaneMouseLeave:b,children:g}){const O=m.useRef(0),y=Or(),{userSelectionActive:v,elementsSelectable:x,dragging:w,connectionInProgress:E,panBy:S,autoPanSpeed:k}=Xn(qRe,br),T=x&&(e||v),C=m.useRef(null),A=m.useRef(),R=m.useRef(new Set),P=m.useRef(new Set),B=m.useRef(!1),I=m.useRef({x:0,y:0}),$=m.useRef(!1),j=ce=>{if(B.current||E){B.current=!1;return}u==null||u(ce),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},D=ce=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){ce.preventDefault();return}d==null||d(ce)},F=f?ce=>f(ce):void 0,Q=ce=>{B.current&&(ce.stopPropagation(),B.current=!1)},M=ce=>{var Ee,Oe;const{domNode:K,transform:ee}=y.getState();if(A.current=K==null?void 0:K.getBoundingClientRect(),!A.current)return;const ye=ce.target===C.current;if(!ye&&!!ce.target.closest(".nokey")||!e||!(a&&ye||t)||ce.button!==0||!ce.isPrimary)return;(Oe=(Ee=ce.target)==null?void 0:Ee.setPointerCapture)==null||Oe.call(Ee,ce.pointerId),B.current=!1;const{x:Pe,y:De}=ac(ce.nativeEvent,A.current),he=Vb({x:Pe,y:De},ee);y.setState({userSelectionRect:{width:0,height:0,startX:he.x,startY:he.y,x:Pe,y:De}}),ye||(ce.stopPropagation(),ce.preventDefault())};function G(ce,K){const{userSelectionRect:ee}=y.getState();if(!ee)return;const{transform:ye,nodeLookup:ve,edgeLookup:Re,connectionLookup:Pe,triggerNodeChanges:De,triggerEdgeChanges:he,defaultEdgeOptions:Ee}=y.getState(),Oe={x:ee.startX,y:ee.startY},{x:Le,y:Fe}=sb(Oe,ye),_e={startX:Oe.x,startY:Oe.y,x:ceGe.id)),P.current=new Set;const It=(Ee==null?void 0:Ee.selectable)??!0;for(const Ge of R.current){const Z=Pe.get(Ge);if(Z)for(const{edgeId:ne}of Z.values()){const ue=Re.get(ne);ue&&(ue.selectable??It)&&P.current.add(ne)}}if(!AF(Ye,R.current)){const Ge=Zg(ve,R.current,!0);De(Ge)}if(!AF(dt,P.current)){const Ge=Zg(Re,P.current);he(Ge)}y.setState({userSelectionRect:_e,userSelectionActive:!0,nodesSelectionActive:!1})}function H(){if(!r||!A.current)return;const[ce,K]=N$(I.current,A.current,k);S({x:ce,y:K}).then(ee=>{if(!B.current||!ee){O.current=requestAnimationFrame(H);return}const{x:ye,y:ve}=I.current;G(ye,ve),O.current=requestAnimationFrame(H)})}const U=()=>{cancelAnimationFrame(O.current),O.current=0,$.current=!1};m.useEffect(()=>()=>U(),[]);const q=ce=>{const{userSelectionRect:K,transform:ee,resetSelectedElements:ye}=y.getState();if(!A.current||!K)return;const{x:ve,y:Re}=ac(ce.nativeEvent,A.current);I.current={x:ve,y:Re};const Pe=sb({x:K.startX,y:K.startY},ee);if(!B.current){const De=t?0:s;if(Math.hypot(ve-Pe.x,Re-Pe.y)<=De)return;ye(),o==null||o(ce)}B.current=!0,$.current||(H(),$.current=!0),G(ve,Re)},ie=ce=>{var K,ee;ce.button===0&&((ee=(K=ce.target)==null?void 0:K.releasePointerCapture)==null||ee.call(K,ce.pointerId),!v&&ce.target===C.current&&y.getState().userSelectionRect&&(j==null||j(ce)),y.setState({userSelectionActive:!1,userSelectionRect:null}),B.current&&(c==null||c(ce),y.setState({nodesSelectionActive:R.current.size>0})),U())},fe=ce=>{var K,ee;(ee=(K=ce.target)==null?void 0:K.releasePointerCapture)==null||ee.call(K,ce.pointerId),U()},me=i===!0||Array.isArray(i)&&i.includes(0);return l.jsxs("div",{className:us(["react-flow__pane",{draggable:me,dragging:w,selection:e}]),onClick:T?void 0:nj(j,C),onContextMenu:nj(D,C),onWheel:nj(F,C),onPointerEnter:T?void 0:h,onPointerMove:T?q:p,onPointerUp:T?ie:void 0,onPointerCancel:T?fe:void 0,onPointerDownCapture:T?M:void 0,onClickCapture:T?Q:void 0,onPointerLeave:b,ref:C,style:UA,children:[g,l.jsx(VRe,{})]})}function DP({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:r,unselectNodesAndEdges:s,multiSelectionActive:a,nodeLookup:o,onError:c}=t.getState(),u=o.get(e);if(!u){c==null||c("012",pc.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(s({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):r([e])}function Hie({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:r,isSelectable:s,nodeClickDistance:a}){const o=Or(),[c,u]=m.useState(!1),d=m.useRef();return m.useEffect(()=>{d.current=Oje({getStoreItems:()=>o.getState(),onNodeMouseDown:f=>{DP({id:f,store:o,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),m.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:s,nodeId:r,nodeClickDistance:a}),()=>{var f;(f=d.current)==null||f.destroy()}},[n,i,t,s,e,r,a]),c}const HRe=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Yie(){const e=Or();return m.useCallback(n=>{const{nodeExtent:i,snapToGrid:r,snapGrid:s,nodesDraggable:a,onError:o,updateNodePositions:c,nodeLookup:u,nodeOrigin:d}=e.getState(),f=new Map,h=HRe(a),p=r?s[0]:5,b=r?s[1]:5,g=n.direction.x*p*n.factor,O=n.direction.y*b*n.factor;for(const[,y]of u){if(!h(y))continue;let v={x:y.internals.positionAbsolute.x+g,y:y.internals.positionAbsolute.y+O};r&&(v=Tv(v,s));const{position:x,positionAbsolute:w}=uie({nodeId:y.id,nextPosition:v,nodeLookup:u,nodeExtent:i,nodeOrigin:d,onError:o});y.position=x,y.internals.positionAbsolute=w,f.set(y.id,y)}c(f)},[])}const Q$=m.createContext(null),YRe=Q$.Provider;Q$.Consumer;const Gie=()=>m.useContext(Q$),GRe=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),WRe=(e,t,n)=>i=>{const{connectionClickStartHandle:r,connectionMode:s,connection:a}=i,{fromHandle:o,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:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===t&&(o==null?void 0:o.type)===n,connectingTo:d,clickConnecting:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===t&&(r==null?void 0:r.type)===n,isPossibleEndHandle:s===nb.Strict?(o==null?void 0:o.type)!==n:e!==(o==null?void 0:o.nodeId)||t!==(o==null?void 0:o.id),connectionInProcess:!!o,clickConnectionInProcess:!!r,valid:d&&u}};function ZRe({type:e="source",position:t=_t.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:r=!0,isConnectableEnd:s=!0,id:a,onConnect:o,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},p){var $,j;const b=a||null,g=e==="target",O=Or(),y=Gie(),{connectOnClick:v,noPanClassName:x,rfId:w}=Xn(GRe,br),{connectingFrom:E,connectingTo:S,clickConnecting:k,isPossibleEndHandle:T,connectionInProcess:C,clickConnectionInProcess:A,valid:R}=Xn(WRe(y,b,e),br);y||(j=($=O.getState()).onError)==null||j.call($,"010",pc.error010());const P=D=>{const{defaultEdgeOptions:F,onConnect:Q,hasDefaultEdges:M}=O.getState(),G={...F,...D};if(M){const{edges:H,setEdges:U,onError:q}=O.getState();U(jRe(G,H,{onError:q}))}Q==null||Q(G),o==null||o(G)},B=D=>{if(!y)return;const F=bie(D.nativeEvent);if(r&&(F&&D.button===0||!F)){const Q=O.getState();RP.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:Q.autoPanOnConnect,connectionMode:Q.connectionMode,connectionRadius:Q.connectionRadius,domNode:Q.domNode,nodeLookup:Q.nodeLookup,lib:Q.lib,isTarget:g,handleId:b,nodeId:y,flowId:Q.rfId,panBy:Q.panBy,cancelConnection:Q.cancelConnection,onConnectStart:Q.onConnectStart,onConnectEnd:(...M)=>{var G,H;return(H=(G=O.getState()).onConnectEnd)==null?void 0:H.call(G,...M)},updateConnection:Q.updateConnection,onConnect:P,isValidConnection:n||((...M)=>{var G,H;return((H=(G=O.getState()).isValidConnection)==null?void 0:H.call(G,...M))??!0}),getTransform:()=>O.getState().transform,getFromHandle:()=>O.getState().connection.fromHandle,autoPanSpeed:Q.autoPanSpeed,dragThreshold:Q.connectionDragThreshold})}F?d==null||d(D):f==null||f(D)},I=D=>{const{onClickConnectStart:F,onClickConnectEnd:Q,connectionClickStartHandle:M,connectionMode:G,isValidConnection:H,lib:U,rfId:q,nodeLookup:ie,connection:fe}=O.getState();if(!y||!M&&!r)return;if(!M){F==null||F(D.nativeEvent,{nodeId:y,handleId:b,handleType:e}),O.setState({connectionClickStartHandle:{nodeId:y,type:e,id:b}});return}const me=mie(D.target),ce=n||H,{connection:K,isValid:ee}=RP.isValid(D.nativeEvent,{handle:{nodeId:y,id:b,type:e},connectionMode:G,fromNodeId:M.nodeId,fromHandleId:M.id||null,fromType:M.type,isValidConnection:ce,flowId:q,doc:me,lib:U,nodeLookup:ie});ee&&K&&P(K);const ye=structuredClone(fe);delete ye.inProgress,ye.toPosition=ye.toHandle?ye.toHandle.position:null,Q==null||Q(D,ye),O.setState({connectionClickStartHandle:null})};return l.jsx("div",{"data-handleid":b,"data-nodeid":y,"data-handlepos":t,"data-id":`${w}-${y}-${b}-${e}`,className:us(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",x,u,{source:!g,target:g,connectable:i,connectablestart:r,connectableend:s,clickconnecting:k,connectingfrom:E,connectingto:S,valid:R,connectionindicator:i&&(!C||T)&&(C||A?s:r)}]),onMouseDown:B,onTouchStart:B,onClick:v?I:void 0,ref:p,...h,children:c})}const ro=m.memo(qie(ZRe));function KRe({data:e,isConnectable:t,sourcePosition:n=_t.Bottom}){return l.jsxs(l.Fragment,{children:[e==null?void 0:e.label,l.jsx(ro,{type:"source",position:n,isConnectable:t})]})}function JRe({data:e,isConnectable:t,targetPosition:n=_t.Top,sourcePosition:i=_t.Bottom}){return l.jsxs(l.Fragment,{children:[l.jsx(ro,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,l.jsx(ro,{type:"source",position:i,isConnectable:t})]})}function eDe(){return null}function tDe({data:e,isConnectable:t,targetPosition:n=_t.Top}){return l.jsxs(l.Fragment,{children:[l.jsx(ro,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const CT={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},eU={input:KRe,default:JRe,output:tDe,group:eDe};function nDe(e){var t,n,i,r;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((r=e.style)==null?void 0:r.height)}}const iDe=e=>{const{width:t,height:n,x:i,y:r}=kv(e.nodeLookup,{filter:s=>!!s.selected});return{width:sc(t)?t:null,height:sc(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${r}px)`}};function rDe({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=Or(),{width:r,height:s,transformString:a,userSelectionActive:o}=Xn(iDe,br),c=Yie(),u=m.useRef(null);m.useEffect(()=>{var p;n||(p=u.current)==null||p.focus({preventScroll:!0})},[n]);const d=!o&&r!==null&&s!==null;if(Hie({nodeRef:u,disabled:!d}),!d)return null;const f=e?p=>{const b=i.getState().nodes.filter(g=>g.selected);e(p,b)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(CT,p.key)&&(p.preventDefault(),c({direction:CT[p.key],factor:p.shiftKey?4:1}))};return l.jsx("div",{className:us(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:l.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:r,height:s}})})}const tU=typeof window<"u"?window:void 0,sDe=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Wie({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,paneClickDistance:o,deleteKeyCode:c,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:b,panActivationKeyCode:g,zoomActivationKeyCode:O,elementsSelectable:y,zoomOnScroll:v,zoomOnPinch:x,panOnScroll:w,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:T,autoPanOnSelection:C,defaultViewport:A,translateExtent:R,minZoom:P,maxZoom:B,preventScrolling:I,onSelectionContextMenu:$,noWheelClassName:j,noPanClassName:D,disableKeyboardA11y:F,onViewportChange:Q,isControlledViewport:M}){const{nodesSelectionActive:G,userSelectionActive:H}=Xn(sDe,br),U=f1(u,{target:tU}),q=f1(g,{target:tU}),ie=q||T,fe=q||w,me=d&&ie!==!0,ce=U||H||me;return QRe({deleteKeyCode:c,multiSelectionKeyCode:b}),l.jsx(URe,{onPaneContextMenu:s,elementsSelectable:y,zoomOnScroll:v,zoomOnPinch:x,panOnScroll:fe,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:!U&&ie,defaultViewport:A,translateExtent:R,minZoom:P,maxZoom:B,zoomActivationKeyCode:O,preventScrolling:I,noWheelClassName:j,noPanClassName:D,onViewportChange:Q,isControlledViewport:M,paneClickDistance:o,selectionOnDrag:me,children:l.jsxs(XRe,{onSelectionStart:h,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,panOnDrag:ie,autoPanOnSelection:C,isSelecting:!!ce,selectionMode:f,selectionKeyPressed:U,paneClickDistance:o,selectionOnDrag:me,children:[e,G&&l.jsx(rDe,{onSelectionContextMenu:$,noPanClassName:D,disableKeyboardA11y:F})]})})}Wie.displayName="FlowRenderer";const aDe=m.memo(Wie),oDe=e=>t=>e?C$(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 lDe(e){return Xn(m.useCallback(oDe(e),[e]),br)}const cDe=e=>e.updateNodeInternals;function uDe(){const e=Xn(cDe),[t]=m.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(r=>{const s=r.target.getAttribute("data-id");i.set(s,{id:s,nodeElement:r.target,force:!0})}),e(i)}));return m.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function dDe({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const r=Or(),s=m.useRef(null),a=m.useRef(null),o=m.useRef(e.sourcePosition),c=m.useRef(e.targetPosition),u=m.useRef(t),d=n&&!!e.internals.handleBounds;return m.useEffect(()=>{s.current&&!e.hidden&&(!d||a.current!==s.current)&&(a.current&&(i==null||i.unobserve(a.current)),i==null||i.observe(s.current),a.current=s.current)},[d,e.hidden]),m.useEffect(()=>()=>{a.current&&(i==null||i.unobserve(a.current),a.current=null)},[]),m.useEffect(()=>{if(s.current){const f=u.current!==t,h=o.current!==e.sourcePosition,p=c.current!==e.targetPosition;(f||h||p)&&(u.current=t,o.current=e.sourcePosition,c.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),s}function fDe({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:r,onContextMenu:s,onDoubleClick:a,nodesDraggable:o,elementsSelectable:c,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:p,disableKeyboardA11y:b,rfId:g,nodeTypes:O,nodeClickDistance:y,onError:v}){const{node:x,internals:w,isParent:E}=Xn(ce=>{const K=ce.nodeLookup.get(e),ee=ce.parentLookup.has(e);return{node:K,internals:K.internals,isParent:ee}},br);let S=x.type||"default",k=(O==null?void 0:O[S])||eU[S];k===void 0&&(v==null||v("003",pc.error003(S)),S="default",k=(O==null?void 0:O.default)||eU.default);const T=!!(x.draggable||o&&typeof x.draggable>"u"),C=!!(x.selectable||c&&typeof x.selectable>"u"),A=!!(x.connectable||u&&typeof x.connectable>"u"),R=!!(x.focusable||d&&typeof x.focusable>"u"),P=Or(),B=R$(x),I=dDe({node:x,nodeType:S,hasDimensions:B,resizeObserver:f}),$=Hie({nodeRef:I,disabled:x.hidden||!T,noDragClassName:h,handleSelector:x.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:y}),j=Yie();if(x.hidden)return null;const D=Ud(x),F=nDe(x),Q=C||T||t||n||i||r,M=n?ce=>n(ce,{...w.userNode}):void 0,G=i?ce=>i(ce,{...w.userNode}):void 0,H=r?ce=>r(ce,{...w.userNode}):void 0,U=s?ce=>s(ce,{...w.userNode}):void 0,q=a?ce=>a(ce,{...w.userNode}):void 0,ie=ce=>{const{selectNodesOnDrag:K,nodeDragThreshold:ee}=P.getState();C&&(!K||!T||ee>0)&&DP({id:e,store:P,nodeRef:I}),t&&t(ce,{...w.userNode})},fe=ce=>{if(!(gie(ce.nativeEvent)||b)){if(sie.includes(ce.key)&&C){const K=ce.key==="Escape";DP({id:e,store:P,unselect:K,nodeRef:I})}else if(T&&x.selected&&Object.prototype.hasOwnProperty.call(CT,ce.key)){ce.preventDefault();const{ariaLabelConfig:K}=P.getState();P.setState({ariaLiveMessage:K["node.a11yDescription.ariaLiveMessage"]({direction:ce.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),j({direction:CT[ce.key],factor:ce.shiftKey?4:1})}}},me=()=>{var Pe;if(b||!((Pe=I.current)!=null&&Pe.matches(":focus-visible")))return;const{transform:ce,width:K,height:ee,autoPanOnNodeFocus:ye,setCenter:ve}=P.getState();if(!ye)return;C$(new Map([[e,x]]),{x:0,y:0,width:K,height:ee},ce,!0).length>0||ve(x.position.x+D.width/2,x.position.y+D.height/2,{zoom:ce[2]})};return l.jsx("div",{className:us(["react-flow__node",`react-flow__node-${S}`,{[p]:T},x.className,{selected:x.selected,selectable:C,parent:E,draggable:T,dragging:$}]),ref:I,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:Q?"all":"none",visibility:B?"visible":"hidden",...x.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:M,onMouseMove:G,onMouseLeave:H,onContextMenu:U,onClick:ie,onDoubleClick:q,onKeyDown:R?fe:void 0,tabIndex:R?0:void 0,onFocus:R?me:void 0,role:x.ariaRole??(R?"group":void 0),"aria-roledescription":"node","aria-describedby":b?void 0:`${Qie}-${g}`,"aria-label":x.ariaLabel,...x.domAttributes,children:l.jsx(YRe,{value:e,children:l.jsx(k,{id:e,data:x.data,type:S,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:x.selected??!1,selectable:C,draggable:T,deletable:x.deletable??!0,isConnectable:A,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:$,dragHandle:x.dragHandle,zIndex:w.z,parentId:x.parentId,...D})})})}var hDe=m.memo(fDe);const pDe=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Zie(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,onError:s}=Xn(pDe,br),a=lDe(e.onlyRenderVisibleElements),o=uDe();return l.jsx("div",{className:"react-flow__nodes",style:UA,children:a.map(c=>l.jsx(hDe,{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:o,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:s},c))})}Zie.displayName="NodeRenderer";const mDe=m.memo(Zie);function gDe(e){return Xn(m.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const i=[];if(n.width&&n.height)for(const r of n.edges){const s=n.nodeLookup.get(r.source),a=n.nodeLookup.get(r.target);s&&a&&JNe({sourceNode:s,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&i.push(r.id)}return i},[e]),br)}const bDe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return l.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},ODe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return l.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},nU={[c1.Arrow]:bDe,[c1.ArrowClosed]:ODe};function yDe(e){const t=Or();return m.useMemo(()=>{var r,s;return Object.prototype.hasOwnProperty.call(nU,e)?nU[e]:((s=(r=t.getState()).onError)==null||s.call(r,"009",pc.error009(e)),null)},[e])}const xDe=({id:e,type:t,color:n,width:i=12.5,height:r=12.5,markerUnits:s="strokeWidth",strokeWidth:a,orient:o="auto-start-reverse"})=>{const c=yDe(t);return c?l.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:o,refX:"0",refY:"0",children:l.jsx(c,{color:n,strokeWidth:a})}):null},Kie=({defaultColor:e,rfId:t})=>{const n=Xn(s=>s.edges),i=Xn(s=>s.defaultEdgeOptions),r=m.useMemo(()=>oje(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return r.length?l.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:l.jsx("defs",{children:r.map(s=>l.jsx(xDe,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};Kie.displayName="MarkerDefinitions";var vDe=m.memo(Kie);function Jie({x:e,y:t,label:n,labelStyle:i,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:a=[2,4],labelBgBorderRadius:o=2,children:c,className:u,...d}){const[f,h]=m.useState({x:1,y:0,width:0,height:0}),p=us(["react-flow__edge-textwrapper",u]),b=m.useRef(null);return m.useEffect(()=>{if(b.current){const g=b.current.getBBox();h({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),n?l.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...d,children:[r&&l.jsx("rect",{width:f.width+2*a[0],x:-a[0],y:-a[1],height:f.height+2*a[1],className:"react-flow__edge-textbg",style:s,rx:o,ry:o}),l.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:b,style:i,children:n}),c]}):null}Jie.displayName="EdgeText";const wDe=m.memo(Jie);function _v({path:e,labelX:t,labelY:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return l.jsxs(l.Fragment,{children:[l.jsx("path",{...d,d:e,fill:"none",className:us(["react-flow__edge-path",d.className])}),u?l.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,i&&sc(t)&&sc(n)?l.jsx(wDe,{x:t,y:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:c}):null]})}function iU({pos:e,x1:t,y1:n,x2:i,y2:r}){return e===_t.Left||e===_t.Right?[.5*(t+i),n]:[t,.5*(n+r)]}function ere({sourceX:e,sourceY:t,sourcePosition:n=_t.Bottom,targetX:i,targetY:r,targetPosition:s=_t.Top}){const[a,o]=iU({pos:n,x1:e,y1:t,x2:i,y2:r}),[c,u]=iU({pos:s,x1:i,y1:r,x2:e,y2:t}),[d,f,h,p]=Oie({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${o} ${c},${u} ${i},${r}`,d,f,h,p]}function tre(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a,targetPosition:o,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,interactionWidth:y})=>{const[v,x,w]=ere({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o}),E=e.isInternal?void 0:t;return l.jsx(_v,{id:E,path:v,labelX:x,labelY:w,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,interactionWidth:y})})}const SDe=tre({isInternal:!1}),nre=tre({isInternal:!0});SDe.displayName="SimpleBezierEdge";nre.displayName="SimpleBezierEdgeInternal";function ire(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:p=_t.Bottom,targetPosition:b=_t.Top,markerEnd:g,markerStart:O,pathOptions:y,interactionWidth:v})=>{const[x,w,E]=AT({sourceX:n,sourceY:i,sourcePosition:p,targetX:r,targetY:s,targetPosition:b,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 l.jsx(_v,{id:S,path:x,labelX:w,labelY:E,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:O,interactionWidth:v})})}const rre=ire({isInternal:!1}),sre=ire({isInternal:!0});rre.displayName="SmoothStepEdge";sre.displayName="SmoothStepEdgeInternal";function are(e){return m.memo(({id:t,...n})=>{var r;const i=e.isInternal?void 0:t;return l.jsx(rre,{...n,id:i,pathOptions:m.useMemo(()=>{var s;return{borderRadius:0,offset:(s=n.pathOptions)==null?void 0:s.offset}},[(r=n.pathOptions)==null?void 0:r.offset])})})}const EDe=are({isInternal:!1}),ore=are({isInternal:!0});EDe.displayName="StepEdge";ore.displayName="StepEdgeInternal";function lre(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:b,interactionWidth:g})=>{const[O,y,v]=vie({sourceX:n,sourceY:i,targetX:r,targetY:s}),x=e.isInternal?void 0:t;return l.jsx(_v,{id:x,path:O,labelX:y,labelY:v,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:b,interactionWidth:g})})}const kDe=lre({isInternal:!1}),cre=lre({isInternal:!0});kDe.displayName="StraightEdge";cre.displayName="StraightEdgeInternal";function ure(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a=_t.Bottom,targetPosition:o=_t.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,pathOptions:y,interactionWidth:v})=>{const[x,w,E]=yie({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o,curvature:y==null?void 0:y.curvature}),S=e.isInternal?void 0:t;return l.jsx(_v,{id:S,path:x,labelX:w,labelY:E,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,interactionWidth:v})})}const TDe=ure({isInternal:!1}),dre=ure({isInternal:!0});TDe.displayName="BezierEdge";dre.displayName="BezierEdgeInternal";const rU={default:dre,straight:cre,step:ore,smoothstep:sre,simplebezier:nre},sU={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},_De=(e,t,n)=>n===_t.Left?e-t:n===_t.Right?e+t:e,ADe=(e,t,n)=>n===_t.Top?e-t:n===_t.Bottom?e+t:e,aU="react-flow__edgeupdater";function oU({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:r,onMouseEnter:s,onMouseOut:a,type:o}){return l.jsx("circle",{onMouseDown:r,onMouseEnter:s,onMouseOut:a,className:us([aU,`${aU}-${o}`]),cx:_De(t,i,e),cy:ADe(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function CDe({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:r,targetX:s,targetY:a,sourcePosition:o,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:p}){const b=Or(),g=(w,E)=>{if(w.button!==0)return;const{autoPanOnConnect:S,domNode:k,connectionMode:T,connectionRadius:C,lib:A,onConnectStart:R,cancelConnection:P,nodeLookup:B,rfId:I,panBy:$,updateConnection:j}=b.getState(),D=E.type==="target",F=(G,H)=>{h(!1),f==null||f(G,n,E.type,H)},Q=G=>u==null?void 0:u(n,G),M=(G,H)=>{h(!0),d==null||d(w,n,E.type),R==null||R(G,H)};RP.onPointerDown(w.nativeEvent,{autoPanOnConnect:S,connectionMode:T,connectionRadius:C,domNode:k,handleId:E.id,nodeId:E.nodeId,nodeLookup:B,isTarget:D,edgeUpdaterType:E.type,lib:A,flowId:I,cancelConnection:P,panBy:$,isValidConnection:(...G)=>{var H,U;return((U=(H=b.getState()).isValidConnection)==null?void 0:U.call(H,...G))??!0},onConnect:Q,onConnectStart:M,onConnectEnd:(...G)=>{var H,U;return(U=(H=b.getState()).onConnectEnd)==null?void 0:U.call(H,...G)},onReconnectEnd:F,updateConnection:j,getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,dragThreshold:b.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},O=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"}),v=()=>p(!0),x=()=>p(!1);return l.jsxs(l.Fragment,{children:[(e===!0||e==="source")&&l.jsx(oU,{position:o,centerX:i,centerY:r,radius:t,onMouseDown:O,onMouseEnter:v,onMouseOut:x,type:"source"}),(e===!0||e==="target")&&l.jsx(oU,{position:c,centerX:s,centerY:a,radius:t,onMouseDown:y,onMouseEnter:v,onMouseOut:x,type:"target"})]})}function NDe({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:r,onDoubleClick:s,onContextMenu:a,onMouseEnter:o,onMouseMove:c,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,rfId:b,edgeTypes:g,noPanClassName:O,onError:y,disableKeyboardA11y:v}){let x=Xn(ve=>ve.edgeLookup.get(e));const w=Xn(ve=>ve.defaultEdgeOptions);x=w?{...w,...x}:x;let E=x.type||"default",S=(g==null?void 0:g[E])||rU[E];S===void 0&&(y==null||y("011",pc.error011(E)),E="default",S=(g==null?void 0:g.default)||rU.default);const k=!!(x.focusable||t&&typeof x.focusable>"u"),T=typeof f<"u"&&(x.reconnectable||n&&typeof x.reconnectable>"u"),C=!!(x.selectable||i&&typeof x.selectable>"u"),A=m.useRef(null),[R,P]=m.useState(!1),[B,I]=m.useState(!1),$=Or(),{zIndex:j,sourceX:D,sourceY:F,targetX:Q,targetY:M,sourcePosition:G,targetPosition:H}=Xn(m.useCallback(ve=>{const Re=ve.nodeLookup.get(x.source),Pe=ve.nodeLookup.get(x.target);if(!Re||!Pe)return{zIndex:x.zIndex,...sU};const De=aje({id:e,sourceNode:Re,targetNode:Pe,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:ve.connectionMode,onError:y});return{zIndex:KNe({selected:x.selected,zIndex:x.zIndex,sourceNode:Re,targetNode:Pe,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode}),...De||sU}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),br),U=m.useMemo(()=>x.markerStart?`url('#${NP(x.markerStart,b)}')`:void 0,[x.markerStart,b]),q=m.useMemo(()=>x.markerEnd?`url('#${NP(x.markerEnd,b)}')`:void 0,[x.markerEnd,b]);if(x.hidden||D===null||F===null||Q===null||M===null)return null;const ie=ve=>{var he;const{addSelectedEdges:Re,unselectNodesAndEdges:Pe,multiSelectionActive:De}=$.getState();C&&($.setState({nodesSelectionActive:!1}),x.selected&&De?(Pe({nodes:[],edges:[x]}),(he=A.current)==null||he.blur()):Re([e])),r&&r(ve,x)},fe=s?ve=>{s(ve,{...x})}:void 0,me=a?ve=>{a(ve,{...x})}:void 0,ce=o?ve=>{o(ve,{...x})}:void 0,K=c?ve=>{c(ve,{...x})}:void 0,ee=u?ve=>{u(ve,{...x})}:void 0,ye=ve=>{var Re;if(!v&&sie.includes(ve.key)&&C){const{unselectNodesAndEdges:Pe,addSelectedEdges:De}=$.getState();ve.key==="Escape"?((Re=A.current)==null||Re.blur(),Pe({edges:[x]})):De([e])}};return l.jsx("svg",{style:{zIndex:j},children:l.jsxs("g",{className:us(["react-flow__edge",`react-flow__edge-${E}`,x.className,O,{selected:x.selected,animated:x.animated,inactive:!C&&!r,updating:R,selectable:C}]),onClick:ie,onDoubleClick:fe,onContextMenu:me,onMouseEnter:ce,onMouseMove:K,onMouseLeave:ee,onKeyDown:k?ye:void 0,tabIndex:k?0:void 0,role:x.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":x.ariaLabel===null?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":k?`${Bie}-${b}`:void 0,ref:A,...x.domAttributes,children:[!B&&l.jsx(S,{id:e,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:C,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:D,sourceY:F,targetX:Q,targetY:M,sourcePosition:G,targetPosition:H,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:U,markerEnd:q,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),T&&l.jsx(CDe,{edge:x,isReconnectable:T,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,sourceX:D,sourceY:F,targetX:Q,targetY:M,sourcePosition:G,targetPosition:H,setUpdateHover:P,setReconnecting:I})]})})}var jDe=m.memo(NDe);const RDe=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function fre({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:r,onReconnect:s,onEdgeContextMenu:a,onEdgeMouseEnter:o,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:p,onReconnectEnd:b,disableKeyboardA11y:g}){const{edgesFocusable:O,edgesReconnectable:y,elementsSelectable:v,onError:x}=Xn(RDe,br),w=gDe(t);return l.jsxs("div",{className:"react-flow__edges",children:[l.jsx(vDe,{defaultColor:e,rfId:n}),w.map(E=>l.jsx(jDe,{id:E,edgesFocusable:O,edgesReconnectable:y,elementsSelectable:v,noPanClassName:r,onReconnect:s,onContextMenu:a,onMouseEnter:o,onMouseMove:c,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:p,onReconnectEnd:b,rfId:n,onError:x,edgeTypes:i,disableKeyboardA11y:g},E))]})}fre.displayName="EdgeRenderer";const DDe=m.memo(fre),IDe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function PDe({children:e}){const t=Xn(IDe);return l.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function MDe(e){const t=FA(),n=m.useRef(!1);m.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const LDe=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function $De(e){const t=Xn(LDe),n=Or();return m.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function QDe(e){return e.connection.inProgress?{...e.connection,to:Vb(e.connection.to,e.transform)}:{...e.connection}}function BDe(e){return QDe}function FDe(e){const t=BDe();return Xn(t,br)}const UDe=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function zDe({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:r,width:s,height:a,isValid:o,inProgress:c}=Xn(UDe,br);return!(s&&r&&c)?null:l.jsx("svg",{style:e,width:s,height:a,className:"react-flow__connectionline react-flow__container",children:l.jsx("g",{className:us(["react-flow__connection",lie(o)]),children:l.jsx(hre,{style:t,type:n,CustomComponent:i,isValid:o})})})}const hre=({style:e,type:t=If.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:r,from:s,fromNode:a,fromHandle:o,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h,pointer:p}=FDe();if(!r)return;if(n)return l.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:o,fromX:s.x,fromY:s.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:lie(i),toNode:d,toHandle:f,pointer:p});let b="";const g={sourceX:s.x,sourceY:s.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case If.Bezier:[b]=yie(g);break;case If.SimpleBezier:[b]=ere(g);break;case If.Step:[b]=AT({...g,borderRadius:0});break;case If.SmoothStep:[b]=AT(g);break;default:[b]=vie(g)}return l.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:e})};hre.displayName="ConnectionLine";const VDe={};function lU(e=VDe){m.useRef(e),Or(),m.useEffect(()=>{},[e])}function qDe(){Or(),m.useRef(!1),m.useEffect(()=>{},[])}function pre({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:r,onNodeDoubleClick:s,onEdgeDoubleClick:a,onNodeMouseEnter:o,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:p,connectionLineType:b,connectionLineStyle:g,connectionLineComponent:O,connectionLineContainerStyle:y,selectionKeyCode:v,selectionOnDrag:x,selectionMode:w,multiSelectionKeyCode:E,panActivationKeyCode:S,zoomActivationKeyCode:k,deleteKeyCode:T,onlyRenderVisibleElements:C,elementsSelectable:A,defaultViewport:R,translateExtent:P,minZoom:B,maxZoom:I,preventScrolling:$,defaultMarkerColor:j,zoomOnScroll:D,zoomOnPinch:F,panOnScroll:Q,panOnScrollSpeed:M,panOnScrollMode:G,zoomOnDoubleClick:H,panOnDrag:U,autoPanOnSelection:q,onPaneClick:ie,onPaneMouseEnter:fe,onPaneMouseMove:me,onPaneMouseLeave:ce,onPaneScroll:K,onPaneContextMenu:ee,paneClickDistance:ye,nodeClickDistance:ve,onEdgeContextMenu:Re,onEdgeMouseEnter:Pe,onEdgeMouseMove:De,onEdgeMouseLeave:he,reconnectRadius:Ee,onReconnect:Oe,onReconnectStart:Le,onReconnectEnd:Fe,noDragClassName:_e,noWheelClassName:Ye,noPanClassName:dt,disableKeyboardA11y:It,nodeExtent:Ge,rfId:Z,viewport:ne,onViewportChange:ue}){return lU(e),lU(t),qDe(),MDe(n),$De(ne),l.jsx(aDe,{onPaneClick:ie,onPaneMouseEnter:fe,onPaneMouseMove:me,onPaneMouseLeave:ce,onPaneContextMenu:ee,onPaneScroll:K,paneClickDistance:ye,deleteKeyCode:T,selectionKeyCode:v,selectionOnDrag:x,selectionMode:w,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:E,panActivationKeyCode:S,zoomActivationKeyCode:k,elementsSelectable:A,zoomOnScroll:D,zoomOnPinch:F,zoomOnDoubleClick:H,panOnScroll:Q,panOnScrollSpeed:M,panOnScrollMode:G,panOnDrag:U,autoPanOnSelection:q,defaultViewport:R,translateExtent:P,minZoom:B,maxZoom:I,onSelectionContextMenu:f,preventScrolling:$,noDragClassName:_e,noWheelClassName:Ye,noPanClassName:dt,disableKeyboardA11y:It,onViewportChange:ue,isControlledViewport:!!ne,children:l.jsxs(PDe,{children:[l.jsx(DDe,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:a,onReconnect:Oe,onReconnectStart:Le,onReconnectEnd:Fe,onlyRenderVisibleElements:C,onEdgeContextMenu:Re,onEdgeMouseEnter:Pe,onEdgeMouseMove:De,onEdgeMouseLeave:he,reconnectRadius:Ee,defaultMarkerColor:j,noPanClassName:dt,disableKeyboardA11y:It,rfId:Z}),l.jsx(zDe,{style:g,type:b,component:O,containerStyle:y}),l.jsx("div",{className:"react-flow__edgelabel-renderer"}),l.jsx(mDe,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:o,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:ve,onlyRenderVisibleElements:C,noPanClassName:dt,noDragClassName:_e,disableKeyboardA11y:It,nodeExtent:Ge,rfId:Z}),l.jsx("div",{className:"react-flow__viewport-portal"})]})})}pre.displayName="GraphView";const XDe=m.memo(pre),HDe=hie(),cU=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:c=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const p=new Map,b=new Map,g=new Map,O=new Map,y=i??t??[],v=n??e??[],x=d??[0,0],w=f??o1;Eie(g,O,y);const{nodesInitialized:E}=jP(v,p,b,{nodeOrigin:x,nodeExtent:w,zIndexMode:h});let S=[0,0,1];if(a&&r&&s){const k=kv(p,{filter:R=>!!((R.width||R.initialWidth)&&(R.height||R.initialHeight))}),{x:T,y:C,zoom:A}=j$(k,r,s,c,u,(o==null?void 0:o.padding)??.1);S=[T,C,A]}return{rfId:"1",width:r??0,height:s??0,transform:S,nodes:v,nodesInitialized:E,nodeLookup:p,parentLookup:b,edges:y,edgeLookup:O,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:c,maxZoom:u,translateExtent:o1,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:nb.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:x,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:o,fitViewResolver:null,connection:{...oie},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:HDe,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:aie,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},YDe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>cRe((p,b)=>{async function g(){const{nodeLookup:O,panZoom:y,fitViewOptions:v,fitViewResolver:x,width:w,height:E,minZoom:S,maxZoom:k}=b();y&&(await qNe({nodes:O,width:w,height:E,panZoom:y,minZoom:S,maxZoom:k},v),x==null||x.resolve(!0),p({fitViewResolver:null}))}return{...cU({nodes:e,edges:t,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:i,zIndexMode:h}),setNodes:O=>{const{nodeLookup:y,parentLookup:v,nodeOrigin:x,elevateNodesOnSelect:w,fitViewQueued:E,zIndexMode:S,nodesSelectionActive:k}=b(),{nodesInitialized:T,hasSelectedNodes:C}=jP(O,y,v,{nodeOrigin:x,nodeExtent:f,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:S}),A=k&&C;E&&T?(g(),p({nodes:O,nodesInitialized:T,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):p({nodes:O,nodesInitialized:T,nodesSelectionActive:A})},setEdges:O=>{const{connectionLookup:y,edgeLookup:v}=b();Eie(y,v,O),p({edges:O})},setDefaultNodesAndEdges:(O,y)=>{if(O){const{setNodes:v}=b();v(O),p({hasDefaultNodes:!0})}if(y){const{setEdges:v}=b();v(y),p({hasDefaultEdges:!0})}},updateNodeInternals:O=>{const{triggerNodeChanges:y,nodeLookup:v,parentLookup:x,domNode:w,nodeOrigin:E,nodeExtent:S,debug:k,fitViewQueued:T,zIndexMode:C}=b(),{changes:A,updatedInternals:R}=pje(O,v,x,w,E,S,C);R&&(uje(v,x,{nodeOrigin:E,nodeExtent:S,zIndexMode:C}),T?(g(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),(A==null?void 0:A.length)>0&&(k&&console.log("React Flow: trigger node changes",A),y==null||y(A)))},updateNodePositions:(O,y=!1)=>{const v=[];let x=[];const{nodeLookup:w,triggerNodeChanges:E,connection:S,updateConnection:k,onNodesChangeMiddlewareMap:T}=b();for(const[C,A]of O){const R=w.get(C),P=!!(R!=null&&R.expandParent&&(R!=null&&R.parentId)&&(A!=null&&A.position)),B={id:C,type:"position",position:P?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:y};if(R&&S.inProgress&&S.fromNode.id===R.id){const I=om(R,S.fromHandle,_t.Left,!0);k({...S,from:I})}P&&R.parentId&&v.push({id:C,parentId:R.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),x.push(B)}if(v.length>0){const{parentLookup:C,nodeOrigin:A}=b(),R=$$(v,w,C,A);x.push(...R)}for(const C of T.values())x=C(x);E(x)},triggerNodeChanges:O=>{const{onNodesChange:y,setNodes:v,nodes:x,hasDefaultNodes:w,debug:E}=b();if(O!=null&&O.length){if(w){const S=zie(O,x);v(S)}E&&console.log("React Flow: trigger node changes",O),y==null||y(O)}},triggerEdgeChanges:O=>{const{onEdgesChange:y,setEdges:v,edges:x,hasDefaultEdges:w,debug:E}=b();if(O!=null&&O.length){if(w){const S=Vie(O,x);v(S)}E&&console.log("React Flow: trigger edge changes",O),y==null||y(O)}},addSelectedNodes:O=>{const{multiSelectionActive:y,edgeLookup:v,nodeLookup:x,triggerNodeChanges:w,triggerEdgeChanges:E}=b();if(y){const S=O.map(k=>fp(k,!0));w(S);return}w(Zg(x,new Set([...O]),!0)),E(Zg(v))},addSelectedEdges:O=>{const{multiSelectionActive:y,edgeLookup:v,nodeLookup:x,triggerNodeChanges:w,triggerEdgeChanges:E}=b();if(y){const S=O.map(k=>fp(k,!0));E(S);return}E(Zg(v,new Set([...O]))),w(Zg(x,new Set,!0))},unselectNodesAndEdges:({nodes:O,edges:y}={})=>{const{edges:v,nodes:x,nodeLookup:w,triggerNodeChanges:E,triggerEdgeChanges:S}=b(),k=O||x,T=y||v,C=[];for(const R of k){if(!R.selected)continue;const P=w.get(R.id);P&&(P.selected=!1),C.push(fp(R.id,!1))}const A=[];for(const R of T)R.selected&&A.push(fp(R.id,!1));E(C),S(A)},setMinZoom:O=>{const{panZoom:y,maxZoom:v}=b();y==null||y.setScaleExtent([O,v]),p({minZoom:O})},setMaxZoom:O=>{const{panZoom:y,minZoom:v}=b();y==null||y.setScaleExtent([v,O]),p({maxZoom:O})},setTranslateExtent:O=>{var y;(y=b().panZoom)==null||y.setTranslateExtent(O),p({translateExtent:O})},resetSelectedElements:()=>{const{edges:O,nodes:y,triggerNodeChanges:v,triggerEdgeChanges:x,elementsSelectable:w}=b();if(!w)return;const E=y.reduce((k,T)=>T.selected?[...k,fp(T.id,!1)]:k,[]),S=O.reduce((k,T)=>T.selected?[...k,fp(T.id,!1)]:k,[]);v(E),x(S)},setNodeExtent:O=>{const{nodes:y,nodeLookup:v,parentLookup:x,nodeOrigin:w,elevateNodesOnSelect:E,nodeExtent:S,zIndexMode:k}=b();O[0][0]===S[0][0]&&O[0][1]===S[0][1]&&O[1][0]===S[1][0]&&O[1][1]===S[1][1]||(jP(y,v,x,{nodeOrigin:w,nodeExtent:O,elevateNodesOnSelect:E,checkEquality:!1,zIndexMode:k}),p({nodeExtent:O}))},panBy:O=>{const{transform:y,width:v,height:x,panZoom:w,translateExtent:E}=b();return mje({delta:O,panZoom:w,transform:y,translateExtent:E,width:v,height:x})},setCenter:async(O,y,v)=>{const{width:x,height:w,maxZoom:E,panZoom:S}=b();if(!S)return!1;const k=typeof(v==null?void 0:v.zoom)<"u"?v.zoom:E;return await S.setViewport({x:x/2-O*k,y:w/2-y*k,zoom:k},{duration:v==null?void 0:v.duration,ease:v==null?void 0:v.ease,interpolate:v==null?void 0:v.interpolate}),!0},cancelConnection:()=>{p({connection:{...oie}})},updateConnection:O=>{p({connection:O})},reset:()=>p({...cU()})}},Object.is);function mre({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:r,initialHeight:s,initialMinZoom:a,initialMaxZoom:o,initialFitViewOptions:c,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:p}){const[b]=m.useState(()=>YDe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:u,minZoom:a,maxZoom:o,fitViewOptions:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return l.jsx(uRe,{value:b,children:l.jsx(PRe,{children:p})})}function GDe({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:r,width:s,height:a,fitView:o,fitViewOptions:c,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p}){return m.useContext(QA)?l.jsx(l.Fragment,{children:e}):l.jsx(mre,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:r,initialWidth:s,initialHeight:a,fitView:o,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p,children:e})}const WDe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function ZDe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:r,nodeTypes:s,edgeTypes:a,onNodeClick:o,onEdgeClick:c,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:p,onConnectStart:b,onConnectEnd:g,onClickConnectStart:O,onClickConnectEnd:y,onNodeMouseEnter:v,onNodeMouseMove:x,onNodeMouseLeave:w,onNodeContextMenu:E,onNodeDoubleClick:S,onNodeDragStart:k,onNodeDrag:T,onNodeDragStop:C,onNodesDelete:A,onEdgesDelete:R,onDelete:P,onSelectionChange:B,onSelectionDragStart:I,onSelectionDrag:$,onSelectionDragStop:j,onSelectionContextMenu:D,onSelectionStart:F,onSelectionEnd:Q,onBeforeDelete:M,connectionMode:G,connectionLineType:H=If.Bezier,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:ie,deleteKeyCode:fe="Backspace",selectionKeyCode:me="Shift",selectionOnDrag:ce=!1,selectionMode:K=l1.Full,panActivationKeyCode:ee="Space",multiSelectionKeyCode:ye=d1()?"Meta":"Control",zoomActivationKeyCode:ve=d1()?"Meta":"Control",snapToGrid:Re,snapGrid:Pe,onlyRenderVisibleElements:De=!1,selectNodesOnDrag:he,nodesDraggable:Ee,autoPanOnNodeFocus:Oe,nodesConnectable:Le,nodesFocusable:Fe,nodeOrigin:_e=Fie,edgesFocusable:Ye,edgesReconnectable:dt,elementsSelectable:It=!0,defaultViewport:Ge=SRe,minZoom:Z=.5,maxZoom:ne=2,translateExtent:ue=o1,preventScrolling:be=!0,nodeExtent:V,defaultMarkerColor:je="#b1b1b7",zoomOnScroll:He=!0,zoomOnPinch:et=!0,panOnScroll:qt=!1,panOnScrollSpeed:Ft=.5,panOnScrollMode:At=zp.Free,zoomOnDoubleClick:xt=!0,panOnDrag:xe=!0,onPaneClick:Ue,onPaneMouseEnter:Qe,onPaneMouseMove:Ot,onPaneMouseLeave:Et,onPaneScroll:Rt,onPaneContextMenu:Ce,paneClickDistance:We=1,nodeClickDistance:mt=0,children:tn,onReconnect:st,onReconnectStart:gn,onReconnectEnd:ti,onEdgeContextMenu:Pt,onEdgeDoubleClick:wt,onEdgeMouseEnter:Ae,onEdgeMouseMove:it,onEdgeMouseLeave:Nt,reconnectRadius:Yt=10,onNodesChange:Jt,onEdgesChange:Sn,noDragClassName:Ie="nodrag",noWheelClassName:ft="nowheel",noPanClassName:kt="nopan",fitView:Xt,fitViewOptions:fn,connectOnClick:Cn,attributionPosition:mi,proOptions:gi,defaultEdgeOptions:xi,elevateNodesOnSelect:ae=!0,elevateEdgesOnSelect:Be=!1,disableKeyboardA11y:lt=!1,autoPanOnConnect:Tt,autoPanOnNodeDrag:ln,autoPanOnSelection:Zn=!0,autoPanSpeed:Nn,connectionRadius:bi,isValidConnection:$n,onError:ri,style:Li,id:Vi,nodeDragThreshold:qi,connectionDragThreshold:hn,viewport:Oi,onViewportChange:vi,width:ci,height:yi,colorMode:ds="light",debug:Bs,onScroll:si,ariaLabelConfig:ws,zIndexMode:Fs="basic",...Kr},ni){const Us=Vi||"1",el=_Re(ds),Cr=m.useCallback(Ss=>{Ss.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),si==null||si(Ss)},[si]);return l.jsx("div",{"data-testid":"rf__wrapper",...Kr,onScroll:Cr,style:{...Li,...WDe},ref:ni,className:us(["react-flow",r,el]),id:Vi,role:"application",children:l.jsxs(GDe,{nodes:e,edges:t,width:ci,height:yi,fitView:Xt,fitViewOptions:fn,minZoom:Z,maxZoom:ne,nodeOrigin:_e,nodeExtent:V,zIndexMode:Fs,children:[l.jsx(TRe,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:p,onConnectStart:b,onConnectEnd:g,onClickConnectStart:O,onClickConnectEnd:y,nodesDraggable:Ee,autoPanOnNodeFocus:Oe,nodesConnectable:Le,nodesFocusable:Fe,edgesFocusable:Ye,edgesReconnectable:dt,elementsSelectable:It,elevateNodesOnSelect:ae,elevateEdgesOnSelect:Be,minZoom:Z,maxZoom:ne,nodeExtent:V,onNodesChange:Jt,onEdgesChange:Sn,snapToGrid:Re,snapGrid:Pe,connectionMode:G,translateExtent:ue,connectOnClick:Cn,defaultEdgeOptions:xi,fitView:Xt,fitViewOptions:fn,onNodesDelete:A,onEdgesDelete:R,onDelete:P,onNodeDragStart:k,onNodeDrag:T,onNodeDragStop:C,onSelectionDrag:$,onSelectionDragStart:I,onSelectionDragStop:j,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:kt,nodeOrigin:_e,rfId:Us,autoPanOnConnect:Tt,autoPanOnNodeDrag:ln,autoPanSpeed:Nn,onError:ri,connectionRadius:bi,isValidConnection:$n,selectNodesOnDrag:he,nodeDragThreshold:qi,connectionDragThreshold:hn,onBeforeDelete:M,debug:Bs,ariaLabelConfig:ws,zIndexMode:Fs}),l.jsx(XDe,{onInit:u,onNodeClick:o,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:x,onNodeMouseLeave:w,onNodeContextMenu:E,onNodeDoubleClick:S,nodeTypes:s,edgeTypes:a,connectionLineType:H,connectionLineStyle:U,connectionLineComponent:q,connectionLineContainerStyle:ie,selectionKeyCode:me,selectionOnDrag:ce,selectionMode:K,deleteKeyCode:fe,multiSelectionKeyCode:ye,panActivationKeyCode:ee,zoomActivationKeyCode:ve,onlyRenderVisibleElements:De,defaultViewport:Ge,translateExtent:ue,minZoom:Z,maxZoom:ne,preventScrolling:be,zoomOnScroll:He,zoomOnPinch:et,zoomOnDoubleClick:xt,panOnScroll:qt,panOnScrollSpeed:Ft,panOnScrollMode:At,panOnDrag:xe,autoPanOnSelection:Zn,onPaneClick:Ue,onPaneMouseEnter:Qe,onPaneMouseMove:Ot,onPaneMouseLeave:Et,onPaneScroll:Rt,onPaneContextMenu:Ce,paneClickDistance:We,nodeClickDistance:mt,onSelectionContextMenu:D,onSelectionStart:F,onSelectionEnd:Q,onReconnect:st,onReconnectStart:gn,onReconnectEnd:ti,onEdgeContextMenu:Pt,onEdgeDoubleClick:wt,onEdgeMouseEnter:Ae,onEdgeMouseMove:it,onEdgeMouseLeave:Nt,reconnectRadius:Yt,defaultMarkerColor:je,noDragClassName:Ie,noWheelClassName:ft,noPanClassName:kt,rfId:Us,disableKeyboardA11y:lt,nodeExtent:V,viewport:Oi,onViewportChange:vi}),l.jsx(wRe,{onSelectionChange:B}),tn,l.jsx(bRe,{proOptions:gi,position:mi}),l.jsx(gRe,{rfId:Us,disableKeyboardA11y:lt})]})})}var KDe=qie(ZDe);const JDe=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function eIe({children:e}){const t=Xn(JDe);return t?zi.createPortal(e,t):null}function tIe(e){const[t,n]=m.useState(e),i=m.useCallback(r=>n(s=>zie(r,s)),[]);return[t,n,i]}function nIe(e){const[t,n]=m.useState(e),i=m.useCallback(r=>n(s=>Vie(r,s)),[]);return[t,n,i]}const iIe=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||!R$(n.userNode))return!1;return!0};function rIe(e={includeHiddenNodes:!1}){return Xn(iIe(e))}function sIe({dimensions:e,lineWidth:t,variant:n,className:i}){return l.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:us(["react-flow__background-pattern",n,i])})}function aIe({radius:e,className:t}){return l.jsx("circle",{cx:e,cy:e,r:e,className:us(["react-flow__background-pattern","dots",t])})}var ih;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ih||(ih={}));const oIe={[ih.Dots]:1,[ih.Lines]:1,[ih.Cross]:6},lIe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function gre({id:e,variant:t=ih.Dots,gap:n=20,size:i,lineWidth:r=1,offset:s=0,color:a,bgColor:o,style:c,className:u,patternClassName:d}){const f=m.useRef(null),{transform:h,patternId:p}=Xn(lIe,br),b=i||oIe[t],g=t===ih.Dots,O=t===ih.Cross,y=Array.isArray(n)?n:[n,n],v=[y[0]*h[2]||1,y[1]*h[2]||1],x=b*h[2],w=Array.isArray(s)?s:[s,s],E=O?[x,x]:v,S=[w[0]*h[2]||1+E[0]/2,w[1]*h[2]||1+E[1]/2],k=`${p}${e||""}`;return l.jsxs("svg",{className:us(["react-flow__background",u]),style:{...c,...UA,"--xy-background-color-props":o,"--xy-background-pattern-color-props":a},ref:f,"data-testid":"rf__background",children:[l.jsx("pattern",{id:k,x:h[0]%v[0],y:h[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`,children:g?l.jsx(aIe,{radius:x/2,className:d}):l.jsx(sIe,{dimensions:E,lineWidth:r,variant:t,className:d})}),l.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}gre.displayName="Background";const cIe=m.memo(gre);function uIe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:l.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function dIe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:l.jsx("path",{d:"M0 0h32v4.2H0z"})})}function fIe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:l.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 hIe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:l.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 pIe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:l.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 pS({children:e,className:t,...n}){return l.jsx("button",{type:"button",className:us(["react-flow__controls-button",t]),...n,children:e})}const mIe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function bre({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:s,onZoomOut:a,onFitView:o,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":p}){const b=Or(),{isInteractive:g,minZoomReached:O,maxZoomReached:y,ariaLabelConfig:v}=Xn(mIe,br),{zoomIn:x,zoomOut:w,fitView:E}=FA(),S=()=>{x(),s==null||s()},k=()=>{w(),a==null||a()},T=()=>{E(r),o==null||o()},C=()=>{b.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),c==null||c(!g)},A=h==="horizontal"?"horizontal":"vertical";return l.jsxs(BA,{className:us(["react-flow__controls",A,u]),position:f,style:e,"data-testid":"rf__controls","aria-label":p??v["controls.ariaLabel"],children:[t&&l.jsxs(l.Fragment,{children:[l.jsx(pS,{onClick:S,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:y,children:l.jsx(uIe,{})}),l.jsx(pS,{onClick:k,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:O,children:l.jsx(dIe,{})})]}),n&&l.jsx(pS,{className:"react-flow__controls-fitview",onClick:T,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:l.jsx(fIe,{})}),i&&l.jsx(pS,{className:"react-flow__controls-interactive",onClick:C,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:g?l.jsx(pIe,{}):l.jsx(hIe,{})}),d]})}bre.displayName="Controls";const gIe=m.memo(bre);function bIe({id:e,x:t,y:n,width:i,height:r,style:s,color:a,strokeColor:o,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:p}){const{background:b,backgroundColor:g}=s||{},O=a||b||g;return l.jsx("rect",{className:us(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:i,height:r,style:{fill:O,stroke:o,strokeWidth:c},shapeRendering:f,onClick:p?y=>p(y,e):void 0})}const OIe=m.memo(bIe),yIe=e=>e.nodes.map(t=>t.id),ij=e=>e instanceof Function?e:()=>e;function xIe({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:r,nodeComponent:s=OIe,onClick:a}){const o=Xn(yIe,br),c=ij(t),u=ij(e),d=ij(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return l.jsx(l.Fragment,{children:o.map(h=>l.jsx(wIe,{id:h,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:r,NodeComponent:s,onClick:a,shapeRendering:f},h))})}function vIe({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:r,nodeStrokeWidth:s,shapeRendering:a,NodeComponent:o,onClick:c}){const{node:u,x:d,y:f,width:h,height:p}=Xn(b=>{const g=b.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const O=g.internals.userNode,{x:y,y:v}=g.internals.positionAbsolute,{width:x,height:w}=Ud(O);return{node:O,x:y,y:v,width:x,height:w}},br);return!u||u.hidden||!R$(u)?null:l.jsx(o,{x:d,y:f,width:h,height:p,style:u.style,selected:!!u.selected,className:i(u),color:t(u),borderRadius:r,strokeColor:n(u),strokeWidth:s,shapeRendering:a,onClick:c,id:u.id})}const wIe=m.memo(vIe);var SIe=m.memo(xIe);const EIe=200,kIe=150,TIe=e=>!e.hidden,_Ie=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?fie(kv(e.nodeLookup,{filter:TIe}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},AIe="react-flow__minimap-desc";function Ore({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:a,nodeComponent:o,bgColor:c,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:p,onNodeClick:b,pannable:g=!1,zoomable:O=!1,ariaLabel:y,inversePan:v,zoomStep:x=1,offsetScale:w=5}){const E=Or(),S=m.useRef(null),{boundingRect:k,viewBB:T,rfId:C,panZoom:A,translateExtent:R,flowWidth:P,flowHeight:B,ariaLabelConfig:I}=Xn(_Ie,br),$=(e==null?void 0:e.width)??EIe,j=(e==null?void 0:e.height)??kIe,D=k.width/$,F=k.height/j,Q=Math.max(D,F),M=Q*$,G=Q*j,H=w*Q,U=k.x-(M-k.width)/2-H,q=k.y-(G-k.height)/2-H,ie=M+H*2,fe=G+H*2,me=`${AIe}-${C}`,ce=m.useRef(0),K=m.useRef();ce.current=Q,m.useEffect(()=>{if(S.current&&A)return K.current=Eje({domNode:S.current,panZoom:A,getTransform:()=>E.getState().transform,getViewScale:()=>ce.current}),()=>{var Re;(Re=K.current)==null||Re.destroy()}},[A]),m.useEffect(()=>{var Re;(Re=K.current)==null||Re.update({translateExtent:R,width:P,height:B,inversePan:v,pannable:g,zoomStep:x,zoomable:O})},[g,O,v,x,R,P,B]);const ee=p?Re=>{var he;const[Pe,De]=((he=K.current)==null?void 0:he.pointer(Re))||[0,0];p(Re,{x:Pe,y:De})}:void 0,ye=b?m.useCallback((Re,Pe)=>{const De=E.getState().nodeLookup.get(Pe).internals.userNode;b(Re,De)},[]):void 0,ve=y??I["minimap.ariaLabel"];return l.jsx(BA,{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*Q:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:us(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:l.jsxs("svg",{width:$,height:j,viewBox:`${U} ${q} ${ie} ${fe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":me,ref:S,onClick:ee,children:[ve&&l.jsx("title",{id:me,children:ve}),l.jsx(SIe,{onClick:ye,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:r,nodeStrokeWidth:a,nodeComponent:o}),l.jsx("path",{className:"react-flow__minimap-mask",d:`M${U-H},${q-H}h${ie+H*2}v${fe+H*2}h${-ie-H*2}z - M${T.x},${T.y}h${T.width}v${T.height}h${-T.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Ore.displayName="MiniMap";m.memo(Ore);const CIe=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,NIe={[ab.Line]:"right",[ab.Handle]:"bottom-right"};function jIe({nodeId:e,position:t,variant:n=ab.Handle,className:i,style:r=void 0,children:s,color:a,minWidth:o=10,minHeight:c=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:p=!0,shouldResize:b,onResizeStart:g,onResize:O,onResizeEnd:y}){const v=Gie(),x=typeof e=="string"?e:v,w=Or(),E=m.useRef(null),S=n===ab.Handle,k=Xn(m.useCallback(CIe(S&&p),[S,p]),br),T=m.useRef(null),C=t??NIe[n];m.useEffect(()=>{if(!(!E.current||!x))return T.current||(T.current=Lje({domNode:E.current,nodeId:x,getStoreItems:()=>{const{nodeLookup:R,transform:P,snapGrid:B,snapToGrid:I,nodeOrigin:$,domNode:j}=w.getState();return{nodeLookup:R,transform:P,snapGrid:B,snapToGrid:I,nodeOrigin:$,paneDomNode:j}},onChange:(R,P)=>{const{triggerNodeChanges:B,nodeLookup:I,parentLookup:$,nodeOrigin:j}=w.getState(),D=[],F={x:R.x,y:R.y},Q=I.get(x);if(Q&&Q.expandParent&&Q.parentId){const M=Q.origin??j,G=R.width??Q.measured.width??0,H=R.height??Q.measured.height??0,U={id:Q.id,parentId:Q.parentId,rect:{width:G,height:H,...pie({x:R.x??Q.position.x,y:R.y??Q.position.y},{width:G,height:H},Q.parentId,I,M)}},q=$$([U],I,$,j);D.push(...q),F.x=R.x?Math.max(M[0]*G,R.x):void 0,F.y=R.y?Math.max(M[1]*H,R.y):void 0}if(F.x!==void 0&&F.y!==void 0){const M={id:x,type:"position",position:{...F}};D.push(M)}if(R.width!==void 0&&R.height!==void 0){const G={id:x,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:R.width,height:R.height}};D.push(G)}for(const M of P){const G={...M,type:"position"};D.push(G)}B(D)},onEnd:({width:R,height:P})=>{const B={id:x,type:"dimensions",resizing:!1,dimensions:{width:R,height:P}};w.getState().triggerNodeChanges([B])}})),T.current.update({controlPosition:C,boundaries:{minWidth:o,minHeight:c,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:O,onResizeEnd:y,shouldResize:b}),()=>{var R;(R=T.current)==null||R.destroy()}},[C,o,c,u,d,f,g,O,y,b]);const A=C.split("-");return l.jsx("div",{className:us(["react-flow__resize-control","nodrag",...A,n,i]),ref:E,style:{...r,scale:k,...a&&{[S?"backgroundColor":"borderColor"]:a}},children:s})}m.memo(jIe);var yre=Object.defineProperty,RIe=(e,t,n)=>t in e?yre(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DIe=(e,t)=>{for(var n in t)yre(e,n,{get:t[n],enumerable:!0})},IIe=(e,t,n)=>RIe(e,t+"",n),xre={};DIe(xre,{Graph:()=>Rl,alg:()=>B$,json:()=>wre,version:()=>LIe});var PIe=Object.defineProperty,vre=(e,t)=>{for(var n in t)PIe(e,n,{get:t[n],enumerable:!0})},Rl=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,n){return t.forEach(i=>{n!==void 0?this.setNode(i,n):this.setNode(i)}),this}setNode(t,n){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let n=i=>this.removeEdge(this._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(i=>{this.setParent(i)}),delete this._children[t]),Object.keys(this._in[t]).forEach(n),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(n===void 0)n="\0";else{n+="";for(let i=n;i!==void 0;i=this.parent(i))if(i===t)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this}parent(t){if(this._isCompound){let n=this._parent[t];if(n!=="\0")return n}}children(t="\0"){if(this._isCompound){let n=this._children[t];if(n)return Object.keys(n)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let n=this._preds[t];if(n)return Object.keys(n)}successors(t){let n=this._sucs[t];if(n)return Object.keys(n)}neighbors(t){let n=this.predecessors(t);if(n){let i=new Set(n);for(let r of this.successors(t))i.add(r);return Array.from(i.values())}}isLeaf(t){let n;return this.isDirected()?n=this.successors(t):n=this.neighbors(t),n.length===0}filterNodes(t){let n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),Object.entries(this._nodes).forEach(([s,a])=>{t(s)&&n.setNode(s,a)}),Object.values(this._edgeObjs).forEach(s=>{n.hasNode(s.v)&&n.hasNode(s.w)&&n.setEdge(s,this.edge(s))});let i={},r=s=>{let a=this.parent(s);return!a||n.hasNode(a)?(i[s]=a??void 0,a??void 0):a in i?i[a]:r(a)};return this._isCompound&&n.nodes().forEach(s=>n.setParent(s,r(s))),n}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,n){return t.reduce((i,r)=>(n!==void 0?this.setEdge(i,r,n):this.setEdge(i,r),r)),this}setEdge(t,n,i,r){let s,a,o,c,u=!1;typeof t=="object"&&t!==null&&"v"in t?(s=t.v,a=t.w,o=t.name,arguments.length===2&&(c=n,u=!0)):(s=t,a=n,o=r,arguments.length>2&&(c=i,u=!0)),s=""+s,a=""+a,o!==void 0&&(o=""+o);let d=_y(this._isDirected,s,a,o);if(d in this._edgeLabels)return u&&(this._edgeLabels[d]=c),this;if(o!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(a),this._edgeLabels[d]=u?c:this._defaultEdgeLabelFn(s,a,o);let f=MIe(this._isDirected,s,a,o);return s=f.v,a=f.w,Object.freeze(f),this._edgeObjs[d]=f,uU(this._preds[a],s),uU(this._sucs[s],a),this._in[a][d]=f,this._out[s][d]=f,this._edgeCount++,this}edge(t,n,i){let r=arguments.length===1?rj(this._isDirected,t):_y(this._isDirected,t,n,i);return this._edgeLabels[r]}edgeAsObj(t,n,i){let r=arguments.length===1?this.edge(t):this.edge(t,n,i);return typeof r!="object"?{label:r}:r}hasEdge(t,n,i){return(arguments.length===1?rj(this._isDirected,t):_y(this._isDirected,t,n,i))in this._edgeLabels}removeEdge(t,n,i){let r=arguments.length===1?rj(this._isDirected,t):_y(this._isDirected,t,n,i),s=this._edgeObjs[r];if(s){let a=s.v,o=s.w;delete this._edgeLabels[r],delete this._edgeObjs[r],dU(this._preds[o],a),dU(this._sucs[a],o),delete this._in[o][r],delete this._out[a][r],this._edgeCount--}return this}inEdges(t,n){return this.isDirected()?this.filterEdges(this._in[t],t,n):this.nodeEdges(t,n)}outEdges(t,n){return this.isDirected()?this.filterEdges(this._out[t],t,n):this.nodeEdges(t,n)}nodeEdges(t,n){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,n)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,n,i){if(!t)return;let r=Object.values(t);return i?r.filter(s=>s.v===n&&s.w===i||s.v===i&&s.w===n):r}};function uU(e,t){e[t]?e[t]++:e[t]=1}function dU(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function _y(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let a=r;r=s,s=a}return r+""+s+""+(i===void 0?"\0":i)}function MIe(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let o=r;r=s,s=o}let a={v:r,w:s};return i&&(a.name=i),a}function rj(e,t){return _y(e,t.v,t.w,t.name)}var LIe="4.0.1",wre={};vre(wre,{read:()=>FIe,write:()=>$Ie});function $Ie(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:QIe(e),edges:BIe(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function QIe(e){return e.nodes().map(t=>{let n=e.node(t),i=e.parent(t),r={v:t};return n!==void 0&&(r.value=n),i!==void 0&&(r.parent=i),r})}function BIe(e){return e.edges().map(t=>{let n=e.edge(t),i={v:t.v,w:t.w};return t.name!==void 0&&(i.name=t.name),n!==void 0&&(i.value=n),i})}function FIe(e){let t=new Rl(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 B$={};vre(B$,{CycleException:()=>jT,bellmanFord:()=>Sre,components:()=>VIe,dijkstra:()=>NT,dijkstraAll:()=>HIe,findCycles:()=>YIe,floydWarshall:()=>WIe,isAcyclic:()=>KIe,postorder:()=>ePe,preorder:()=>tPe,prim:()=>nPe,shortestPaths:()=>iPe,tarjan:()=>kre,topsort:()=>Tre});var UIe=()=>1;function Sre(e,t,n,i){return zIe(e,String(t),n||UIe,i||function(r){return e.outEdges(r)})}function zIe(e,t,n,i){let r={},s,a=0,o=e.nodes(),c=function(f){let h=n(f);r[f.v].distance+he.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,i=String(e);if(!(i in n)){let r=this._arr,s=r.length;return n[i]=s,r.push({key:i,priority:t}),this._decrease(s),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let i=this._arr[n].priority;if(t>i)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${i} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,i=n+1,r=e;n>1,!(t[i].priority1;function NT(e,t,n,i){let r=function(s){return e.outEdges(s)};return XIe(e,String(t),n||qIe,i||r)}function XIe(e,t,n,i){let r={},s=new Ere,a,o,c=function(u){let d=u.v!==a?u.v:u.w,f=r[d],h=n(u),p=o.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);p0&&(a=s.removeMin(),o=r[a],o.distance!==Number.POSITIVE_INFINITY);)i(a).forEach(c);return r}function HIe(e,t,n){return e.nodes().reduce(function(i,r){return i[r]=NT(e,r,t,n),i},{})}function kre(e){let t=0,n=[],i={},r=[];function s(a){let o=i[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(c){c in i?i[c].onStack&&(o.lowlink=Math.min(o.lowlink,i[c].index)):(s(c),o.lowlink=Math.min(o.lowlink,i[c].lowlink))}),o.lowlink===o.index){let c=[],u;do u=n.pop(),i[u].onStack=!1,c.push(u);while(a!==u);r.push(c)}}return e.nodes().forEach(function(a){a in i||s(a)}),r}function YIe(e){return kre(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var GIe=()=>1;function WIe(e,t,n){return ZIe(e,t||GIe,n||function(i){return e.outEdges(i)})}function ZIe(e,t,n){let i={},r=e.nodes();return r.forEach(function(s){i[s]={},i[s][s]={distance:0,predecessor:""},r.forEach(function(a){s!==a&&(i[s][a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(s).forEach(function(a){let o=a.v===s?a.w:a.v,c=t(a);i[s][o]={distance:c,predecessor:s}})}),r.forEach(function(s){let a=i[s];r.forEach(function(o){let c=i[o];r.forEach(function(u){let d=c[s],f=a[u],h=c[u],p=d.distance+f.distance;p{var c;return(c=e.isDirected()?e.successors(o):e.neighbors(o))!=null?c:[]},a={};return t.forEach(function(o){if(!e.hasNode(o))throw new Error("Graph does not have node: "+o);r=_re(e,o,n==="post",a,s,i,r)}),r}function _re(e,t,n,i,r,s,a){return t in i||(i[t]=!0,n||(a=s(a,t)),r(t).forEach(function(o){a=_re(e,o,n,i,r,s,a)}),n&&(a=s(a,t))),a}function Are(e,t,n){return JIe(e,t,n,function(i,r){return i.push(r),i},[])}function ePe(e,t){return Are(e,t,"post")}function tPe(e,t){return Are(e,t,"pre")}function nPe(e,t){let n=new Rl,i={},r=new Ere,s;function a(c){let u=c.v===s?c.w:c.v,d=r.priority(u);if(d!==void 0){let f=t(c);f0;){if(s=r.removeMin(),s in i)n.setEdge(s,i[s]);else{if(o)throw new Error("Input graph is not connected: "+e);o=!0}e.nodeEdges(s).forEach(a)}return n}function iPe(e,t,n,i){return rPe(e,t,n,i??(r=>{let s=e.outEdges(r);return s??[]}))}function rPe(e,t,n,i){if(n===void 0)return NT(e,t,n,i);let r=!1,s=e.nodes();for(let a=0;at.setNode(n,e.node(n))),e.edges().forEach(n=>{let i=t.edge(n.v,n.w)||{weight:0,minlen:1},r=e.edge(n);t.setEdge(n.v,n.w,{weight:i.weight+r.weight,minlen:Math.max(i.minlen,r.minlen)})}),t}function Cre(e){let t=new Rl({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 fU(e,t){let n=e.x,i=e.y,r=t.x-n,s=t.y-i,a=e.width/2,o=e.height/2;if(!r&&!s)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(s)*a>Math.abs(r)*o?(s<0&&(o=-o),c=o*r/s,u=o):(r<0&&(a=-a),c=a,u=a*s/r),{x:n+c,y:i+u}}function Av(e){let t=h1(jre(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let i=e.node(n),r=i.rank;r!==void 0&&(t[r]||(t[r]=[]),t[r][i.order]=n)}),t}function aPe(e){let t=e.nodes().map(i=>{let r=e.node(i).rank;return r===void 0?Number.MAX_VALUE:r}),n=Kc(Math.min,t);e.nodes().forEach(i=>{let r=e.node(i);Object.hasOwn(r,"rank")&&(r.rank-=n)})}function oPe(e){let t=e.nodes().map(a=>e.node(a).rank).filter(a=>a!==void 0),n=Kc(Math.min,t),i=[];e.nodes().forEach(a=>{let o=e.node(a).rank-n;i[o]||(i[o]=[]),i[o].push(a)});let r=0,s=e.graph().nodeRankFactor;Array.from(i).forEach((a,o)=>{a===void 0&&o%s!==0?--r:a!==void 0&&r&&a.forEach(c=>e.node(c).rank+=r)})}function hU(e,t,n,i){let r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=i),qb(e,"border",r,t)}function lPe(e,t=Nre){let n=[];for(let i=0;iNre){let n=lPe(t);return e(...n.map(i=>e(...i)))}else return e(...t)}function jre(e){let t=e.nodes().map(n=>{let i=e.node(n).rank;return i===void 0?Number.MIN_VALUE:i});return Kc(Math.max,t)}function cPe(e,t){let n={lhs:[],rhs:[]};return e.forEach(i=>{t(i)?n.lhs.push(i):n.rhs.push(i)}),n}function Rre(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function Dre(e,t){return t()}var uPe=0;function F$(e){let t=++uPe;return e+(""+t)}function h1(e,t,n=1){t==null&&(t=e,e=0);let i=s=>sti[t]:n=t,Object.entries(e).reduce((i,[r,s])=>(i[r]=n(s,r),i),{})}function dPe(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}var VA="\0",fPe="3.0.0",hPe=class{constructor(){IIe(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return pU(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&pU(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,pPe)),n=n._prev;return"["+e.join(", ")+"]"}};function pU(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function pPe(e,t){if(e!=="_next"&&e!=="_prev")return t}var mPe=hPe,gPe=()=>1;function bPe(e,t){if(e.nodeCount()<=1)return[];let n=yPe(e,t||gPe);return OPe(n.graph,n.buckets,n.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w)||[])}function OPe(e,t,n){var i;let r=[],s=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)sj(e,t,n,o);for(;o=s.dequeue();)sj(e,t,n,o);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(o=(i=t[c])==null?void 0:i.dequeue(),o){r=r.concat(sj(e,t,n,o,!0)||[]);break}}}return r}function sj(e,t,n,i,r){let s=[],a=r?s:void 0;return(e.inEdges(i.v)||[]).forEach(o=>{let c=e.edge(o),u=e.node(o.v);r&&s.push({v:o.v,w:o.w}),u.out-=c,IP(t,n,u)}),(e.outEdges(i.v)||[]).forEach(o=>{let c=e.edge(o),u=o.w,d=e.node(u);d.in-=c,IP(t,n,d)}),e.removeNode(i.v),a}function yPe(e,t){let n=new Rl,i=0,r=0;e.nodes().forEach(o=>{n.setNode(o,{v:o,in:0,out:0})}),e.edges().forEach(o=>{let c=n.edge(o.v,o.w)||0,u=t(o),d=c+u;n.setEdge(o.v,o.w,d);let f=n.node(o.v),h=n.node(o.w);r=Math.max(r,f.out+=u),i=Math.max(i,h.in+=u)});let s=xPe(r+i+3).map(()=>new mPe),a=i+1;return n.nodes().forEach(o=>{IP(s,a,n.node(o))}),{graph:n,buckets:s,zeroIdx:a}}function IP(e,t,n){var i,r,s;n.out?n.in?(s=e[n.out-n.in+t])==null||s.enqueue(n):(r=e[e.length-1])==null||r.enqueue(n):(i=e[0])==null||i.enqueue(n)}function xPe(e){let t=[];for(let n=0;n{let i=e.edge(n);e.removeEdge(n),i.forwardName=n.name,i.reversed=!0,e.setEdge(n.w,n.v,i,F$("rev"))});function t(n){return i=>n.edge(i).weight}}function wPe(e){let t=[],n={},i={};function r(s){Object.hasOwn(i,s)||(i[s]=!0,n[s]=!0,e.outEdges(s).forEach(a=>{Object.hasOwn(n,a.w)?t.push(a):r(a.w)}),delete n[s])}return e.nodes().forEach(r),t}function SPe(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let i=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,i)}})}function EPe(e){e.graph().dummyChains=[],e.edges().forEach(t=>kPe(e,t))}function kPe(e,t){let n=t.v,i=e.node(n).rank,r=t.w,s=e.node(r).rank,a=t.name,o=e.edge(t),c=o.labelRank;if(s===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i{let n=e.node(t),i=n.edgeLabel,r;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}function U$(e){let t={};function n(i){let r=e.node(i);if(Object.hasOwn(t,i))return r.rank;t[i]=!0;let s=e.outEdges(i),a=s?s.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],o=Kc(Math.min,a);return o===Number.POSITIVE_INFINITY&&(o=0),r.rank=o}e.sources().forEach(n)}function lb(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Ire=_Pe;function _Pe(e){let t=new Rl({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let i=n[0],r=e.nodeCount();t.setNode(i,{});let s,a;for(;APe(t,e){let a=s.v,o=i===a?s.w:a;!e.hasNode(o)&&!lb(t,s)&&(e.setNode(o,{}),e.setEdge(i,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function CPe(e,t){return t.edges().reduce((n,i)=>{let r=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(r=lb(t,i)),rt.node(i).rank+=n)}var{preorder:jPe,postorder:RPe}=B$,DPe=Tm;Tm.initLowLimValues=V$;Tm.initCutValues=z$;Tm.calcCutValue=Pre;Tm.leaveEdge=Lre;Tm.enterEdge=$re;Tm.exchangeEdges=Qre;function Tm(e){e=sPe(e),U$(e);let t=Ire(e);V$(t),z$(t,e);let n,i;for(;n=Lre(t);)i=$re(t,e,n),Qre(t,e,n,i)}function z$(e,t){let n=RPe(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(i=>IPe(e,t,i))}function IPe(e,t,n){let i=e.node(n).parent,r=e.edge(n,i);r.cutvalue=Pre(e,t,n)}function Pre(e,t,n){let i=e.node(n).parent,r=!0,s=t.edge(n,i),a=0;s||(r=!1,s=t.edge(i,n)),a=s.weight;let o=t.nodeEdges(n);return o&&o.forEach(c=>{let u=c.v===n,d=u?c.w:c.v;if(d!==i){let f=u===r,h=t.edge(c).weight;if(a+=f?h:-h,MPe(e,n,d)){let p=e.edge(n,d).cutvalue;a+=f?-p:p}}}),a}function V$(e,t){arguments.length<2&&(t=e.nodes()[0]),Mre(e,{},1,t)}function Mre(e,t,n,i,r){let s=n,a=e.node(i);t[i]=!0;let o=e.neighbors(i);return o&&o.forEach(c=>{Object.hasOwn(t,c)||(n=Mre(e,t,n,c,i))}),a.low=s,a.lim=n++,r?a.parent=r:delete a.parent,n}function Lre(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function $re(e,t,n){let i=n.v,r=n.w;t.hasEdge(i,r)||(i=n.w,r=n.v);let s=e.node(i),a=e.node(r),o=s,c=!1;return s.lim>a.lim&&(o=a,c=!0),t.edges().filter(u=>c===mU(e,e.node(u.v),o)&&c!==mU(e,e.node(u.w),o)).reduce((u,d)=>lb(t,d)!e.node(r).parent);if(!n)return;let i=jPe(e,[n]);i=i.slice(1),i.forEach(r=>{let s=e.node(r).parent,a=t.edge(r,s),o=!1;a||(a=t.edge(s,r),o=!0),t.node(r).rank=t.node(s).rank+(o?a.minlen:-a.minlen)})}function MPe(e,t,n){return e.hasEdge(t,n)}function mU(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var LPe=$Pe;function $Pe(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":gU(e);break;case"tight-tree":BPe(e);break;case"longest-path":QPe(e);break;case"none":break;default:gU(e)}}var QPe=U$;function BPe(e){U$(e),Ire(e)}function gU(e){DPe(e)}var FPe=UPe;function UPe(e){let t=VPe(e);e.graph().dummyChains.forEach(n=>{let i=e.node(n),r=i.edgeObj,s=zPe(e,t,r.v,r.w),a=s.path,o=s.lca,c=0,u=a[c],d=!0;for(;n!==r.w;){if(i=e.node(n),d){for(;(u=a[c])!==o&&e.node(u).maxRanka||o>t[c].lim));let u=c,d=i;for(;(d=e.parent(d))!==u;)s.push(d);return{path:r.concat(s.reverse()),lca:u}}function VPe(e){let t={},n=0;function i(r){let s=n;e.children(r).forEach(i),t[r]={low:s,lim:n++}}return e.children(VA).forEach(i),t}function qPe(e){let t=qb(e,"root",{},"_root"),n=XPe(e),i=Object.values(n),r=Kc(Math.max,i)-1,s=2*r+1;e.graph().nestingRoot=t,e.edges().forEach(o=>e.edge(o).minlen*=s);let a=HPe(e)+1;e.children(VA).forEach(o=>Bre(e,t,s,a,r,n,o)),e.graph().nodeRankFactor=s}function Bre(e,t,n,i,r,s,a){var o;let c=e.children(a);if(!c.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}let u=hU(e,"_bt"),d=hU(e,"_bb"),f=e.node(a);e.setParent(u,a),f.borderTop=u,e.setParent(d,a),f.borderBottom=d,c.forEach(h=>{var p;Bre(e,t,n,i,r,s,h);let b=e.node(h),g=b.borderTop?b.borderTop:h,O=b.borderBottom?b.borderBottom:h,y=b.borderTop?i:2*i,v=g!==O?1:r-((p=s[a])!=null?p:0)+1;e.setEdge(u,g,{weight:y,minlen:v,nestingEdge:!0}),e.setEdge(O,d,{weight:y,minlen:v,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,u,{weight:0,minlen:r+((o=s[a])!=null?o:0)})}function XPe(e){let t={};function n(i,r){let s=e.children(i);s&&s.length&&s.forEach(a=>n(a,r+1)),t[i]=r}return e.children(VA).forEach(i=>n(i,1)),t}function HPe(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function YPe(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var GPe=WPe;function WPe(e){function t(n){let i=e.children(n),r=e.node(n);if(i.length&&i.forEach(t),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let s=r.minRank,a=r.maxRank+1;sOU(e.node(t))),e.edges().forEach(t=>OU(e.edge(t)))}function OU(e){let t=e.width;e.width=e.height,e.height=t}function JPe(e){e.nodes().forEach(t=>aj(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(aj),Object.hasOwn(i,"y")&&aj(i)})}function aj(e){e.y=-e.y}function eMe(e){e.nodes().forEach(t=>oj(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(oj),Object.hasOwn(i,"x")&&oj(i)})}function oj(e){let t=e.x;e.x=e.y,e.y=t}function tMe(e){let t={},n=e.nodes().filter(o=>!e.children(o).length),i=n.map(o=>e.node(o).rank),r=Kc(Math.max,i),s=h1(r+1).map(()=>[]);function a(o){if(t[o])return;t[o]=!0;let c=e.node(o);s[c.rank].push(o);let u=e.successors(o);u&&u.forEach(a)}return n.sort((o,c)=>e.node(o).rank-e.node(c).rank).forEach(a),s}function nMe(e,t){let n=0;for(let i=1;id)),r=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:i[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),s=1;for(;s{let d=u.pos+s;o[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=o[d+1]),d=d-1>>1,o[d]+=u.weight;c+=u.weight*f}),c}function rMe(e,t=[]){return t.map(n=>{let i=e.inEdges(n);if(!i||!i.length)return{v:n};{let r=i.reduce((s,a)=>{let o=e.edge(a),c=e.node(a.v);return{sum:s.sum+o.weight*c.order,weight:s.weight+o.weight}},{sum:0,weight:0});return{v:n,barycenter:r.sum/r.weight,weight:r.weight}}})}function sMe(e,t){let n={};e.forEach((r,s)=>{let a={indegree:0,in:[],out:[],vs:[r.v],i:s};r.barycenter!==void 0&&(a.barycenter=r.barycenter,a.weight=r.weight),n[r.v]=a}),t.edges().forEach(r=>{let s=n[r.v],a=n[r.w];s!==void 0&&a!==void 0&&(a.indegree++,s.out.push(a))});let i=Object.values(n).filter(r=>!r.indegree);return aMe(i)}function aMe(e){let t=[];function n(r){return s=>{s.merged||(s.barycenter===void 0||r.barycenter===void 0||s.barycenter>=r.barycenter)&&oMe(r,s)}}function i(r){return s=>{s.in.push(r),--s.indegree===0&&e.push(s)}}for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(n(r)),r.out.forEach(i(r))}return t.filter(r=>!r.merged).map(r=>RT(r,["vs","i","barycenter","weight"]))}function oMe(e,t){let n=0,i=0;e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/i,e.weight=i,e.i=Math.min(t.i,e.i),t.merged=!0}function lMe(e,t){let n=cPe(e,d=>Object.hasOwn(d,"barycenter")),i=n.lhs,r=n.rhs.sort((d,f)=>f.i-d.i),s=[],a=0,o=0,c=0;i.sort(cMe(!!t)),c=yU(s,r,c),i.forEach(d=>{c+=d.vs.length,s.push(d.vs),a+=d.barycenter*d.weight,o+=d.weight,c=yU(s,r,c)});let u={vs:s.flat(1)};return o&&(u.barycenter=a/o,u.weight=o),u}function yU(e,t,n){let i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),e.push(i.vs),n++;return n}function cMe(e){return(t,n)=>t.barycentern.barycenter?1:e?n.i-t.i:t.i-n.i}function Ure(e,t,n,i){let r=e.children(t),s=e.node(t),a=s?s.borderLeft:void 0,o=s?s.borderRight:void 0,c={};a&&(r=r.filter(h=>h!==a&&h!==o));let u=rMe(e,r);u.forEach(h=>{if(e.children(h.v).length){let p=Ure(e,h.v,n,i);c[h.v]=p,Object.hasOwn(p,"barycenter")&&dMe(h,p)}});let d=sMe(u,n);uMe(d,c);let f=lMe(d,i);if(a&&o){f.vs=[a,f.vs,o].flat(1);let h=e.predecessors(a);if(h&&h.length){let p=e.node(h[0]),b=e.predecessors(o),g=e.node(b[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+g.order)/(f.weight+2),f.weight+=2}}return f}function uMe(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(i=>t[i]?t[i].vs:i)})}function dMe(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 fMe(e,t,n,i){i||(i=e.nodes());let r=hMe(e),s=new Rl({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return i.forEach(a=>{let o=e.node(a),c=e.parent(a);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(a),s.setParent(a,c||r);let u=e[n](a);u&&u.forEach(d=>{let f=d.v===a?d.w:d.v,h=s.edge(f,a),p=h!==void 0?h.weight:0;s.setEdge(f,a,{weight:e.edge(d).weight+p})}),Object.hasOwn(o,"minRank")&&s.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),s}function hMe(e){let t;for(;e.hasNode(t=F$("_root")););return t}function pMe(e,t,n){let i={},r;n.forEach(s=>{let a=e.parent(s),o,c;for(;a;){if(o=e.parent(a),o?(c=i[o],i[o]=a):(c=r,r=a),c&&c!==a){t.setEdge(c,a);return}a=o}})}function zre(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,zre);return}let n=jre(e),i=xU(e,h1(1,n+1),"inEdges"),r=xU(e,h1(n-1,-1,-1),"outEdges"),s=tMe(e);if(vU(e,s),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,o,c=t.constraints||[];for(let u=0,d=0;d<4;++u,++d){mMe(u%2?i:r,u%4>=2,c),s=Av(e);let f=nMe(e,s);f{i.has(s)||i.set(s,[]),i.get(s).push(a)};for(let s of e.nodes()){let a=e.node(s);if(typeof a.rank=="number"&&r(a.rank,s),typeof a.minRank=="number"&&typeof a.maxRank=="number")for(let o=a.minRank;o<=a.maxRank;o++)o!==a.rank&&r(o,s)}return t.map(function(s){return fMe(e,s,n,i.get(s)||[])})}function mMe(e,t,n){let i=new Rl;e.forEach(function(r){n.forEach(o=>i.setEdge(o.left,o.right));let s=r.graph().root,a=Ure(r,s,i,t);a.vs.forEach((o,c)=>r.node(o).order=c),pMe(r,i,a.vs)})}function vU(e,t){Object.values(t).forEach(n=>n.forEach((i,r)=>e.node(i).order=r))}function gMe(e,t){let n={};function i(r,s){let a=0,o=0,c=r.length,u=s[s.length-1];return s.forEach((d,f)=>{let h=OMe(e,d),p=h?e.node(h).order:c;(h||d===u)&&(s.slice(o,f+1).forEach(b=>{let g=e.predecessors(b);g&&g.forEach(O=>{let y=e.node(O),v=y.order;(v{let f=s[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(p=>{if(p===void 0)return;let b=e.node(p);b.dummy&&(b.orderu)&&Vre(n,p,f)})}})}function r(s,a){let o=-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 p=h[0];if(p===void 0)return;c=e.node(p).order,i(a,u,f,o,c),u=f,o=c}}i(a,u,a.length,c,s.length)}),a}return t.length&&t.reduce(r),n}function OMe(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(i=>e.node(i).dummy)}}function Vre(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];i||(e[t]=i={}),i[n]=!0}function yMe(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];return i!==void 0&&Object.hasOwn(i,n)}function xMe(e,t,n,i){let r={},s={},a={};return t.forEach(o=>{o.forEach((c,u)=>{r[c]=c,s[c]=c,a[c]=u})}),t.forEach(o=>{let c=-1;o.forEach(u=>{let d=i(u);if(d&&d.length){let f=d.sort((p,b)=>{let g=a[p],O=a[b];return(g!==void 0?g:0)-(O!==void 0?O:0)}),h=(f.length-1)/2;for(let p=Math.floor(h),b=Math.ceil(h);p<=b;++p){let g=f[p];if(g===void 0)continue;let O=a[g];if(O!==void 0&&s[u]===u&&c{var y;let v=(y=s[O.v])!=null?y:0,x=a.edge(O);return Math.max(g,v+(x!==void 0?x:0))},0):s[p]=0}function d(p){let b=a.outEdges(p),g=Number.POSITIVE_INFINITY;b&&(g=b.reduce((y,v)=>{let x=s[v.w],w=a.edge(v);return Math.min(y,(x!==void 0?x:0)-(w!==void 0?w:0))},Number.POSITIVE_INFINITY));let O=e.node(p);g!==Number.POSITIVE_INFINITY&&O.borderType!==o&&(s[p]=Math.max(s[p]!==void 0?s[p]:0,g))}function f(p){return a.predecessors(p)||[]}function h(p){return a.successors(p)||[]}return c(u,f),c(d,h),Object.keys(i).forEach(p=>{var b;let g=n[p];g!==void 0&&(s[p]=(b=s[g])!=null?b:0)}),s}function wMe(e,t,n,i){let r=new Rl,s=e.graph(),a=_Me(s.nodesep,s.edgesep,i);return t.forEach(o=>{let c;o.forEach(u=>{let d=n[u];if(d!==void 0){if(r.setNode(d),c!==void 0){let f=n[c];if(f!==void 0){let h=r.edge(f,d);r.setEdge(f,d,Math.max(a(e,u,c),h||0))}}c=u}})}),r}function SMe(e,t){return Object.values(t).reduce((n,i)=>{let r=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY;Object.entries(i).forEach(([o,c])=>{let u=AMe(e,o)/2;r=Math.max(c+u,r),s=Math.min(c-u,s)});let a=r-s;return a{["l","r"].forEach(a=>{let o=s+a,c=e[o];if(!c||c===t)return;let u=Object.values(c),d=i-Kc(Math.min,u);a!=="l"&&(d=r-Kc(Math.max,u)),d&&(e[o]=zA(c,f=>f+d))})})}function kMe(e,t=void 0){let n=e.ul;return n?zA(n,(i,r)=>{var s,a;if(t){let c=t.toLowerCase(),u=e[c];if(u&&u[r]!==void 0)return u[r]}let o=Object.values(e).map(c=>{let u=c[r];return u!==void 0?u:0}).sort((c,u)=>c-u);return(((s=o[1])!=null?s:0)+((a=o[2])!=null?a:0))/2}):{}}function TMe(e){let t=Av(e),n=Object.assign(gMe(e,t),bMe(e,t)),i={},r;["u","d"].forEach(a=>{r=a==="u"?t:Object.values(t).reverse(),["l","r"].forEach(o=>{o==="r"&&(r=r.map(d=>Object.values(d).reverse()));let c=xMe(e,r,n,d=>(a==="u"?e.predecessors(d):e.successors(d))||[]),u=vMe(e,r,c.root,c.align,o==="r");o==="r"&&(u=zA(u,d=>-d)),i[a+o]=u})});let s=SMe(e,i);return EMe(i,s),kMe(i,e.graph().align)}function _Me(e,t,n){return(i,r,s)=>{let a=i.node(r),o=i.node(s),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+=(o.dummy?t:e)/2,c+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=o.width/2;break;case"r":u=-o.width/2;break}return u&&(c+=n?u:-u),c}}function AMe(e,t){return e.node(t).width}function CMe(e){e=Cre(e),NMe(e),Object.entries(TMe(e)).forEach(([t,n])=>e.node(t).x=n)}function NMe(e){let t=Av(e),n=e.graph(),i=n.ranksep,r=n.rankalign,s=0;t.forEach(a=>{let o=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);r==="top"?u.y=s+u.height/2:r==="bottom"?u.y=s+o-u.height/2:u.y=s+o/2}),s+=o+i})}function jMe(e,t={}){let n=t.debugTiming?Rre:Dre;return n("layout",()=>{let i=n(" buildLayoutGraph",()=>FMe(e));return n(" runLayout",()=>RMe(i,n,t)),n(" updateInputGraph",()=>DMe(e,i)),i})}function RMe(e,t,n){t(" makeSpaceForEdgeLabels",()=>UMe(e)),t(" removeSelfEdges",()=>ZMe(e)),t(" acyclic",()=>vPe(e)),t(" nestingGraph.run",()=>qPe(e)),t(" rank",()=>LPe(Cre(e))),t(" injectEdgeLabelProxies",()=>zMe(e)),t(" removeEmptyRanks",()=>oPe(e)),t(" nestingGraph.cleanup",()=>YPe(e)),t(" normalizeRanks",()=>aPe(e)),t(" assignRankMinMax",()=>VMe(e)),t(" removeEdgeLabelProxies",()=>qMe(e)),t(" normalize.run",()=>EPe(e)),t(" parentDummyChains",()=>FPe(e)),t(" addBorderSegments",()=>GPe(e)),t(" order",()=>zre(e,n)),t(" insertSelfEdges",()=>KMe(e)),t(" adjustCoordinateSystem",()=>ZPe(e)),t(" position",()=>CMe(e)),t(" positionSelfEdges",()=>JMe(e)),t(" removeBorderNodes",()=>WMe(e)),t(" normalize.undo",()=>TPe(e)),t(" fixupEdgeLabelCoords",()=>YMe(e)),t(" undoCoordinateSystem",()=>KPe(e)),t(" translateGraph",()=>XMe(e)),t(" assignNodeIntersects",()=>HMe(e)),t(" reversePoints",()=>GMe(e)),t(" acyclic.undo",()=>SPe(e))}function DMe(e,t){e.nodes().forEach(n=>{let i=e.node(n),r=t.node(n);i&&(i.x=r.x,i.y=r.y,i.order=r.order,i.rank=r.rank,t.children(n).length&&(i.width=r.width,i.height=r.height))}),e.edges().forEach(n=>{let i=e.edge(n),r=t.edge(n);i.points=r.points,Object.hasOwn(r,"x")&&(i.x=r.x,i.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var IMe=["nodesep","edgesep","ranksep","marginx","marginy"],PMe={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},MMe=["acyclicer","ranker","rankdir","align","rankalign"],LMe=["width","height","rank"],wU={width:0,height:0},$Me=["minlen","weight","width","height","labeloffset"],QMe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},BMe=["labelpos"];function FMe(e){let t=new Rl({multigraph:!0,compound:!0}),n=cj(e.graph());return t.setGraph(Object.assign({},PMe,lj(n,IMe),RT(n,MMe))),e.nodes().forEach(i=>{let r=cj(e.node(i)),s=lj(r,LMe);Object.keys(wU).forEach(o=>{s[o]===void 0&&(s[o]=wU[o])}),t.setNode(i,s);let a=e.parent(i);a!==void 0&&t.setParent(i,a)}),e.edges().forEach(i=>{let r=cj(e.edge(i));t.setEdge(i,Object.assign({},QMe,lj(r,$Me),RT(r,BMe)))}),t}function UMe(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let i=e.edge(n);i.minlen*=2,i.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function zMe(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let i=e.node(t.v),r={rank:(e.node(t.w).rank-i.rank)/2+i.rank,e:t};qb(e,"edge-proxy",r,"_ep")}})}function VMe(e){let t=0;e.nodes().forEach(n=>{let i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=Math.max(t,i.maxRank))}),e.graph().maxRank=t}function qMe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let i=n;e.edge(i.e).labelRank=n.rank,e.removeNode(t)}})}function XMe(e){let t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,r=0,s=e.graph(),a=s.marginx||0,o=s.marginy||0;function c(u){let d=u.x,f=u.y,h=u.width,p=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),i=Math.min(i,f-p/2),r=Math.max(r,f+p/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&c(d)}),t-=a,i-=o,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=i}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=i}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=i)}),s.width=n-t+a,s.height=r-i+o}function HMe(e){e.edges().forEach(t=>{let n=e.edge(t),i=e.node(t.v),r=e.node(t.w),s,a;n.points?(s=n.points[0],a=n.points[n.points.length-1]):(n.points=[],s=r,a=i),n.points.unshift(fU(i,s)),n.points.push(fU(r,a))})}function YMe(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 GMe(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function WMe(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),i=e.node(n.borderTop),r=e.node(n.borderBottom),s=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-s.x),n.height=Math.abs(r.y-i.y),n.x=s.x+n.width/2,n.y=i.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function ZMe(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 KMe(e){Av(e).forEach(t=>{let n=0;t.forEach((i,r)=>{let s=e.node(i);s.order=r+n,(s.selfEdges||[]).forEach(a=>{qb(e,"selfedge",{width:a.label.width,height:a.label.height,rank:s.rank,order:r+ ++n,e:a.e,label:a.label},"_se")}),delete s.selfEdges})})}function JMe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let i=n,r=e.node(i.e.v),s=r.x+r.width/2,a=r.y,o=n.x-s,c=r.height/2;e.setEdge(i.e,i.label),e.removeNode(t),i.label.points=[{x:s+2*o/3,y:a-c},{x:s+5*o/6,y:a-c},{x:s+o,y:a},{x:s+5*o/6,y:a+c},{x:s+2*o/3,y:a+c}],i.label.x=n.x,i.label.y=n.y}})}function lj(e,t){return zA(RT(e,t),Number)}function cj(e){let t={};return e&&Object.entries(e).forEach(([n,i])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=i}),t}function e5e(e){let t=Av(e),n=new Rl({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(i=>{n.setNode(i,{label:i}),n.setParent(i,"layer"+e.node(i).rank)}),e.edges().forEach(i=>n.setEdge(i.v,i.w,{},i.name)),t.forEach((i,r)=>{let s="layer"+r;n.setNode(s,{rank:"same"}),i.reduce((a,o)=>(n.setEdge(a,o,{style:"invis"}),o))}),n}var t5e={graphlib:xre,version:fPe,layout:jMe,debug:e5e,util:{time:Rre,notime:Dre}},SU=t5e;/*! For license information please see dagre.esm.js.LEGAL.txt */const Ay={llm:{label:"智能体",description:"理解任务并直接完成一个具体工作",icon:hte},sequential:{label:"分步协作",description:"内部步骤按照顺序依次执行",icon:Gke},parallel:{label:"同时处理",description:"内部步骤同时工作,完成后统一汇总",icon:Dke},loop:{label:"循环执行",description:"重复执行内部步骤,直到满足停止条件",icon:vte},a2a:{label:"远程智能体",description:"调用已经存在的远程 Agent",icon:xA}},PP=220,MP=88,EU=96,kU=34,ux=64,uj=310,Kg=24,qre=56,LP=40,TU=40,n5e=18,i5e=58,r5e=!1,s5e=e=>e==="sequential"||e==="parallel"||e==="loop";function $P(e,t){const n=e.agentType??"llm";return s5e(n)||n==="llm"&&(t.length===0||e.subAgents.length>0)}function QP(e,t=[],n="horizontal",i=!1){const r=e.agentType??"llm";if(!$P(e,t))return{width:PP,height:MP};if(i&&e.subAgents.length===0)return{width:uj,height:ux};const s=e.subAgents.map((f,h)=>QP(f,[...t,h],n,i)),a=s.length?Math.max(...s.map(f=>f.width)):0,o=s.length?Math.max(...s.map(f=>f.height)):0,c=s.length&&r!=="parallel"?qre:Kg,u=n==="horizontal"?r!=="parallel":r==="parallel",d=s.length?r==="parallel"?n5e+TU:r==="loop"?i5e:0:TU;return u?{width:Math.max(uj,s.reduce((f,h)=>f+h.width,0)+LP*Math.max(0,s.length-1)+c*2),height:ux+Kg+o+d+Kg}:{width:Math.max(uj,a+Kg*2),height:ux+c+s.reduce((f,h)=>f+h.height,0)+LP*Math.max(0,s.length-1)+d+c}}function XO(e){return e.length===0?"agent-root":`agent-${e.join("-")}`}function a5e(e,t){return e.length===t.length&&e.every((n,i)=>n===t[i])}function _U(e){const t=n=>[n.agentType??"llm",n.subAgents.map(t)];return JSON.stringify(t(e))}function HO(e,t,n,i){const r=(i==null?void 0:i.tone)==="sequential"?"hsl(213 40% 40%)":(i==null?void 0:i.tone)==="loop"?"hsl(151 34% 34%)":"hsl(220 9% 38%)";return{id:`${e}-${t}${i!=null&&i.loop?"-loop":""}`,source:e,target:t,sourceHandle:i!=null&&i.loop?"loop-source":void 0,targetHandle:i!=null&&i.loop?"loop-target":void 0,label:n,type:"insertStep",data:i?{insert:i.insert,loop:i.loop,tone:i.tone}:void 0,animated:i==null?void 0:i.loop,markerEnd:{type:c1.ArrowClosed,width:16,height:16,color:r},style:{stroke:r,strokeWidth:1.5},labelStyle:{fill:"hsl(215 14% 42%)",fontSize:10,fontWeight:600},labelBgStyle:{fill:"hsl(var(--background))",fillOpacity:.92}}}function AU(e,t,n=!1){const i=[{id:"terminal-input",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"用户请求"},selectable:!1,draggable:!1},{id:"terminal-output",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"最终回复"},selectable:!1,draggable:!1}],r=[];function s(d,f,h,p,b){const g=d.agentType??"llm",O=XO(f);return $P(d,f)?(a(d,f,h,p,b),O):(i.push({id:O,type:"agent",parentId:h,extent:"parent",position:p,data:{kind:"agent",path:f,agent:d,title:g==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:g,description:d.description.trim()||Ay[g].description,childCount:d.subAgents.length,containedIn:b}}),O)}function a(d,f,h,p={x:0,y:0},b){const g=d.agentType??"sequential",O=XO(f),y=QP(d,f,t,n);i.push({id:O,type:"group",parentId:h,extent:h?"parent":void 0,position:p,style:{width:y.width,height:y.height},data:{kind:"agent",path:f,agent:d,title:d.name.trim()||(f.length===0?"主 Agent":Ay[g].label),pattern:g,description:d.description.trim()||Ay[g].description,childCount:d.subAgents.length,containedIn:b,layoutWidth:y.width,layoutHeight:y.height,compactEmptyGroup:n&&d.subAgents.length===0}});const v=d.subAgents.map((k,T)=>QP(k,[...f,T],t,n)),x=v.length&&g!=="parallel"?qre:Kg,w=t==="horizontal"?g!=="parallel":g==="parallel";let E=x;const S=d.subAgents.map((k,T)=>{const C=v[T],A=w?{x:E,y:ux+Kg}:{x:(y.width-C.width)/2,y:ux+E};return E+=(w?C.width:C.height)+LP,s(k,[...f,T],O,A,g)});if(g==="sequential"||g==="loop"){for(let k=0;k1&&r.push(HO(S[S.length-1],S[0],"继续循环",{loop:!0,tone:"loop"}))}return O}const o=(d,f)=>{const h=d.agentType??"llm",p=XO(f);if($P(d,f))return a(d,f),[p];if(i.push({id:p,type:"agent",position:{x:0,y:0},data:{kind:"agent",path:f,agent:d,title:h==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:h,description:d.description.trim()||Ay[h].description,childCount:d.subAgents.length}}),d.subAgents.length===0)return[p];const b=[];return d.subAgents.forEach((g,O)=>{const y=[...f,O],v=XO(y);r.push(HO(p,v,"调用",{insert:{parentPath:f,index:O}})),b.push(...o(g,y))}),b},c=XO([]),u=o(e,[]);return r.push(HO("terminal-input",c)),u.forEach(d=>r.push(HO(d,"terminal-output"))),o5e(i,r,t)}function o5e(e,t,n){const i=new SU.graphlib.Graph().setDefaultEdgeLabel(()=>({}));i.setGraph({rankdir:n==="vertical"?"TB":"LR",ranksep:50,nodesep:34,edgesep:14,marginx:24,marginy:24});const r=new Set(e.filter(s=>!s.parentId).map(s=>s.id));return e.filter(s=>!s.parentId).forEach(s=>{const a=s.data.kind==="terminal";i.setNode(s.id,{width:a?EU:s.data.layoutWidth??PP,height:a?kU:s.data.layoutHeight??MP})}),t.filter(s=>r.has(s.source)&&r.has(s.target)).forEach(s=>i.setEdge(s.source,s.target)),SU.layout(i),{nodes:e.map(s=>{if(s.parentId)return s;const a=i.node(s.id),o=s.data.kind==="terminal",c=o?EU:s.data.layoutWidth??PP,u=o?kU:s.data.layoutHeight??MP;return{...s,position:{x:a.x-c/2,y:a.y-u/2}}}),edges:t}}const qA=m.createContext(null),XA=m.createContext("horizontal");function l5e({id:e,sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,markerEnd:o,style:c,label:u,data:d}){const f=m.useContext(qA),[h,p]=m.useState(!1),[b,g,O]=AT({sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,offset:d!=null&&d.loop?28:20});return l.jsxs(l.Fragment,{children:[l.jsx(_v,{id:e,path:b,markerEnd:o,style:c}),f&&(d==null?void 0:d.insert)&&l.jsx("path",{d:b,className:"abc-edge-hover-path",onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1)}),(u||f&&(d==null?void 0:d.insert))&&l.jsx(eIe,{children:l.jsxs("div",{className:`abc-edge-tools${f&&(d!=null&&d.insert)?" can-insert":""}${h?" is-visible":""}`,style:{transform:`translate(-50%, -50%) translate(${g}px, ${O}px)`},onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1),children:[u&&l.jsx("span",{className:"abc-edge-label",children:u}),f&&(d==null?void 0:d.insert)&&l.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:l.jsx(ea,{})})]})})]})}function c5e({data:e,selected:t}){const n=m.useContext(qA),i=m.useContext(XA),r=i==="vertical"?_t.Top:_t.Left,s=i==="vertical"?_t.Bottom:_t.Right,a=i==="vertical"?_t.Right:_t.Bottom,o=e.pattern??"llm",c=Ay[o],u=c.icon;return l.jsxs("div",{className:`abc-node is-${o}${e.containedIn?` is-contained-in-${e.containedIn}`:""}${t?" is-selected":""}`,children:[l.jsx(ro,{type:"target",position:r,className:"abc-handle"}),o!=="llm"&&l.jsx("span",{className:"abc-node-icon",children:l.jsx(u,{})}),l.jsxs("span",{className:"abc-node-copy",children:[l.jsx("span",{className:"abc-node-meta",children:l.jsx("span",{children:c.label})}),l.jsx("strong",{children:e.title}),l.jsx("small",{children:e.description})]}),n&&e.path!==void 0&&e.path.length>0&&l.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:l.jsx(mh,{})}),l.jsx(ro,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&l.jsxs(l.Fragment,{children:[l.jsx(ro,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),l.jsx(ro,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function u5e({data:e,selected:t}){const n=m.useContext(qA),i=m.useContext(XA),r=i==="vertical"?_t.Top:_t.Left,s=i==="vertical"?_t.Bottom:_t.Right,a=i==="vertical"?_t.Right:_t.Bottom,o=e.pattern??"sequential",c=e.childCount??0,u=o==="llm"?"添加子 Agent":o==="parallel"?"添加一个同时处理的步骤":o==="loop"?"添加循环步骤":"添加下一个步骤";return l.jsxs("div",{className:`abc-group is-${o}${e.compactEmptyGroup?" is-compact-empty":""}${t?" is-selected":""}`,children:[l.jsx(ro,{type:"target",position:r,className:"abc-handle"}),l.jsx("header",{className:"abc-group-head",children:l.jsxs("span",{children:[l.jsx("strong",{title:e.title,children:e.title}),l.jsx("small",{children:e.description})]})}),n&&e.path!==void 0&&c>0&&o!=="parallel"&&l.jsxs("div",{className:"abc-group-boundary-actions",children:[l.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:l.jsx(ea,{})}),l.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:l.jsx(ea,{})})]}),n&&e.path!==void 0&&c>0&&o==="parallel"&&l.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-bottom nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[l.jsx(ea,{}),l.jsx("span",{children:u})]}),n&&e.path!==void 0&&c===0&&l.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-empty nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[l.jsx(ea,{}),l.jsx("span",{children:u})]}),n&&e.path!==void 0&&e.path.length>0&&l.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:l.jsx(mh,{})}),l.jsx(ro,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&l.jsxs(l.Fragment,{children:[l.jsx(ro,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),l.jsx(ro,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function d5e({data:e}){const t=m.useContext(XA);return l.jsxs("div",{className:"abc-terminal",children:[l.jsx(ro,{type:"target",position:t==="vertical"?_t.Top:_t.Left,className:"abc-handle"}),l.jsx("span",{children:e.title}),l.jsx(ro,{type:"source",position:t==="vertical"?_t.Bottom:_t.Right,className:"abc-handle"})]})}const f5e={agent:c5e,group:u5e,terminal:d5e},h5e={insertStep:l5e};function p5e({draft:e,selectedPath:t,onSelect:n,onAdd:i,onInsert:r,onDelete:s,readOnly:a=!1,interactivePreview:o=!1,direction:c="horizontal"}){const u=m.useMemo(()=>AU(e,c,a),[]),[d,f,h]=tIe(u.nodes),[p,b,g]=nIe(u.edges),O=rIe(),y=m.useRef(`${c}:${a?"readonly":"editable"}:${_U(e)}`),v=m.useRef(null),{fitView:x}=FA(),w=m.useMemo(()=>AU(e,c,a),[c,e,a]),[E,S]=m.useState(()=>window.matchMedia("(max-width: 860px)").matches),k=m.useMemo(()=>a?{padding:.16,minZoom:.05,maxZoom:.9}:E?{padding:.08,minZoom:.35,maxZoom:.9}:{padding:.14,minZoom:.42,maxZoom:1.1},[E,a]),T=m.useCallback((A=0)=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{const R=v.current;if(R&&(R.clientWidth===0||R.clientHeight===0)&&A<8){T(A+1);return}x(k)})})},[k,x]);m.useEffect(()=>{const A=window.matchMedia("(max-width: 860px)"),R=P=>S(P.matches);return A.addEventListener("change",R),()=>A.removeEventListener("change",R)},[]),m.useEffect(()=>{const A=`${c}:${a?"readonly":"editable"}:${_U(e)}`,R=A!==y.current;y.current=A,b(w.edges),f(P=>{const B=new Map(P.map(I=>[I.id,I]));return w.nodes.map(I=>{const $=B.get(I.id);return{...I,measured:!R&&$&&$.type===I.type?$.measured:void 0,position:!R&&$?$.position:I.position,selected:I.data.kind==="agent"&&!!I.data.path&&a5e(I.data.path,t)}})}),R&&T()},[w,e,T,t,b,f]),m.useEffect(()=>{T()},[E,T]),m.useEffect(()=>{O&&T()},[w,T,O]),m.useEffect(()=>{if(!a||!v.current)return;const A=new ResizeObserver(()=>T());return A.observe(v.current),T(),()=>A.disconnect()},[T,a]);const C=m.useMemo(()=>a?null:{onAdd:i,onInsert:r,onDelete:s},[i,s,r,a]);return l.jsx(XA.Provider,{value:c,children:l.jsx(qA.Provider,{value:C,children:l.jsx("section",{className:`abc-root is-${c}${a?" is-readonly":""}`,"aria-label":a?"只读 Agent 执行画布":"Agent 执行画布",children:l.jsx("div",{ref:v,className:"abc-canvas",children:l.jsxs(KDe,{nodes:d,edges:p,nodeTypes:f5e,edgeTypes:h5e,onNodesChange:h,onEdgesChange:g,onNodeClick:(A,R)=>{!a&&R.data.kind==="agent"&&R.data.path&&n(R.data.path)},nodesDraggable:!a,nodesConnectable:!1,nodesFocusable:!a,elementsSelectable:!a,edgesFocusable:!1,edgesReconnectable:!1,panOnDrag:!a||o,zoomOnDoubleClick:o,zoomOnPinch:!a||o,zoomOnScroll:!a||o,fitView:!0,fitViewOptions:k,onInit:()=>T(),minZoom:a?.05:.35,maxZoom:1.6,proOptions:{hideAttribution:!0},children:[l.jsx(cIe,{gap:20,size:1.2,color:"hsl(34 20% 82%)"}),(!a||o)&&l.jsx(gIe,{showInteractive:!1}),r5e]})})})})})}function p1(e){return l.jsx(mre,{children:l.jsx(p5e,{...e})})}const m5e="https://ark.cn-beijing.volces.com/api/v3/",WE=[{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:m5e}],DT=[],IT={label:"控制台",url:"https://console.volcengine.com/vikingdb/openviking"},g5e={label:"文档",url:"https://github.com/volcengine/OpenViking/blob/main/docs/zh/api/05-sessions.md"},Xre="https://api.vikingdb.cn-beijing.volces.com/openviking",b5e=`{ +`)),d=u.reduce((f,h)=>f.concat(...h),[]);return[u,d]}return[[],[]]},[e]);return m.useEffect(()=>{const c=(t==null?void 0:t.target)??tU,u=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=p=>{var O,y;if(r.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!r.current||r.current&&!u)&&Die(p))return!1;const g=iU(p.code,o);if(s.current.add(p[g]),nU(a,s.current,!1)){const v=((y=(O=p.composedPath)==null?void 0:O.call(p))==null?void 0:y[0])||p.target,x=(v==null?void 0:v.nodeName)==="BUTTON"||(v==null?void 0:v.nodeName)==="A";t.preventDefault!==!1&&(r.current||!x)&&p.preventDefault(),i(!0)}},f=p=>{const b=iU(p.code,o);nU(a,s.current,!0)?(i(!1),s.current.clear()):s.current.delete(p[b]),p.key==="Meta"&&s.current.clear(),r.current=!1},h=()=>{s.current.clear(),i(!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,i]),n}function nU(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(r=>t.has(r)))}function iU(e,t){return t.includes(e)?"code":"key"}const qRe=()=>{const e=_r();return m.useMemo(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,r,s],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??i,y:t.y??r,zoom:t.zoom??s},n),!0):!1},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:r,minZoom:s,maxZoom:a,panZoom:o}=e.getState(),c=F$(t,i,r,s,a,(n==null?void 0:n.padding)??.1);return o?(await o.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:i,snapGrid:r,snapToGrid:s,domNode:a}=e.getState();if(!a)return t;const{x:o,y:c}=a.getBoundingClientRect(),u={x:t.x-o,y:t.y-c},d=n.snapGrid??r,f=n.snapToGrid??s;return Kb(u,i,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:r,y:s}=i.getBoundingClientRect(),a=hb(t,n);return{x:a.x+r,y:a.y+s}}}),[])};function are(e,t){const n=[],i=new Map,r=[];for(const s of e)if(s.type==="add"){r.push(s);continue}else if(s.type==="remove"||s.type==="replace")i.set(s.id,[s]);else{const a=i.get(s.id);a?a.push(s):i.set(s.id,[s])}for(const s of t){const a=i.get(s.id);if(!a){n.push(s);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const o={...s};for(const c of a)XRe(c,o);n.push(o)}return r.length&&r.forEach(s=>{s.index!==void 0?n.splice(s.index,0,{...s.item}):n.push({...s.item})}),n}function XRe(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 ore(e,t){return are(e,t)}function lre(e,t){return are(e,t)}function vp(e,t){return{id:e,type:"select",selected:t}}function s0(e,t=new Set,n=!1){const i=[];for(const[r,s]of e){const a=t.has(r);!(s.selected===void 0&&!a)&&s.selected!==a&&(n&&(s.selected=a),i.push(vp(s.id,a)))}return i}function rU({items:e=[],lookup:t}){var r;const n=[],i=new Map(e.map(s=>[s.id,s]));for(const[s,a]of e.entries()){const o=t.get(a.id),c=((r=o==null?void 0:o.internals)==null?void 0:r.userNode)??o;c!==void 0&&c!==a&&n.push({id:a.id,item:a,type:"replace"}),c===void 0&&n.push({item:a,type:"add",index:s})}for(const[s]of t)i.get(s)===void 0&&n.push({id:s,type:"remove"});return n}function sU(e){return{id:e.id,type:"remove"}}const HRe=jie();function GRe(e,t,n={}){return yje(e,t,{...n,onError:n.onError??HRe})}const aU=e=>rje(e),YRe=e=>_ie(e);function cre(e){return m.forwardRef(e)}const WRe=typeof window<"u"?m.useLayoutEffect:m.useEffect;function oU(e){const[t,n]=m.useState(BigInt(0)),[i]=m.useState(()=>ZRe(()=>n(r=>r+BigInt(1))));return WRe(()=>{const r=i.get();r.length&&(e(r),i.reset())},[t]),i}function ZRe(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const ure=m.createContext(null);function KRe({children:e}){const t=_r(),n=m.useCallback(o=>{const{nodes:c=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:h,fitViewQueued:p,onNodesChangeMiddlewareMap:b}=t.getState();let g=c;for(const y of o)g=typeof y=="function"?y(g):y;let O=rU({items:g,lookup:h});for(const y of b.values())O=y(O);d&&u(g),O.length>0?f==null||f(O):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:v,setNodes:x}=t.getState();y&&x(v)})},[]),i=oU(n),r=m.useCallback(o=>{const{edges:c=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:h}=t.getState();let p=c;for(const b of o)p=typeof b=="function"?b(p):b;d?u(p):f&&f(rU({items:p,lookup:h}))},[]),s=oU(r),a=m.useMemo(()=>({nodeQueue:i,edgeQueue:s}),[]);return l.jsx(ure.Provider,{value:a,children:e})}function JRe(){const e=m.useContext(ure);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const eIe=e=>!!e.panZoom;function HA(){const e=qRe(),t=_r(),n=JRe(),i=Gn(eIe),r=m.useMemo(()=>{const s=f=>t.getState().nodeLookup.get(f),a=f=>{n.nodeQueue.push(f)},o=f=>{n.edgeQueue.push(f)},c=f=>{var y,v;const{nodeLookup:h,nodeOrigin:p}=t.getState(),b=aU(f)?f:h.get(f.id),g=b.parentId?Rie(b.position,b.measured,b.parentId,h,p):b.position,O={...b,position:g,width:((y=b.measured)==null?void 0:y.width)??b.width,height:((v=b.measured)==null?void 0:v.height)??b.height};return fb(O)},u=(f,h,p={replace:!1})=>{a(b=>b.map(g=>{if(g.id===f){const O=typeof h=="function"?h(g):h;return p.replace&&aU(O)?O:{...g,...O}}return g}))},d=(f,h,p={replace:!1})=>{o(b=>b.map(g=>{if(g.id===f){const O=typeof h=="function"?h(g):h;return p.replace&&YRe(O)?O:{...g,...O}}return g}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var h;return(h=s(f))==null?void 0:h.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:a,setEdges:o,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(p=>[...p,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(p=>[...p,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:p}=t.getState(),[b,g,O]=p;return{nodes:f.map(y=>({...y})),edges:h.map(y=>({...y})),viewport:{x:b,y:g,zoom:O}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:p,edges:b,onNodesDelete:g,onEdgesDelete:O,triggerNodeChanges:y,triggerEdgeChanges:v,onDelete:x,onBeforeDelete:w}=t.getState(),{nodes:E,edges:S}=await cje({nodesToRemove:f,edgesToRemove:h,nodes:p,edges:b,onBeforeDelete:w}),k=S.length>0,T=E.length>0;if(k){const C=S.map(sU);O==null||O(S),v(C)}if(T){const C=E.map(sU);g==null||g(E),y(C)}return(T||k)&&(x==null||x({nodes:E,edges:S})),{deletedNodes:E,deletedEdges:S}},getIntersectingNodes:(f,h=!0,p)=>{const b=MF(f),g=b?f:c(f),O=p!==void 0;return g?(p||t.getState().nodes).filter(y=>{const v=t.getState().nodeLookup.get(y.id);if(v&&!b&&(y.id===f.id||!v.internals.positionAbsolute))return!1;const x=fb(O?y:v),w=O1(x,g);return h&&w>0||w>=x.width*x.height||w>=g.width*g.height}):[]},isNodeIntersecting:(f,h,p=!0)=>{const g=MF(f)?f:c(f);if(!g)return!1;const O=O1(g,h);return p&&O>0||O>=h.width*h.height||O>=g.width*g.height},updateNode:u,updateNodeData:(f,h,p={replace:!1})=>{u(f,b=>{const g=typeof h=="function"?h(b):h;return p.replace?{...b,data:g}:{...b,data:{...b.data,...g}}},p)},updateEdge:d,updateEdgeData:(f,h,p={replace:!1})=>{d(f,b=>{const g=typeof h=="function"?h(b):h;return p.replace?{...b,data:g}:{...b,data:{...b.data,...g}}},p)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:p}=t.getState();return sje(f,{nodeLookup:h,nodeOrigin:p})},getHandleConnections:({type:f,id:h,nodeId:p})=>{var b;return Array.from(((b=t.getState().connectionLookup.get(`${p}-${f}${h?`-${h}`:""}`))==null?void 0:b.values())??[])},getNodeConnections:({type:f,handleId:h,nodeId:p})=>{var b;return Array.from(((b=t.getState().connectionLookup.get(`${p}${f?h?`-${f}-${h}`:`-${f}`:""}`))==null?void 0:b.values())??[])},fitView:async f=>{const h=t.getState().fitViewResolver??fje();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(p=>[...p]),h.promise}}},[]);return m.useMemo(()=>({...r,...e,viewportInitialized:i}),[i])}const lU=e=>e.selected,tIe=typeof window<"u"?window:void 0;function nIe({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=_r(),{deleteElements:i}=HA(),r=x1(e,{actInsideInputWithModifier:!1}),s=x1(t,{target:tIe});m.useEffect(()=>{if(r){const{edges:a,nodes:o}=n.getState();i({nodes:o.filter(lU),edges:a.filter(lU)}),n.setState({nodesSelectionActive:!1})}},[r]),m.useEffect(()=>{n.setState({multiSelectionActive:s})},[s])}function iIe(e){const t=_r();m.useEffect(()=>{const n=()=>{var r,s,a,o;if(!e.current||!(((s=(r=e.current).checkVisibility)==null?void 0:s.call(r))??!0))return!1;const i=z$(e.current);(i.height===0||i.width===0)&&((o=(a=t.getState()).onError)==null||o.call(a,"004",Ec.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const GA={position:"absolute",width:"100%",height:"100%",top:0,left:0},rIe=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function sIe({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:r=.5,panOnScrollMode:s=Kp.Free,zoomOnDoubleClick:a=!0,panOnDrag:o=!0,defaultViewport:c,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:p=!0,children:b,noWheelClassName:g,noPanClassName:O,onViewportChange:y,isControlledViewport:v,paneClickDistance:x,selectionOnDrag:w}){const E=_r(),S=m.useRef(null),{userSelectionActive:k,lib:T,connectionInProgress:C}=Gn(rIe,Tr),A=x1(h),N=m.useRef();iIe(S);const P=m.useCallback(Q=>{y==null||y({x:Q[0],y:Q[1],zoom:Q[2]}),v||E.setState({transform:Q})},[y,v]);return m.useEffect(()=>{if(S.current){N.current=Yje({domNode:S.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:c,onDraggingChange:j=>E.setState(I=>I.paneDragging===j?I:{paneDragging:j}),onPanZoomStart:(j,I)=>{const{onViewportChangeStart:F,onMoveStart:B}=E.getState();B==null||B(j,I),F==null||F(I)},onPanZoom:(j,I)=>{const{onViewportChange:F,onMove:B}=E.getState();B==null||B(j,I),F==null||F(I)},onPanZoomEnd:(j,I)=>{const{onViewportChangeEnd:F,onMoveEnd:B}=E.getState();B==null||B(j,I),F==null||F(I)}});const{x:Q,y:D,zoom:$}=N.current.getViewport();return E.setState({panZoom:N.current,transform:[Q,D,$],domNode:S.current.closest(".react-flow")}),()=>{var j;(j=N.current)==null||j.destroy()}}},[]),m.useEffect(()=>{var Q;(Q=N.current)==null||Q.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:r,panOnScrollMode:s,zoomOnDoubleClick:a,panOnDrag:o,zoomActivationKeyPressed:A,preventScrolling:p,noPanClassName:O,userSelectionActive:k,noWheelClassName:g,lib:T,onTransformChange:P,connectionInProgress:C,selectionOnDrag:w,paneClickDistance:x})},[e,t,n,i,r,s,a,o,A,p,O,k,g,T,P,C,w,x]),l.jsx("div",{className:"react-flow__renderer",ref:S,style:GA,children:b})}const aIe=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function oIe(){const{userSelectionActive:e,userSelectionRect:t}=Gn(aIe,Tr);return e&&t?l.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 dj=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},lIe=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function cIe({isSelecting:e,selectionKeyPressed:t,selectionMode:n=g1.Full,panOnDrag:i,autoPanOnSelection:r,paneClickDistance:s,selectionOnDrag:a,onSelectionStart:o,onSelectionEnd:c,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:p,onPaneMouseLeave:b,children:g}){const O=m.useRef(0),y=_r(),{userSelectionActive:v,elementsSelectable:x,dragging:w,connectionInProgress:E,panBy:S,autoPanSpeed:k}=Gn(lIe,Tr),T=x&&(e||v),C=m.useRef(null),A=m.useRef(),N=m.useRef(new Set),P=m.useRef(new Set),Q=m.useRef(!1),D=m.useRef({x:0,y:0}),$=m.useRef(!1),j=ce=>{if(Q.current||E){Q.current=!1;return}u==null||u(ce),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},I=ce=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){ce.preventDefault();return}d==null||d(ce)},F=f?ce=>f(ce):void 0,B=ce=>{Q.current&&(ce.stopPropagation(),Q.current=!1)},M=ce=>{var Se,Oe;const{domNode:K,transform:ee}=y.getState();if(A.current=K==null?void 0:K.getBoundingClientRect(),!A.current)return;const me=ce.target===C.current;if(!me&&!!ce.target.closest(".nokey")||!e||!(a&&me||t)||ce.button!==0||!ce.isPrimary)return;(Oe=(Se=ce.target)==null?void 0:Se.setPointerCapture)==null||Oe.call(Se,ce.pointerId),Q.current=!1;const{x:Ie,y:De}=gc(ce.nativeEvent,A.current),pe=Kb({x:Ie,y:De},ee);y.setState({userSelectionRect:{width:0,height:0,startX:pe.x,startY:pe.y,x:Ie,y:De}}),me||(ce.stopPropagation(),ce.preventDefault())};function Y(ce,K){const{userSelectionRect:ee}=y.getState();if(!ee)return;const{transform:me,nodeLookup:ve,edgeLookup:Ne,connectionLookup:Ie,triggerNodeChanges:De,triggerEdgeChanges:pe,defaultEdgeOptions:Se}=y.getState(),Oe={x:ee.startX,y:ee.startY},{x:Le,y:Fe}=hb(Oe,me),Te={startX:Oe.x,startY:Oe.y,x:ceYe.id)),P.current=new Set;const Bt=(Se==null?void 0:Se.selectable)??!0;for(const Ye of N.current){const Z=Ie.get(Ye);if(Z)for(const{edgeId:ie}of Z.values()){const ue=Ne.get(ie);ue&&(ue.selectable??Bt)&&P.current.add(ie)}}if(!LF(Ue,N.current)){const Ye=s0(ve,N.current,!0);De(Ye)}if(!LF(ot,P.current)){const Ye=s0(Ne,P.current);pe(Ye)}y.setState({userSelectionRect:Te,userSelectionActive:!0,nodesSelectionActive:!1})}function q(){if(!r||!A.current)return;const[ce,K]=B$(D.current,A.current,k);S({x:ce,y:K}).then(ee=>{if(!Q.current||!ee){O.current=requestAnimationFrame(q);return}const{x:me,y:ve}=D.current;Y(me,ve),O.current=requestAnimationFrame(q)})}const U=()=>{cancelAnimationFrame(O.current),O.current=0,$.current=!1};m.useEffect(()=>()=>U(),[]);const V=ce=>{const{userSelectionRect:K,transform:ee,resetSelectedElements:me}=y.getState();if(!A.current||!K)return;const{x:ve,y:Ne}=gc(ce.nativeEvent,A.current);D.current={x:ve,y:Ne};const Ie=hb({x:K.startX,y:K.startY},ee);if(!Q.current){const De=t?0:s;if(Math.hypot(ve-Ie.x,Ne-Ie.y)<=De)return;me(),o==null||o(ce)}Q.current=!0,$.current||(q(),$.current=!0),Y(ve,Ne)},re=ce=>{var K,ee;ce.button===0&&((ee=(K=ce.target)==null?void 0:K.releasePointerCapture)==null||ee.call(K,ce.pointerId),!v&&ce.target===C.current&&y.getState().userSelectionRect&&(j==null||j(ce)),y.setState({userSelectionActive:!1,userSelectionRect:null}),Q.current&&(c==null||c(ce),y.setState({nodesSelectionActive:N.current.size>0})),U())},de=ce=>{var K,ee;(ee=(K=ce.target)==null?void 0:K.releasePointerCapture)==null||ee.call(K,ce.pointerId),U()},be=i===!0||Array.isArray(i)&&i.includes(0);return l.jsxs("div",{className:bs(["react-flow__pane",{draggable:be,dragging:w,selection:e}]),onClick:T?void 0:dj(j,C),onContextMenu:dj(I,C),onWheel:dj(F,C),onPointerEnter:T?void 0:h,onPointerMove:T?V:p,onPointerUp:T?re:void 0,onPointerCancel:T?de:void 0,onPointerDownCapture:T?M:void 0,onClickCapture:T?B:void 0,onPointerLeave:b,ref:C,style:GA,children:[g,l.jsx(oIe,{})]})}function UP({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:r,unselectNodesAndEdges:s,multiSelectionActive:a,nodeLookup:o,onError:c}=t.getState(),u=o.get(e);if(!u){c==null||c("012",Ec.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(s({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):r([e])}function dre({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:r,isSelectable:s,nodeClickDistance:a}){const o=_r(),[c,u]=m.useState(!1),d=m.useRef();return m.useEffect(()=>{d.current=Pje({getStoreItems:()=>o.getState(),onNodeMouseDown:f=>{UP({id:f,store:o,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),m.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:s,nodeId:r,nodeClickDistance:a}),()=>{var f;(f=d.current)==null||f.destroy()}},[n,i,t,s,e,r,a]),c}const uIe=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function fre(){const e=_r();return m.useCallback(n=>{const{nodeExtent:i,snapToGrid:r,snapGrid:s,nodesDraggable:a,onError:o,updateNodePositions:c,nodeLookup:u,nodeOrigin:d}=e.getState(),f=new Map,h=uIe(a),p=r?s[0]:5,b=r?s[1]:5,g=n.direction.x*p*n.factor,O=n.direction.y*b*n.factor;for(const[,y]of u){if(!h(y))continue;let v={x:y.internals.positionAbsolute.x+g,y:y.internals.positionAbsolute.y+O};r&&(v=Dv(v,s));const{position:x,positionAbsolute:w}=Aie({nodeId:y.id,nextPosition:v,nodeLookup:u,nodeExtent:i,nodeOrigin:d,onError:o});y.position=x,y.internals.positionAbsolute=w,f.set(y.id,y)}c(f)},[])}const Y$=m.createContext(null),dIe=Y$.Provider;Y$.Consumer;const hre=()=>m.useContext(Y$),fIe=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),hIe=(e,t,n)=>i=>{const{connectionClickStartHandle:r,connectionMode:s,connection:a}=i,{fromHandle:o,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:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.id)===t&&(o==null?void 0:o.type)===n,connectingTo:d,clickConnecting:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===t&&(r==null?void 0:r.type)===n,isPossibleEndHandle:s===ub.Strict?(o==null?void 0:o.type)!==n:e!==(o==null?void 0:o.nodeId)||t!==(o==null?void 0:o.id),connectionInProcess:!!o,clickConnectionInProcess:!!r,valid:d&&u}};function pIe({type:e="source",position:t=Et.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:r=!0,isConnectableEnd:s=!0,id:a,onConnect:o,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},p){var $,j;const b=a||null,g=e==="target",O=_r(),y=hre(),{connectOnClick:v,noPanClassName:x,rfId:w}=Gn(fIe,Tr),{connectingFrom:E,connectingTo:S,clickConnecting:k,isPossibleEndHandle:T,connectionInProcess:C,clickConnectionInProcess:A,valid:N}=Gn(hIe(y,b,e),Tr);y||(j=($=O.getState()).onError)==null||j.call($,"010",Ec.error010());const P=I=>{const{defaultEdgeOptions:F,onConnect:B,hasDefaultEdges:M}=O.getState(),Y={...F,...I};if(M){const{edges:q,setEdges:U,onError:V}=O.getState();U(GRe(Y,q,{onError:V}))}B==null||B(Y),o==null||o(Y)},Q=I=>{if(!y)return;const F=Pie(I.nativeEvent);if(r&&(F&&I.button===0||!F)){const B=O.getState();FP.onPointerDown(I.nativeEvent,{handleDomNode:I.currentTarget,autoPanOnConnect:B.autoPanOnConnect,connectionMode:B.connectionMode,connectionRadius:B.connectionRadius,domNode:B.domNode,nodeLookup:B.nodeLookup,lib:B.lib,isTarget:g,handleId:b,nodeId:y,flowId:B.rfId,panBy:B.panBy,cancelConnection:B.cancelConnection,onConnectStart:B.onConnectStart,onConnectEnd:(...M)=>{var Y,q;return(q=(Y=O.getState()).onConnectEnd)==null?void 0:q.call(Y,...M)},updateConnection:B.updateConnection,onConnect:P,isValidConnection:n||((...M)=>{var Y,q;return((q=(Y=O.getState()).isValidConnection)==null?void 0:q.call(Y,...M))??!0}),getTransform:()=>O.getState().transform,getFromHandle:()=>O.getState().connection.fromHandle,autoPanSpeed:B.autoPanSpeed,dragThreshold:B.connectionDragThreshold})}F?d==null||d(I):f==null||f(I)},D=I=>{const{onClickConnectStart:F,onClickConnectEnd:B,connectionClickStartHandle:M,connectionMode:Y,isValidConnection:q,lib:U,rfId:V,nodeLookup:re,connection:de}=O.getState();if(!y||!M&&!r)return;if(!M){F==null||F(I.nativeEvent,{nodeId:y,handleId:b,handleType:e}),O.setState({connectionClickStartHandle:{nodeId:y,type:e,id:b}});return}const be=Iie(I.target),ce=n||q,{connection:K,isValid:ee}=FP.isValid(I.nativeEvent,{handle:{nodeId:y,id:b,type:e},connectionMode:Y,fromNodeId:M.nodeId,fromHandleId:M.id||null,fromType:M.type,isValidConnection:ce,flowId:V,doc:be,lib:U,nodeLookup:re});ee&&K&&P(K);const me=structuredClone(de);delete me.inProgress,me.toPosition=me.toHandle?me.toHandle.position:null,B==null||B(I,me),O.setState({connectionClickStartHandle:null})};return l.jsx("div",{"data-handleid":b,"data-nodeid":y,"data-handlepos":t,"data-id":`${w}-${y}-${b}-${e}`,className:bs(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",x,u,{source:!g,target:g,connectable:i,connectablestart:r,connectableend:s,clickconnecting:k,connectingfrom:E,connectingto:S,valid:N,connectionindicator:i&&(!C||T)&&(C||A?s:r)}]),onMouseDown:Q,onTouchStart:Q,onClick:v?D:void 0,ref:p,...h,children:c})}const uo=m.memo(cre(pIe));function mIe({data:e,isConnectable:t,sourcePosition:n=Et.Bottom}){return l.jsxs(l.Fragment,{children:[e==null?void 0:e.label,l.jsx(uo,{type:"source",position:n,isConnectable:t})]})}function gIe({data:e,isConnectable:t,targetPosition:n=Et.Top,sourcePosition:i=Et.Bottom}){return l.jsxs(l.Fragment,{children:[l.jsx(uo,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,l.jsx(uo,{type:"source",position:i,isConnectable:t})]})}function bIe(){return null}function OIe({data:e,isConnectable:t,targetPosition:n=Et.Top}){return l.jsxs(l.Fragment,{children:[l.jsx(uo,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const PT={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},cU={input:mIe,default:gIe,output:OIe,group:bIe};function yIe(e){var t,n,i,r;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((r=e.style)==null?void 0:r.height)}}const xIe=e=>{const{width:t,height:n,x:i,y:r}=Iv(e.nodeLookup,{filter:s=>!!s.selected});return{width:mc(t)?t:null,height:mc(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${r}px)`}};function vIe({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=_r(),{width:r,height:s,transformString:a,userSelectionActive:o}=Gn(xIe,Tr),c=fre(),u=m.useRef(null);m.useEffect(()=>{var p;n||(p=u.current)==null||p.focus({preventScroll:!0})},[n]);const d=!o&&r!==null&&s!==null;if(dre({nodeRef:u,disabled:!d}),!d)return null;const f=e?p=>{const b=i.getState().nodes.filter(g=>g.selected);e(p,b)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(PT,p.key)&&(p.preventDefault(),c({direction:PT[p.key],factor:p.shiftKey?4:1}))};return l.jsx("div",{className:bs(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:l.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:r,height:s}})})}const uU=typeof window<"u"?window:void 0,wIe=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function pre({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,paneClickDistance:o,deleteKeyCode:c,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:b,panActivationKeyCode:g,zoomActivationKeyCode:O,elementsSelectable:y,zoomOnScroll:v,zoomOnPinch:x,panOnScroll:w,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:T,autoPanOnSelection:C,defaultViewport:A,translateExtent:N,minZoom:P,maxZoom:Q,preventScrolling:D,onSelectionContextMenu:$,noWheelClassName:j,noPanClassName:I,disableKeyboardA11y:F,onViewportChange:B,isControlledViewport:M}){const{nodesSelectionActive:Y,userSelectionActive:q}=Gn(wIe,Tr),U=x1(u,{target:uU}),V=x1(g,{target:uU}),re=V||T,de=V||w,be=d&&re!==!0,ce=U||q||be;return nIe({deleteKeyCode:c,multiSelectionKeyCode:b}),l.jsx(sIe,{onPaneContextMenu:s,elementsSelectable:y,zoomOnScroll:v,zoomOnPinch:x,panOnScroll:de,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:!U&&re,defaultViewport:A,translateExtent:N,minZoom:P,maxZoom:Q,zoomActivationKeyCode:O,preventScrolling:D,noWheelClassName:j,noPanClassName:I,onViewportChange:B,isControlledViewport:M,paneClickDistance:o,selectionOnDrag:be,children:l.jsxs(cIe,{onSelectionStart:h,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:s,onPaneScroll:a,panOnDrag:re,autoPanOnSelection:C,isSelecting:!!ce,selectionMode:f,selectionKeyPressed:U,paneClickDistance:o,selectionOnDrag:be,children:[e,Y&&l.jsx(vIe,{onSelectionContextMenu:$,noPanClassName:I,disableKeyboardA11y:F})]})})}pre.displayName="FlowRenderer";const SIe=m.memo(pre),EIe=e=>t=>e?Q$(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 kIe(e){return Gn(m.useCallback(EIe(e),[e]),Tr)}const TIe=e=>e.updateNodeInternals;function _Ie(){const e=Gn(TIe),[t]=m.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(r=>{const s=r.target.getAttribute("data-id");i.set(s,{id:s,nodeElement:r.target,force:!0})}),e(i)}));return m.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function AIe({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const r=_r(),s=m.useRef(null),a=m.useRef(null),o=m.useRef(e.sourcePosition),c=m.useRef(e.targetPosition),u=m.useRef(t),d=n&&!!e.internals.handleBounds;return m.useEffect(()=>{s.current&&!e.hidden&&(!d||a.current!==s.current)&&(a.current&&(i==null||i.unobserve(a.current)),i==null||i.observe(s.current),a.current=s.current)},[d,e.hidden]),m.useEffect(()=>()=>{a.current&&(i==null||i.unobserve(a.current),a.current=null)},[]),m.useEffect(()=>{if(s.current){const f=u.current!==t,h=o.current!==e.sourcePosition,p=c.current!==e.targetPosition;(f||h||p)&&(u.current=t,o.current=e.sourcePosition,c.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),s}function CIe({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:r,onContextMenu:s,onDoubleClick:a,nodesDraggable:o,elementsSelectable:c,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:p,disableKeyboardA11y:b,rfId:g,nodeTypes:O,nodeClickDistance:y,onError:v}){const{node:x,internals:w,isParent:E}=Gn(ce=>{const K=ce.nodeLookup.get(e),ee=ce.parentLookup.has(e);return{node:K,internals:K.internals,isParent:ee}},Tr);let S=x.type||"default",k=(O==null?void 0:O[S])||cU[S];k===void 0&&(v==null||v("003",Ec.error003(S)),S="default",k=(O==null?void 0:O.default)||cU.default);const T=!!(x.draggable||o&&typeof x.draggable>"u"),C=!!(x.selectable||c&&typeof x.selectable>"u"),A=!!(x.connectable||u&&typeof x.connectable>"u"),N=!!(x.focusable||d&&typeof x.focusable>"u"),P=_r(),Q=U$(x),D=AIe({node:x,nodeType:S,hasDimensions:Q,resizeObserver:f}),$=dre({nodeRef:D,disabled:x.hidden||!T,noDragClassName:h,handleSelector:x.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:y}),j=fre();if(x.hidden)return null;const I=Yd(x),F=yIe(x),B=C||T||t||n||i||r,M=n?ce=>n(ce,{...w.userNode}):void 0,Y=i?ce=>i(ce,{...w.userNode}):void 0,q=r?ce=>r(ce,{...w.userNode}):void 0,U=s?ce=>s(ce,{...w.userNode}):void 0,V=a?ce=>a(ce,{...w.userNode}):void 0,re=ce=>{const{selectNodesOnDrag:K,nodeDragThreshold:ee}=P.getState();C&&(!K||!T||ee>0)&&UP({id:e,store:P,nodeRef:D}),t&&t(ce,{...w.userNode})},de=ce=>{if(!(Die(ce.nativeEvent)||b)){if(Sie.includes(ce.key)&&C){const K=ce.key==="Escape";UP({id:e,store:P,unselect:K,nodeRef:D})}else if(T&&x.selected&&Object.prototype.hasOwnProperty.call(PT,ce.key)){ce.preventDefault();const{ariaLabelConfig:K}=P.getState();P.setState({ariaLiveMessage:K["node.a11yDescription.ariaLiveMessage"]({direction:ce.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),j({direction:PT[ce.key],factor:ce.shiftKey?4:1})}}},be=()=>{var Ie;if(b||!((Ie=D.current)!=null&&Ie.matches(":focus-visible")))return;const{transform:ce,width:K,height:ee,autoPanOnNodeFocus:me,setCenter:ve}=P.getState();if(!me)return;Q$(new Map([[e,x]]),{x:0,y:0,width:K,height:ee},ce,!0).length>0||ve(x.position.x+I.width/2,x.position.y+I.height/2,{zoom:ce[2]})};return l.jsx("div",{className:bs(["react-flow__node",`react-flow__node-${S}`,{[p]:T},x.className,{selected:x.selected,selectable:C,parent:E,draggable:T,dragging:$}]),ref:D,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:Q?"visible":"hidden",...x.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:M,onMouseMove:Y,onMouseLeave:q,onContextMenu:U,onClick:re,onDoubleClick:V,onKeyDown:N?de:void 0,tabIndex:N?0:void 0,onFocus:N?be:void 0,role:x.ariaRole??(N?"group":void 0),"aria-roledescription":"node","aria-describedby":b?void 0:`${ire}-${g}`,"aria-label":x.ariaLabel,...x.domAttributes,children:l.jsx(dIe,{value:e,children:l.jsx(k,{id:e,data:x.data,type:S,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:x.selected??!1,selectable:C,draggable:T,deletable:x.deletable??!0,isConnectable:A,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:$,dragHandle:x.dragHandle,zIndex:w.z,parentId:x.parentId,...I})})})}var NIe=m.memo(CIe);const jIe=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function mre(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,onError:s}=Gn(jIe,Tr),a=kIe(e.onlyRenderVisibleElements),o=_Ie();return l.jsx("div",{className:"react-flow__nodes",style:GA,children:a.map(c=>l.jsx(NIe,{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:o,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:s},c))})}mre.displayName="NodeRenderer";const RIe=m.memo(mre);function IIe(e){return Gn(m.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const i=[];if(n.width&&n.height)for(const r of n.edges){const s=n.nodeLookup.get(r.source),a=n.nodeLookup.get(r.target);s&&a&&gje({sourceNode:s,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&i.push(r.id)}return i},[e]),Tr)}const DIe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return l.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},PIe=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return l.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},dU={[b1.Arrow]:DIe,[b1.ArrowClosed]:PIe};function MIe(e){const t=_r();return m.useMemo(()=>{var r,s;return Object.prototype.hasOwnProperty.call(dU,e)?dU[e]:((s=(r=t.getState()).onError)==null||s.call(r,"009",Ec.error009(e)),null)},[e])}const LIe=({id:e,type:t,color:n,width:i=12.5,height:r=12.5,markerUnits:s="strokeWidth",strokeWidth:a,orient:o="auto-start-reverse"})=>{const c=MIe(t);return c?l.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:o,refX:"0",refY:"0",children:l.jsx(c,{color:n,strokeWidth:a})}):null},gre=({defaultColor:e,rfId:t})=>{const n=Gn(s=>s.edges),i=Gn(s=>s.defaultEdgeOptions),r=m.useMemo(()=>Eje(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return r.length?l.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:l.jsx("defs",{children:r.map(s=>l.jsx(LIe,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};gre.displayName="MarkerDefinitions";var $Ie=m.memo(gre);function bre({x:e,y:t,label:n,labelStyle:i,labelShowBg:r=!0,labelBgStyle:s,labelBgPadding:a=[2,4],labelBgBorderRadius:o=2,children:c,className:u,...d}){const[f,h]=m.useState({x:1,y:0,width:0,height:0}),p=bs(["react-flow__edge-textwrapper",u]),b=m.useRef(null);return m.useEffect(()=>{if(b.current){const g=b.current.getBBox();h({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),n?l.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...d,children:[r&&l.jsx("rect",{width:f.width+2*a[0],x:-a[0],y:-a[1],height:f.height+2*a[1],className:"react-flow__edge-textbg",style:s,rx:o,ry:o}),l.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:b,style:i,children:n}),c]}):null}bre.displayName="EdgeText";const QIe=m.memo(bre);function Pv({path:e,labelX:t,labelY:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return l.jsxs(l.Fragment,{children:[l.jsx("path",{...d,d:e,fill:"none",className:bs(["react-flow__edge-path",d.className])}),u?l.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,i&&mc(t)&&mc(n)?l.jsx(QIe,{x:t,y:n,label:i,labelStyle:r,labelShowBg:s,labelBgStyle:a,labelBgPadding:o,labelBgBorderRadius:c}):null]})}function fU({pos:e,x1:t,y1:n,x2:i,y2:r}){return e===Et.Left||e===Et.Right?[.5*(t+i),n]:[t,.5*(n+r)]}function Ore({sourceX:e,sourceY:t,sourcePosition:n=Et.Bottom,targetX:i,targetY:r,targetPosition:s=Et.Top}){const[a,o]=fU({pos:n,x1:e,y1:t,x2:i,y2:r}),[c,u]=fU({pos:s,x1:i,y1:r,x2:e,y2:t}),[d,f,h,p]=Mie({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${o} ${c},${u} ${i},${r}`,d,f,h,p]}function yre(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a,targetPosition:o,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,interactionWidth:y})=>{const[v,x,w]=Ore({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o}),E=e.isInternal?void 0:t;return l.jsx(Pv,{id:E,path:v,labelX:x,labelY:w,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,interactionWidth:y})})}const BIe=yre({isInternal:!1}),xre=yre({isInternal:!0});BIe.displayName="SimpleBezierEdge";xre.displayName="SimpleBezierEdgeInternal";function vre(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:p=Et.Bottom,targetPosition:b=Et.Top,markerEnd:g,markerStart:O,pathOptions:y,interactionWidth:v})=>{const[x,w,E]=DT({sourceX:n,sourceY:i,sourcePosition:p,targetX:r,targetY:s,targetPosition:b,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 l.jsx(Pv,{id:S,path:x,labelX:w,labelY:E,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:O,interactionWidth:v})})}const wre=vre({isInternal:!1}),Sre=vre({isInternal:!0});wre.displayName="SmoothStepEdge";Sre.displayName="SmoothStepEdgeInternal";function Ere(e){return m.memo(({id:t,...n})=>{var r;const i=e.isInternal?void 0:t;return l.jsx(wre,{...n,id:i,pathOptions:m.useMemo(()=>{var s;return{borderRadius:0,offset:(s=n.pathOptions)==null?void 0:s.offset}},[(r=n.pathOptions)==null?void 0:r.offset])})})}const FIe=Ere({isInternal:!1}),kre=Ere({isInternal:!0});FIe.displayName="StepEdge";kre.displayName="StepEdgeInternal";function Tre(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:b,interactionWidth:g})=>{const[O,y,v]=Qie({sourceX:n,sourceY:i,targetX:r,targetY:s}),x=e.isInternal?void 0:t;return l.jsx(Pv,{id:x,path:O,labelX:y,labelY:v,label:a,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:b,interactionWidth:g})})}const UIe=Tre({isInternal:!1}),_re=Tre({isInternal:!0});UIe.displayName="StraightEdge";_re.displayName="StraightEdgeInternal";function Are(e){return m.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:s,sourcePosition:a=Et.Bottom,targetPosition:o=Et.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,pathOptions:y,interactionWidth:v})=>{const[x,w,E]=Lie({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:s,targetPosition:o,curvature:y==null?void 0:y.curvature}),S=e.isInternal?void 0:t;return l.jsx(Pv,{id:S,path:x,labelX:w,labelY:E,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:b,markerEnd:g,markerStart:O,interactionWidth:v})})}const zIe=Are({isInternal:!1}),Cre=Are({isInternal:!0});zIe.displayName="BezierEdge";Cre.displayName="BezierEdgeInternal";const hU={default:Cre,straight:_re,step:kre,smoothstep:Sre,simplebezier:xre},pU={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},VIe=(e,t,n)=>n===Et.Left?e-t:n===Et.Right?e+t:e,qIe=(e,t,n)=>n===Et.Top?e-t:n===Et.Bottom?e+t:e,mU="react-flow__edgeupdater";function gU({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:r,onMouseEnter:s,onMouseOut:a,type:o}){return l.jsx("circle",{onMouseDown:r,onMouseEnter:s,onMouseOut:a,className:bs([mU,`${mU}-${o}`]),cx:VIe(t,i,e),cy:qIe(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function XIe({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:r,targetX:s,targetY:a,sourcePosition:o,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:p}){const b=_r(),g=(w,E)=>{if(w.button!==0)return;const{autoPanOnConnect:S,domNode:k,connectionMode:T,connectionRadius:C,lib:A,onConnectStart:N,cancelConnection:P,nodeLookup:Q,rfId:D,panBy:$,updateConnection:j}=b.getState(),I=E.type==="target",F=(Y,q)=>{h(!1),f==null||f(Y,n,E.type,q)},B=Y=>u==null?void 0:u(n,Y),M=(Y,q)=>{h(!0),d==null||d(w,n,E.type),N==null||N(Y,q)};FP.onPointerDown(w.nativeEvent,{autoPanOnConnect:S,connectionMode:T,connectionRadius:C,domNode:k,handleId:E.id,nodeId:E.nodeId,nodeLookup:Q,isTarget:I,edgeUpdaterType:E.type,lib:A,flowId:D,cancelConnection:P,panBy:$,isValidConnection:(...Y)=>{var q,U;return((U=(q=b.getState()).isValidConnection)==null?void 0:U.call(q,...Y))??!0},onConnect:B,onConnectStart:M,onConnectEnd:(...Y)=>{var q,U;return(U=(q=b.getState()).onConnectEnd)==null?void 0:U.call(q,...Y)},onReconnectEnd:F,updateConnection:j,getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,dragThreshold:b.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},O=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"}),v=()=>p(!0),x=()=>p(!1);return l.jsxs(l.Fragment,{children:[(e===!0||e==="source")&&l.jsx(gU,{position:o,centerX:i,centerY:r,radius:t,onMouseDown:O,onMouseEnter:v,onMouseOut:x,type:"source"}),(e===!0||e==="target")&&l.jsx(gU,{position:c,centerX:s,centerY:a,radius:t,onMouseDown:y,onMouseEnter:v,onMouseOut:x,type:"target"})]})}function HIe({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:r,onDoubleClick:s,onContextMenu:a,onMouseEnter:o,onMouseMove:c,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,rfId:b,edgeTypes:g,noPanClassName:O,onError:y,disableKeyboardA11y:v}){let x=Gn(ve=>ve.edgeLookup.get(e));const w=Gn(ve=>ve.defaultEdgeOptions);x=w?{...w,...x}:x;let E=x.type||"default",S=(g==null?void 0:g[E])||hU[E];S===void 0&&(y==null||y("011",Ec.error011(E)),E="default",S=(g==null?void 0:g.default)||hU.default);const k=!!(x.focusable||t&&typeof x.focusable>"u"),T=typeof f<"u"&&(x.reconnectable||n&&typeof x.reconnectable>"u"),C=!!(x.selectable||i&&typeof x.selectable>"u"),A=m.useRef(null),[N,P]=m.useState(!1),[Q,D]=m.useState(!1),$=_r(),{zIndex:j,sourceX:I,sourceY:F,targetX:B,targetY:M,sourcePosition:Y,targetPosition:q}=Gn(m.useCallback(ve=>{const Ne=ve.nodeLookup.get(x.source),Ie=ve.nodeLookup.get(x.target);if(!Ne||!Ie)return{zIndex:x.zIndex,...pU};const De=Sje({id:e,sourceNode:Ne,targetNode:Ie,sourceHandle:x.sourceHandle||null,targetHandle:x.targetHandle||null,connectionMode:ve.connectionMode,onError:y});return{zIndex:mje({selected:x.selected,zIndex:x.zIndex,sourceNode:Ne,targetNode:Ie,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode}),...De||pU}},[x.source,x.target,x.sourceHandle,x.targetHandle,x.selected,x.zIndex]),Tr),U=m.useMemo(()=>x.markerStart?`url('#${QP(x.markerStart,b)}')`:void 0,[x.markerStart,b]),V=m.useMemo(()=>x.markerEnd?`url('#${QP(x.markerEnd,b)}')`:void 0,[x.markerEnd,b]);if(x.hidden||I===null||F===null||B===null||M===null)return null;const re=ve=>{var pe;const{addSelectedEdges:Ne,unselectNodesAndEdges:Ie,multiSelectionActive:De}=$.getState();C&&($.setState({nodesSelectionActive:!1}),x.selected&&De?(Ie({nodes:[],edges:[x]}),(pe=A.current)==null||pe.blur()):Ne([e])),r&&r(ve,x)},de=s?ve=>{s(ve,{...x})}:void 0,be=a?ve=>{a(ve,{...x})}:void 0,ce=o?ve=>{o(ve,{...x})}:void 0,K=c?ve=>{c(ve,{...x})}:void 0,ee=u?ve=>{u(ve,{...x})}:void 0,me=ve=>{var Ne;if(!v&&Sie.includes(ve.key)&&C){const{unselectNodesAndEdges:Ie,addSelectedEdges:De}=$.getState();ve.key==="Escape"?((Ne=A.current)==null||Ne.blur(),Ie({edges:[x]})):De([e])}};return l.jsx("svg",{style:{zIndex:j},children:l.jsxs("g",{className:bs(["react-flow__edge",`react-flow__edge-${E}`,x.className,O,{selected:x.selected,animated:x.animated,inactive:!C&&!r,updating:N,selectable:C}]),onClick:re,onDoubleClick:de,onContextMenu:be,onMouseEnter:ce,onMouseMove:K,onMouseLeave:ee,onKeyDown:k?me:void 0,tabIndex:k?0:void 0,role:x.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":x.ariaLabel===null?void 0:x.ariaLabel||`Edge from ${x.source} to ${x.target}`,"aria-describedby":k?`${rre}-${b}`:void 0,ref:A,...x.domAttributes,children:[!Q&&l.jsx(S,{id:e,source:x.source,target:x.target,type:x.type,selected:x.selected,animated:x.animated,selectable:C,deletable:x.deletable??!0,label:x.label,labelStyle:x.labelStyle,labelShowBg:x.labelShowBg,labelBgStyle:x.labelBgStyle,labelBgPadding:x.labelBgPadding,labelBgBorderRadius:x.labelBgBorderRadius,sourceX:I,sourceY:F,targetX:B,targetY:M,sourcePosition:Y,targetPosition:q,data:x.data,style:x.style,sourceHandleId:x.sourceHandle,targetHandleId:x.targetHandle,markerStart:U,markerEnd:V,pathOptions:"pathOptions"in x?x.pathOptions:void 0,interactionWidth:x.interactionWidth}),T&&l.jsx(XIe,{edge:x,isReconnectable:T,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:p,sourceX:I,sourceY:F,targetX:B,targetY:M,sourcePosition:Y,targetPosition:q,setUpdateHover:P,setReconnecting:D})]})})}var GIe=m.memo(HIe);const YIe=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Nre({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:r,onReconnect:s,onEdgeContextMenu:a,onEdgeMouseEnter:o,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:p,onReconnectEnd:b,disableKeyboardA11y:g}){const{edgesFocusable:O,edgesReconnectable:y,elementsSelectable:v,onError:x}=Gn(YIe,Tr),w=IIe(t);return l.jsxs("div",{className:"react-flow__edges",children:[l.jsx($Ie,{defaultColor:e,rfId:n}),w.map(E=>l.jsx(GIe,{id:E,edgesFocusable:O,edgesReconnectable:y,elementsSelectable:v,noPanClassName:r,onReconnect:s,onContextMenu:a,onMouseEnter:o,onMouseMove:c,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:p,onReconnectEnd:b,rfId:n,onError:x,edgeTypes:i,disableKeyboardA11y:g},E))]})}Nre.displayName="EdgeRenderer";const WIe=m.memo(Nre),ZIe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function KIe({children:e}){const t=Gn(ZIe);return l.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function JIe(e){const t=HA(),n=m.useRef(!1);m.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const eDe=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function tDe(e){const t=Gn(eDe),n=_r();return m.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function nDe(e){return e.connection.inProgress?{...e.connection,to:Kb(e.connection.to,e.transform)}:{...e.connection}}function iDe(e){return nDe}function rDe(e){const t=iDe();return Gn(t,Tr)}const sDe=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function aDe({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:r,width:s,height:a,isValid:o,inProgress:c}=Gn(sDe,Tr);return!(s&&r&&c)?null:l.jsx("svg",{style:e,width:s,height:a,className:"react-flow__connectionline react-flow__container",children:l.jsx("g",{className:bs(["react-flow__connection",Tie(o)]),children:l.jsx(jre,{style:t,type:n,CustomComponent:i,isValid:o})})})}const jre=({style:e,type:t=Qf.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:r,from:s,fromNode:a,fromHandle:o,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h,pointer:p}=rDe();if(!r)return;if(n)return l.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:o,fromX:s.x,fromY:s.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:Tie(i),toNode:d,toHandle:f,pointer:p});let b="";const g={sourceX:s.x,sourceY:s.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case Qf.Bezier:[b]=Lie(g);break;case Qf.SimpleBezier:[b]=Ore(g);break;case Qf.Step:[b]=DT({...g,borderRadius:0});break;case Qf.SmoothStep:[b]=DT(g);break;default:[b]=Qie(g)}return l.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:e})};jre.displayName="ConnectionLine";const oDe={};function bU(e=oDe){m.useRef(e),_r(),m.useEffect(()=>{},[e])}function lDe(){_r(),m.useRef(!1),m.useEffect(()=>{},[])}function Rre({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:r,onNodeDoubleClick:s,onEdgeDoubleClick:a,onNodeMouseEnter:o,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:p,connectionLineType:b,connectionLineStyle:g,connectionLineComponent:O,connectionLineContainerStyle:y,selectionKeyCode:v,selectionOnDrag:x,selectionMode:w,multiSelectionKeyCode:E,panActivationKeyCode:S,zoomActivationKeyCode:k,deleteKeyCode:T,onlyRenderVisibleElements:C,elementsSelectable:A,defaultViewport:N,translateExtent:P,minZoom:Q,maxZoom:D,preventScrolling:$,defaultMarkerColor:j,zoomOnScroll:I,zoomOnPinch:F,panOnScroll:B,panOnScrollSpeed:M,panOnScrollMode:Y,zoomOnDoubleClick:q,panOnDrag:U,autoPanOnSelection:V,onPaneClick:re,onPaneMouseEnter:de,onPaneMouseMove:be,onPaneMouseLeave:ce,onPaneScroll:K,onPaneContextMenu:ee,paneClickDistance:me,nodeClickDistance:ve,onEdgeContextMenu:Ne,onEdgeMouseEnter:Ie,onEdgeMouseMove:De,onEdgeMouseLeave:pe,reconnectRadius:Se,onReconnect:Oe,onReconnectStart:Le,onReconnectEnd:Fe,noDragClassName:Te,noWheelClassName:Ue,noPanClassName:ot,disableKeyboardA11y:Bt,nodeExtent:Ye,rfId:Z,viewport:ie,onViewportChange:ue}){return bU(e),bU(t),lDe(),JIe(n),tDe(ie),l.jsx(SIe,{onPaneClick:re,onPaneMouseEnter:de,onPaneMouseMove:be,onPaneMouseLeave:ce,onPaneContextMenu:ee,onPaneScroll:K,paneClickDistance:me,deleteKeyCode:T,selectionKeyCode:v,selectionOnDrag:x,selectionMode:w,onSelectionStart:h,onSelectionEnd:p,multiSelectionKeyCode:E,panActivationKeyCode:S,zoomActivationKeyCode:k,elementsSelectable:A,zoomOnScroll:I,zoomOnPinch:F,zoomOnDoubleClick:q,panOnScroll:B,panOnScrollSpeed:M,panOnScrollMode:Y,panOnDrag:U,autoPanOnSelection:V,defaultViewport:N,translateExtent:P,minZoom:Q,maxZoom:D,onSelectionContextMenu:f,preventScrolling:$,noDragClassName:Te,noWheelClassName:Ue,noPanClassName:ot,disableKeyboardA11y:Bt,onViewportChange:ue,isControlledViewport:!!ie,children:l.jsxs(KIe,{children:[l.jsx(WIe,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:a,onReconnect:Oe,onReconnectStart:Le,onReconnectEnd:Fe,onlyRenderVisibleElements:C,onEdgeContextMenu:Ne,onEdgeMouseEnter:Ie,onEdgeMouseMove:De,onEdgeMouseLeave:pe,reconnectRadius:Se,defaultMarkerColor:j,noPanClassName:ot,disableKeyboardA11y:Bt,rfId:Z}),l.jsx(aDe,{style:g,type:b,component:O,containerStyle:y}),l.jsx("div",{className:"react-flow__edgelabel-renderer"}),l.jsx(RIe,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:o,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:ve,onlyRenderVisibleElements:C,noPanClassName:ot,noDragClassName:Te,disableKeyboardA11y:Bt,nodeExtent:Ye,rfId:Z}),l.jsx("div",{className:"react-flow__viewport-portal"})]})})}Rre.displayName="GraphView";const cDe=m.memo(Rre),uDe=jie(),OU=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:c=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const p=new Map,b=new Map,g=new Map,O=new Map,y=i??t??[],v=n??e??[],x=d??[0,0],w=f??m1;Uie(g,O,y);const{nodesInitialized:E}=BP(v,p,b,{nodeOrigin:x,nodeExtent:w,zIndexMode:h});let S=[0,0,1];if(a&&r&&s){const k=Iv(p,{filter:N=>!!((N.width||N.initialWidth)&&(N.height||N.initialHeight))}),{x:T,y:C,zoom:A}=F$(k,r,s,c,u,(o==null?void 0:o.padding)??.1);S=[T,C,A]}return{rfId:"1",width:r??0,height:s??0,transform:S,nodes:v,nodesInitialized:E,nodeLookup:p,parentLookup:b,edges:y,edgeLookup:O,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:c,maxZoom:u,translateExtent:m1,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ub.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:x,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:o,fitViewResolver:null,connection:{...kie},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:uDe,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Eie,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},dDe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>TRe((p,b)=>{async function g(){const{nodeLookup:O,panZoom:y,fitViewOptions:v,fitViewResolver:x,width:w,height:E,minZoom:S,maxZoom:k}=b();y&&(await lje({nodes:O,width:w,height:E,panZoom:y,minZoom:S,maxZoom:k},v),x==null||x.resolve(!0),p({fitViewResolver:null}))}return{...OU({nodes:e,edges:t,width:r,height:s,fitView:a,fitViewOptions:o,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:i,zIndexMode:h}),setNodes:O=>{const{nodeLookup:y,parentLookup:v,nodeOrigin:x,elevateNodesOnSelect:w,fitViewQueued:E,zIndexMode:S,nodesSelectionActive:k}=b(),{nodesInitialized:T,hasSelectedNodes:C}=BP(O,y,v,{nodeOrigin:x,nodeExtent:f,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:S}),A=k&&C;E&&T?(g(),p({nodes:O,nodesInitialized:T,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):p({nodes:O,nodesInitialized:T,nodesSelectionActive:A})},setEdges:O=>{const{connectionLookup:y,edgeLookup:v}=b();Uie(y,v,O),p({edges:O})},setDefaultNodesAndEdges:(O,y)=>{if(O){const{setNodes:v}=b();v(O),p({hasDefaultNodes:!0})}if(y){const{setEdges:v}=b();v(y),p({hasDefaultEdges:!0})}},updateNodeInternals:O=>{const{triggerNodeChanges:y,nodeLookup:v,parentLookup:x,domNode:w,nodeOrigin:E,nodeExtent:S,debug:k,fitViewQueued:T,zIndexMode:C}=b(),{changes:A,updatedInternals:N}=jje(O,v,x,w,E,S,C);N&&(_je(v,x,{nodeOrigin:E,nodeExtent:S,zIndexMode:C}),T?(g(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),(A==null?void 0:A.length)>0&&(k&&console.log("React Flow: trigger node changes",A),y==null||y(A)))},updateNodePositions:(O,y=!1)=>{const v=[];let x=[];const{nodeLookup:w,triggerNodeChanges:E,connection:S,updateConnection:k,onNodesChangeMiddlewareMap:T}=b();for(const[C,A]of O){const N=w.get(C),P=!!(N!=null&&N.expandParent&&(N!=null&&N.parentId)&&(A!=null&&A.position)),Q={id:C,type:"position",position:P?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:y};if(N&&S.inProgress&&S.fromNode.id===N.id){const D=gm(N,S.fromHandle,Et.Left,!0);k({...S,from:D})}P&&N.parentId&&v.push({id:C,parentId:N.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),x.push(Q)}if(v.length>0){const{parentLookup:C,nodeOrigin:A}=b(),N=G$(v,w,C,A);x.push(...N)}for(const C of T.values())x=C(x);E(x)},triggerNodeChanges:O=>{const{onNodesChange:y,setNodes:v,nodes:x,hasDefaultNodes:w,debug:E}=b();if(O!=null&&O.length){if(w){const S=ore(O,x);v(S)}E&&console.log("React Flow: trigger node changes",O),y==null||y(O)}},triggerEdgeChanges:O=>{const{onEdgesChange:y,setEdges:v,edges:x,hasDefaultEdges:w,debug:E}=b();if(O!=null&&O.length){if(w){const S=lre(O,x);v(S)}E&&console.log("React Flow: trigger edge changes",O),y==null||y(O)}},addSelectedNodes:O=>{const{multiSelectionActive:y,edgeLookup:v,nodeLookup:x,triggerNodeChanges:w,triggerEdgeChanges:E}=b();if(y){const S=O.map(k=>vp(k,!0));w(S);return}w(s0(x,new Set([...O]),!0)),E(s0(v))},addSelectedEdges:O=>{const{multiSelectionActive:y,edgeLookup:v,nodeLookup:x,triggerNodeChanges:w,triggerEdgeChanges:E}=b();if(y){const S=O.map(k=>vp(k,!0));E(S);return}E(s0(v,new Set([...O]))),w(s0(x,new Set,!0))},unselectNodesAndEdges:({nodes:O,edges:y}={})=>{const{edges:v,nodes:x,nodeLookup:w,triggerNodeChanges:E,triggerEdgeChanges:S}=b(),k=O||x,T=y||v,C=[];for(const N of k){if(!N.selected)continue;const P=w.get(N.id);P&&(P.selected=!1),C.push(vp(N.id,!1))}const A=[];for(const N of T)N.selected&&A.push(vp(N.id,!1));E(C),S(A)},setMinZoom:O=>{const{panZoom:y,maxZoom:v}=b();y==null||y.setScaleExtent([O,v]),p({minZoom:O})},setMaxZoom:O=>{const{panZoom:y,minZoom:v}=b();y==null||y.setScaleExtent([v,O]),p({maxZoom:O})},setTranslateExtent:O=>{var y;(y=b().panZoom)==null||y.setTranslateExtent(O),p({translateExtent:O})},resetSelectedElements:()=>{const{edges:O,nodes:y,triggerNodeChanges:v,triggerEdgeChanges:x,elementsSelectable:w}=b();if(!w)return;const E=y.reduce((k,T)=>T.selected?[...k,vp(T.id,!1)]:k,[]),S=O.reduce((k,T)=>T.selected?[...k,vp(T.id,!1)]:k,[]);v(E),x(S)},setNodeExtent:O=>{const{nodes:y,nodeLookup:v,parentLookup:x,nodeOrigin:w,elevateNodesOnSelect:E,nodeExtent:S,zIndexMode:k}=b();O[0][0]===S[0][0]&&O[0][1]===S[0][1]&&O[1][0]===S[1][0]&&O[1][1]===S[1][1]||(BP(y,v,x,{nodeOrigin:w,nodeExtent:O,elevateNodesOnSelect:E,checkEquality:!1,zIndexMode:k}),p({nodeExtent:O}))},panBy:O=>{const{transform:y,width:v,height:x,panZoom:w,translateExtent:E}=b();return Rje({delta:O,panZoom:w,transform:y,translateExtent:E,width:v,height:x})},setCenter:async(O,y,v)=>{const{width:x,height:w,maxZoom:E,panZoom:S}=b();if(!S)return!1;const k=typeof(v==null?void 0:v.zoom)<"u"?v.zoom:E;return await S.setViewport({x:x/2-O*k,y:w/2-y*k,zoom:k},{duration:v==null?void 0:v.duration,ease:v==null?void 0:v.ease,interpolate:v==null?void 0:v.interpolate}),!0},cancelConnection:()=>{p({connection:{...kie}})},updateConnection:O=>{p({connection:O})},reset:()=>p({...OU()})}},Object.is);function Ire({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:r,initialHeight:s,initialMinZoom:a,initialMaxZoom:o,initialFitViewOptions:c,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:p}){const[b]=m.useState(()=>dDe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:s,fitView:u,minZoom:a,maxZoom:o,fitViewOptions:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return l.jsx(_Re,{value:b,children:l.jsx(KRe,{children:p})})}function fDe({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:r,width:s,height:a,fitView:o,fitViewOptions:c,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p}){return m.useContext(qA)?l.jsx(l.Fragment,{children:e}):l.jsx(Ire,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:r,initialWidth:s,initialHeight:a,fitView:o,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:p,children:e})}const hDe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function pDe({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:r,nodeTypes:s,edgeTypes:a,onNodeClick:o,onEdgeClick:c,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:p,onConnectStart:b,onConnectEnd:g,onClickConnectStart:O,onClickConnectEnd:y,onNodeMouseEnter:v,onNodeMouseMove:x,onNodeMouseLeave:w,onNodeContextMenu:E,onNodeDoubleClick:S,onNodeDragStart:k,onNodeDrag:T,onNodeDragStop:C,onNodesDelete:A,onEdgesDelete:N,onDelete:P,onSelectionChange:Q,onSelectionDragStart:D,onSelectionDrag:$,onSelectionDragStop:j,onSelectionContextMenu:I,onSelectionStart:F,onSelectionEnd:B,onBeforeDelete:M,connectionMode:Y,connectionLineType:q=Qf.Bezier,connectionLineStyle:U,connectionLineComponent:V,connectionLineContainerStyle:re,deleteKeyCode:de="Backspace",selectionKeyCode:be="Shift",selectionOnDrag:ce=!1,selectionMode:K=g1.Full,panActivationKeyCode:ee="Space",multiSelectionKeyCode:me=y1()?"Meta":"Control",zoomActivationKeyCode:ve=y1()?"Meta":"Control",snapToGrid:Ne,snapGrid:Ie,onlyRenderVisibleElements:De=!1,selectNodesOnDrag:pe,nodesDraggable:Se,autoPanOnNodeFocus:Oe,nodesConnectable:Le,nodesFocusable:Fe,nodeOrigin:Te=sre,edgesFocusable:Ue,edgesReconnectable:ot,elementsSelectable:Bt=!0,defaultViewport:Ye=BRe,minZoom:Z=.5,maxZoom:ie=2,translateExtent:ue=m1,preventScrolling:ye=!0,nodeExtent:z,defaultMarkerColor:je="#b1b1b7",zoomOnScroll:We=!0,zoomOnPinch:et=!0,panOnScroll:Jt=!1,panOnScrollSpeed:Xt=.5,panOnScrollMode:Tt=Kp.Free,zoomOnDoubleClick:vt=!0,panOnDrag:xe=!0,onPaneClick:ze,onPaneMouseEnter:Be,onPaneMouseMove:bt,onPaneMouseLeave:mt,onPaneScroll:At,onPaneContextMenu:_e,paneClickDistance:Ze=1,nodeClickDistance:Ct=0,children:an,onReconnect:tt,onReconnectStart:pn,onReconnectEnd:Yn,onEdgeContextMenu:zt,onEdgeDoubleClick:Vt,onEdgeMouseEnter:Ae,onEdgeMouseMove:Ge,onEdgeMouseLeave:Ft,reconnectRadius:mn=10,onNodesChange:en,onEdgesChange:ui,noDragClassName:Re="nodrag",noWheelClassName:rt="nowheel",noPanClassName:Dt="nopan",fitView:Yt,fitViewOptions:cn,connectOnClick:Zt,attributionPosition:ni,proOptions:oi,defaultEdgeOptions:Ui,elevateNodesOnSelect:le=!0,elevateEdgesOnSelect:Qe=!1,disableKeyboardA11y:lt=!1,autoPanOnConnect:Ot,autoPanOnNodeDrag:En,autoPanOnSelection:li=!0,autoPanSpeed:Wn,connectionRadius:di,isValidConnection:Pn,onError:fi,style:Yi,id:Wi,nodeDragThreshold:gr,connectionDragThreshold:vn,viewport:Zi,onViewportChange:ji,width:Si,height:zi,colorMode:qr="light",debug:ua,onScroll:Ir,ariaLabelConfig:Os,zIndexMode:Ar="basic",...Ns},ii){const Xs=Wi||"1",Lc=VRe(qr),Xa=m.useCallback(Ki=>{Ki.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ir==null||Ir(Ki)},[Ir]);return l.jsx("div",{"data-testid":"rf__wrapper",...Ns,onScroll:Xa,style:{...Yi,...hDe},ref:ii,className:bs(["react-flow",r,Lc]),id:Wi,role:"application",children:l.jsxs(fDe,{nodes:e,edges:t,width:Si,height:zi,fitView:Yt,fitViewOptions:cn,minZoom:Z,maxZoom:ie,nodeOrigin:Te,nodeExtent:z,zIndexMode:Ar,children:[l.jsx(zRe,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:p,onConnectStart:b,onConnectEnd:g,onClickConnectStart:O,onClickConnectEnd:y,nodesDraggable:Se,autoPanOnNodeFocus:Oe,nodesConnectable:Le,nodesFocusable:Fe,edgesFocusable:Ue,edgesReconnectable:ot,elementsSelectable:Bt,elevateNodesOnSelect:le,elevateEdgesOnSelect:Qe,minZoom:Z,maxZoom:ie,nodeExtent:z,onNodesChange:en,onEdgesChange:ui,snapToGrid:Ne,snapGrid:Ie,connectionMode:Y,translateExtent:ue,connectOnClick:Zt,defaultEdgeOptions:Ui,fitView:Yt,fitViewOptions:cn,onNodesDelete:A,onEdgesDelete:N,onDelete:P,onNodeDragStart:k,onNodeDrag:T,onNodeDragStop:C,onSelectionDrag:$,onSelectionDragStart:D,onSelectionDragStop:j,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:Dt,nodeOrigin:Te,rfId:Xs,autoPanOnConnect:Ot,autoPanOnNodeDrag:En,autoPanSpeed:Wn,onError:fi,connectionRadius:di,isValidConnection:Pn,selectNodesOnDrag:pe,nodeDragThreshold:gr,connectionDragThreshold:vn,onBeforeDelete:M,debug:ua,ariaLabelConfig:Os,zIndexMode:Ar}),l.jsx(cDe,{onInit:u,onNodeClick:o,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:x,onNodeMouseLeave:w,onNodeContextMenu:E,onNodeDoubleClick:S,nodeTypes:s,edgeTypes:a,connectionLineType:q,connectionLineStyle:U,connectionLineComponent:V,connectionLineContainerStyle:re,selectionKeyCode:be,selectionOnDrag:ce,selectionMode:K,deleteKeyCode:de,multiSelectionKeyCode:me,panActivationKeyCode:ee,zoomActivationKeyCode:ve,onlyRenderVisibleElements:De,defaultViewport:Ye,translateExtent:ue,minZoom:Z,maxZoom:ie,preventScrolling:ye,zoomOnScroll:We,zoomOnPinch:et,zoomOnDoubleClick:vt,panOnScroll:Jt,panOnScrollSpeed:Xt,panOnScrollMode:Tt,panOnDrag:xe,autoPanOnSelection:li,onPaneClick:ze,onPaneMouseEnter:Be,onPaneMouseMove:bt,onPaneMouseLeave:mt,onPaneScroll:At,onPaneContextMenu:_e,paneClickDistance:Ze,nodeClickDistance:Ct,onSelectionContextMenu:I,onSelectionStart:F,onSelectionEnd:B,onReconnect:tt,onReconnectStart:pn,onReconnectEnd:Yn,onEdgeContextMenu:zt,onEdgeDoubleClick:Vt,onEdgeMouseEnter:Ae,onEdgeMouseMove:Ge,onEdgeMouseLeave:Ft,reconnectRadius:mn,defaultMarkerColor:je,noDragClassName:Re,noWheelClassName:rt,noPanClassName:Dt,rfId:Xs,disableKeyboardA11y:lt,nodeExtent:z,viewport:Zi,onViewportChange:ji}),l.jsx(QRe,{onSelectionChange:Q}),an,l.jsx(DRe,{proOptions:oi,position:ni}),l.jsx(IRe,{rfId:Xs,disableKeyboardA11y:lt})]})})}var mDe=cre(pDe);const gDe=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function bDe({children:e}){const t=Gn(gDe);return t?Gi.createPortal(e,t):null}function ODe(e){const[t,n]=m.useState(e),i=m.useCallback(r=>n(s=>ore(r,s)),[]);return[t,n,i]}function yDe(e){const[t,n]=m.useState(e),i=m.useCallback(r=>n(s=>lre(r,s)),[]);return[t,n,i]}const xDe=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||!U$(n.userNode))return!1;return!0};function vDe(e={includeHiddenNodes:!1}){return Gn(xDe(e))}function wDe({dimensions:e,lineWidth:t,variant:n,className:i}){return l.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:bs(["react-flow__background-pattern",n,i])})}function SDe({radius:e,className:t}){return l.jsx("circle",{cx:e,cy:e,r:e,className:bs(["react-flow__background-pattern","dots",t])})}var lh;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(lh||(lh={}));const EDe={[lh.Dots]:1,[lh.Lines]:1,[lh.Cross]:6},kDe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Dre({id:e,variant:t=lh.Dots,gap:n=20,size:i,lineWidth:r=1,offset:s=0,color:a,bgColor:o,style:c,className:u,patternClassName:d}){const f=m.useRef(null),{transform:h,patternId:p}=Gn(kDe,Tr),b=i||EDe[t],g=t===lh.Dots,O=t===lh.Cross,y=Array.isArray(n)?n:[n,n],v=[y[0]*h[2]||1,y[1]*h[2]||1],x=b*h[2],w=Array.isArray(s)?s:[s,s],E=O?[x,x]:v,S=[w[0]*h[2]||1+E[0]/2,w[1]*h[2]||1+E[1]/2],k=`${p}${e||""}`;return l.jsxs("svg",{className:bs(["react-flow__background",u]),style:{...c,...GA,"--xy-background-color-props":o,"--xy-background-pattern-color-props":a},ref:f,"data-testid":"rf__background",children:[l.jsx("pattern",{id:k,x:h[0]%v[0],y:h[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`,children:g?l.jsx(SDe,{radius:x/2,className:d}):l.jsx(wDe,{dimensions:E,lineWidth:r,variant:t,className:d})}),l.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}Dre.displayName="Background";const TDe=m.memo(Dre);function _De(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:l.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function ADe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:l.jsx("path",{d:"M0 0h32v4.2H0z"})})}function CDe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:l.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 NDe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:l.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 jDe(){return l.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:l.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 OS({children:e,className:t,...n}){return l.jsx("button",{type:"button",className:bs(["react-flow__controls-button",t]),...n,children:e})}const RDe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Pre({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:s,onZoomOut:a,onFitView:o,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":p}){const b=_r(),{isInteractive:g,minZoomReached:O,maxZoomReached:y,ariaLabelConfig:v}=Gn(RDe,Tr),{zoomIn:x,zoomOut:w,fitView:E}=HA(),S=()=>{x(),s==null||s()},k=()=>{w(),a==null||a()},T=()=>{E(r),o==null||o()},C=()=>{b.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),c==null||c(!g)},A=h==="horizontal"?"horizontal":"vertical";return l.jsxs(XA,{className:bs(["react-flow__controls",A,u]),position:f,style:e,"data-testid":"rf__controls","aria-label":p??v["controls.ariaLabel"],children:[t&&l.jsxs(l.Fragment,{children:[l.jsx(OS,{onClick:S,className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:y,children:l.jsx(_De,{})}),l.jsx(OS,{onClick:k,className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:O,children:l.jsx(ADe,{})})]}),n&&l.jsx(OS,{className:"react-flow__controls-fitview",onClick:T,title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:l.jsx(CDe,{})}),i&&l.jsx(OS,{className:"react-flow__controls-interactive",onClick:C,title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:g?l.jsx(jDe,{}):l.jsx(NDe,{})}),d]})}Pre.displayName="Controls";const IDe=m.memo(Pre);function DDe({id:e,x:t,y:n,width:i,height:r,style:s,color:a,strokeColor:o,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:p}){const{background:b,backgroundColor:g}=s||{},O=a||b||g;return l.jsx("rect",{className:bs(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:i,height:r,style:{fill:O,stroke:o,strokeWidth:c},shapeRendering:f,onClick:p?y=>p(y,e):void 0})}const PDe=m.memo(DDe),MDe=e=>e.nodes.map(t=>t.id),fj=e=>e instanceof Function?e:()=>e;function LDe({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:r,nodeComponent:s=PDe,onClick:a}){const o=Gn(MDe,Tr),c=fj(t),u=fj(e),d=fj(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return l.jsx(l.Fragment,{children:o.map(h=>l.jsx(QDe,{id:h,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:r,NodeComponent:s,onClick:a,shapeRendering:f},h))})}function $De({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:r,nodeStrokeWidth:s,shapeRendering:a,NodeComponent:o,onClick:c}){const{node:u,x:d,y:f,width:h,height:p}=Gn(b=>{const g=b.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const O=g.internals.userNode,{x:y,y:v}=g.internals.positionAbsolute,{width:x,height:w}=Yd(O);return{node:O,x:y,y:v,width:x,height:w}},Tr);return!u||u.hidden||!U$(u)?null:l.jsx(o,{x:d,y:f,width:h,height:p,style:u.style,selected:!!u.selected,className:i(u),color:t(u),borderRadius:r,strokeColor:n(u),strokeWidth:s,shapeRendering:a,onClick:c,id:u.id})}const QDe=m.memo($De);var BDe=m.memo(LDe);const FDe=200,UDe=150,zDe=e=>!e.hidden,VDe=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?Nie(Iv(e.nodeLookup,{filter:zDe}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},qDe="react-flow__minimap-desc";function Mre({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:a,nodeComponent:o,bgColor:c,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:p,onNodeClick:b,pannable:g=!1,zoomable:O=!1,ariaLabel:y,inversePan:v,zoomStep:x=1,offsetScale:w=5}){const E=_r(),S=m.useRef(null),{boundingRect:k,viewBB:T,rfId:C,panZoom:A,translateExtent:N,flowWidth:P,flowHeight:Q,ariaLabelConfig:D}=Gn(VDe,Tr),$=(e==null?void 0:e.width)??FDe,j=(e==null?void 0:e.height)??UDe,I=k.width/$,F=k.height/j,B=Math.max(I,F),M=B*$,Y=B*j,q=w*B,U=k.x-(M-k.width)/2-q,V=k.y-(Y-k.height)/2-q,re=M+q*2,de=Y+q*2,be=`${qDe}-${C}`,ce=m.useRef(0),K=m.useRef();ce.current=B,m.useEffect(()=>{if(S.current&&A)return K.current=Fje({domNode:S.current,panZoom:A,getTransform:()=>E.getState().transform,getViewScale:()=>ce.current}),()=>{var Ne;(Ne=K.current)==null||Ne.destroy()}},[A]),m.useEffect(()=>{var Ne;(Ne=K.current)==null||Ne.update({translateExtent:N,width:P,height:Q,inversePan:v,pannable:g,zoomStep:x,zoomable:O})},[g,O,v,x,N,P,Q]);const ee=p?Ne=>{var pe;const[Ie,De]=((pe=K.current)==null?void 0:pe.pointer(Ne))||[0,0];p(Ne,{x:Ie,y:De})}:void 0,me=b?m.useCallback((Ne,Ie)=>{const De=E.getState().nodeLookup.get(Ie).internals.userNode;b(Ne,De)},[]):void 0,ve=y??D["minimap.ariaLabel"];return l.jsx(XA,{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*B:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:bs(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:l.jsxs("svg",{width:$,height:j,viewBox:`${U} ${V} ${re} ${de}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":be,ref:S,onClick:ee,children:[ve&&l.jsx("title",{id:be,children:ve}),l.jsx(BDe,{onClick:me,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:r,nodeStrokeWidth:a,nodeComponent:o}),l.jsx("path",{className:"react-flow__minimap-mask",d:`M${U-q},${V-q}h${re+q*2}v${de+q*2}h${-re-q*2}z + M${T.x},${T.y}h${T.width}v${T.height}h${-T.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Mre.displayName="MiniMap";m.memo(Mre);const XDe=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,HDe={[pb.Line]:"right",[pb.Handle]:"bottom-right"};function GDe({nodeId:e,position:t,variant:n=pb.Handle,className:i,style:r=void 0,children:s,color:a,minWidth:o=10,minHeight:c=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:p=!0,shouldResize:b,onResizeStart:g,onResize:O,onResizeEnd:y}){const v=hre(),x=typeof e=="string"?e:v,w=_r(),E=m.useRef(null),S=n===pb.Handle,k=Gn(m.useCallback(XDe(S&&p),[S,p]),Tr),T=m.useRef(null),C=t??HDe[n];m.useEffect(()=>{if(!(!E.current||!x))return T.current||(T.current=eRe({domNode:E.current,nodeId:x,getStoreItems:()=>{const{nodeLookup:N,transform:P,snapGrid:Q,snapToGrid:D,nodeOrigin:$,domNode:j}=w.getState();return{nodeLookup:N,transform:P,snapGrid:Q,snapToGrid:D,nodeOrigin:$,paneDomNode:j}},onChange:(N,P)=>{const{triggerNodeChanges:Q,nodeLookup:D,parentLookup:$,nodeOrigin:j}=w.getState(),I=[],F={x:N.x,y:N.y},B=D.get(x);if(B&&B.expandParent&&B.parentId){const M=B.origin??j,Y=N.width??B.measured.width??0,q=N.height??B.measured.height??0,U={id:B.id,parentId:B.parentId,rect:{width:Y,height:q,...Rie({x:N.x??B.position.x,y:N.y??B.position.y},{width:Y,height:q},B.parentId,D,M)}},V=G$([U],D,$,j);I.push(...V),F.x=N.x?Math.max(M[0]*Y,N.x):void 0,F.y=N.y?Math.max(M[1]*q,N.y):void 0}if(F.x!==void 0&&F.y!==void 0){const M={id:x,type:"position",position:{...F}};I.push(M)}if(N.width!==void 0&&N.height!==void 0){const Y={id:x,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:N.width,height:N.height}};I.push(Y)}for(const M of P){const Y={...M,type:"position"};I.push(Y)}Q(I)},onEnd:({width:N,height:P})=>{const Q={id:x,type:"dimensions",resizing:!1,dimensions:{width:N,height:P}};w.getState().triggerNodeChanges([Q])}})),T.current.update({controlPosition:C,boundaries:{minWidth:o,minHeight:c,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:O,onResizeEnd:y,shouldResize:b}),()=>{var N;(N=T.current)==null||N.destroy()}},[C,o,c,u,d,f,g,O,y,b]);const A=C.split("-");return l.jsx("div",{className:bs(["react-flow__resize-control","nodrag",...A,n,i]),ref:E,style:{...r,scale:k,...a&&{[S?"backgroundColor":"borderColor"]:a}},children:s})}m.memo(GDe);var Lre=Object.defineProperty,YDe=(e,t,n)=>t in e?Lre(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WDe=(e,t)=>{for(var n in t)Lre(e,n,{get:t[n],enumerable:!0})},ZDe=(e,t,n)=>YDe(e,t+"",n),$re={};WDe($re,{Graph:()=>Ul,alg:()=>W$,json:()=>Bre,version:()=>ePe});var KDe=Object.defineProperty,Qre=(e,t)=>{for(var n in t)KDe(e,n,{get:t[n],enumerable:!0})},Ul=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,n){return t.forEach(i=>{n!==void 0?this.setNode(i,n):this.setNode(i)}),this}setNode(t,n){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=n),this):(this._nodes[t]=arguments.length>1?n:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let n=i=>this.removeEdge(this._edgeObjs[i]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(i=>{this.setParent(i)}),delete this._children[t]),Object.keys(this._in[t]).forEach(n),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,n){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(n===void 0)n="\0";else{n+="";for(let i=n;i!==void 0;i=this.parent(i))if(i===t)throw new Error("Setting "+n+" as parent of "+t+" would create a cycle");this.setNode(n)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=n,this._children[n][t]=!0,this}parent(t){if(this._isCompound){let n=this._parent[t];if(n!=="\0")return n}}children(t="\0"){if(this._isCompound){let n=this._children[t];if(n)return Object.keys(n)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let n=this._preds[t];if(n)return Object.keys(n)}successors(t){let n=this._sucs[t];if(n)return Object.keys(n)}neighbors(t){let n=this.predecessors(t);if(n){let i=new Set(n);for(let r of this.successors(t))i.add(r);return Array.from(i.values())}}isLeaf(t){let n;return this.isDirected()?n=this.successors(t):n=this.neighbors(t),n.length===0}filterNodes(t){let n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),Object.entries(this._nodes).forEach(([s,a])=>{t(s)&&n.setNode(s,a)}),Object.values(this._edgeObjs).forEach(s=>{n.hasNode(s.v)&&n.hasNode(s.w)&&n.setEdge(s,this.edge(s))});let i={},r=s=>{let a=this.parent(s);return!a||n.hasNode(a)?(i[s]=a??void 0,a??void 0):a in i?i[a]:r(a)};return this._isCompound&&n.nodes().forEach(s=>n.setParent(s,r(s))),n}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,n){return t.reduce((i,r)=>(n!==void 0?this.setEdge(i,r,n):this.setEdge(i,r),r)),this}setEdge(t,n,i,r){let s,a,o,c,u=!1;typeof t=="object"&&t!==null&&"v"in t?(s=t.v,a=t.w,o=t.name,arguments.length===2&&(c=n,u=!0)):(s=t,a=n,o=r,arguments.length>2&&(c=i,u=!0)),s=""+s,a=""+a,o!==void 0&&(o=""+o);let d=Py(this._isDirected,s,a,o);if(d in this._edgeLabels)return u&&(this._edgeLabels[d]=c),this;if(o!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(a),this._edgeLabels[d]=u?c:this._defaultEdgeLabelFn(s,a,o);let f=JDe(this._isDirected,s,a,o);return s=f.v,a=f.w,Object.freeze(f),this._edgeObjs[d]=f,yU(this._preds[a],s),yU(this._sucs[s],a),this._in[a][d]=f,this._out[s][d]=f,this._edgeCount++,this}edge(t,n,i){let r=arguments.length===1?hj(this._isDirected,t):Py(this._isDirected,t,n,i);return this._edgeLabels[r]}edgeAsObj(t,n,i){let r=arguments.length===1?this.edge(t):this.edge(t,n,i);return typeof r!="object"?{label:r}:r}hasEdge(t,n,i){return(arguments.length===1?hj(this._isDirected,t):Py(this._isDirected,t,n,i))in this._edgeLabels}removeEdge(t,n,i){let r=arguments.length===1?hj(this._isDirected,t):Py(this._isDirected,t,n,i),s=this._edgeObjs[r];if(s){let a=s.v,o=s.w;delete this._edgeLabels[r],delete this._edgeObjs[r],xU(this._preds[o],a),xU(this._sucs[a],o),delete this._in[o][r],delete this._out[a][r],this._edgeCount--}return this}inEdges(t,n){return this.isDirected()?this.filterEdges(this._in[t],t,n):this.nodeEdges(t,n)}outEdges(t,n){return this.isDirected()?this.filterEdges(this._out[t],t,n):this.nodeEdges(t,n)}nodeEdges(t,n){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,n)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,n,i){if(!t)return;let r=Object.values(t);return i?r.filter(s=>s.v===n&&s.w===i||s.v===i&&s.w===n):r}};function yU(e,t){e[t]?e[t]++:e[t]=1}function xU(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function Py(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let a=r;r=s,s=a}return r+""+s+""+(i===void 0?"\0":i)}function JDe(e,t,n,i){let r=""+t,s=""+n;if(!e&&r>s){let o=r;r=s,s=o}let a={v:r,w:s};return i&&(a.name=i),a}function hj(e,t){return Py(e,t.v,t.w,t.name)}var ePe="4.0.1",Bre={};Qre(Bre,{read:()=>rPe,write:()=>tPe});function tPe(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:nPe(e),edges:iPe(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function nPe(e){return e.nodes().map(t=>{let n=e.node(t),i=e.parent(t),r={v:t};return n!==void 0&&(r.value=n),i!==void 0&&(r.parent=i),r})}function iPe(e){return e.edges().map(t=>{let n=e.edge(t),i={v:t.v,w:t.w};return t.name!==void 0&&(i.name=t.name),n!==void 0&&(i.value=n),i})}function rPe(e){let t=new Ul(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 W$={};Qre(W$,{CycleException:()=>LT,bellmanFord:()=>Fre,components:()=>oPe,dijkstra:()=>MT,dijkstraAll:()=>uPe,findCycles:()=>dPe,floydWarshall:()=>hPe,isAcyclic:()=>mPe,postorder:()=>bPe,preorder:()=>OPe,prim:()=>yPe,shortestPaths:()=>xPe,tarjan:()=>zre,topsort:()=>Vre});var sPe=()=>1;function Fre(e,t,n,i){return aPe(e,String(t),n||sPe,i||function(r){return e.outEdges(r)})}function aPe(e,t,n,i){let r={},s,a=0,o=e.nodes(),c=function(f){let h=n(f);r[f.v].distance+he.key)}has(e){return e in this._keyIndices}priority(e){let t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(e,t){let n=this._keyIndices,i=String(e);if(!(i in n)){let r=this._arr,s=r.length;return n[i]=s,r.push({key:i,priority:t}),this._decrease(s),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){let n=this._keyIndices[e];if(n===void 0)throw new Error(`Key not found: ${e}`);let i=this._arr[n].priority;if(t>i)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${i} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,i=n+1,r=e;n>1,!(t[i].priority1;function MT(e,t,n,i){let r=function(s){return e.outEdges(s)};return cPe(e,String(t),n||lPe,i||r)}function cPe(e,t,n,i){let r={},s=new Ure,a,o,c=function(u){let d=u.v!==a?u.v:u.w,f=r[d],h=n(u),p=o.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);p0&&(a=s.removeMin(),o=r[a],o.distance!==Number.POSITIVE_INFINITY);)i(a).forEach(c);return r}function uPe(e,t,n){return e.nodes().reduce(function(i,r){return i[r]=MT(e,r,t,n),i},{})}function zre(e){let t=0,n=[],i={},r=[];function s(a){let o=i[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(c){c in i?i[c].onStack&&(o.lowlink=Math.min(o.lowlink,i[c].index)):(s(c),o.lowlink=Math.min(o.lowlink,i[c].lowlink))}),o.lowlink===o.index){let c=[],u;do u=n.pop(),i[u].onStack=!1,c.push(u);while(a!==u);r.push(c)}}return e.nodes().forEach(function(a){a in i||s(a)}),r}function dPe(e){return zre(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var fPe=()=>1;function hPe(e,t,n){return pPe(e,t||fPe,n||function(i){return e.outEdges(i)})}function pPe(e,t,n){let i={},r=e.nodes();return r.forEach(function(s){i[s]={},i[s][s]={distance:0,predecessor:""},r.forEach(function(a){s!==a&&(i[s][a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(s).forEach(function(a){let o=a.v===s?a.w:a.v,c=t(a);i[s][o]={distance:c,predecessor:s}})}),r.forEach(function(s){let a=i[s];r.forEach(function(o){let c=i[o];r.forEach(function(u){let d=c[s],f=a[u],h=c[u],p=d.distance+f.distance;p{var c;return(c=e.isDirected()?e.successors(o):e.neighbors(o))!=null?c:[]},a={};return t.forEach(function(o){if(!e.hasNode(o))throw new Error("Graph does not have node: "+o);r=qre(e,o,n==="post",a,s,i,r)}),r}function qre(e,t,n,i,r,s,a){return t in i||(i[t]=!0,n||(a=s(a,t)),r(t).forEach(function(o){a=qre(e,o,n,i,r,s,a)}),n&&(a=s(a,t))),a}function Xre(e,t,n){return gPe(e,t,n,function(i,r){return i.push(r),i},[])}function bPe(e,t){return Xre(e,t,"post")}function OPe(e,t){return Xre(e,t,"pre")}function yPe(e,t){let n=new Ul,i={},r=new Ure,s;function a(c){let u=c.v===s?c.w:c.v,d=r.priority(u);if(d!==void 0){let f=t(c);f0;){if(s=r.removeMin(),s in i)n.setEdge(s,i[s]);else{if(o)throw new Error("Input graph is not connected: "+e);o=!0}e.nodeEdges(s).forEach(a)}return n}function xPe(e,t,n,i){return vPe(e,t,n,i??(r=>{let s=e.outEdges(r);return s??[]}))}function vPe(e,t,n,i){if(n===void 0)return MT(e,t,n,i);let r=!1,s=e.nodes();for(let a=0;at.setNode(n,e.node(n))),e.edges().forEach(n=>{let i=t.edge(n.v,n.w)||{weight:0,minlen:1},r=e.edge(n);t.setEdge(n.v,n.w,{weight:i.weight+r.weight,minlen:Math.max(i.minlen,r.minlen)})}),t}function Hre(e){let t=new Ul({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 vU(e,t){let n=e.x,i=e.y,r=t.x-n,s=t.y-i,a=e.width/2,o=e.height/2;if(!r&&!s)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(s)*a>Math.abs(r)*o?(s<0&&(o=-o),c=o*r/s,u=o):(r<0&&(a=-a),c=a,u=a*s/r),{x:n+c,y:i+u}}function Mv(e){let t=v1(Yre(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let i=e.node(n),r=i.rank;r!==void 0&&(t[r]||(t[r]=[]),t[r][i.order]=n)}),t}function SPe(e){let t=e.nodes().map(i=>{let r=e.node(i).rank;return r===void 0?Number.MAX_VALUE:r}),n=cu(Math.min,t);e.nodes().forEach(i=>{let r=e.node(i);Object.hasOwn(r,"rank")&&(r.rank-=n)})}function EPe(e){let t=e.nodes().map(a=>e.node(a).rank).filter(a=>a!==void 0),n=cu(Math.min,t),i=[];e.nodes().forEach(a=>{let o=e.node(a).rank-n;i[o]||(i[o]=[]),i[o].push(a)});let r=0,s=e.graph().nodeRankFactor;Array.from(i).forEach((a,o)=>{a===void 0&&o%s!==0?--r:a!==void 0&&r&&a.forEach(c=>e.node(c).rank+=r)})}function wU(e,t,n,i){let r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=i),Jb(e,"border",r,t)}function kPe(e,t=Gre){let n=[];for(let i=0;iGre){let n=kPe(t);return e(...n.map(i=>e(...i)))}else return e(...t)}function Yre(e){let t=e.nodes().map(n=>{let i=e.node(n).rank;return i===void 0?Number.MIN_VALUE:i});return cu(Math.max,t)}function TPe(e,t){let n={lhs:[],rhs:[]};return e.forEach(i=>{t(i)?n.lhs.push(i):n.rhs.push(i)}),n}function Wre(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function Zre(e,t){return t()}var _Pe=0;function Z$(e){let t=++_Pe;return e+(""+t)}function v1(e,t,n=1){t==null&&(t=e,e=0);let i=s=>sti[t]:n=t,Object.entries(e).reduce((i,[r,s])=>(i[r]=n(s,r),i),{})}function APe(e,t){return e.reduce((n,i,r)=>(n[i]=t[r],n),{})}var WA="\0",CPe="3.0.0",NPe=class{constructor(){ZDe(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return SU(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&SU(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,jPe)),n=n._prev;return"["+e.join(", ")+"]"}};function SU(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function jPe(e,t){if(e!=="_next"&&e!=="_prev")return t}var RPe=NPe,IPe=()=>1;function DPe(e,t){if(e.nodeCount()<=1)return[];let n=MPe(e,t||IPe);return PPe(n.graph,n.buckets,n.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w)||[])}function PPe(e,t,n){var i;let r=[],s=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)pj(e,t,n,o);for(;o=s.dequeue();)pj(e,t,n,o);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(o=(i=t[c])==null?void 0:i.dequeue(),o){r=r.concat(pj(e,t,n,o,!0)||[]);break}}}return r}function pj(e,t,n,i,r){let s=[],a=r?s:void 0;return(e.inEdges(i.v)||[]).forEach(o=>{let c=e.edge(o),u=e.node(o.v);r&&s.push({v:o.v,w:o.w}),u.out-=c,zP(t,n,u)}),(e.outEdges(i.v)||[]).forEach(o=>{let c=e.edge(o),u=o.w,d=e.node(u);d.in-=c,zP(t,n,d)}),e.removeNode(i.v),a}function MPe(e,t){let n=new Ul,i=0,r=0;e.nodes().forEach(o=>{n.setNode(o,{v:o,in:0,out:0})}),e.edges().forEach(o=>{let c=n.edge(o.v,o.w)||0,u=t(o),d=c+u;n.setEdge(o.v,o.w,d);let f=n.node(o.v),h=n.node(o.w);r=Math.max(r,f.out+=u),i=Math.max(i,h.in+=u)});let s=LPe(r+i+3).map(()=>new RPe),a=i+1;return n.nodes().forEach(o=>{zP(s,a,n.node(o))}),{graph:n,buckets:s,zeroIdx:a}}function zP(e,t,n){var i,r,s;n.out?n.in?(s=e[n.out-n.in+t])==null||s.enqueue(n):(r=e[e.length-1])==null||r.enqueue(n):(i=e[0])==null||i.enqueue(n)}function LPe(e){let t=[];for(let n=0;n{let i=e.edge(n);e.removeEdge(n),i.forwardName=n.name,i.reversed=!0,e.setEdge(n.w,n.v,i,Z$("rev"))});function t(n){return i=>n.edge(i).weight}}function QPe(e){let t=[],n={},i={};function r(s){Object.hasOwn(i,s)||(i[s]=!0,n[s]=!0,e.outEdges(s).forEach(a=>{Object.hasOwn(n,a.w)?t.push(a):r(a.w)}),delete n[s])}return e.nodes().forEach(r),t}function BPe(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let i=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,i)}})}function FPe(e){e.graph().dummyChains=[],e.edges().forEach(t=>UPe(e,t))}function UPe(e,t){let n=t.v,i=e.node(n).rank,r=t.w,s=e.node(r).rank,a=t.name,o=e.edge(t),c=o.labelRank;if(s===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i{let n=e.node(t),i=n.edgeLabel,r;for(e.setEdge(n.edgeObj,i);n.dummy;)r=e.successors(t)[0],e.removeNode(t),i.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height),t=r,n=e.node(t)})}function K$(e){let t={};function n(i){let r=e.node(i);if(Object.hasOwn(t,i))return r.rank;t[i]=!0;let s=e.outEdges(i),a=s?s.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],o=cu(Math.min,a);return o===Number.POSITIVE_INFINITY&&(o=0),r.rank=o}e.sources().forEach(n)}function gb(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Kre=VPe;function VPe(e){let t=new Ul({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let i=n[0],r=e.nodeCount();t.setNode(i,{});let s,a;for(;qPe(t,e){let a=s.v,o=i===a?s.w:a;!e.hasNode(o)&&!gb(t,s)&&(e.setNode(o,{}),e.setEdge(i,o,{}),n(o))})}return e.nodes().forEach(n),e.nodeCount()}function XPe(e,t){return t.edges().reduce((n,i)=>{let r=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(r=gb(t,i)),rt.node(i).rank+=n)}var{preorder:GPe,postorder:YPe}=W$,WPe=Pm;Pm.initLowLimValues=e4;Pm.initCutValues=J$;Pm.calcCutValue=Jre;Pm.leaveEdge=tse;Pm.enterEdge=nse;Pm.exchangeEdges=ise;function Pm(e){e=wPe(e),K$(e);let t=Kre(e);e4(t),J$(t,e);let n,i;for(;n=tse(t);)i=nse(t,e,n),ise(t,e,n,i)}function J$(e,t){let n=YPe(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(i=>ZPe(e,t,i))}function ZPe(e,t,n){let i=e.node(n).parent,r=e.edge(n,i);r.cutvalue=Jre(e,t,n)}function Jre(e,t,n){let i=e.node(n).parent,r=!0,s=t.edge(n,i),a=0;s||(r=!1,s=t.edge(i,n)),a=s.weight;let o=t.nodeEdges(n);return o&&o.forEach(c=>{let u=c.v===n,d=u?c.w:c.v;if(d!==i){let f=u===r,h=t.edge(c).weight;if(a+=f?h:-h,JPe(e,n,d)){let p=e.edge(n,d).cutvalue;a+=f?-p:p}}}),a}function e4(e,t){arguments.length<2&&(t=e.nodes()[0]),ese(e,{},1,t)}function ese(e,t,n,i,r){let s=n,a=e.node(i);t[i]=!0;let o=e.neighbors(i);return o&&o.forEach(c=>{Object.hasOwn(t,c)||(n=ese(e,t,n,c,i))}),a.low=s,a.lim=n++,r?a.parent=r:delete a.parent,n}function tse(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function nse(e,t,n){let i=n.v,r=n.w;t.hasEdge(i,r)||(i=n.w,r=n.v);let s=e.node(i),a=e.node(r),o=s,c=!1;return s.lim>a.lim&&(o=a,c=!0),t.edges().filter(u=>c===EU(e,e.node(u.v),o)&&c!==EU(e,e.node(u.w),o)).reduce((u,d)=>gb(t,d)!e.node(r).parent);if(!n)return;let i=GPe(e,[n]);i=i.slice(1),i.forEach(r=>{let s=e.node(r).parent,a=t.edge(r,s),o=!1;a||(a=t.edge(s,r),o=!0),t.node(r).rank=t.node(s).rank+(o?a.minlen:-a.minlen)})}function JPe(e,t,n){return e.hasEdge(t,n)}function EU(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var eMe=tMe;function tMe(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":kU(e);break;case"tight-tree":iMe(e);break;case"longest-path":nMe(e);break;case"none":break;default:kU(e)}}var nMe=K$;function iMe(e){K$(e),Kre(e)}function kU(e){WPe(e)}var rMe=sMe;function sMe(e){let t=oMe(e);e.graph().dummyChains.forEach(n=>{let i=e.node(n),r=i.edgeObj,s=aMe(e,t,r.v,r.w),a=s.path,o=s.lca,c=0,u=a[c],d=!0;for(;n!==r.w;){if(i=e.node(n),d){for(;(u=a[c])!==o&&e.node(u).maxRanka||o>t[c].lim));let u=c,d=i;for(;(d=e.parent(d))!==u;)s.push(d);return{path:r.concat(s.reverse()),lca:u}}function oMe(e){let t={},n=0;function i(r){let s=n;e.children(r).forEach(i),t[r]={low:s,lim:n++}}return e.children(WA).forEach(i),t}function lMe(e){let t=Jb(e,"root",{},"_root"),n=cMe(e),i=Object.values(n),r=cu(Math.max,i)-1,s=2*r+1;e.graph().nestingRoot=t,e.edges().forEach(o=>e.edge(o).minlen*=s);let a=uMe(e)+1;e.children(WA).forEach(o=>rse(e,t,s,a,r,n,o)),e.graph().nodeRankFactor=s}function rse(e,t,n,i,r,s,a){var o;let c=e.children(a);if(!c.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}let u=wU(e,"_bt"),d=wU(e,"_bb"),f=e.node(a);e.setParent(u,a),f.borderTop=u,e.setParent(d,a),f.borderBottom=d,c.forEach(h=>{var p;rse(e,t,n,i,r,s,h);let b=e.node(h),g=b.borderTop?b.borderTop:h,O=b.borderBottom?b.borderBottom:h,y=b.borderTop?i:2*i,v=g!==O?1:r-((p=s[a])!=null?p:0)+1;e.setEdge(u,g,{weight:y,minlen:v,nestingEdge:!0}),e.setEdge(O,d,{weight:y,minlen:v,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,u,{weight:0,minlen:r+((o=s[a])!=null?o:0)})}function cMe(e){let t={};function n(i,r){let s=e.children(i);s&&s.length&&s.forEach(a=>n(a,r+1)),t[i]=r}return e.children(WA).forEach(i=>n(i,1)),t}function uMe(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function dMe(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var fMe=hMe;function hMe(e){function t(n){let i=e.children(n),r=e.node(n);if(i.length&&i.forEach(t),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let s=r.minRank,a=r.maxRank+1;s_U(e.node(t))),e.edges().forEach(t=>_U(e.edge(t)))}function _U(e){let t=e.width;e.width=e.height,e.height=t}function gMe(e){e.nodes().forEach(t=>mj(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(mj),Object.hasOwn(i,"y")&&mj(i)})}function mj(e){e.y=-e.y}function bMe(e){e.nodes().forEach(t=>gj(e.node(t))),e.edges().forEach(t=>{var n;let i=e.edge(t);(n=i.points)==null||n.forEach(gj),Object.hasOwn(i,"x")&&gj(i)})}function gj(e){let t=e.x;e.x=e.y,e.y=t}function OMe(e){let t={},n=e.nodes().filter(o=>!e.children(o).length),i=n.map(o=>e.node(o).rank),r=cu(Math.max,i),s=v1(r+1).map(()=>[]);function a(o){if(t[o])return;t[o]=!0;let c=e.node(o);s[c.rank].push(o);let u=e.successors(o);u&&u.forEach(a)}return n.sort((o,c)=>e.node(o).rank-e.node(c).rank).forEach(a),s}function yMe(e,t){let n=0;for(let i=1;id)),r=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:i[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),s=1;for(;s{let d=u.pos+s;o[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=o[d+1]),d=d-1>>1,o[d]+=u.weight;c+=u.weight*f}),c}function vMe(e,t=[]){return t.map(n=>{let i=e.inEdges(n);if(!i||!i.length)return{v:n};{let r=i.reduce((s,a)=>{let o=e.edge(a),c=e.node(a.v);return{sum:s.sum+o.weight*c.order,weight:s.weight+o.weight}},{sum:0,weight:0});return{v:n,barycenter:r.sum/r.weight,weight:r.weight}}})}function wMe(e,t){let n={};e.forEach((r,s)=>{let a={indegree:0,in:[],out:[],vs:[r.v],i:s};r.barycenter!==void 0&&(a.barycenter=r.barycenter,a.weight=r.weight),n[r.v]=a}),t.edges().forEach(r=>{let s=n[r.v],a=n[r.w];s!==void 0&&a!==void 0&&(a.indegree++,s.out.push(a))});let i=Object.values(n).filter(r=>!r.indegree);return SMe(i)}function SMe(e){let t=[];function n(r){return s=>{s.merged||(s.barycenter===void 0||r.barycenter===void 0||s.barycenter>=r.barycenter)&&EMe(r,s)}}function i(r){return s=>{s.in.push(r),--s.indegree===0&&e.push(s)}}for(;e.length;){let r=e.pop();t.push(r),r.in.reverse().forEach(n(r)),r.out.forEach(i(r))}return t.filter(r=>!r.merged).map(r=>$T(r,["vs","i","barycenter","weight"]))}function EMe(e,t){let n=0,i=0;e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/i,e.weight=i,e.i=Math.min(t.i,e.i),t.merged=!0}function kMe(e,t){let n=TPe(e,d=>Object.hasOwn(d,"barycenter")),i=n.lhs,r=n.rhs.sort((d,f)=>f.i-d.i),s=[],a=0,o=0,c=0;i.sort(TMe(!!t)),c=AU(s,r,c),i.forEach(d=>{c+=d.vs.length,s.push(d.vs),a+=d.barycenter*d.weight,o+=d.weight,c=AU(s,r,c)});let u={vs:s.flat(1)};return o&&(u.barycenter=a/o,u.weight=o),u}function AU(e,t,n){let i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),e.push(i.vs),n++;return n}function TMe(e){return(t,n)=>t.barycentern.barycenter?1:e?n.i-t.i:t.i-n.i}function ase(e,t,n,i){let r=e.children(t),s=e.node(t),a=s?s.borderLeft:void 0,o=s?s.borderRight:void 0,c={};a&&(r=r.filter(h=>h!==a&&h!==o));let u=vMe(e,r);u.forEach(h=>{if(e.children(h.v).length){let p=ase(e,h.v,n,i);c[h.v]=p,Object.hasOwn(p,"barycenter")&&AMe(h,p)}});let d=wMe(u,n);_Me(d,c);let f=kMe(d,i);if(a&&o){f.vs=[a,f.vs,o].flat(1);let h=e.predecessors(a);if(h&&h.length){let p=e.node(h[0]),b=e.predecessors(o),g=e.node(b[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+p.order+g.order)/(f.weight+2),f.weight+=2}}return f}function _Me(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(i=>t[i]?t[i].vs:i)})}function AMe(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 CMe(e,t,n,i){i||(i=e.nodes());let r=NMe(e),s=new Ul({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return i.forEach(a=>{let o=e.node(a),c=e.parent(a);if(o.rank===t||o.minRank<=t&&t<=o.maxRank){s.setNode(a),s.setParent(a,c||r);let u=e[n](a);u&&u.forEach(d=>{let f=d.v===a?d.w:d.v,h=s.edge(f,a),p=h!==void 0?h.weight:0;s.setEdge(f,a,{weight:e.edge(d).weight+p})}),Object.hasOwn(o,"minRank")&&s.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]})}}),s}function NMe(e){let t;for(;e.hasNode(t=Z$("_root")););return t}function jMe(e,t,n){let i={},r;n.forEach(s=>{let a=e.parent(s),o,c;for(;a;){if(o=e.parent(a),o?(c=i[o],i[o]=a):(c=r,r=a),c&&c!==a){t.setEdge(c,a);return}a=o}})}function ose(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,ose);return}let n=Yre(e),i=CU(e,v1(1,n+1),"inEdges"),r=CU(e,v1(n-1,-1,-1),"outEdges"),s=OMe(e);if(NU(e,s),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,o,c=t.constraints||[];for(let u=0,d=0;d<4;++u,++d){RMe(u%2?i:r,u%4>=2,c),s=Mv(e);let f=yMe(e,s);f{i.has(s)||i.set(s,[]),i.get(s).push(a)};for(let s of e.nodes()){let a=e.node(s);if(typeof a.rank=="number"&&r(a.rank,s),typeof a.minRank=="number"&&typeof a.maxRank=="number")for(let o=a.minRank;o<=a.maxRank;o++)o!==a.rank&&r(o,s)}return t.map(function(s){return CMe(e,s,n,i.get(s)||[])})}function RMe(e,t,n){let i=new Ul;e.forEach(function(r){n.forEach(o=>i.setEdge(o.left,o.right));let s=r.graph().root,a=ase(r,s,i,t);a.vs.forEach((o,c)=>r.node(o).order=c),jMe(r,i,a.vs)})}function NU(e,t){Object.values(t).forEach(n=>n.forEach((i,r)=>e.node(i).order=r))}function IMe(e,t){let n={};function i(r,s){let a=0,o=0,c=r.length,u=s[s.length-1];return s.forEach((d,f)=>{let h=PMe(e,d),p=h?e.node(h).order:c;(h||d===u)&&(s.slice(o,f+1).forEach(b=>{let g=e.predecessors(b);g&&g.forEach(O=>{let y=e.node(O),v=y.order;(v{let f=s[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(p=>{if(p===void 0)return;let b=e.node(p);b.dummy&&(b.orderu)&&lse(n,p,f)})}})}function r(s,a){let o=-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 p=h[0];if(p===void 0)return;c=e.node(p).order,i(a,u,f,o,c),u=f,o=c}}i(a,u,a.length,c,s.length)}),a}return t.length&&t.reduce(r),n}function PMe(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(i=>e.node(i).dummy)}}function lse(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];i||(e[t]=i={}),i[n]=!0}function MMe(e,t,n){if(t>n){let r=t;t=n,n=r}let i=e[t];return i!==void 0&&Object.hasOwn(i,n)}function LMe(e,t,n,i){let r={},s={},a={};return t.forEach(o=>{o.forEach((c,u)=>{r[c]=c,s[c]=c,a[c]=u})}),t.forEach(o=>{let c=-1;o.forEach(u=>{let d=i(u);if(d&&d.length){let f=d.sort((p,b)=>{let g=a[p],O=a[b];return(g!==void 0?g:0)-(O!==void 0?O:0)}),h=(f.length-1)/2;for(let p=Math.floor(h),b=Math.ceil(h);p<=b;++p){let g=f[p];if(g===void 0)continue;let O=a[g];if(O!==void 0&&s[u]===u&&c{var y;let v=(y=s[O.v])!=null?y:0,x=a.edge(O);return Math.max(g,v+(x!==void 0?x:0))},0):s[p]=0}function d(p){let b=a.outEdges(p),g=Number.POSITIVE_INFINITY;b&&(g=b.reduce((y,v)=>{let x=s[v.w],w=a.edge(v);return Math.min(y,(x!==void 0?x:0)-(w!==void 0?w:0))},Number.POSITIVE_INFINITY));let O=e.node(p);g!==Number.POSITIVE_INFINITY&&O.borderType!==o&&(s[p]=Math.max(s[p]!==void 0?s[p]:0,g))}function f(p){return a.predecessors(p)||[]}function h(p){return a.successors(p)||[]}return c(u,f),c(d,h),Object.keys(i).forEach(p=>{var b;let g=n[p];g!==void 0&&(s[p]=(b=s[g])!=null?b:0)}),s}function QMe(e,t,n,i){let r=new Ul,s=e.graph(),a=VMe(s.nodesep,s.edgesep,i);return t.forEach(o=>{let c;o.forEach(u=>{let d=n[u];if(d!==void 0){if(r.setNode(d),c!==void 0){let f=n[c];if(f!==void 0){let h=r.edge(f,d);r.setEdge(f,d,Math.max(a(e,u,c),h||0))}}c=u}})}),r}function BMe(e,t){return Object.values(t).reduce((n,i)=>{let r=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY;Object.entries(i).forEach(([o,c])=>{let u=qMe(e,o)/2;r=Math.max(c+u,r),s=Math.min(c-u,s)});let a=r-s;return a{["l","r"].forEach(a=>{let o=s+a,c=e[o];if(!c||c===t)return;let u=Object.values(c),d=i-cu(Math.min,u);a!=="l"&&(d=r-cu(Math.max,u)),d&&(e[o]=YA(c,f=>f+d))})})}function UMe(e,t=void 0){let n=e.ul;return n?YA(n,(i,r)=>{var s,a;if(t){let c=t.toLowerCase(),u=e[c];if(u&&u[r]!==void 0)return u[r]}let o=Object.values(e).map(c=>{let u=c[r];return u!==void 0?u:0}).sort((c,u)=>c-u);return(((s=o[1])!=null?s:0)+((a=o[2])!=null?a:0))/2}):{}}function zMe(e){let t=Mv(e),n=Object.assign(IMe(e,t),DMe(e,t)),i={},r;["u","d"].forEach(a=>{r=a==="u"?t:Object.values(t).reverse(),["l","r"].forEach(o=>{o==="r"&&(r=r.map(d=>Object.values(d).reverse()));let c=LMe(e,r,n,d=>(a==="u"?e.predecessors(d):e.successors(d))||[]),u=$Me(e,r,c.root,c.align,o==="r");o==="r"&&(u=YA(u,d=>-d)),i[a+o]=u})});let s=BMe(e,i);return FMe(i,s),UMe(i,e.graph().align)}function VMe(e,t,n){return(i,r,s)=>{let a=i.node(r),o=i.node(s),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+=(o.dummy?t:e)/2,c+=o.width/2,Object.hasOwn(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=o.width/2;break;case"r":u=-o.width/2;break}return u&&(c+=n?u:-u),c}}function qMe(e,t){return e.node(t).width}function XMe(e){e=Hre(e),HMe(e),Object.entries(zMe(e)).forEach(([t,n])=>e.node(t).x=n)}function HMe(e){let t=Mv(e),n=e.graph(),i=n.ranksep,r=n.rankalign,s=0;t.forEach(a=>{let o=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);r==="top"?u.y=s+u.height/2:r==="bottom"?u.y=s+o-u.height/2:u.y=s+o/2}),s+=o+i})}function GMe(e,t={}){let n=t.debugTiming?Wre:Zre;return n("layout",()=>{let i=n(" buildLayoutGraph",()=>rLe(e));return n(" runLayout",()=>YMe(i,n,t)),n(" updateInputGraph",()=>WMe(e,i)),i})}function YMe(e,t,n){t(" makeSpaceForEdgeLabels",()=>sLe(e)),t(" removeSelfEdges",()=>pLe(e)),t(" acyclic",()=>$Pe(e)),t(" nestingGraph.run",()=>lMe(e)),t(" rank",()=>eMe(Hre(e))),t(" injectEdgeLabelProxies",()=>aLe(e)),t(" removeEmptyRanks",()=>EPe(e)),t(" nestingGraph.cleanup",()=>dMe(e)),t(" normalizeRanks",()=>SPe(e)),t(" assignRankMinMax",()=>oLe(e)),t(" removeEdgeLabelProxies",()=>lLe(e)),t(" normalize.run",()=>FPe(e)),t(" parentDummyChains",()=>rMe(e)),t(" addBorderSegments",()=>fMe(e)),t(" order",()=>ose(e,n)),t(" insertSelfEdges",()=>mLe(e)),t(" adjustCoordinateSystem",()=>pMe(e)),t(" position",()=>XMe(e)),t(" positionSelfEdges",()=>gLe(e)),t(" removeBorderNodes",()=>hLe(e)),t(" normalize.undo",()=>zPe(e)),t(" fixupEdgeLabelCoords",()=>dLe(e)),t(" undoCoordinateSystem",()=>mMe(e)),t(" translateGraph",()=>cLe(e)),t(" assignNodeIntersects",()=>uLe(e)),t(" reversePoints",()=>fLe(e)),t(" acyclic.undo",()=>BPe(e))}function WMe(e,t){e.nodes().forEach(n=>{let i=e.node(n),r=t.node(n);i&&(i.x=r.x,i.y=r.y,i.order=r.order,i.rank=r.rank,t.children(n).length&&(i.width=r.width,i.height=r.height))}),e.edges().forEach(n=>{let i=e.edge(n),r=t.edge(n);i.points=r.points,Object.hasOwn(r,"x")&&(i.x=r.x,i.y=r.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var ZMe=["nodesep","edgesep","ranksep","marginx","marginy"],KMe={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},JMe=["acyclicer","ranker","rankdir","align","rankalign"],eLe=["width","height","rank"],jU={width:0,height:0},tLe=["minlen","weight","width","height","labeloffset"],nLe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},iLe=["labelpos"];function rLe(e){let t=new Ul({multigraph:!0,compound:!0}),n=Oj(e.graph());return t.setGraph(Object.assign({},KMe,bj(n,ZMe),$T(n,JMe))),e.nodes().forEach(i=>{let r=Oj(e.node(i)),s=bj(r,eLe);Object.keys(jU).forEach(o=>{s[o]===void 0&&(s[o]=jU[o])}),t.setNode(i,s);let a=e.parent(i);a!==void 0&&t.setParent(i,a)}),e.edges().forEach(i=>{let r=Oj(e.edge(i));t.setEdge(i,Object.assign({},nLe,bj(r,tLe),$T(r,iLe)))}),t}function sLe(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let i=e.edge(n);i.minlen*=2,i.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function aLe(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let i=e.node(t.v),r={rank:(e.node(t.w).rank-i.rank)/2+i.rank,e:t};Jb(e,"edge-proxy",r,"_ep")}})}function oLe(e){let t=0;e.nodes().forEach(n=>{let i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=Math.max(t,i.maxRank))}),e.graph().maxRank=t}function lLe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let i=n;e.edge(i.e).labelRank=n.rank,e.removeNode(t)}})}function cLe(e){let t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,r=0,s=e.graph(),a=s.marginx||0,o=s.marginy||0;function c(u){let d=u.x,f=u.y,h=u.width,p=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),i=Math.min(i,f-p/2),r=Math.max(r,f+p/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&c(d)}),t-=a,i-=o,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=i}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=i}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=i)}),s.width=n-t+a,s.height=r-i+o}function uLe(e){e.edges().forEach(t=>{let n=e.edge(t),i=e.node(t.v),r=e.node(t.w),s,a;n.points?(s=n.points[0],a=n.points[n.points.length-1]):(n.points=[],s=r,a=i),n.points.unshift(vU(i,s)),n.points.push(vU(r,a))})}function dLe(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 fLe(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function hLe(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),i=e.node(n.borderTop),r=e.node(n.borderBottom),s=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-s.x),n.height=Math.abs(r.y-i.y),n.x=s.x+n.width/2,n.y=i.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function pLe(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 mLe(e){Mv(e).forEach(t=>{let n=0;t.forEach((i,r)=>{let s=e.node(i);s.order=r+n,(s.selfEdges||[]).forEach(a=>{Jb(e,"selfedge",{width:a.label.width,height:a.label.height,rank:s.rank,order:r+ ++n,e:a.e,label:a.label},"_se")}),delete s.selfEdges})})}function gLe(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let i=n,r=e.node(i.e.v),s=r.x+r.width/2,a=r.y,o=n.x-s,c=r.height/2;e.setEdge(i.e,i.label),e.removeNode(t),i.label.points=[{x:s+2*o/3,y:a-c},{x:s+5*o/6,y:a-c},{x:s+o,y:a},{x:s+5*o/6,y:a+c},{x:s+2*o/3,y:a+c}],i.label.x=n.x,i.label.y=n.y}})}function bj(e,t){return YA($T(e,t),Number)}function Oj(e){let t={};return e&&Object.entries(e).forEach(([n,i])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=i}),t}function bLe(e){let t=Mv(e),n=new Ul({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(i=>{n.setNode(i,{label:i}),n.setParent(i,"layer"+e.node(i).rank)}),e.edges().forEach(i=>n.setEdge(i.v,i.w,{},i.name)),t.forEach((i,r)=>{let s="layer"+r;n.setNode(s,{rank:"same"}),i.reduce((a,o)=>(n.setEdge(a,o,{style:"invis"}),o))}),n}var OLe={graphlib:$re,version:CPe,layout:GMe,debug:bLe,util:{time:Wre,notime:Zre}},RU=OLe;/*! For license information please see dagre.esm.js.LEGAL.txt */const My={llm:{label:"智能体",description:"理解任务并直接完成一个具体工作",icon:kte},sequential:{label:"分步协作",description:"内部步骤按照顺序依次执行",icon:uTe},parallel:{label:"同时处理",description:"内部步骤同时工作,完成后统一汇总",icon:Gke},loop:{label:"循环执行",description:"重复执行内部步骤,直到满足停止条件",icon:Ite},a2a:{label:"远程智能体",description:"调用已经存在的远程 Agent",icon:TA}},VP=220,qP=88,IU=96,DU=34,Ox=64,yj=310,a0=24,cse=56,XP=40,PU=40,yLe=18,xLe=58,vLe=!1,wLe=e=>e==="sequential"||e==="parallel"||e==="loop";function HP(e,t){const n=e.agentType??"llm";return wLe(n)||n==="llm"&&(t.length===0||e.subAgents.length>0)}function GP(e,t=[],n="horizontal",i=!1){const r=e.agentType??"llm";if(!HP(e,t))return{width:VP,height:qP};if(i&&e.subAgents.length===0)return{width:yj,height:Ox};const s=e.subAgents.map((f,h)=>GP(f,[...t,h],n,i)),a=s.length?Math.max(...s.map(f=>f.width)):0,o=s.length?Math.max(...s.map(f=>f.height)):0,c=s.length&&r!=="parallel"?cse:a0,u=n==="horizontal"?r!=="parallel":r==="parallel",d=s.length?r==="parallel"?yLe+PU:r==="loop"?xLe:0:PU;return u?{width:Math.max(yj,s.reduce((f,h)=>f+h.width,0)+XP*Math.max(0,s.length-1)+c*2),height:Ox+a0+o+d+a0}:{width:Math.max(yj,a+a0*2),height:Ox+c+s.reduce((f,h)=>f+h.height,0)+XP*Math.max(0,s.length-1)+d+c}}function ey(e){return e.length===0?"agent-root":`agent-${e.join("-")}`}function SLe(e,t){return e.length===t.length&&e.every((n,i)=>n===t[i])}function MU(e){const t=n=>[n.agentType??"llm",n.subAgents.map(t)];return JSON.stringify(t(e))}function ty(e,t,n,i){const r=(i==null?void 0:i.tone)==="sequential"?"hsl(213 40% 40%)":(i==null?void 0:i.tone)==="loop"?"hsl(151 34% 34%)":"hsl(220 9% 38%)";return{id:`${e}-${t}${i!=null&&i.loop?"-loop":""}`,source:e,target:t,sourceHandle:i!=null&&i.loop?"loop-source":void 0,targetHandle:i!=null&&i.loop?"loop-target":void 0,label:n,type:"insertStep",data:i?{insert:i.insert,loop:i.loop,tone:i.tone}:void 0,animated:i==null?void 0:i.loop,markerEnd:{type:b1.ArrowClosed,width:16,height:16,color:r},style:{stroke:r,strokeWidth:1.5},labelStyle:{fill:"hsl(215 14% 42%)",fontSize:10,fontWeight:600},labelBgStyle:{fill:"hsl(var(--background))",fillOpacity:.92}}}function LU(e,t,n=!1){const i=[{id:"terminal-input",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"用户请求"},selectable:!1,draggable:!1},{id:"terminal-output",type:"terminal",position:{x:0,y:0},data:{kind:"terminal",title:"最终回复"},selectable:!1,draggable:!1}],r=[];function s(d,f,h,p,b){const g=d.agentType??"llm",O=ey(f);return HP(d,f)?(a(d,f,h,p,b),O):(i.push({id:O,type:"agent",parentId:h,extent:"parent",position:p,data:{kind:"agent",path:f,agent:d,title:g==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:g,description:d.description.trim()||My[g].description,childCount:d.subAgents.length,containedIn:b}}),O)}function a(d,f,h,p={x:0,y:0},b){const g=d.agentType??"sequential",O=ey(f),y=GP(d,f,t,n);i.push({id:O,type:"group",parentId:h,extent:h?"parent":void 0,position:p,style:{width:y.width,height:y.height},data:{kind:"agent",path:f,agent:d,title:d.name.trim()||(f.length===0?"主 Agent":My[g].label),pattern:g,description:d.description.trim()||My[g].description,childCount:d.subAgents.length,containedIn:b,layoutWidth:y.width,layoutHeight:y.height,compactEmptyGroup:n&&d.subAgents.length===0}});const v=d.subAgents.map((k,T)=>GP(k,[...f,T],t,n)),x=v.length&&g!=="parallel"?cse:a0,w=t==="horizontal"?g!=="parallel":g==="parallel";let E=x;const S=d.subAgents.map((k,T)=>{const C=v[T],A=w?{x:E,y:Ox+a0}:{x:(y.width-C.width)/2,y:Ox+E};return E+=(w?C.width:C.height)+XP,s(k,[...f,T],O,A,g)});if(g==="sequential"||g==="loop"){for(let k=0;k1&&r.push(ty(S[S.length-1],S[0],"继续循环",{loop:!0,tone:"loop"}))}return O}const o=(d,f)=>{const h=d.agentType??"llm",p=ey(f);if(HP(d,f))return a(d,f),[p];if(i.push({id:p,type:"agent",position:{x:0,y:0},data:{kind:"agent",path:f,agent:d,title:h==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:h,description:d.description.trim()||My[h].description,childCount:d.subAgents.length}}),d.subAgents.length===0)return[p];const b=[];return d.subAgents.forEach((g,O)=>{const y=[...f,O],v=ey(y);r.push(ty(p,v,"调用",{insert:{parentPath:f,index:O}})),b.push(...o(g,y))}),b},c=ey([]),u=o(e,[]);return r.push(ty("terminal-input",c)),u.forEach(d=>r.push(ty(d,"terminal-output"))),ELe(i,r,t)}function ELe(e,t,n){const i=new RU.graphlib.Graph().setDefaultEdgeLabel(()=>({}));i.setGraph({rankdir:n==="vertical"?"TB":"LR",ranksep:50,nodesep:34,edgesep:14,marginx:24,marginy:24});const r=new Set(e.filter(s=>!s.parentId).map(s=>s.id));return e.filter(s=>!s.parentId).forEach(s=>{const a=s.data.kind==="terminal";i.setNode(s.id,{width:a?IU:s.data.layoutWidth??VP,height:a?DU:s.data.layoutHeight??qP})}),t.filter(s=>r.has(s.source)&&r.has(s.target)).forEach(s=>i.setEdge(s.source,s.target)),RU.layout(i),{nodes:e.map(s=>{if(s.parentId)return s;const a=i.node(s.id),o=s.data.kind==="terminal",c=o?IU:s.data.layoutWidth??VP,u=o?DU:s.data.layoutHeight??qP;return{...s,position:{x:a.x-c/2,y:a.y-u/2}}}),edges:t}}const ZA=m.createContext(null),KA=m.createContext("horizontal");function kLe({id:e,sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,markerEnd:o,style:c,label:u,data:d}){const f=m.useContext(ZA),[h,p]=m.useState(!1),[b,g,O]=DT({sourceX:t,sourceY:n,targetX:i,targetY:r,sourcePosition:s,targetPosition:a,offset:d!=null&&d.loop?28:20});return l.jsxs(l.Fragment,{children:[l.jsx(Pv,{id:e,path:b,markerEnd:o,style:c}),f&&(d==null?void 0:d.insert)&&l.jsx("path",{d:b,className:"abc-edge-hover-path",onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1)}),(u||f&&(d==null?void 0:d.insert))&&l.jsx(bDe,{children:l.jsxs("div",{className:`abc-edge-tools${f&&(d!=null&&d.insert)?" can-insert":""}${h?" is-visible":""}`,style:{transform:`translate(-50%, -50%) translate(${g}px, ${O}px)`},onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1),children:[u&&l.jsx("span",{className:"abc-edge-label",children:u}),f&&(d==null?void 0:d.insert)&&l.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:l.jsx(wa,{})})]})})]})}function TLe({data:e,selected:t}){const n=m.useContext(ZA),i=m.useContext(KA),r=i==="vertical"?Et.Top:Et.Left,s=i==="vertical"?Et.Bottom:Et.Right,a=i==="vertical"?Et.Right:Et.Bottom,o=e.pattern??"llm",c=My[o],u=c.icon;return l.jsxs("div",{className:`abc-node is-${o}${e.containedIn?` is-contained-in-${e.containedIn}`:""}${t?" is-selected":""}`,children:[l.jsx(uo,{type:"target",position:r,className:"abc-handle"}),o!=="llm"&&l.jsx("span",{className:"abc-node-icon",children:l.jsx(u,{})}),l.jsxs("span",{className:"abc-node-copy",children:[l.jsx("span",{className:"abc-node-meta",children:l.jsx("span",{children:c.label})}),l.jsx("strong",{children:e.title}),l.jsx("small",{children:e.description})]}),n&&e.path!==void 0&&e.path.length>0&&l.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:l.jsx(xh,{})}),l.jsx(uo,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&l.jsxs(l.Fragment,{children:[l.jsx(uo,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),l.jsx(uo,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function _Le({data:e,selected:t}){const n=m.useContext(ZA),i=m.useContext(KA),r=i==="vertical"?Et.Top:Et.Left,s=i==="vertical"?Et.Bottom:Et.Right,a=i==="vertical"?Et.Right:Et.Bottom,o=e.pattern??"sequential",c=e.childCount??0,u=o==="llm"?"添加子 Agent":o==="parallel"?"添加一个同时处理的步骤":o==="loop"?"添加循环步骤":"添加下一个步骤";return l.jsxs("div",{className:`abc-group is-${o}${e.compactEmptyGroup?" is-compact-empty":""}${t?" is-selected":""}`,children:[l.jsx(uo,{type:"target",position:r,className:"abc-handle"}),l.jsx("header",{className:"abc-group-head",children:l.jsxs("span",{children:[l.jsx("strong",{title:e.title,children:e.title}),l.jsx("small",{children:e.description})]})}),n&&e.path!==void 0&&c>0&&o!=="parallel"&&l.jsxs("div",{className:"abc-group-boundary-actions",children:[l.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:l.jsx(wa,{})}),l.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:l.jsx(wa,{})})]}),n&&e.path!==void 0&&c>0&&o==="parallel"&&l.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-bottom nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[l.jsx(wa,{}),l.jsx("span",{children:u})]}),n&&e.path!==void 0&&c===0&&l.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-empty nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[l.jsx(wa,{}),l.jsx("span",{children:u})]}),n&&e.path!==void 0&&e.path.length>0&&l.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:l.jsx(xh,{})}),l.jsx(uo,{type:"source",position:s,className:"abc-handle"}),e.containedIn==="loop"&&l.jsxs(l.Fragment,{children:[l.jsx(uo,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),l.jsx(uo,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function ALe({data:e}){const t=m.useContext(KA);return l.jsxs("div",{className:"abc-terminal",children:[l.jsx(uo,{type:"target",position:t==="vertical"?Et.Top:Et.Left,className:"abc-handle"}),l.jsx("span",{children:e.title}),l.jsx(uo,{type:"source",position:t==="vertical"?Et.Bottom:Et.Right,className:"abc-handle"})]})}const CLe={agent:TLe,group:_Le,terminal:ALe},NLe={insertStep:kLe};function jLe({draft:e,selectedPath:t,onSelect:n,onAdd:i,onInsert:r,onDelete:s,readOnly:a=!1,interactivePreview:o=!1,direction:c="horizontal"}){const u=m.useMemo(()=>LU(e,c,a),[]),[d,f,h]=ODe(u.nodes),[p,b,g]=yDe(u.edges),O=vDe(),y=m.useRef(`${c}:${a?"readonly":"editable"}:${MU(e)}`),v=m.useRef(null),{fitView:x}=HA(),w=m.useMemo(()=>LU(e,c,a),[c,e,a]),[E,S]=m.useState(()=>window.matchMedia("(max-width: 860px)").matches),k=m.useMemo(()=>a?{padding:.16,minZoom:.05,maxZoom:.9}:E?{padding:.08,minZoom:.35,maxZoom:.9}:{padding:.14,minZoom:.42,maxZoom:1.1},[E,a]),T=m.useCallback((A=0)=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{const N=v.current;if(N&&(N.clientWidth===0||N.clientHeight===0)&&A<8){T(A+1);return}x(k)})})},[k,x]);m.useEffect(()=>{const A=window.matchMedia("(max-width: 860px)"),N=P=>S(P.matches);return A.addEventListener("change",N),()=>A.removeEventListener("change",N)},[]),m.useEffect(()=>{const A=`${c}:${a?"readonly":"editable"}:${MU(e)}`,N=A!==y.current;y.current=A,b(w.edges),f(P=>{const Q=new Map(P.map(D=>[D.id,D]));return w.nodes.map(D=>{const $=Q.get(D.id);return{...D,measured:!N&&$&&$.type===D.type?$.measured:void 0,position:!N&&$?$.position:D.position,selected:D.data.kind==="agent"&&!!D.data.path&&SLe(D.data.path,t)}})}),N&&T()},[w,e,T,t,b,f]),m.useEffect(()=>{T()},[E,T]),m.useEffect(()=>{O&&T()},[w,T,O]),m.useEffect(()=>{if(!a||!v.current)return;const A=new ResizeObserver(()=>T());return A.observe(v.current),T(),()=>A.disconnect()},[T,a]);const C=m.useMemo(()=>a?null:{onAdd:i,onInsert:r,onDelete:s},[i,s,r,a]);return l.jsx(KA.Provider,{value:c,children:l.jsx(ZA.Provider,{value:C,children:l.jsx("section",{className:`abc-root is-${c}${a?" is-readonly":""}`,"aria-label":a?"只读 Agent 执行画布":"Agent 执行画布",children:l.jsx("div",{ref:v,className:"abc-canvas",children:l.jsxs(mDe,{nodes:d,edges:p,nodeTypes:CLe,edgeTypes:NLe,onNodesChange:h,onEdgesChange:g,onNodeClick:(A,N)=>{!a&&N.data.kind==="agent"&&N.data.path&&n(N.data.path)},nodesDraggable:!a,nodesConnectable:!1,nodesFocusable:!a,elementsSelectable:!a,edgesFocusable:!1,edgesReconnectable:!1,panOnDrag:!a||o,zoomOnDoubleClick:o,zoomOnPinch:!a||o,zoomOnScroll:!a||o,fitView:!0,fitViewOptions:k,onInit:()=>T(),minZoom:a?.05:.35,maxZoom:1.6,proOptions:{hideAttribution:!0},children:[l.jsx(TDe,{gap:20,size:1.2,color:"hsl(34 20% 82%)"}),(!a||o)&&l.jsx(IDe,{showInteractive:!1}),vLe]})})})})})}function w1(e){return l.jsx(Ire,{children:l.jsx(jLe,{...e})})}const RLe="https://ark.cn-beijing.volces.com/api/v3/",tk=[{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:RLe}],QT=[],BT={label:"控制台",url:"https://console.volcengine.com/vikingdb/openviking"},ILe={label:"文档",url:"https://github.com/volcengine/OpenViking/blob/main/docs/zh/api/05-sessions.md"},use="https://api.vikingdb.cn-beijing.volces.com/openviking",DLe=`{ "self": {"enabled": true}, "peer": {"enabled": true}, "working_memory": {"enabled": true}, "memory_types": null -}`,O5e=[{key:"DATABASE_VIKING_PROJECT",required:!1,placeholder:"default"},{key:"DATABASE_VIKING_REGION",required:!1},{key:"DATABASE_VIKING_COLLECTION_KIND",required:!1},{key:"DATABASE_VIKING_RESOURCE_ID",required:!1}],y5e=[{key:"DATABASE_VIKINGMEM_PROJECT",required:!1,placeholder:"default",comment:"VikingDB 记忆库项目",hidden:!0},{key:"DATABASE_VIKING_REGION",required:!1,comment:"VikingDB 记忆库地域",hidden:!0},{key:"DATABASE_VIKINGMEM_MEMORY_TYPE",required:!1,placeholder:"sys_event_v1,sys_profile_v1",comment:"记忆类型",hidden:!0}],YO=[{key:"FEISHU_APP_ID",required:!0,placeholder:"cli_xxx",comment:"飞书应用 App ID"},{key:"FEISHU_APP_SECRET",required:!0,placeholder:"输入 App Secret",comment:"飞书应用 App Secret"}],lc={topK:"3",region:"cn-beijing",endpoint:"https://open.volcengineapi.com/"},Hre=[{key:"REGISTRY_SPACE_ID",required:!0,placeholder:"请选择智能体中心",comment:"AgentKit 智能体中心"},{key:"REGISTRY_TOP_K",required:!1,placeholder:lc.topK,comment:"召回 Agent 数量"},{key:"REGISTRY_REGION",required:!1,placeholder:lc.region,comment:"AgentKit 智能体中心地域"},{key:"REGISTRY_ENDPOINT",required:!1,placeholder:lc.endpoint,comment:"AgentKit 智能体中心 OpenAPI 地址"}],_m=[{id:"web_search",label:"联网搜索",desc:"火山引擎 Web Search,获取实时信息。",importLine:"from veadk.tools.builtin_tools.web_search import web_search",toolNames:["web_search"],env:DT},{id:"parallel_web_search",label:"并行联网搜索",desc:"并行发起多条搜索查询,更快汇总。",importLine:"from veadk.tools.builtin_tools.parallel_web_search import parallel_web_search",toolNames:["parallel_web_search"],env:DT},{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"}]}],x5e=new Set(["web_scraper","text_to_speech","vesearch"]),v5e=new Set(["web_search","parallel_web_search"]),w5e=_m.filter(e=>!x5e.has(e.id));function Yre(e="volcengine"){const t=e==="byteplus"?v5e:new Set;return w5e.filter(n=>!t.has(n.id))}const BP=[{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}]}],FP=[{id:"local",label:"本地向量库",desc:"进程内 llama-index 向量库。",env:WE,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},...WE],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},...WE],pipExtra:"extensions",needsEmbedding:!0},{id:"viking",label:"VikingDB Memory",desc:"VikingDB 记忆库(支持用户画像)。",env:y5e},{id:"openviking",label:"OpenViking Memory",desc:"OpenViking 长期记忆,按用户维度保存和检索偏好、事件与实体。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:Xre,comment:"OpenViking 服务地址",link:IT},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:IT},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"记忆归属 ID",help:"对应 viking://user/<此值>/peers/<请求用户>/memories 中的 user 段;用于隔离 Agent、租户或业务场景,默认 default。"},{key:"DATABASE_OPENVIKING_MEMORY_POLICY",required:!1,placeholder:b5e,comment:"记忆策略",multiline:!0,format:"json",help:"记忆的抽取策略和隔离策略,不填写时使用官方默认策略。",link:g5e}]},{id:"mem0",label:"Mem0",desc:"Mem0 托管记忆服务。",env:[{key:"DATABASE_MEM0_API_KEY",required:!0},{key:"DATABASE_MEM0_BASE_URL",required:!1}],pipExtra:"database"}],rh="viking",UP=[{id:"viking",label:"VikingDB Knowledge",desc:"VikingDB 知识库。",env:O5e},{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},...WE],pipExtra:"extensions",needsEmbedding:!0},{id:"context_search",label:"Context Search",desc:"火山 Context Search 引擎(无需向量化)。",env:[...DT,{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ID",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ENDPOINT",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_APIKEY",required:!0}]},{id:"openviking",label:"OpenViking Knowledge",desc:"OpenViking 资源目录知识库,无需向量化模型配置。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:Xre,comment:"OpenViking 服务地址",link:IT},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:IT},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"知识库归属 ID",help:"未配置资源目录时用于默认路径 viking://user/<此值>/resources/<知识库索引>/,默认 default。"},{key:"DATABASE_OPENVIKING_TARGET_URI",required:!1,placeholder:"viking://user/default/resources//",comment:"知识库资源目录",help:"留空时由 KnowledgeBase index 自动生成;填写后直接检索该 OpenViking 资源目录,优先级最高。"}]}],S5e=[{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:[...DT,{key:"OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME",required:!1,comment:"TLS topic_id,留空自动创建"}]}],Gre=65536,E5e="一个基于 VeADK 构建的智能助手,理解用户意图并调用合适的工具完成任务。",k5e=`你是一个专业、可靠的智能助手。 +}`,PLe=[{key:"DATABASE_VIKING_PROJECT",required:!1,placeholder:"default"},{key:"DATABASE_VIKING_REGION",required:!1},{key:"DATABASE_VIKING_COLLECTION_KIND",required:!1},{key:"DATABASE_VIKING_RESOURCE_ID",required:!1}],MLe=[{key:"DATABASE_VIKINGMEM_PROJECT",required:!1,placeholder:"default",comment:"VikingDB 记忆库项目",hidden:!0},{key:"DATABASE_VIKING_REGION",required:!1,comment:"VikingDB 记忆库地域",hidden:!0},{key:"DATABASE_VIKINGMEM_MEMORY_TYPE",required:!1,placeholder:"sys_event_v1,sys_profile_v1",comment:"记忆类型",hidden:!0}],ny=[{key:"FEISHU_APP_ID",required:!0,placeholder:"cli_xxx",comment:"飞书应用 App ID"},{key:"FEISHU_APP_SECRET",required:!0,placeholder:"输入 App Secret",comment:"飞书应用 App Secret"}],Oc={topK:"3",region:"cn-beijing",endpoint:"https://open.volcengineapi.com/"},dse=[{key:"REGISTRY_SPACE_ID",required:!0,placeholder:"请选择智能体中心",comment:"AgentKit 智能体中心"},{key:"REGISTRY_TOP_K",required:!1,placeholder:Oc.topK,comment:"召回 Agent 数量"},{key:"REGISTRY_REGION",required:!1,placeholder:Oc.region,comment:"AgentKit 智能体中心地域"},{key:"REGISTRY_ENDPOINT",required:!1,placeholder:Oc.endpoint,comment:"AgentKit 智能体中心 OpenAPI 地址"}],Mm=[{id:"web_search",label:"联网搜索",desc:"火山引擎 Web Search,获取实时信息。",importLine:"from veadk.tools.builtin_tools.web_search import web_search",toolNames:["web_search"],env:QT},{id:"parallel_web_search",label:"并行联网搜索",desc:"并行发起多条搜索查询,更快汇总。",importLine:"from veadk.tools.builtin_tools.parallel_web_search import parallel_web_search",toolNames:["parallel_web_search"],env:QT},{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"}]}],LLe=new Set(["web_scraper","text_to_speech","vesearch"]),$Le=new Set(["web_search","parallel_web_search"]),QLe=Mm.filter(e=>!LLe.has(e.id));function fse(e="volcengine"){const t=e==="byteplus"?$Le:new Set;return QLe.filter(n=>!t.has(n.id))}const YP=[{id:"local",label:"本地内存",desc:"进程内,不持久化。适合开发调试。",env:[]},{id:"sqlite",label:"SQLite 文件",desc:"持久化到本地 .db 文件。",extraArgs:'local_database_path="./short_term_memory.db"',env:[]},{id:"mysql",label:"MySQL",desc:"持久化到 MySQL。",env:[{key:"DATABASE_MYSQL_HOST",required:!0},{key:"DATABASE_MYSQL_USER",required:!0},{key:"DATABASE_MYSQL_PASSWORD",required:!0},{key:"DATABASE_MYSQL_DATABASE",required:!0}]},{id:"postgresql",label:"PostgreSQL",desc:"持久化到 PostgreSQL。",env:[{key:"DATABASE_POSTGRESQL_HOST",required:!0},{key:"DATABASE_POSTGRESQL_PORT",required:!1,placeholder:"5432"},{key:"DATABASE_POSTGRESQL_USER",required:!0},{key:"DATABASE_POSTGRESQL_PASSWORD",required:!0},{key:"DATABASE_POSTGRESQL_DATABASE",required:!0}]}],WP=[{id:"local",label:"本地向量库",desc:"进程内 llama-index 向量库。",env:tk,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},...tk],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},...tk],pipExtra:"extensions",needsEmbedding:!0},{id:"viking",label:"VikingDB Memory",desc:"VikingDB 记忆库(支持用户画像)。",env:MLe},{id:"openviking",label:"OpenViking Memory",desc:"OpenViking 长期记忆,按用户维度保存和检索偏好、事件与实体。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:use,comment:"OpenViking 服务地址",link:BT},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:BT},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"记忆归属 ID",help:"对应 viking://user/<此值>/peers/<请求用户>/memories 中的 user 段;用于隔离 Agent、租户或业务场景,默认 default。"},{key:"DATABASE_OPENVIKING_MEMORY_POLICY",required:!1,placeholder:DLe,comment:"记忆策略",multiline:!0,format:"json",help:"记忆的抽取策略和隔离策略,不填写时使用官方默认策略。",link:ILe}]},{id:"mem0",label:"Mem0",desc:"Mem0 托管记忆服务。",env:[{key:"DATABASE_MEM0_API_KEY",required:!0},{key:"DATABASE_MEM0_BASE_URL",required:!1}],pipExtra:"database"}],ch="viking",ZP=[{id:"viking",label:"VikingDB Knowledge",desc:"VikingDB 知识库。",env:PLe},{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},...tk],pipExtra:"extensions",needsEmbedding:!0},{id:"context_search",label:"Context Search",desc:"火山 Context Search 引擎(无需向量化)。",env:[...QT,{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ID",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ENDPOINT",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_APIKEY",required:!0}]},{id:"openviking",label:"OpenViking Knowledge",desc:"OpenViking 资源目录知识库,无需向量化模型配置。",env:[{key:"DATABASE_OPENVIKING_URL",required:!0,placeholder:use,comment:"OpenViking 服务地址",link:BT},{key:"DATABASE_OPENVIKING_API_KEY",required:!0,comment:"OpenViking API Key",link:BT},{key:"DATABASE_OPENVIKING_USER_ID",required:!1,placeholder:"default",comment:"知识库归属 ID",help:"未配置资源目录时用于默认路径 viking://user/<此值>/resources/<知识库索引>/,默认 default。"},{key:"DATABASE_OPENVIKING_TARGET_URI",required:!1,placeholder:"viking://user/default/resources//",comment:"知识库资源目录",help:"留空时由 KnowledgeBase index 自动生成;填写后直接检索该 OpenViking 资源目录,优先级最高。"}]}],BLe=[{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:[...QT,{key:"OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME",required:!1,comment:"TLS topic_id,留空自动创建"}]}],hse=65536,FLe="一个基于 VeADK 构建的智能助手,理解用户意图并调用合适的工具完成任务。",ULe=`你是一个专业、可靠的智能助手。 你的目标是准确理解用户的需求,并给出条理清晰、简洁有用的回答。 约束: - 信息不足时主动提问澄清,不要臆造事实。 - 需要时合理调用可用的工具,并说明关键结论。 -- 保持礼貌、专业的语气。`;function Yo(e="volcengine"){return{name:"",description:E5e,instruction:k5e,agentType:"llm",cloudProvider:e,maxIterations:3,a2aUrl:"",tools:[],skills:[],memory:{shortTerm:!1,longTerm:!1},knowledgebase:!1,tracing:!1,subAgents:[],builtinTools:[],customTools:[],mcpTools:[],a2aRegistry:{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},modelName:nm(e),modelSource:"ark",modelProvider:"",modelApiBase:"",shortTermBackend:"local",longTermBackend:"local",longTermMemoryIndex:"",autoSaveSession:!1,knowledgebaseBackend:rh,knowledgebaseIndex:"",tracingExporters:[],selectedSkills:[],cloudEnvironment:{cliTools:[]},deployment:{feishuEnabled:!1,modelApiKeyId:"",modelApiKeyName:""}}}function Am(e){const t=(e==null?void 0:e.trim())??"",n=t.indexOf("/");return n<=0||n===t.length-1?{modelName:t,modelProvider:""}:{modelName:t.slice(n+1),modelProvider:t.slice(0,n)}}function q$(e){return Am(e).modelName}function Wre(e,t,n){var s,a,o;const i=Am((t==null?void 0:t.model)||(n==null?void 0:n.model)),r=(t==null?void 0:t.children)??[];return{...e,name:((s=t==null?void 0:t.name)==null?void 0:s.trim())||((a=n==null?void 0:n.name)==null?void 0:a.trim())||e.name,description:(t==null?void 0:t.description)??e.description,instruction:(t==null?void 0:t.instruction)??e.instruction,agentType:(t==null?void 0:t.type)??e.agentType,modelName:i.modelName||e.modelName,modelProvider:i.modelProvider||e.modelProvider,skills:((o=t==null?void 0:t.skills)==null?void 0:o.map(c=>c.name))??e.skills,subAgents:e.subAgents.map((c,u)=>Wre(c,r[u]))}}function zP(e,t){var c,u,d;const n=e.cloudProvider??t,i=Yo(n),r=e.deployment,s=r==null?void 0:r.network,a=e.cloudEnvironment,o=e.a2aRegistry;return{...i,...e,name:e.name??i.name,description:e.description??i.description,instruction:e.instruction??i.instruction,agentType:e.agentType??i.agentType,cloudProvider:n,maxIterations:e.maxIterations??i.maxIterations,a2aUrl:e.a2aUrl??i.a2aUrl,model:e.model??void 0,modelSource:e.modelSource==="ark"||e.modelSource==="custom"?e.modelSource:void 0,modelName:e.modelName??i.modelName,modelProvider:e.modelProvider??i.modelProvider,modelApiBase:e.modelApiBase??i.modelApiBase,memory:{shortTerm:((c=e.memory)==null?void 0:c.shortTerm)??i.memory.shortTerm,longTerm:((u=e.memory)==null?void 0:u.longTerm)??i.memory.longTerm},tools:[...e.tools??[]],skills:[...e.skills??[]],knowledgebase:e.knowledgebase??i.knowledgebase,tracing:e.tracing??i.tracing,subAgents:(e.subAgents??[]).map(f=>zP(f,n)),builtinTools:[...e.builtinTools??[]],customTools:[...e.customTools??[]],mcpTools:[...e.mcpTools??[]],a2aRegistry:{...i.a2aRegistry,...o??{},enabled:(o==null?void 0:o.enabled)??!1,registrySpaceId:(o==null?void 0:o.registrySpaceId)??"",registryTopK:(o==null?void 0:o.registryTopK)??"",registryRegion:(o==null?void 0:o.registryRegion)??"",registryEndpoint:(o==null?void 0:o.registryEndpoint)??""},shortTermBackend:e.shortTermBackend??i.shortTermBackend,longTermBackend:e.longTermBackend??i.longTermBackend,longTermMemoryIndex:e.longTermMemoryIndex??i.longTermMemoryIndex,autoSaveSession:e.autoSaveSession??i.autoSaveSession,knowledgebaseBackend:e.knowledgebaseBackend??i.knowledgebaseBackend,knowledgebaseIndex:e.knowledgebaseIndex??i.knowledgebaseIndex,tracingExporters:[...e.tracingExporters??[]],selectedSkills:[...e.selectedSkills??[]],cloudEnvironment:{...i.cloudEnvironment,...a??{},cliTools:[...(a==null?void 0:a.cliTools)??[]],dockerfile:typeof(a==null?void 0:a.dockerfile)=="string"?a.dockerfile:void 0},deployment:{...i.deployment,...r??{},feishuEnabled:(r==null?void 0:r.feishuEnabled)??!1,runtimeName:(r==null?void 0:r.runtimeName)??void 0,runtimeNameCustomized:(r==null?void 0:r.runtimeNameCustomized)??((d=i.deployment)==null?void 0:d.runtimeNameCustomized),network:s?{...s,vpcId:s.vpcId??"",subnetIds:s.subnetIds??"",enableSharedInternetAccess:s.enableSharedInternetAccess??!1}:void 0,modelApiKeyId:(r==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:(r==null?void 0:r.modelApiKeyName)??"",envValues:(r==null?void 0:r.envValues)??void 0},...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(f=>({...f,agent:zP(f.agent,n)}))}}:{}}}function Zre(e,t){var o,c;const n=Yo(t),i=[...e.tools??[]],r=_m.filter(u=>u.toolNames.some(d=>i.includes(d))),s=new Set(r.flatMap(u=>u.toolNames)),a=Am(e.model);return{...n,modelSource:void 0,name:((o=e.name)==null?void 0:o.trim())??"",description:e.description??"",instruction:e.instruction||n.instruction,agentType:e.type??"llm",modelName:a.modelName,modelProvider:a.modelProvider,tools:i.filter(u=>!s.has(u)),builtinTools:r.map(u=>u.id),skills:((c=e.skills)==null?void 0:c.map(u=>u.name))??[],subAgents:(e.children??[]).map(u=>Zre(u,t))}}function X$(e,t){var s,a,o,c;const n=((s=e.draft)==null?void 0:s.cloudProvider)??t,i=Am(e.model),r=e.draft?zP(e.draft,n):e.graph?Zre(e.graph,n):{...Yo(n),modelSource:void 0,name:((a=e.name)==null?void 0:a.trim())||e.appName.trim(),description:e.description??"",instruction:e.instruction||Yo(n).instruction,agentType:e.type??"llm",modelName:i.modelName,modelProvider:i.modelProvider,tools:[...e.tools??[]],skills:((o=e.skills)==null?void 0:o.map(u=>u.name))??[]};return Wre(r,e.graph,{name:((c=e.name)==null?void 0:c.trim())||e.appName.trim(),model:e.model})}function T5e(e,t){const n=i=>{var s;const r=((s=i.modelName)==null?void 0:s.trim())??"";return{...i,modelSource:i.agentType==="llm"||!i.agentType?t.has(r)?"ark":"custom":i.modelSource,subAgents:i.subAgents.map(n),...i.workflow?{workflow:{...i.workflow,nodes:i.workflow.nodes.map(a=>({...a,agent:n(a.agent)}))}}:{}}};return n(e)}const _5e="/web/skill-management";class A5e extends Error{constructor(t,n,i="SKILL_MANAGEMENT_ERROR",r="",s,a=""){super(t),this.status=n,this.code=i,this.statusText=r,this.originalError=s,this.rawResponse=a,this.name="SkillManagementApiError"}}async function zd(e,t={},n=mo){return fetch(lo(`${_5e}${e}`),{...t,headers:Ph(t.headers),signal:go(t.signal,n)})}async function Kre(e,t){let n=t,i="SKILL_MANAGEMENT_ERROR",r;const s=await e.text().catch(()=>"");try{const a=JSON.parse(s);typeof a.detail=="string"?n=a.detail:a.detail&&(n=a.detail.message||t,i=a.detail.code||i,r=a.detail.originalError)}catch{s.trim()&&(n=`${t}:${s.trim()}`)}return new A5e(n,e.status,i,e.statusText,r,s)}async function Vd(e,t){if(!e.ok)throw await Kre(e,t);return e.json()}async function C5e(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),Vd(await zd(`/spaces?${t}`,{signal:e.signal}),"读取 Skill 空间失败")}async function N5e(e){return Vd(await zd("/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),"创建 Skill 空间失败")}async function j5e(e){return Vd(await zd(`/spaces/${encodeURIComponent(e.spaceId)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description,region:e.region})}),"更新 Skill 空间失败")}async function R5e(e){const t=new URLSearchParams({region:e.region});await Vd(await zd(`/spaces/${encodeURIComponent(e.spaceId)}?${t}`,{method:"DELETE"}),"删除 Skill 空间失败")}async function D5e(e){const t=new URLSearchParams({region:e.region});return e.project&&t.set("project",e.project),Vd(await zd(`/spaces/${encodeURIComponent(e.spaceId)}/skills?${t}`,{method:"POST",headers:{"Content-Type":"application/zip"},body:e.file},gr),"上传 Skill 失败")}async function I5e(e){return Vd(await zd("/validate",{method:"POST",headers:{"Content-Type":"application/zip"},body:e},gr),"校验 Skill 失败")}async function P5e(e){const t=new URLSearchParams({region:e.region});await Vd(await zd(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}?${t}`,{method:"DELETE"}),"删除 Skill 失败")}async function M5e(e){const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Vd(await zd(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/files?${t}`),"读取 Skill 文件失败");return Array.isArray(n.files)?n.files:[]}async function L5e(e){var o;const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await zd(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/archive?${t}`,{},gr);n.ok||await Vd(n,"下载 Skill 失败");const r=((o=(n.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:o[1])||`${e.fallbackName}.zip`,s=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=s,a.download=r,a.click(),URL.revokeObjectURL(s)}async function HA(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:go(void 0,mo)});if(!t.ok)throw await Kre(t,"AgentKit Skills 请求失败");return t.json()}async function H$(){return(await HA("/web/skill-spaces?region=all")).items||[]}async function Y$(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await HA(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function $5e(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),HA(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function Q5e(e,t,n,i,r){const s=[];n&&s.push(`version=${encodeURIComponent(n)}`),i&&s.push(`region=${encodeURIComponent(i)}`),r&&s.push(`project=${encodeURIComponent(r)}`);const a=s.length>0?`?${s.join("&")}`:"";return HA(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function B5e(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 F5e(e,t,n="volcengine"){return n==="byteplus"?"":`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}function CU({className:e="icon"}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M4.5 6.7h4.2M12.3 6.7h7.2"}),l.jsx("path",{d:"M4.5 12h8.2M16.3 12h3.2"}),l.jsx("path",{d:"M4.5 17.3h2.7M10.8 17.3h8.7"}),l.jsx("circle",{cx:"10.5",cy:"6.7",r:"1.8",fill:"currentColor",stroke:"none"}),l.jsx("circle",{cx:"14.5",cy:"12",r:"1.8",fill:"currentColor",stroke:"none"}),l.jsx("circle",{cx:"9",cy:"17.3",r:"1.8",fill:"currentColor",stroke:"none"})]})}const U5e={coding:"智能编程",get_city_weather:"城市天气查询",get_location_weather:"位置天气查询",web_fetch:"网页内容获取"};function VP(e){const t=_m.find(n=>n.id===e||n.toolNames.includes(e));return U5e[e]??(t==null?void 0:t.label)??e}function NU(e){const t=_m.find(i=>i.id===e||i.toolNames.includes(e));return((t==null?void 0:t.desc)??"由 VeADK 提供的内置工具").replace(/[。.]+$/,"")}function z5e(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m7 7 10 10M17 7 7 17",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function V5e(){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"5.8",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.2 15.2 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function jU(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function Jre({title:e,description:t,icon:n,wide:i=!1,onClose:r,children:s}){const a=m.useRef(`session-capability-${Math.random().toString(36).slice(2)}`);return m.useEffect(()=>{const o=document.body.style.overflow;document.body.style.overflow="hidden";const c=u=>{u.key==="Escape"&&r()};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c),document.body.style.overflow=o}},[r]),zi.createPortal(l.jsxs("div",{className:"session-capability-dialog-layer",children:[l.jsx("button",{type:"button",className:"session-capability-dialog-scrim","aria-label":"关闭弹窗",onClick:r}),l.jsxs("section",{className:`session-capability-dialog${i?" is-wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":a.current,children:[l.jsxs("header",{className:`session-capability-dialog-head${n?"":" is-iconless"}`,children:[n&&l.jsx("span",{className:"session-capability-dialog-mark",children:n}),l.jsxs("div",{children:[l.jsx("h2",{id:a.current,children:e}),l.jsx("p",{children:t})]}),l.jsx("button",{type:"button",className:"session-capability-dialog-close","aria-label":`关闭${e}`,onClick:r,children:l.jsx(z5e,{})})]}),s]})]}),document.body)}function ZE({value:e,placeholder:t,label:n,onChange:i,autoFocus:r=!1}){return l.jsxs("label",{className:"session-capability-search",children:[l.jsx(V5e,{}),l.jsx("input",{value:e,"aria-label":n,placeholder:t,autoFocus:r,onChange:s=>i(s.target.value)})]})}function q5e({agentName:e,tools:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=m.useState(""),[c,u]=m.useState(""),d=m.useMemo(()=>new Set(n),[n]),f=m.useMemo(()=>{const p=a.trim().toLowerCase();return t.filter(b=>p?`${VP(b)} ${b} ${NU(b)}`.toLowerCase().includes(p):!0)},[a,t]),h=async p=>{u(p);const b=await r({kind:"tool",name:p});u(""),b&&s()};return l.jsx(Jre,{title:"添加内置工具",description:`添加后仅对 ${e} 的当前会话生效`,icon:l.jsx(CU,{}),onClose:s,children:l.jsxs("div",{className:"session-tool-dialog-body",children:[l.jsx(ZE,{value:a,label:"搜索内置工具",placeholder:"搜索中文名称或工具标识",onChange:o,autoFocus:!0}),l.jsx("div",{className:"session-tool-picker",role:"list","aria-label":"可用内置工具",children:f.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的内置工具"}):f.map(p=>{const b=d.has(p),g=c===p;return l.jsxs("article",{className:"session-tool-option",role:"listitem",children:[l.jsx("span",{className:"session-tool-option-icon",children:l.jsx(CU,{})}),l.jsxs("span",{className:"session-tool-option-copy",children:[l.jsx("strong",{children:VP(p)}),l.jsx("code",{children:p}),l.jsx("span",{children:NU(p)})]}),l.jsx("button",{type:"button",disabled:b||i||!!c,onClick:()=>void h(p),children:b?"已添加":g?"添加中…":"添加"})]},p)})})]})})}function X5e({appName:e,agentName:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=m.useState("public"),[c,u]=m.useState(""),[d,f]=m.useState([]),[h,p]=m.useState(0),[b,g]=m.useState(!0),[O,y]=m.useState(""),[v,x]=m.useState([]),[w,E]=m.useState(null),[S,k]=m.useState([]),[T,C]=m.useState(""),[A,R]=m.useState(""),[P,B]=m.useState(!0),[I,$]=m.useState(!1),[j,D]=m.useState(""),[F,Q]=m.useState(""),M=m.useMemo(()=>new Set(n),[n]);m.useEffect(()=>{if(a!=="public")return;let ie=!0;const fe=window.setTimeout(()=>{g(!0),y(""),Wte(e,c.trim()).then(me=>{ie&&(f(me.items),p(me.totalCount))}).catch(me=>{ie&&(f([]),p(0),y(me instanceof Error?me.message:"搜索 Skill Hub 失败"))}).finally(()=>{ie&&g(!1)})},250);return()=>{ie=!1,window.clearTimeout(fe)}},[e,c,a]),m.useEffect(()=>{if(a!=="agentkit")return;let ie=!0;return B(!0),D(""),H$().then(fe=>{ie&&(x(fe),E(fe[0]??null))}).catch(fe=>{ie&&D(fe instanceof Error?fe.message:"读取 Skill Space 失败")}).finally(()=>{ie&&B(!1)}),()=>{ie=!1}},[a]),m.useEffect(()=>{if(a!=="agentkit")return;if(!w){k([]);return}let ie=!0;return $(!0),D(""),Y$(w.id,w.region).then(fe=>{ie&&k(fe)}).catch(fe=>{ie&&D(fe instanceof Error?fe.message:"读取技能失败")}).finally(()=>{ie&&$(!1)}),()=>{ie=!1}},[w,a]);const G=m.useMemo(()=>{const ie=T.trim().toLowerCase();return ie?v.filter(fe=>`${fe.name} ${fe.id} ${fe.description}`.toLowerCase().includes(ie)):v},[T,v]),H=m.useMemo(()=>{const ie=A.trim().toLowerCase();return ie?S.filter(fe=>`${fe.skillName} ${fe.skillDescription}`.toLowerCase().includes(ie)):S},[A,S]),U=async ie=>{if(!w)return;Q(ie.skillId);const fe=await r({kind:"skill",name:ie.skillName,skillSourceId:w.id,description:ie.skillDescription,version:ie.version});Q(""),fe&&s()},q=async ie=>{Q(ie.slug);const fe=await r({kind:"skill",name:ie.name,skillSourceId:`findskill:${ie.slug}`,description:ie.description,version:ie.version||ie.updatedAt});Q(""),fe&&s()};return l.jsx(Jre,{title:"添加技能",description:`从公域 Skill Hub 或 AgentKit Skill 中心添加到 ${t} 当前会话`,wide:!0,onClose:s,children:l.jsxs("div",{className:"session-skill-dialog-body",children:[l.jsxs("div",{className:"session-skill-source-tabs",role:"tablist","aria-label":"技能来源",children:[l.jsxs("button",{type:"button",role:"tab","aria-selected":a==="public",className:a==="public"?"is-active":"",onClick:()=>o("public"),children:["Skill Hub",l.jsx("span",{children:"公域"})]}),l.jsx("button",{type:"button",role:"tab","aria-selected":a==="agentkit",className:a==="agentkit"?"is-active":"",onClick:()=>o("agentkit"),children:"AgentKit Skill 中心"})]}),a==="public"?l.jsxs("section",{className:"session-public-skill-browser","aria-label":"Skill Hub 公域技能",children:[l.jsxs("div",{className:"session-public-skill-head",children:[l.jsx(ZE,{value:c,label:"搜索 Skill Hub",placeholder:"搜索技能名称、用途或关键词",onChange:u,autoFocus:!0}),l.jsxs("span",{children:[h.toLocaleString()," 个公域技能"]})]}),l.jsx("div",{className:"session-public-skill-list",children:O?l.jsx("div",{className:"session-capability-error",children:O}):b?l.jsx("div",{className:"session-capability-loading",children:"正在搜索 Skill Hub…"}):d.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的公域技能"}):d.map(ie=>{const fe=M.has(ie.name),me=F===ie.slug;return l.jsxs("article",{className:"session-skill-option session-public-skill-option",children:[l.jsxs("span",{className:"session-skill-option-copy",children:[l.jsx("strong",{children:ie.name}),l.jsx("span",{children:ie.description||"暂无描述"}),l.jsxs("small",{children:[ie.sourceRepo||ie.sourceType||"FindSkill",l.jsx("span",{"aria-hidden":"true",children:" · "}),ie.downloadCount.toLocaleString()," 次下载",ie.evaluationScore>0&&l.jsxs(l.Fragment,{children:[l.jsx("span",{"aria-hidden":"true",children:" · "}),ie.evaluationScore.toFixed(1)," 分"]})]})]}),l.jsx("button",{type:"button",disabled:fe||i||!!F,onClick:()=>void q(ie),children:fe?"已添加":me?"添加中…":l.jsxs(l.Fragment,{children:[l.jsx(jU,{}),"添加"]})})]},ie.slug)})})]}):l.jsxs("div",{className:"session-skill-browser",children:[l.jsxs("section",{className:"session-skill-spaces","aria-label":"Skill Space 列表",children:[l.jsxs("div",{className:"session-skill-pane-head",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"Skill Space"}),l.jsx("span",{children:v.length})]}),l.jsx(ZE,{value:T,label:"搜索 Skill Space",placeholder:"搜索空间",onChange:C,autoFocus:!0})]}),l.jsx("div",{className:"session-skill-pane-list",children:P?l.jsx("div",{className:"session-capability-loading",children:"正在读取 Skill Space…"}):G.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的 Skill Space"}):G.map(ie=>l.jsx("button",{type:"button",className:`session-skill-space${(w==null?void 0:w.id)===ie.id?" is-active":""}`,onClick:()=>{E(ie),R("")},children:l.jsxs("span",{children:[l.jsx("strong",{children:ie.name||ie.id}),l.jsx("small",{children:ie.description||ie.id}),l.jsxs("em",{children:[ie.skillCount??0," 个技能"]})]})},`${ie.projectName??"default"}:${ie.id}`))})]}),l.jsxs("section",{className:"session-skill-results","aria-label":"AgentKit Skill 列表",children:[l.jsxs("div",{className:"session-skill-pane-head",children:[l.jsxs("div",{children:[l.jsx("strong",{title:w==null?void 0:w.name,children:(w==null?void 0:w.name)||"选择 Skill Space"}),l.jsx("span",{children:S.length})]}),l.jsx(ZE,{value:A,label:"搜索 AgentKit 技能",placeholder:"搜索技能名称或描述",onChange:R})]}),l.jsx("div",{className:"session-skill-pane-list",children:j?l.jsx("div",{className:"session-capability-error",children:j}):w?I?l.jsx("div",{className:"session-capability-loading",children:"正在读取技能…"}):H.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的技能"}):H.map(ie=>{const fe=M.has(ie.skillName),me=F===ie.skillId;return l.jsxs("article",{className:"session-skill-option",children:[l.jsxs("span",{className:"session-skill-option-copy",children:[l.jsx("strong",{children:ie.skillName}),l.jsx("span",{children:ie.skillDescription||"暂无描述"}),l.jsxs("small",{children:["版本 ",ie.version||"—"]})]}),l.jsx("button",{type:"button",disabled:fe||i||!!F,onClick:()=>void U(ie),children:fe?"已添加":me?"添加中…":l.jsxs(l.Fragment,{children:[l.jsx(jU,{}),"添加"]})})]},`${ie.skillId}:${ie.version}`)}):l.jsx("div",{className:"session-capability-empty",children:"选择一个 Skill Space 查看技能"})})]})]})]})})}function Ln({as:e="span",className:t="",duration:n=4,spread:i=20,children:r,style:s,...a}){const o=Math.min(Math.max(i,5),45);return l.jsx(e,{className:`text-shimmer${t?` ${t}`:""}`,style:{...s,backgroundImage:`linear-gradient(to right, hsl(var(--muted-foreground)) ${50-o}%, hsl(var(--foreground)) 50%, hsl(var(--muted-foreground)) ${50+o}%)`,animationDuration:`${n}s`},...a,children:r})}function ese(e){return 1+e.children.reduce((t,n)=>t+ese(n),0)}function tse(e){return e.id||e.name}function H5e(e,t){const n=tse(e);if(e.id&&e.name&&e.name!==n)return e.name;if(t&&n==="agent")return"主 Agent";const i=/^agent_sub_(\d+)$/.exec(n);return i?`子 Agent ${i[1]}`:e.name||n}function nse(e,t=!0){return{...e,id:tse(e),name:H5e(e,t),children:e.children.map(n=>nse(n,!1))}}function ise(e){const t=Yo(),n=Am(e.model);return{...t,name:e.name,description:e.description,instruction:e.instruction||t.instruction,agentType:e.type,modelName:n.modelName,modelProvider:n.modelProvider,tools:e.tools??[],skills:(e.skills??[]).map(i=>i.name),subAgents:e.children.map(ise)}}function Y5e(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}function G5e(e){return[...new Map(e.filter(t=>t.name.trim()).map(t=>[t.name.trim(),{...t,name:t.name.trim()}])).values()]}function dj({title:e,count:t}){return l.jsxs("div",{className:"topo-module-title",children:[l.jsx("span",{className:"topo-module-label",title:e,children:e}),t!==void 0&&l.jsx("span",{className:"topo-section-count","aria-label":`${t} 项`,children:t})]})}function W5e({appName:e,info:t,loading:n,variant:i="rail",capabilities:r=null,capabilityLoading:s=!1,capabilityMutating:a=!1,builtinTools:o=[],onAddCapability:c,onRemoveCapability:u}){const[d,f]=m.useState(null),[h,p]=m.useState(!1),b=m.useRef(null),g=()=>{p(!1),window.requestAnimationFrame(()=>{var k;return(k=b.current)==null?void 0:k.focus()})};if(m.useEffect(()=>{if(!h)return;const k=document.body.style.overflow,T=C=>{C.key==="Escape"&&g()};return document.body.style.overflow="hidden",document.addEventListener("keydown",T),()=>{document.body.style.overflow=k,document.removeEventListener("keydown",T)}},[h]),n&&!t)return l.jsx("aside",{className:`topo is-loading${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息","aria-live":"polite",children:l.jsx(Ln,{as:"span",className:"topo-loading-label",duration:2.2,children:"正在读取 Agent 信息…"})});if(!t)return null;const O=q$(t.model),y=nse(t.graph??{id:t.name,name:t.name,description:t.description,type:t.type??"llm",model:O,tools:t.tools,skills:t.skills,path:[t.name],mentionable:!1,children:[]}),v=(r==null?void 0:r.tools)??Y5e(t.tools).map(k=>({id:`base:tool:${k}`,kind:"tool",name:k,custom:!1})),x=(r==null?void 0:r.skills)??G5e(t.skills).map(k=>({id:`base:skill:${k.name}`,kind:"skill",name:k.name,description:k.description,custom:!1})),w=!!(r&&c&&u),E=ise(y),S=k=>l.jsx(p1,{draft:E,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},k);return l.jsxs(l.Fragment,{children:[l.jsxs("aside",{className:`topo${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息与拓扑",children:[l.jsxs("section",{className:"topo-agent-card","aria-label":"Agent 信息",children:[l.jsxs("div",{className:"topo-agent-heading",children:[l.jsx("h2",{title:t.name,children:t.name||"未命名 Agent"}),O&&l.jsx("span",{title:O,children:O})]}),t.description&&l.jsx("p",{className:"topo-description",title:t.description,children:t.description})]}),l.jsxs("div",{className:"topo-module-stack",children:[l.jsxs("section",{className:"topo-module-card topo-tools-card","aria-label":"工具",children:[l.jsx(dj,{title:"工具",count:v.length}),l.jsx("div",{className:"topo-module-scroll topo-tools-scroll",role:"region","aria-label":"工具列表",tabIndex:0,children:v.length>0?l.jsx("div",{className:"topo-tool-list",children:v.map(k=>l.jsxs("div",{className:"topo-tool",title:k.name,children:[l.jsxs("span",{className:"topo-capability-title",children:[l.jsxs("span",{className:"topo-capability-copy",children:[l.jsx("span",{className:"topo-capability-name",children:VP(k.name)}),l.jsx("code",{children:k.name})]}),k.custom&&l.jsx("span",{className:"topo-custom-badge",children:"自定义"})]}),k.custom&&l.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除工具 ${k.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(k.id),children:"×"})]},k.id))}):l.jsx("div",{className:"topo-empty",children:"未配置"})}),w&&l.jsx("div",{className:"topo-capability-add-dock",children:l.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加内置工具",disabled:s||a,onClick:()=>f("tool"),children:[l.jsx("span",{"aria-hidden":"true",children:"+"}),l.jsx("span",{children:"在此对话中添加工具"})]})})]}),l.jsxs("section",{className:"topo-module-card topo-skills-card","aria-label":"技能",children:[l.jsx(dj,{title:"技能",count:t.skillsPreviewSupported?x.length:void 0}),l.jsx("div",{className:"topo-module-scroll topo-skills-scroll",role:"region","aria-label":"技能列表",tabIndex:0,children:t.skillsPreviewSupported?x.length>0?l.jsx("div",{className:"topo-skill-list",children:x.map(k=>l.jsxs("div",{className:"topo-skill",title:k.description||k.name,children:[l.jsxs("div",{className:"topo-skill-title",children:[l.jsx("span",{className:"topo-skill-name",children:k.name}),k.custom&&l.jsx("span",{className:"topo-custom-badge",children:"自定义"}),k.custom&&l.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除技能 ${k.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(k.id),children:"×"})]}),k.description&&l.jsx("span",{className:"topo-skill-description",children:k.description})]},`${k.name}:${k.description}`))}):l.jsx("div",{className:"topo-empty",children:"未配置"}):l.jsx("div",{className:"topo-empty",children:"暂不支持预览"})}),w&&l.jsx("div",{className:"topo-capability-add-dock",children:l.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加技能",disabled:s||a,onClick:()=>f("skill"),children:[l.jsx("span",{"aria-hidden":"true",children:"+"}),l.jsx("span",{children:"在此对话中添加技能"})]})})]}),l.jsxs("section",{className:"topo-module-card topo-topology","aria-label":"Agent 画布",children:[l.jsxs("div",{className:"topo-canvas-heading",children:[l.jsx(dj,{title:"结构拓扑",count:ese(y)}),l.jsx("button",{ref:b,type:"button",className:"topo-canvas-expand","aria-label":"全屏查看 Agent 画布",title:"全屏查看",onClick:()=>p(!0),children:l.jsx(Fp,{"aria-hidden":"true"})})]}),l.jsx("div",{className:"topo-canvas-preview",role:"region","aria-label":"Agent 执行画布",children:S(`conversation-canvas:${e}`)})]})]}),d==="tool"&&c&&l.jsx(q5e,{agentName:t.name,tools:o,selectedNames:v.map(k=>k.name),mutating:a,onAdd:c,onClose:()=>f(null)}),d==="skill"&&c&&l.jsx(X5e,{appName:e,agentName:t.name,selectedNames:x.map(k=>k.name),mutating:a,onAdd:c,onClose:()=>f(null)})]}),h&&zi.createPortal(l.jsxs("section",{className:"topo-canvas-dialog",role:"dialog","aria-modal":"true","aria-label":"全屏 Agent 执行画布",children:[l.jsxs("header",{className:"topo-canvas-dialog-header",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"Agent 执行画布"}),l.jsx("span",{children:t.name})]}),l.jsx("button",{type:"button","aria-label":"关闭全屏画布",title:"关闭",onClick:g,autoFocus:!0,children:l.jsx(Ma,{"aria-hidden":"true"})})]}),l.jsx("div",{className:"topo-canvas-dialog-body",children:S(`conversation-canvas-fullscreen:${e}`)})]}),document.body)]})}const Xb={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function RU(e){return l.jsxs("svg",{...Xb,...e,children:[l.jsx("rect",{x:"3.75",y:"5.25",width:"16.5",height:"13.5",rx:"2"}),l.jsx("path",{d:"m10.25 9 4.8 3-4.8 3V9Z"})]})}function Z5e(e){return l.jsxs("svg",{...Xb,...e,children:[l.jsx("circle",{cx:"10.7",cy:"10.7",r:"6.1"}),l.jsx("path",{d:"m15.25 15.25 4.2 4.2"})]})}function K5e(e){return l.jsxs("svg",{...Xb,...e,children:[l.jsx("path",{d:"M12 3.75v10.5M8.4 10.8 12 14.4l3.6-3.6"}),l.jsx("path",{d:"M5 17.25v2h14v-2"})]})}function J5e(e){return l.jsxs("svg",{...Xb,...e,children:[l.jsx("path",{d:"M8.75 8.75 6.9 10.6a3.4 3.4 0 0 0 4.8 4.8l1.85-1.85"}),l.jsx("path",{d:"m15.25 15.25 1.85-1.85a3.4 3.4 0 0 0-4.8-4.8l-1.85 1.85"}),l.jsx("path",{d:"m9.4 14.6 5.2-5.2"})]})}function eLe(e){return l.jsxs("svg",{...Xb,...e,children:[l.jsx("path",{d:"M5 19h3.2L18.6 8.6a1.7 1.7 0 0 0 0-2.4l-.8-.8a1.7 1.7 0 0 0-2.4 0L5 15.8V19Z"}),l.jsx("path",{d:"m13.9 6.9 3.2 3.2M5 15.8 8.2 19"})]})}function rse(e){return l.jsx("svg",{...Xb,...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}const tLe=180,DU=500,IU=10,PU=32;function nLe(e){return Array.from(new Set(e.split(/[,,]/).map(t=>t.trim()).filter(Boolean)))}function iLe({artifact:e,busy:t,error:n,onClose:i,onSave:r}){const[s,a]=m.useState(e.name),[o,c]=m.useState(e.description??""),[u,d]=m.useState((e.tags??[]).join(",")),[f,h]=m.useState(""),p=m.useId(),b=m.useId(),g=m.useRef(null),O=m.useRef(null),y=m.useRef(t),v=m.useRef(i);m.useEffect(()=>{y.current=t,v.current=i},[t,i]),m.useEffect(()=>{var T,C;const E=document.body.style.overflow,S=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(T=O.current)==null||T.focus(),(C=O.current)==null||C.select();const k=A=>{if(A.key==="Escape"&&!y.current){A.preventDefault(),v.current();return}if(A.key!=="Tab")return;const R=g.current;if(!R)return;const P=Array.from(R.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter($=>$.getClientRects().length>0);if(P.length===0){A.preventDefault();return}const B=P[0],I=P[P.length-1];A.shiftKey&&document.activeElement===B?(A.preventDefault(),I.focus()):!A.shiftKey&&document.activeElement===I&&(A.preventDefault(),B.focus())};return window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k),document.body.style.overflow=E,S!=null&&S.isConnected&&S.focus()}},[]);const x=E=>{var T;E.preventDefault();const S=s.trim(),k=nLe(u);if(!S){h("请输入产物名称"),(T=O.current)==null||T.focus();return}if(k.length>IU){h(`标签最多 ${IU} 个`);return}if(k.some(C=>C.length>PU)){h(`单个标签不能超过 ${PU} 个字符`);return}h(""),r({name:S,description:o.trim(),tags:k})},w=f||n;return zi.createPortal(l.jsx("div",{className:"artifact-edit-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&!t&&i()},children:l.jsxs("section",{ref:g,className:"artifact-edit-dialog",role:"dialog","aria-modal":"true","aria-labelledby":p,"aria-describedby":b,"aria-busy":t||void 0,children:[l.jsxs("header",{className:"artifact-edit-dialog__header",children:[l.jsxs("div",{children:[l.jsx("h2",{id:p,children:"编辑产物信息"}),l.jsx("p",{id:b,children:"内容文件不会被修改"})]}),l.jsx("button",{type:"button",onClick:i,disabled:t,"aria-label":"关闭编辑框",children:l.jsx(rse,{})})]}),l.jsxs("form",{onSubmit:x,children:[l.jsxs("div",{className:"artifact-edit-dialog__body",children:[l.jsxs("label",{className:"artifact-edit-field",children:[l.jsx("span",{children:"名称"}),l.jsx("input",{ref:O,value:s,maxLength:tLe,disabled:t,"aria-invalid":!!w||void 0,onChange:E=>{a(E.target.value),h("")}})]}),l.jsxs("label",{className:"artifact-edit-field",children:[l.jsx("span",{children:"描述"}),l.jsx("textarea",{value:o,maxLength:DU,disabled:t,rows:4,placeholder:"补充用途、版本或使用说明",onChange:E=>c(E.target.value)}),l.jsxs("small",{children:[o.length,"/",DU]})]}),l.jsxs("label",{className:"artifact-edit-field",children:[l.jsx("span",{children:"标签"}),l.jsx("input",{value:u,disabled:t,placeholder:"使用逗号分隔,最多 10 个",onChange:E=>{d(E.target.value),h("")}})]}),w?l.jsx("div",{className:"artifact-edit-error",role:"alert",children:w}):null]}),l.jsxs("footer",{className:"artifact-edit-dialog__actions",children:[l.jsx("button",{type:"button",onClick:i,disabled:t,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:t,children:t?"保存中":"保存"})]})]})]})}),document.body)}function rLe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"5.5",cy:"12",r:"1.4"}),l.jsx("circle",{cx:"12",cy:"12",r:"1.4"}),l.jsx("circle",{cx:"18.5",cy:"12",r:"1.4"})]})}function sse({label:e,menuLabel:t,items:n,className:i="",placement:r="bottom-end"}){const[s,a]=m.useState(!1),o=m.useRef(null),c=m.useRef(null),u=m.useRef([]);m.useEffect(()=>{if(!s)return;const f=p=>{var b;(b=o.current)!=null&&b.contains(p.target)||a(!1)},h=p=>{var b;p.key==="Escape"&&(p.preventDefault(),a(!1),(b=c.current)==null||b.focus())};return window.addEventListener("pointerdown",f),window.addEventListener("keydown",h),()=>{window.removeEventListener("pointerdown",f),window.removeEventListener("keydown",h)}},[s]),m.useEffect(()=>{var f;s&&((f=u.current.find(h=>h&&!h.disabled))==null||f.focus())},[s]);const d=f=>{var g;if(!s||!["ArrowDown","ArrowUp","Home","End"].includes(f.key))return;f.preventDefault();const h=u.current.filter(O=>!!(O&&!O.disabled));if(h.length===0)return;const p=h.indexOf(document.activeElement),b=f.key==="Home"?0:f.key==="End"?h.length-1:(p+(f.key==="ArrowDown"?1:-1)+h.length)%h.length;(g=h[b])==null||g.focus()};return l.jsxs("div",{className:"studio-action-menu",ref:o,onKeyDown:d,children:[l.jsx("button",{ref:c,type:"button",className:`studio-action-menu__trigger ${i}`.trim(),"aria-label":e,"aria-haspopup":"menu","aria-expanded":s,disabled:n.length===0,onClick:()=>a(f=>!f),children:l.jsx(rLe,{})}),s?l.jsx("div",{className:`studio-action-menu__popover studio-action-menu__popover--${r}`,role:"menu","aria-label":t,children:n.map((f,h)=>l.jsx("button",{ref:p=>{u.current[h]=p},type:"button",role:"menuitem",className:`studio-action-menu__item${f.danger?" is-danger":""}`,disabled:f.disabled,title:f.title,onClick:()=>{a(!1),f.onSelect()},children:f.label},f.label))}):null]})}function sLe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M12 4.2 21 19H3L12 4.2Z"}),l.jsx("path",{d:"M12 9.4v4.2"}),l.jsx("path",{d:"M12 16.8h.01"})]})}function aLe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m7 7 10 10"}),l.jsx("path",{d:"m17 7-10 10"})]})}function cc({title:e,description:t,confirmLabel:n,cancelLabel:i="取消",closeLabel:r="关闭确认框",variant:s="warning",busy:a=!1,onCancel:o,onConfirm:c}){const u=m.useId(),d=m.useId(),f=m.useRef(null),h=m.useRef(a),p=m.useRef(o);return m.useEffect(()=>{h.current=a,p.current=o},[a,o]),m.useEffect(()=>{var y;const b=document.body.style.overflow,g=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(y=f.current)==null||y.focus();const O=v=>{v.key==="Escape"&&!h.current&&p.current()};return window.addEventListener("keydown",O),()=>{document.body.style.overflow=b,window.removeEventListener("keydown",O),g!=null&&g.isConnected&&g.focus()}},[]),zi.createPortal(l.jsx("div",{className:"studio-confirm-backdrop",onMouseDown:b=>{b.target===b.currentTarget&&!a&&o()},children:l.jsxs("section",{className:`studio-confirm-dialog studio-confirm-dialog--${s}`,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":d,"aria-busy":a||void 0,children:[l.jsxs("header",{className:"studio-confirm-head",children:[l.jsxs("div",{className:"studio-confirm-title-wrap",children:[l.jsx("span",{className:"studio-confirm-title-icon","aria-hidden":"true",children:l.jsx(sLe,{})}),l.jsx("h2",{id:u,children:e})]}),l.jsx("button",{type:"button",className:"studio-confirm-close",onClick:o,disabled:a,"aria-label":r,children:l.jsx(aLe,{})})]}),l.jsx("div",{className:"studio-confirm-body",children:l.jsx("p",{id:d,children:t})}),l.jsxs("footer",{className:"studio-confirm-actions",children:[l.jsx("button",{ref:f,type:"button",onClick:o,disabled:a,children:i}),l.jsx("button",{type:"button",className:"studio-confirm-primary",onClick:c,disabled:a,children:n})]})]})}),document.body)}const oLe=new Set(["avif","bmp","gif","heic","jpeg","jpg","png","svg","tif","tiff","webp"]),lLe=new Set(["avi","m4v","mkv","mov","mp4","mpeg","mpg","webm"]),cLe=new Set(["csv","htm","html","json","md","pdf","svg","txt","xml","yaml","yml"]);function ase(e){const t=e.lastIndexOf(".");return t<0?"":e.slice(t+1).toLocaleLowerCase()}function PT(e,t){if(!Number.isFinite(e))return t;const n=e;return n>1e10?n:n*1e3}function uLe(e){var t,n;return((t=e.actions)==null?void 0:t.artifactDelta)??((n=e.actions)==null?void 0:n.artifact_delta)}function dLe(e){return`${e.replace(/\.pptx$/i,"")}.preview.webp`}function fLe(e){var t;return(((t=e.content)==null?void 0:t.parts)??[]).map(n=>n.functionResponse??n.function_response).filter(n=>!!n)}function hLe(e){if(!e)return{};const t=e.result;return t&&typeof t=="object"&&!Array.isArray(t)?t:e}function MU(e,t,n){var i;if(/\.[A-Za-z0-9]{2,8}$/.test(e))return e;try{const r=new URL(t).pathname.split("/").filter(Boolean),a=((i=(r[r.length-1]??"").match(/\.[A-Za-z0-9]{2,8}$/))==null?void 0:i[0])??"";if(a)return`${e}${a}`}catch{}return`${e}.${n==="image"?"png":"mp4"}`}function pLe(e,t){const n=hLe(t),i=e==="image_generate"||e.endsWith("_image_generate"),r=["video_generate","video_task_query"].some(u=>e===u||e.endsWith(`_${u}`));if(!i&&!r)return[];const s=i?"image":"video",a=[],o=n.success_list;if(Array.isArray(o)){for(const u of o)if(!(!u||typeof u!="object"||Array.isArray(u)))for(const[d,f]of Object.entries(u))typeof f=="string"&&f.startsWith("https://")&&a.push({name:MU(d,f,s),url:f,type:s})}const c=n.video_url;if(r&&typeof c=="string"&&c.startsWith("https://")){const u=typeof n.task_id=="string"?n.task_id:void 0;a.push({name:MU(u||"generated-video",c,s),url:c,type:s,taskId:u})}return a}function LU(e,t){return new Date(PT(e,t)||Date.now()).toISOString()}function mLe(e){var i;const t=[],n=new Set;for(const r of e)for(const s of r.sessions){const a=PT(s.lastUpdateTime,Date.now()),o=AA(s.events);for(const c of s.events??[])for(const u of fLe(c)){const d=(u==null?void 0:u.name)??"";for(const f of pLe(d,u==null?void 0:u.response)){const h=`${s.id}:${c.id??""}:${d}:${f.url}`;n.has(h)||(n.add(h),t.push({sourceUrl:f.url,name:f.name,mimeType:f.type==="image"?"image/png":"video/mp4",appName:r.appName,agentId:r.agentId,agentName:((i=r.agentName)==null?void 0:i.trim())||r.appName,sessionId:s.id,sessionTitle:o,sessionUpdatedAt:LU(s.lastUpdateTime,a),createdAt:LU(c.timestamp,a),origin:{runtimeId:r.runtimeId,region:r.region,eventId:c.id,invocationId:c.invocationId??c.invocation_id,toolName:d,taskId:f.taskId}}))}}}return t}function ose(e){const t=ase(e);return oLe.has(t)?"image":lLe.has(t)?"video":"document"}function gLe(e){const t=ose(e);return t==="image"?"image":t==="video"?"video":cLe.has(ase(e))?"frame":"unavailable"}function bLe(e){var n;const t=[];for(const i of e)for(const r of i.sessions){const s=PT(r.lastUpdateTime,0),a=new Map;for(const o of r.events??[]){const c=uLe(o);if(!c)continue;const u=PT(o.timestamp,s);for(const[d,f]of Object.entries(c)){if(!d||!Number.isFinite(f))continue;const h=a.get(d);(!h||f>=h.version)&&a.set(d,{filename:d,version:f,createdAt:u})}}for(const o of a.values()){if(/\.preview\.webp$/i.test(o.filename))continue;const c=a.get(dLe(o.filename)),u=c??o,d=c?"image":gLe(o.filename);t.push({id:`${i.appName}:${r.id}:${o.filename}:${o.version}`,appName:i.appName,agentId:i.agentId,sessionId:r.id,sessionTitle:AA(r.events),agentName:((n=i.agentName)==null?void 0:n.trim())||i.appName,sessionUpdatedAt:s,name:o.filename,version:o.version,type:ose(o.filename),createdAt:o.createdAt||s,preview:{filename:u.filename,version:u.version,mode:d}})}}return t.sort((i,r)=>r.createdAt-i.createdAt||i.name.localeCompare(r.name,"zh-CN"))}function lse(e){if(!e)return"时间未知";const t=new Date(e);if(Number.isNaN(t.getTime()))return"时间未知";const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()?new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(t)}function cse(e){return!e||e<=0?"":e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(e<10*1024*1024?1:0)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}const fj=40,OLe=[{id:"document",label:"文档"},{id:"image",label:"图片"},{id:"video",label:"视频"}],yLe={document:"文档",image:"图片",video:"视频"};function mS(e){return e instanceof Error?e.message:String(e)}function use({artifact:e,large:t=!1}){return l.jsx("div",{className:`library-artifact-preview library-artifact-preview--${e.type}${t?" is-large":""}`,children:e.thumbnailUrl?l.jsxs(l.Fragment,{children:[l.jsx("img",{className:"library-artifact-preview-media",src:e.thumbnailUrl,alt:"",loading:"lazy"}),e.type==="video"?l.jsx("span",{className:"artifact-video-play is-overlay","aria-hidden":"true",children:l.jsx(RU,{})}):null]}):e.type==="document"?l.jsxs("div",{className:"artifact-document-sheet","aria-hidden":"true",children:[l.jsx("span",{className:"is-title"}),l.jsx("span",{}),l.jsx("span",{}),l.jsx("span",{className:"is-short"})]}):e.type==="image"?l.jsxs("div",{className:"artifact-image-scene","aria-hidden":"true",children:[l.jsx("span",{className:"artifact-image-sun"}),l.jsx("span",{className:"artifact-image-plane artifact-image-plane--back"}),l.jsx("span",{className:"artifact-image-plane artifact-image-plane--front"})]}):l.jsxs("div",{className:"artifact-video-frame","aria-hidden":"true",children:[l.jsx("span",{className:"artifact-video-orbit"}),l.jsx("span",{className:"artifact-video-node artifact-video-node--one"}),l.jsx("span",{className:"artifact-video-node artifact-video-node--two"}),l.jsx("span",{className:"artifact-video-play",children:l.jsx(RU,{})})]})})}function xLe({artifact:e,pendingAction:t,disabled:n,onPreview:i,onDownload:r,onEdit:s,onDelete:a,onOpenSource:o}){const c=t===`download:${e.id}`;return l.jsxs("tr",{className:"library-artifact-row",children:[l.jsx("td",{className:"library-artifact-file",children:l.jsxs("button",{type:"button",className:"library-artifact-preview-trigger","aria-label":`预览 ${e.name}`,disabled:n||!!t,onClick:()=>i(e),children:[l.jsx("div",{className:"library-artifact-thumbnail",children:l.jsx(use,{artifact:e})}),l.jsxs("div",{className:"library-artifact-row-title",children:[l.jsx("span",{className:"library-artifact-row-name",title:e.name,children:e.name}),l.jsx("span",{className:"library-artifact-row-size",children:cse(e.sizeBytes)||"—"})]})]})}),l.jsx("td",{className:"library-artifact-source-cell",children:o?l.jsxs("button",{type:"button",className:"library-artifact-source-link",title:`${e.agentName} / ${e.sessionTitle}`,onClick:()=>o(e),children:[l.jsx("span",{children:e.agentName}),l.jsx("span",{"aria-hidden":"true",children:"/"}),l.jsx("span",{children:e.sessionTitle})]}):l.jsxs("span",{title:`${e.agentName} / ${e.sessionTitle}`,children:[e.agentName," / ",e.sessionTitle]})}),l.jsx("td",{className:"library-artifact-time",children:lse(e.updatedAt??e.createdAt)}),l.jsx("td",{className:"library-artifact-actions-cell",children:l.jsx("div",{className:"library-artifact-actions",children:l.jsx(sse,{label:`更多操作 ${e.name}`,menuLabel:`${e.name} 操作`,placement:"bottom-end",items:[{label:c?"下载中":"下载",onSelect:()=>r(e),disabled:n||!!t},...s?[{label:"编辑信息",onSelect:()=>s(e),disabled:n||!!t||e.canManage===!1}]:[],...a?[{label:"删除产物",onSelect:()=>a(e),disabled:n||!!t||e.canManage===!1,danger:!0}]:[]]})})})]})}function vLe({sources:e=[],items:t,userId:n="",active:i=!0,activationRevision:r=0,loading:s=!1,error:a="",onRetry:o,onEdit:c,onDelete:u,onDownload:d,onOpenSource:f}){var Ge,Z;const[h,p]=m.useState(null),[b,g]=m.useState(""),[O,y]=m.useState(null),[v,x]=m.useState(""),[w,E]=m.useState(""),[S,k]=m.useState(""),[T,C]=m.useState(""),[A,R]=m.useState({}),[P,B]=m.useState(()=>new Set),[I,$]=m.useState(null),[j,D]=m.useState(!1),[F,Q]=m.useState(""),[M,G]=m.useState(null),[H,U]=m.useState(!1),[q,ie]=m.useState(fj),fe=m.useRef(null),me=m.useRef(null),ce=m.useRef(0),K=m.useRef(null),ee=m.useRef(null),ye=m.useRef(!1),ve=m.useCallback(()=>{ce.current+=1,y(null),x(""),E("")},[]),Re=m.useMemo(()=>t?[...t]:bLe(e),[t,e]),Pe=m.useMemo(()=>Re.filter(ne=>!P.has(ne.id)).map(ne=>A[ne.id]??ne),[Re,A,P]);m.useEffect(()=>()=>{ce.current+=1},[]),m.useEffect(()=>()=>{v&&URL.revokeObjectURL(v)},[v]),m.useEffect(()=>{var V;if(!O)return;const ne=document.activeElement,ue=document.body.style.overflow;document.body.style.overflow="hidden",(V=fe.current)==null||V.focus();const be=je=>{if(je.key==="Escape"){je.preventDefault(),ve();return}if(je.key!=="Tab")return;const He=me.current;if(!He)return;const et=Array.from(He.querySelectorAll('button:not([disabled]), video[controls], iframe, [tabindex]:not([tabindex="-1"])')).filter(At=>At.getClientRects().length>0);if(et.length===0){je.preventDefault();return}const qt=et[0],Ft=et[et.length-1];je.shiftKey&&document.activeElement===qt?(je.preventDefault(),Ft.focus()):!je.shiftKey&&document.activeElement===Ft&&(je.preventDefault(),qt.focus())};return document.addEventListener("keydown",be),()=>{document.removeEventListener("keydown",be),document.body.style.overflow=ue,ne!=null&&ne.isConnected&&ne.focus()}},[ve,O]);const De=async ne=>{const ue=ce.current+1;if(ce.current=ue,k(""),x(""),y(ne),ne.preview.mode!=="unavailable"){if(ne.contentUrl){x(ne.contentUrl);return}E(`preview:${ne.id}`);try{const be=await u$(ne.appName,n,ne.sessionId,ne.preview.filename,ne.preview.version);if(ce.current!==ue){URL.revokeObjectURL(be);return}x(be)}catch(be){ce.current===ue&&k(`无法预览“${ne.name}”:${mS(be)}`)}finally{ce.current===ue&&E("")}}},he=async ne=>{k(""),E(`download:${ne.id}`);try{d?await d(ne):await c$(ne.appName,n,ne.sessionId,ne.name,ne.version),C(`已开始下载 ${ne.name}`)}catch(ue){k(`无法下载“${ne.name}”:${mS(ue)}`)}finally{E("")}},Ee=async ne=>{if(!(!I||!c)){D(!0),Q("");try{const be=await c(I,ne)??{...I,...ne,updatedAt:Date.now()};R(V=>({...V,[I.id]:be})),C(`已更新 ${be.name}`),$(null)}catch(ue){Q(mS(ue))}finally{D(!1)}}},Oe=async()=>{if(!(!M||!u)){U(!0),k("");try{await u(M),B(ne=>new Set([...ne,M.id])),C(`已删除 ${M.name}`),(O==null?void 0:O.id)===M.id&&ve(),G(null)}catch(ne){k(`无法删除“${M.name}”:${mS(ne)}`),G(null)}finally{U(!1)}}},Le=m.useMemo(()=>{const ne=b.trim().toLocaleLowerCase();return Pe.filter(ue=>h&&ue.type!==h?!1:ne?[ue.name,ue.sessionTitle,ue.agentName].some(be=>be.toLocaleLowerCase().includes(ne)):!0)},[h,Pe,b]),Fe=m.useMemo(()=>Le.slice(0,q),[Le,q]),_e=q{ye.current||(ye.current=!0,ie(ne=>ne+fj))},[]);m.useEffect(()=>{ie(fj)},[r,h,b,Le.length]),m.useEffect(()=>{ye.current=!1},[q]),m.useEffect(()=>{const ne=ee.current,ue=K.current;if(!i||!ne||!ue||!_e)return;const be=new IntersectionObserver(([V])=>{V.isIntersecting&&Ye()},{root:ue,rootMargin:"240px 0px",threshold:.01});return be.observe(ne),()=>be.disconnect()},[i,_e,Ye,q]);const dt=()=>{const ne=K.current;!i||!ne||!_e||ne.scrollHeight-ne.scrollTop-ne.clientHeight<=240&&Ye()},It=!!b.trim()||h!==null;return l.jsxs("div",{className:"artifact-library-page",children:[l.jsxs("div",{className:"artifact-library-toolbar library-resource-toolbar",children:[l.jsx("nav",{className:"artifact-type-pills","aria-label":"产物类型",children:OLe.map(ne=>l.jsx("button",{type:"button",className:`artifact-type-pill${h===ne.id?" is-active":""}`,"aria-pressed":h===ne.id,onClick:()=>p(ue=>ue===ne.id?null:ne.id),children:ne.label},ne.id))}),l.jsxs("label",{className:"artifact-library-search",children:[l.jsx(Z5e,{}),l.jsx("input",{type:"search","aria-label":"搜索产物",value:b,onChange:ne=>g(ne.target.value),placeholder:"搜索产物或会话"})]})]}),a&&Pe.length>0?l.jsxs("div",{className:"artifact-library-banner",role:"alert",children:[l.jsx("span",{children:a}),o?l.jsx("button",{type:"button",onClick:o,children:"重试"}):null]}):null,S?l.jsxs("div",{className:"artifact-library-banner",role:"alert",children:[l.jsx("span",{children:S}),l.jsx("button",{type:"button",onClick:()=>k(""),children:"关闭"})]}):null,l.jsx("section",{ref:K,className:"artifact-library-results","aria-label":"产物列表",onScroll:dt,children:l.jsxs("div",{className:"artifact-library-panel",children:[s&&Pe.length===0?l.jsx("div",{className:"artifact-library-empty",role:"status","aria-live":"polite",children:l.jsx(Ln,{as:"p",duration:2.4,children:"正在加载产物"})}):a&&Pe.length===0?l.jsxs("div",{className:"artifact-library-empty is-error",role:"alert",children:[l.jsx("p",{children:"产物加载失败"}),l.jsx("span",{children:a}),o?l.jsx("button",{type:"button",onClick:o,children:"重新加载"}):null]}):Le.length===0?l.jsxs("div",{className:"artifact-library-empty",children:[l.jsx("p",{children:It?"没有找到匹配的产物":"您还没有任何产物"}),l.jsx("span",{children:It?"请尝试搜索其他名称或切换类型":"聊天中生成的产物会自动显示在这里"})]}):l.jsx("div",{className:"artifact-library-list",children:l.jsxs("table",{className:"artifact-library-table",children:[l.jsxs("colgroup",{children:[l.jsx("col",{className:"artifact-library-table__file-column"}),l.jsx("col",{className:"artifact-library-table__source-column"}),l.jsx("col",{className:"artifact-library-table__time-column"}),l.jsx("col",{className:"artifact-library-table__actions-column"})]}),l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"名称"}),l.jsx("th",{scope:"col",children:"来源"}),l.jsx("th",{scope:"col",children:"修改时间"}),l.jsx("th",{scope:"col",className:"artifact-library-table__actions-heading",children:"操作"})]})}),l.jsx("tbody",{children:Fe.map(ne=>l.jsx(xLe,{artifact:ne,pendingAction:w,disabled:!n&&!t,onPreview:ue=>void De(ue),onDownload:ue=>void he(ue),onEdit:c?ue=>{Q(""),$(ue)}:void 0,onDelete:u?G:void 0,onOpenSource:f},ne.id))})]})}),_e?l.jsx("div",{ref:ee,className:"artifact-library-load-more",role:"status","aria-live":"polite",children:l.jsx(Ln,{as:"span",duration:2.4,children:"正在加载更多产物"})}):null]})}),l.jsx("p",{className:"artifact-library-status","aria-live":"polite",children:T}),O?l.jsxs("div",{className:"artifact-library-preview-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"artifact-library-preview-title",children:[l.jsx("button",{type:"button",className:"artifact-library-preview-backdrop","aria-label":"关闭预览",onClick:ve}),l.jsxs("div",{ref:me,className:"artifact-library-preview-panel",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("h2",{id:"artifact-library-preview-title",children:O.name}),l.jsxs("p",{children:[yLe[O.type]," / 版本 ",O.version]})]}),l.jsx("button",{ref:fe,type:"button","aria-label":"关闭预览",onClick:ve,children:l.jsx(rse,{})})]}),l.jsxs("div",{className:"artifact-library-preview-content",children:[l.jsx("div",{className:"artifact-library-preview-canvas",children:w===`preview:${O.id}`?l.jsx(Ln,{as:"span",duration:2.4,children:"正在加载预览"}):v&&O.preview.mode==="image"?l.jsx("img",{src:v,alt:`${O.name} 预览`}):v&&O.preview.mode==="video"?l.jsx("video",{src:v,controls:!0,"aria-label":`${O.name} 预览`}):v&&O.preview.mode==="frame"?l.jsx("iframe",{src:v,title:`${O.name} 预览`}):l.jsxs("div",{className:"artifact-library-preview-unavailable",children:[l.jsx(use,{artifact:O,large:!0}),l.jsx("p",{children:S?"预览加载失败,请稍后重试或下载查看":"当前格式暂不支持在线预览,请下载查看"})]})}),l.jsxs("aside",{className:"artifact-library-preview-details","aria-label":"产物来源",children:[O.description?l.jsx("p",{className:"artifact-library-preview-description",children:O.description}):null,l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"Agent"}),l.jsx("dd",{title:O.agentName,children:O.agentName})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"会话"}),l.jsx("dd",{title:O.sessionTitle,children:O.sessionTitle})]}),(Ge=O.origin)!=null&&Ge.toolName?l.jsxs("div",{children:[l.jsx("dt",{children:"生成工具"}),l.jsx("dd",{children:O.origin.toolName})]}):null,l.jsxs("div",{children:[l.jsx("dt",{children:"生成时间"}),l.jsx("dd",{children:lse(O.createdAt)})]}),O.sizeBytes?l.jsxs("div",{children:[l.jsx("dt",{children:"文件大小"}),l.jsx("dd",{children:cse(O.sizeBytes)})]}):null]}),(Z=O.tags)!=null&&Z.length?l.jsx("div",{className:"artifact-library-preview-tags","aria-label":"标签",children:O.tags.map(ne=>l.jsx("span",{children:ne},ne))}):null]})]}),l.jsxs("footer",{children:[l.jsxs("div",{className:"artifact-library-preview-footer-start",children:[f?l.jsxs("button",{type:"button",className:"is-secondary",onClick:()=>{const ne=O;ve(),f(ne)},children:[l.jsx(J5e,{}),"查看会话"]}):null,c?l.jsxs("button",{type:"button",className:"is-secondary",disabled:O.canManage===!1,onClick:()=>{const ne=O;ve(),Q(""),$(ne)},children:[l.jsx(eLe,{}),"编辑信息"]}):null]}),l.jsxs("button",{type:"button",disabled:w.startsWith("download:")||!n&&!t,onClick:()=>void he(O),children:[l.jsx(K5e,{}),"下载"]})]})]})]}):null,I?l.jsx(iLe,{artifact:I,busy:j,error:F,onClose:()=>{j||$(null)},onSave:ne=>void Ee(ne)}):null,M?l.jsx(cc,{title:"删除产物?",description:`“${M.name}”将从产物库永久删除,聊天记录不会受到影响。`,confirmLabel:H?"删除中":"删除",closeLabel:"关闭删除确认框",variant:"danger",busy:H,onCancel:()=>{H||G(null)},onConfirm:()=>void Oe()}):null]})}function wLe(e,t){if(e&&typeof e=="object"&&"detail"in e){const n=e.detail;if(typeof n=="string"&&n.trim())return n}return t}async function Cv(e,t){if(e.ok)return e;let n;try{n=await e.json()}catch{n=void 0}throw new Error(wLe(n,`${t}(${e.status})`))}function hj(e){if(typeof e=="number")return e;if(typeof e!="string")return 0;const t=Date.parse(e);return Number.isFinite(t)?t:0}function dse(e){const t=e;return{...t,createdAt:hj(t.createdAt),updatedAt:hj(t.updatedAt),sessionUpdatedAt:hj(t.sessionUpdatedAt)}}async function fse(e){const t=await e.json();return Array.isArray(t.items)?t.items.map(dse):[]}async function SLe(){const e=await Cv(await Kn("/web/artifacts"),"读取产物库失败");return fse(e)}async function ELe(e){if(e.length===0)return SLe();const t=await Cv(await Kn("/web/artifacts/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({candidates:e})},24e4),"同步聊天产物失败");return fse(t)}async function kLe(e,t){const n=await Cv(await Kn(`/web/artifacts/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),"更新产物失败");return dse(await n.json())}async function TLe(e){await Cv(await Kn(`/web/artifacts/${encodeURIComponent(e.id)}`,{method:"DELETE"}),"删除产物失败")}async function _Le(e){const n=await(await Cv(await Kn(`/web/artifacts/${encodeURIComponent(e.id)}/content?download=true`,{},24e4),"下载产物失败")).blob(),i=URL.createObjectURL(n),r=document.createElement("a");r.href=i,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(i),0)}function hse(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const n=t.offsetWidth;let i=.985;n<=80?i=.96:n<=150?i=.97:n<=220?i=.98:n>600&&(i=.995),t.style.setProperty("--scale",i.toString())},qP=(e,t)=>{const n=()=>{const a=setTimeout(e);return()=>{clearTimeout(a)}};if(!RLe||typeof window.requestAnimationFrame!="function"||mse&&document.visibilityState==="hidden")return n();let r=2,s=window.requestAnimationFrame(function a(){r-=1,r===0?e():s=window.requestAnimationFrame(a)});return()=>{typeof window.cancelAnimationFrame=="function"&&window.cancelAnimationFrame(s)}},G$=e=>Object.keys(e).reduce((n,i)=>{const r=e[i];if(r||r===0){const s=i.startsWith("--")?"":"--",a=typeof r=="number"?`${r}px`:r;n[`${s}${i}`]=a}return n},{}),KE=e=>{e.preventDefault()},bse=e=>e.querySelectorAll('a[href], input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]'),DLe=e=>{const t=m.Children.toArray(e),n=[];let i="";const r=()=>{i!==""&&(n.push(i),i="")};for(const s of t)if(!(s==null||typeof s=="boolean")){if(typeof s=="string"||typeof s=="number"){i+=String(s);continue}r(),n.push(s)}return r(),n},W$=e=>{const t=DLe(e),n=m.Children.count(t);return m.Children.map(t,i=>{if(typeof i=="string"&&i.trim())return n<=1?i:l.jsx("span",{children:i});if(m.isValidElement(i)){const r=i,{children:s,...a}=r.props;return s!=null?m.cloneElement(r,a,W$(s)):r}return i})};m.createContext(null);var ILe=typeof Lf=="object"&&Lf&&Lf.Object===Object&&Lf,PLe=typeof self=="object"&&self&&self.Object===Object&&self;ILe||PLe||Function("return this")();var MLe=typeof window<"u"?m.useLayoutEffect:m.useEffect;function LLe(){const e=m.useRef(!1);return m.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),m.useCallback(()=>e.current,[])}var $U={width:void 0,height:void 0};function $Le(e){const{ref:t,box:n="content-box"}=e,[{width:i,height:r},s]=m.useState($U),a=LLe(),o=m.useRef({...$U}),c=m.useRef(void 0);return c.current=e.onResize,m.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=QU(d,f,"inlineSize"),p=QU(d,f,"blockSize");if(o.current.width!==h||o.current.height!==p){const g={width:h,height:p};o.current.width=h,o.current.height=p,c.current?c.current(g):a()&&s(g)}});return u.observe(t.current,{box:n}),()=>{u.disconnect()}},[n,t,a]),{width:i,height:r}}function QU(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 Z$(e,t){const n=m.useRef(e);MLe(()=>{n.current=e},[e]),m.useEffect(()=>{if(!t&&t!==0)return;const i=setTimeout(()=>{n.current()},t);return()=>{clearTimeout(i)}},[t])}const QLe="_LoadingIndicator_7yl6f_1",BLe={LoadingIndicator:QLe},FLe=({className:e,size:t,strokeWidth:n,style:i,...r})=>l.jsx("div",{...r,className:ia(BLe.LoadingIndicator,e),style:i||G$({"indicator-size":t,"indicator-stroke":n})});function Ose(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}const ULe=()=>pse,BU=(e,t=!1,n="TransitionGroup")=>{const i=[];return m.Children.forEach(e,r=>{if(r&&typeof r=="object"&&"key"in r&&r.key)i.push(r);else if(t)throw new Error(`Child elements of <${n} /> must include a \`key\``)}),i},ng=()=>{},ig=e=>{const t=m.useRef(e);return t.current=e,m.useCallback(n=>t.current(n),[])};function zLe(e,t,n,i){const r=e.reduce((c,u)=>({...c,[u.key]:1}),{}),s=t.reduce((c,u)=>({...c,[u.component.key]:1}),{}),a=e.filter(c=>!s[c.key]).map(n),o=t.map(c=>({...c,component:e.find(({key:u})=>u===c.component.key)||c.component,shouldRender:!!r[c.component.key]}));return i==="append"?o.concat(a):a.concat(o)}function VLe(e,t,n){if((pse||CLe)&&t&&n>1)throw new Error(`Cannot use forwardRef with multiple children in <${e} />`)}const qLe="_TransitionGroupChild_1hv1z_1",XLe={TransitionGroupChild:qLe},yse={enter:!1,enterActive:!1,exit:!1,exitActive:!1,interrupted:!1},HLe=e=>({...yse,enter:!e}),YLe=(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 yse}},GLe=({ref:e,as:t,children:n,className:i,transitionId:r,style:s,preventMountTransition:a,shouldRender:o,enterDuration:c,exitDuration:u,removeChild:d,onEnter:f,onEnterActive:h,onEnterComplete:p,onExit:b,onExitActive:g,onExitComplete:O})=>{const[y,v]=m.useReducer(YLe,HLe(a||!1)),x=m.useRef(!1),w=m.useRef(null),E=m.useRef(c);E.current=c;const S=m.useRef(u);S.current=u;const k=m.useRef(null),T=m.useCallback(C=>{const A=w.current;if(!(!A||C===k.current))switch(k.current=C,C){case"enter":f(A);break;case"enter-active":h(A);break;case"enter-complete":p(A);break;case"exit":b(A);break;case"exit-active":g(A);break;case"exit-complete":O(A);break}},[f,h,p,b,g,O]);return On.useLayoutEffect(()=>{if(!o){let R;v({type:"exit-before"}),T("exit");const P=qP(()=>{v({type:"exit-active"}),T("exit-active"),R=window.setTimeout(()=>{T("exit-complete"),d()},S.current)});return()=>{P(),R!==void 0&&clearTimeout(R)}}if(a&&!x.current){x.current=!0;return}let C;v({type:"enter-before"}),T("enter");const A=qP(()=>{v({type:"enter-active"}),T("enter-active"),C=window.setTimeout(()=>{v({type:"done"}),T("enter-complete")},E.current)});return()=>{A(),C!==void 0&&clearTimeout(C)}},[o,a,d,T]),m.useEffect(()=>()=>{x.current=!1},[]),l.jsx(t,{ref:Ose([w,e]),className:ia(i,XLe.TransitionGroupChild),"data-transition-id":r,style:s,"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})},WLe=e=>{const{enterMountDelay:t,preventMountTransition:n}=e,i=!n&&t!=null?t:null,[r,s]=m.useState(i==null);return Z$(()=>s(!0),r?null:i),r?l.jsx(GLe,{...e}):null},xse=e=>{const{ref:t,as:n="span",children:i,className:r,transitionId:s,style:a,enterDuration:o=0,exitDuration:c=0,preventInitialTransition:u=!0,enterMountDelay:d,insertMethod:f="append",disableAnimations:h=ULe()}=e,p=ig(e.onEnter??ng),b=ig(e.onEnterActive??ng),g=ig(e.onEnterComplete??ng),O=ig(e.onExit??ng),y=ig(e.onExitActive??ng),v=ig(e.onExitComplete??ng);m.Children.forEach(i,S=>{if(S&&!S.key)throw new Error("Child elements of must include a `key`")});const x=m.useCallback(S=>({component:S,shouldRender:!0,removeChild:()=>{E(k=>k.filter(T=>S.key!==T.component.key))},onEnter:p,onEnterActive:b,onEnterComplete:g,onExit:O,onExitActive:y,onExitComplete:v}),[p,b,g,O,y,v]),[w,E]=m.useState(()=>BU(i).map(S=>({...x(S),preventMountTransition:u})));return m.useLayoutEffect(()=>{E(S=>{const k=BU(i);return zLe(k,S,x,f)})},[i,f,x]),VLe("TransitionGroup",t,m.Children.count(i)),h?l.jsx(l.Fragment,{children:m.Children.map(i,S=>l.jsx(n,{ref:t,className:r,style:a,"data-transition-id":s,children:S}))}):l.jsx(l.Fragment,{children:w.map(({component:S,...k})=>l.jsx(WLe,{...k,as:n,className:r,transitionId:s,enterDuration:o,exitDuration:c,enterMountDelay:d,style:a,ref:t,children:S},S.key))})},ZLe="_Button_1864l_1",KLe="_ButtonInner_1864l_4",JLe="_ButtonLoader_1864l_749",pj={Button:ZLe,ButtonInner:KLe,ButtonLoader:JLe},kl=e=>{const{type:t="button",color:n="primary",variant:i="solid",pill:r=!0,uniform:s=!1,size:a="md",iconSize:o,gutterSize:c,loading:u,selected:d,block:f,opticallyAlign:h,children:p,className:b,onClick:g,disabled:O,disabledTone:y,inert:v=u,...x}=e,w=O||v,E=m.useCallback(S=>{O||g==null||g(S)},[g,O]);return l.jsxs("button",{type:t,className:ia(pj.Button,b),"data-color":n,"data-variant":i,"data-pill":r?"":void 0,"data-uniform":s?"":void 0,"data-size":a,"data-gutter-size":c,"data-icon-size":o,"data-loading":u?"":void 0,"data-selected":d?"":void 0,"data-block":f?"":void 0,"data-optically-align":h,onPointerEnter:gse,disabled:w,"aria-disabled":w,tabIndex:w?-1:void 0,"data-disabled":O?"":void 0,"data-disabled-tone":O?y:void 0,onClick:E,...x,children:[l.jsx(xse,{className:pj.ButtonLoader,enterDuration:250,exitDuration:150,children:u&&l.jsx(FLe,{},"loader")}),l.jsx("span",{className:pj.ButtonInner,children:W$(p)})]})};var e3e=Object.defineProperty,K$=(e,t)=>e3e(e,"name",{value:t,configurable:!0});function XP(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}K$(XP,"setRef");function vse(...e){return t=>{let n=!1;const i=e.map(r=>{const s=XP(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;rt3e(e,"name",{value:t,configurable:!0});function bh(e){const t=m.forwardRef((n,i)=>{let{children:r,...s}=n,a=null,o=!1;const c=[];HP(r)&&typeof gS=="function"&&(r=gS(r._payload)),m.Children.forEach(r,h=>{var p;if(_se(h)){o=!0;const b=h;let g="child"in b.props?b.props.child:b.props.children;HP(g)&&typeof gS=="function"&&(g=gS(g._payload)),a=n3e(b,g),c.push((p=a==null?void 0:a.props)==null?void 0:p.children)}else c.push(h)}),a?a=m.cloneElement(a,void 0,c):!o&&m.Children.count(r)===1&&m.isValidElement(r)&&(a=r);const u=a?Tse(a):void 0,d=Lr(i,u);if(!a){if(r||r===0)throw new Error(o?s3e(e):r3e(e));return r}const f=kse(s,a.props??{});return a.type!==m.Fragment&&(f.ref=i?d:u),m.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}yc(bh,"createSlot");var wse=bh("Slot"),Sse=Symbol.for("radix.slottable");function Ese(e){const t=yc(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=Sse,t}yc(Ese,"createSlottable");var n3e=yc((e,t)=>{if("child"in e.props){const n=e.props.child;return m.isValidElement(n)?m.cloneElement(n,void 0,e.props.children(n.props.children)):null}return m.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function kse(e,t){const n={...t};for(const i in t){const r=e[i],s=t[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{const c=s(...o);return r(...o),c}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}yc(kse,"mergeProps");function Tse(e){var i,r;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}yc(Tse,"getElementRef");function _se(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Sse}yc(_se,"isSlottable");var i3e=Symbol.for("react.lazy");function HP(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===i3e&&"_payload"in e&&Ase(e._payload)}yc(HP,"isLazyComponent");function Ase(e){return typeof e=="object"&&e!==null&&"then"in e}yc(Ase,"isPromiseLike");var r3e=yc(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),s3e=yc(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),gS=Cb[" use ".trim().toString()],a3e=Object.defineProperty,o3e=(e,t)=>a3e(e,"name",{value:t,configurable:!0}),l3e=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],os=l3e.reduce((e,t)=>{const n=bh(`Primitive.${t}`),i=m.forwardRef((r,s)=>{const{asChild:a,...o}=r,c=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(c,{...o,ref:s})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function Cse(e,t){e&&zi.flushSync(()=>e.dispatchEvent(t))}o3e(Cse,"dispatchDiscreteCustomEvent");var c3e=Object.defineProperty,u3e=(e,t)=>c3e(e,"name",{value:t,configurable:!0}),d3e=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),f3e=m.forwardRef(u3e(function(t,n){return l.jsx(os.span,{...t,ref:n,style:{...d3e,...t.style}})},"VisuallyHidden")),h3e=f3e,p3e=Object.defineProperty,bl=(e,t)=>p3e(e,"name",{value:t,configurable:!0});function m3e(e,t){const n=m.createContext(t);n.displayName=e+"Context";const i=bl(s=>{const{children:a,...o}=s,c=m.useMemo(()=>o,Object.values(o));return l.jsx(n.Provider,{value:c,children:a})},"Provider");i.displayName=e+"Provider";function r(s,a={}){const{optional:o=!1}=a,c=m.useContext(n);if(c)return c;if(t!==void 0)return t;if(!o)throw new Error(`\`${s}\` must be used within \`${e}\``)}return bl(r,"useContext"),[i,r]}bl(m3e,"createContext");function xc(e,t=[]){let n=[];function i(s,a){const o=m.createContext(a);o.displayName=s+"Context";const c=n.length;n=[...n,a];const u=bl(f=>{var y;const{scope:h,children:p,...b}=f,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||o,O=m.useMemo(()=>b,Object.values(b));return l.jsx(g.Provider,{value:O,children:p})},"Provider");u.displayName=s+"Provider";function d(f,h,p={}){var y;const{optional:b=!1}=p,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||o,O=m.useContext(g);if(O)return O;if(a!==void 0)return a;if(!b)throw new Error(`\`${f}\` must be used within \`${s}\``)}return bl(d,"useContext"),[u,d]}bl(i,"createContext");const r=bl(()=>{const s=n.map(a=>m.createContext(a));return bl(function(o){const c=(o==null?void 0:o[e])||s;return m.useMemo(()=>({[`__scope${e}`]:{...o,[e]:c}}),[o,c])},"useScope")},"createScope");return r.scopeName=e,[i,Nse(r,...t)]}bl(xc,"createContextScope");function Nse(...e){const t=e[0];if(e.length===1)return t;const n=bl(()=>{const i=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return bl(function(s){const a=i.reduce((o,{useScope:c,scopeName:u})=>{const f=c(s)[`__scope${u}`];return{...o,...f}},{});return m.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}bl(Nse,"composeContextScopes");var g3e=Object.defineProperty,Is=(e,t)=>g3e(e,"name",{value:t,configurable:!0});function jse(e){const t=e+"CollectionProvider",[n,i]=xc(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=Is(g=>{const{scope:O,children:y}=g,v=m.useRef(null),x=m.useRef(new Map).current;return l.jsx(r,{scope:O,itemMap:x,collectionRef:v,children:y})},"CollectionProvider");a.displayName=t;const o=e+"CollectionSlot",c=bh(o),u=m.forwardRef((g,O)=>{const{scope:y,children:v}=g,x=s(o,y),w=Lr(O,x.collectionRef);return l.jsx(c,{ref:w,children:v})});u.displayName=o;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=bh(d),p=m.forwardRef((g,O)=>{const{scope:y,children:v,...x}=g,w=m.useRef(null),E=Lr(O,w),S=s(d,y);return m.useEffect(()=>(S.itemMap.set(w,{ref:w,...x}),()=>void S.itemMap.delete(w))),l.jsx(h,{[f]:"",ref:E,children:v})});p.displayName=d;function b(g){const O=s(e+"CollectionConsumer",g);return m.useCallback(()=>{const v=O.collectionRef.current;if(!v)return[];const x=Array.from(v.querySelectorAll(`[${f}]`));return Array.from(O.itemMap.values()).sort((S,k)=>x.indexOf(S.ref.current)-x.indexOf(k.ref.current))},[O.collectionRef,O.itemMap])}return Is(b,"useCollection"),[{Provider:a,Slot:u,ItemSlot:p},b,i]}Is(jse,"createCollection");var FU=new WeakMap,es,Io,mj=(Io=class extends Map{constructor(n){super(n);qB(this,es);XC(this,es,[...super.keys()]),FU.set(this,!0)}set(n,i){return FU.get(this)&&(this.has(n)?ca(this,es)[ca(this,es).indexOf(n)]=n:ca(this,es).push(n)),super.set(n,i),this}insert(n,i,r){const s=this.has(i),a=ca(this,es).length,o=J$(n);let c=o>=0?o:a+o;const u=c<0||c>=a?-1:c;if(u===this.size||s&&u===this.size-1||u===-1)return this.set(i,r),this;const d=this.size+(s?0:1);o<0&&c++;const f=[...ca(this,es)];let h,p=!1;for(let b=c;b=this.size&&(s=this.size-1),this.at(s)}keyFrom(n,i){const r=this.indexOf(n);if(r===-1)return;let s=r+i;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return s;r++}}findIndex(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return r;r++}return-1}filter(n,i){const r=[];let s=0;for(const a of this)Reflect.apply(n,i,[a,s,this])&&r.push(a),s++;return new Io(r)}map(n,i){const r=[];let s=0;for(const a of this)r.push([a[0],Reflect.apply(n,i,[a,s,this])]),s++;return new Io(r)}reduce(...n){const[i,r]=n;let s=0,a=r??this.at(0);for(const o of this)s===0&&n.length===1?a=o:a=Reflect.apply(i,this,[a,o,s,this]),s++;return a}reduceRight(...n){const[i,r]=n;let s=r??this.at(-1);for(let a=this.size-1;a>=0;a--){const o=this.at(a);a===this.size-1&&n.length===1?s=o:s=Reflect.apply(i,this,[s,o,a,this])}return s}toSorted(n){const i=[...this.entries()].sort(n);return new Io(i)}toReversed(){const n=new Io;for(let i=this.size-1;i>=0;i--){const r=this.keyAt(i),s=this.get(r);n.set(r,s)}return n}toSpliced(...n){const i=[...this.entries()];return i.splice(...n),new Io(i)}slice(n,i){const r=new Io;let s=this.size-1;if(n===void 0)return r;n<0&&(n=n+this.size),i!==void 0&&i>0&&(s=i-1);for(let a=n;a<=s;a++){const o=this.keyAt(a),c=this.get(o);r.set(o,c)}return r}every(n,i){let r=0;for(const s of this){if(!Reflect.apply(n,i,[s,r,this]))return!1;r++}return!0}some(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return!0;r++}return!1}},es=new WeakMap,Is(Io,"OrderedDict"),Io);function JE(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=Rse(e,t);return n===-1?void 0:e[n]}Is(JE,"at");function Rse(e,t){const n=e.length,i=J$(t),r=i>=0?i:n+i;return r<0||r>=n?-1:r}Is(Rse,"toSafeIndex");function J$(e){return e!==e||e===0?0:Math.trunc(e)}Is(J$,"toSafeInteger");function b3e(e){const t=e+"CollectionProvider",[n,i]=xc(t),[r,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new mj,setItemMap:Is(()=>{},"setItemMap")}),a=Is(({state:x,...w})=>x?l.jsx(c,{...w,state:x}):l.jsx(o,{...w}),"CollectionProvider");a.displayName=t;const o=Is(x=>{const w=O();return l.jsx(c,{...x,state:w})},"CollectionInit");o.displayName=t+"Init";const c=Is(x=>{const{scope:w,children:E,state:S}=x,k=m.useRef(null),[T,C]=m.useState(null),A=Lr(k,C),[R,P]=S;return m.useEffect(()=>{if(!T)return;const B=Pse(()=>{});return B.observe(T,{childList:!0,subtree:!0}),()=>{B.disconnect()}},[T]),l.jsx(r,{scope:w,itemMap:R,setItemMap:P,collectionRef:A,collectionRefObject:k,collectionElement:T,children:E})},"CollectionProviderImpl");c.displayName=t+"Impl";const u=e+"CollectionSlot",d=bh(u),f=m.forwardRef((x,w)=>{const{scope:E,children:S}=x,k=s(u,E),T=Lr(w,k.collectionRef);return l.jsx(d,{ref:T,children:S})});f.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",b=bh(h),g=m.forwardRef((x,w)=>{const{scope:E,children:S,...k}=x,T=m.useRef(null),[C,A]=m.useState(null),R=Lr(w,T,A),P=s(h,E),{setItemMap:B}=P,I=m.useRef(k);Dse(I.current,k)||(I.current=k);const $=I.current;return m.useEffect(()=>{const j=$;return B(D=>C?D.has(C)?D.set(C,{...j,element:C}).toSorted(YP):(D.set(C,{...j,element:C}),D.toSorted(YP)):D),()=>{B(D=>!C||!D.has(C)?D:(D.delete(C),new mj(D)))}},[C,$,B]),l.jsx(b,{[p]:"",ref:R,children:S})});g.displayName=h;function O(){return m.useState(new mj)}Is(O,"useInitCollection");function y(x){const{itemMap:w}=s(e+"CollectionConsumer",x);return w}return Is(y,"useCollection"),[{Provider:a,Slot:f,ItemSlot:g},{createCollectionScope:i,useCollection:y,useInitCollection:O}]}Is(b3e,"createCollection");function Dse(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Is(Dse,"shallowEqual");function Ise(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Is(Ise,"isElementPreceding");function YP(e,t){return!e[1].element||!t[1].element?0:Ise(e[1].element,t[1].element)?-1:1}Is(YP,"sortByDocumentPosition");function Pse(e){return new MutationObserver(n=>{for(const i of n)if(i.type==="childList"){e();return}})}Is(Pse,"getChildListObserver");var O3e=Object.defineProperty,Hb=(e,t)=>O3e(e,"name",{value:t,configurable:!0}),Mse=!!(typeof window<"u"&&window.document&&window.document.createElement);function Pi(e,t,{checkForDefaultPrevented:n=!0}={}){return Hb(function(r){if(e==null||e(r),n===!1||!r||!r.defaultPrevented)return t==null?void 0:t(r)},"handleEvent")}Hb(Pi,"composeEventHandlers");function y3e(e){var t;if(!Mse)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}Hb(y3e,"getOwnerWindow");function GP(e){if(!Mse)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}Hb(GP,"getOwnerDocument");function Lse(e,t=!1){const{activeElement:n}=GP(e);if(!(n!=null&&n.nodeName))return null;if($se(n)&&n.contentDocument)return Lse(n.contentDocument.body,t);if(t){const i=n.getAttribute("aria-activedescendant");if(i){const r=GP(n).getElementById(i);if(r)return r}}return n}Hb(Lse,"getActiveElement");function $se(e){return e.tagName==="IFRAME"}Hb($se,"isFrame");var Tl=globalThis!=null&&globalThis.document?m.useLayoutEffect:()=>{},x3e=Object.defineProperty,v3e=(e,t)=>x3e(e,"name",{value:t,configurable:!0}),UU=Cb[" useEffectEvent ".trim().toString()],zU=Cb[" useInsertionEffect ".trim().toString()];function Qse(e){if(typeof UU=="function")return UU(e);const t=m.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof zU=="function"?zU(()=>{t.current=e}):Tl(()=>{t.current=e}),m.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}v3e(Qse,"useEffectEvent");var w3e=Object.defineProperty,Nv=(e,t)=>w3e(e,"name",{value:t,configurable:!0}),S3e=Cb[" useInsertionEffect ".trim().toString()]||Tl;function qd({prop:e,defaultProp:t,onChange:n=Nv(()=>{},"onChange"),caller:i}){const[r,s,a]=Bse({defaultProp:t,onChange:n}),o=e!==void 0,c=o?e:r,u=m.useCallback(d=>{var f;if(o){const h=Fse(d)?d(e):d;h!==e&&((f=a.current)==null||f.call(a,h))}else s(d)},[o,e,s,a]);return[c,u]}Nv(qd,"useControllableState");function Bse({defaultProp:e,onChange:t}){const[n,i]=m.useState(e),r=m.useRef(n),s=m.useRef(t);return S3e(()=>{s.current=t},[t]),m.useEffect(()=>{var a;r.current!==n&&((a=s.current)==null||a.call(s,n),r.current=n)},[n,r]),[n,i,s]}Nv(Bse,"useUncontrolledState");function Fse(e){return typeof e=="function"}Nv(Fse,"isFunction");var VU=Symbol("RADIX:SYNC_STATE");function E3e(e,t,n,i){const{prop:r,defaultProp:s,onChange:a,caller:o}=t,c=r!==void 0,u=Qse(a),d=[{...n,state:s}];i&&d.push(i);const[f,h]=m.useReducer((O,y)=>{if(y.type===VU)return{...O,state:y.state};const v=e(O,y);return c&&!Object.is(v.state,O.state)&&u(v.state),v},...d),p=f.state,b=m.useRef(p);m.useEffect(()=>{b.current!==p&&(b.current=p,c||u(p))},[p,b,c]);const g=m.useMemo(()=>r!==void 0?{...f,state:r}:f,[f,r]);return m.useEffect(()=>{c&&!Object.is(r,f.state)&&h({type:VU,state:r})},[r,f.state,c]),[g,h]}Nv(E3e,"useControllableStateReducer");var k3e=Object.defineProperty,Rd=(e,t)=>k3e(e,"name",{value:t,configurable:!0});function Use(e,t){return m.useReducer((n,i)=>t[n][i]??n,e)}Rd(Use,"useStateMachine");var Yb=Rd(e=>{const{present:t,children:n}=e,i=zse(t),r=typeof n=="function"?n({present:i.isPresent}):m.Children.only(n),s=Vse(i.ref,qse(r));return typeof n=="function"||i.isPresent?m.cloneElement(r,{ref:s}):null},"Presence");function zse(e){const[t,n]=m.useState(),i=m.useRef(null),r=m.useRef(e),s=m.useRef("none"),a=m.useRef(void 0),o=e?"mounted":"unmounted",[c,u]=Use(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return m.useEffect(()=>{c==="mounted"?(s.current=a.current??Eg(i.current),a.current=void 0):s.current="none"},[c]),Tl(()=>{const d=i.current,f=r.current;if(f!==e){const p=s.current,b=Eg(d);e?(a.current=b,u("MOUNT")):b==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&p!==b?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),Tl(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,h=Rd(b=>{const O=Eg(i.current).includes(CSS.escape(b.animationName));if(b.target===t&&O&&(u("ANIMATION_END"),!r.current)){const y=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=y)})}},"handleAnimationEnd"),p=Rd(b=>{b.target===t&&(s.current=Eg(i.current))},"handleAnimationStart");return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:m.useCallback(d=>{if(d){const f=getComputedStyle(d);i.current=f,a.current=Eg(f)}else i.current=null;n(d)},[])}}Rd(zse,"usePresence");function WP(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Rd(WP,"setRef");function Vse(...e){const t=m.useRef(e);return t.current=e,m.useCallback(n=>{const i=t.current;let r=!1;const s=i.map(a=>{const o=WP(a,n);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let a=0;aT3e(e,"name",{value:t,configurable:!0}),A3e=Cb[" useId ".trim().toString()]||(()=>{}),C3e=0;function YA(e){const[t,n]=m.useState(A3e());return Tl(()=>{e||n(i=>i??String(C3e++))},[e]),e||(t?`radix-${t}`:"")}_3e(YA,"useId");var N3e=Object.defineProperty,j3e=(e,t)=>N3e(e,"name",{value:t,configurable:!0}),R3e=m.createContext(void 0);function GA(e){const t=m.useContext(R3e);return e||t||"ltr"}j3e(GA,"useDirection");var D3e=Object.defineProperty,I3e=(e,t)=>D3e(e,"name",{value:t,configurable:!0});function Oh(e){const t=m.useRef(e);return m.useEffect(()=>{t.current=e}),m.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}I3e(Oh,"useCallbackRef");var P3e=Object.defineProperty,Rs=(e,t)=>P3e(e,"name",{value:t,configurable:!0}),ZP="dismissableLayer.update",M3e="dismissableLayer.pointerDownOutside",L3e="dismissableLayer.focusOutside",qU,Xse=m.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Hse=m.forwardRef(Rs(function(t,n){const{disableOutsidePointerEvents:i=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:c,onDismiss:u,...d}=t,f=m.useContext(Xse),[h,p]=m.useState(null),b=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=m.useState({}),O=Lr(n,p),y=Array.from(f.layers),[v]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),x=v?y.indexOf(v):-1,w=h?y.indexOf(h):-1,E=f.layersWithOutsidePointerEventsDisabled.size>0,S=w>=x,k=m.useRef(!1),T=Yse(P=>{a==null||a(P),c==null||c(P),P.defaultPrevented||u==null||u()},{ownerDocument:b,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:k,dismissableSurfaces:f.dismissableSurfaces,shouldHandlePointerDownOutside:m.useCallback(P=>{if(!(P instanceof Node))return!1;const B=[...f.branches].some(I=>I.contains(P));return S&&!B},[f.branches,S])}),C=Gse(P=>{if(r&&k.current)return;const B=P.target;[...f.branches].some($=>$.contains(B))||(o==null||o(P),c==null||c(P),P.defaultPrevented||u==null||u())},b),A=h?w===y.length-1:!1,R=Oh(P=>{P.key==="Escape"&&(s==null||s(P),!P.defaultPrevented&&u&&(P.preventDefault(),u()))});return m.useEffect(()=>{if(A)return b.addEventListener("keydown",R,{capture:!0}),()=>b.removeEventListener("keydown",R,{capture:!0})},[b,A,R]),m.useEffect(()=>{if(h)return i&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(qU=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(h)),f.layers.add(h),KP(),()=>{i&&(f.layersWithOutsidePointerEventsDisabled.delete(h),f.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=qU))}},[h,b,i,f]),m.useEffect(()=>()=>{h&&(f.layers.delete(h),f.layersWithOutsidePointerEventsDisabled.delete(h),KP())},[h,f]),m.useEffect(()=>{const P=Rs(()=>g({}),"handleUpdate");return document.addEventListener(ZP,P),()=>document.removeEventListener(ZP,P)},[]),l.jsx(os.div,{...d,ref:O,style:{pointerEvents:E?S?"auto":"none":void 0,...t.style},onFocusCapture:Pi(t.onFocusCapture,C.onFocusCapture),onBlurCapture:Pi(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Pi(t.onPointerDownCapture,T.onPointerDownCapture)})},"DismissableLayer"));function $3e(){const e=m.useContext(Xse),[t,n]=m.useState(null);return m.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}Rs($3e,"useDismissableLayerSurface");var Q3e=Rs(()=>!0,"IS_TRUE");function Yse(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s,shouldHandlePointerDownOutside:a=Q3e}=t,o=Oh(e),c=m.useRef(!1),u=m.useRef(!1),d=m.useRef(new Map),f=m.useRef(()=>{});return m.useEffect(()=>{function h(){u.current=!1,r.current=!1,d.current.clear()}Rs(h,"resetOutsideInteraction");function p(){return Array.from(d.current.values()).some(Boolean)}Rs(p,"isOutsideInteractionIntercepted");function b(x){if(!u.current)return;const w=x.target;w instanceof Node&&[...s].some(S=>S.contains(w))||d.current.set(x.type,!0),x.type==="click"&&window.setTimeout(()=>{u.current&&f.current()},0)}Rs(b,"handleInteractionCapture");function g(x){u.current&&d.current.set(x.type,!1)}Rs(g,"handleInteractionBubble");const O=Rs(x=>{if(x.target&&!c.current){let w=function(){n.removeEventListener("click",f.current);const S=p();h(),S||e4(M3e,o,E,{discrete:!0})};if(Rs(w,"handleAndDispatchPointerDownOutsideEvent"),!a(x.target)){n.removeEventListener("click",f.current),h(),c.current=!1;return}const E={originalEvent:x};u.current=!0,r.current=i&&x.button===0,d.current.clear(),!i||x.button!==0?w():(n.removeEventListener("click",f.current),f.current=w,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),h();c.current=!1},"handlePointerDown"),y=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const x of y)n.addEventListener(x,b,!0),n.addEventListener(x,g);const v=window.setTimeout(()=>{n.addEventListener("pointerdown",O)},0);return()=>{window.clearTimeout(v),n.removeEventListener("pointerdown",O),n.removeEventListener("click",f.current);for(const x of y)n.removeEventListener(x,b,!0),n.removeEventListener(x,g)}},[n,o,i,r,s,a]),{onPointerDownCapture:Rs(()=>c.current=!0,"onPointerDownCapture")}}Rs(Yse,"usePointerDownOutside");function Gse(e,t=globalThis==null?void 0:globalThis.document){const n=Oh(e),i=m.useRef(!1);return m.useEffect(()=>{const r=Rs(s=>{s.target&&!i.current&&e4(L3e,n,{originalEvent:s},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:Rs(()=>i.current=!0,"onFocusCapture"),onBlurCapture:Rs(()=>i.current=!1,"onBlurCapture")}}Rs(Gse,"useFocusOutside");function KP(){const e=new CustomEvent(ZP);document.dispatchEvent(e)}Rs(KP,"dispatchUpdate");function e4(e,t,n,{discrete:i}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),i?Cse(r,s):r.dispatchEvent(s)}Rs(e4,"handleAndDispatchCustomEvent");var B3e=Object.defineProperty,Da=(e,t)=>B3e(e,"name",{value:t,configurable:!0}),gj="focusScope.autoFocusOnMount",bj="focusScope.autoFocusOnUnmount",XU={bubbles:!1,cancelable:!0},F3e=m.forwardRef(Da(function(t,n){const{loop:i=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...o}=t,[c,u]=m.useState(null),d=Oh(s),f=Oh(a),h=m.useRef(null),p=Lr(n,u),b=m.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;m.useEffect(()=>{if(r){let O=function(w){if(b.paused||!c)return;const E=w.target;c.contains(E)?h.current=E:Ku(h.current,{select:!0})},y=function(w){if(b.paused||!c)return;const E=w.relatedTarget;E!==null&&(c.contains(E)||Ku(h.current,{select:!0}))},v=function(w){if(document.activeElement===document.body)for(const S of w)S.removedNodes.length>0&&Ku(c)};Da(O,"handleFocusIn"),Da(y,"handleFocusOut"),Da(v,"handleMutations"),document.addEventListener("focusin",O),document.addEventListener("focusout",y);const x=new MutationObserver(v);return c&&x.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",O),document.removeEventListener("focusout",y),x.disconnect()}}},[r,c,b.paused]),m.useEffect(()=>{if(c){HU.add(b);const O=document.activeElement;if(!c.contains(O)){const v=new CustomEvent(gj,XU);c.addEventListener(gj,d),c.dispatchEvent(v),v.defaultPrevented||(Wse(tae(t4(c)),{select:!0}),document.activeElement===O&&Ku(c))}return()=>{c.removeEventListener(gj,d),setTimeout(()=>{const v=new CustomEvent(bj,XU);c.addEventListener(bj,f),c.dispatchEvent(v),v.defaultPrevented||Ku(O??document.body,{select:!0}),c.removeEventListener(bj,f),HU.remove(b)},0)}}},[c,d,f,b]);const g=m.useCallback(O=>{if(!i&&!r||b.paused)return;const y=O.key==="Tab"&&!O.altKey&&!O.ctrlKey&&!O.metaKey,v=document.activeElement;if(y&&v){const x=O.currentTarget,[w,E]=Zse(x);w&&E?!O.shiftKey&&v===E?(O.preventDefault(),i&&Ku(w,{select:!0})):O.shiftKey&&v===w&&(O.preventDefault(),i&&Ku(E,{select:!0})):v===x&&O.preventDefault()}},[i,r,b.paused]);return l.jsx(os.div,{tabIndex:-1,...o,ref:p,onKeyDown:g})},"FocusScope"));function Wse(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(Ku(i,{select:t}),document.activeElement!==n)return}Da(Wse,"focusFirst");function Zse(e){const t=t4(e),n=JP(t,e),i=JP(t.reverse(),e);return[n,i]}Da(Zse,"getTabbableEdges");function t4(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Da(i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}Da(t4,"getTabbableCandidates");function JP(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(n?!i.checkVisibility({checkVisibilityCSS:!0}):Kse(i,{upTo:t})))return i}Da(JP,"findVisible");function Kse(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}Da(Kse,"isHidden");function Jse(e){return e instanceof HTMLInputElement&&"select"in e}Da(Jse,"isSelectableInput");function Ku(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Jse(e)&&t&&e.select()}}Da(Ku,"focus");var HU=eae();function eae(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=eM(e,t),e.unshift(t)},remove(t){var n;e=eM(e,t),(n=e[0])==null||n.resume()}}}Da(eae,"createFocusScopesStack");function eM(e,t){const n=[...e],i=n.indexOf(t);return i!==-1&&n.splice(i,1),n}Da(eM,"arrayRemove");function tae(e){return e.filter(t=>t.tagName!=="A")}Da(tae,"removeLinks");var U3e=Object.defineProperty,z3e=(e,t)=>U3e(e,"name",{value:t,configurable:!0}),nae=m.forwardRef(z3e(function(t,n){var c;const{container:i,...r}=t,[s,a]=m.useState(!1);Tl(()=>a(!0),[]);const o=i||s&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return o?zi.createPortal(l.jsx(os.div,{...r,ref:n}),o):null},"Portal")),V3e=Object.defineProperty,n4=(e,t)=>V3e(e,"name",{value:t,configurable:!0}),bS=0,Ic=null;function q3e(e){return i4(),e.children}n4(q3e,"FocusGuards");function i4(){m.useEffect(()=>{Ic||(Ic={start:tM(),end:tM()});const{start:e,end:t}=Ic;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),bS++,()=>{bS===1&&(Ic==null||Ic.start.remove(),Ic==null||Ic.end.remove(),Ic=null),bS=Math.max(0,bS-1)}},[])}n4(i4,"useFocusGuards");function tM(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}n4(tM,"createFocusGuard");var qc=function(){return qc=Object.assign||function(t){for(var n,i=1,r=arguments.length;i"u")return l$e;var t=c$e(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},d$e=aae(),x0="data-scroll-locked",f$e=function(e,t,n,i){var r=e.left,s=e.top,a=e.right,o=e.gap;return n===void 0&&(n="margin"),` - .`.concat(H3e,` { +- 保持礼貌、专业的语气。`;function nl(e="volcengine"){return{name:"",description:FLe,instruction:ULe,agentType:"llm",cloudProvider:e,maxIterations:3,a2aUrl:"",tools:[],skills:[],memory:{shortTerm:!1,longTerm:!1},knowledgebase:!1,tracing:!1,subAgents:[],builtinTools:[],customTools:[],mcpTools:[],a2aRegistry:{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},modelName:dm(e),modelSource:"ark",modelProvider:"",modelApiBase:"",shortTermBackend:"local",longTermBackend:"local",longTermMemoryIndex:"",autoSaveSession:!1,knowledgebaseBackend:ch,knowledgebaseIndex:"",tracingExporters:[],selectedSkills:[],cloudEnvironment:{cliTools:[]},deployment:{feishuEnabled:!1,modelApiKeyId:"",modelApiKeyName:""}}}function Lm(e){const t=(e==null?void 0:e.trim())??"",n=t.indexOf("/");return n<=0||n===t.length-1?{modelName:t,modelProvider:""}:{modelName:t.slice(n+1),modelProvider:t.slice(0,n)}}function t4(e){return Lm(e).modelName}function pse(e,t,n){var s,a,o;const i=Lm((t==null?void 0:t.model)||(n==null?void 0:n.model)),r=(t==null?void 0:t.children)??[];return{...e,name:((s=t==null?void 0:t.name)==null?void 0:s.trim())||((a=n==null?void 0:n.name)==null?void 0:a.trim())||e.name,description:(t==null?void 0:t.description)??e.description,instruction:(t==null?void 0:t.instruction)??e.instruction,agentType:(t==null?void 0:t.type)??e.agentType,modelName:i.modelName||e.modelName,modelProvider:i.modelProvider||e.modelProvider,skills:((o=t==null?void 0:t.skills)==null?void 0:o.map(c=>c.name))??e.skills,subAgents:e.subAgents.map((c,u)=>pse(c,r[u]))}}function KP(e,t){var c,u,d;const n=e.cloudProvider??t,i=nl(n),r=e.deployment,s=r==null?void 0:r.network,a=e.cloudEnvironment,o=e.a2aRegistry;return{...i,...e,name:e.name??i.name,description:e.description??i.description,instruction:e.instruction??i.instruction,agentType:e.agentType??i.agentType,cloudProvider:n,maxIterations:e.maxIterations??i.maxIterations,a2aUrl:e.a2aUrl??i.a2aUrl,model:e.model??void 0,modelSource:e.modelSource==="ark"||e.modelSource==="custom"?e.modelSource:void 0,modelName:e.modelName??i.modelName,modelProvider:e.modelProvider??i.modelProvider,modelApiBase:e.modelApiBase??i.modelApiBase,memory:{shortTerm:((c=e.memory)==null?void 0:c.shortTerm)??i.memory.shortTerm,longTerm:((u=e.memory)==null?void 0:u.longTerm)??i.memory.longTerm},tools:[...e.tools??[]],skills:[...e.skills??[]],knowledgebase:e.knowledgebase??i.knowledgebase,tracing:e.tracing??i.tracing,subAgents:(e.subAgents??[]).map(f=>KP(f,n)),builtinTools:[...e.builtinTools??[]],customTools:[...e.customTools??[]],mcpTools:[...e.mcpTools??[]],a2aRegistry:{...i.a2aRegistry,...o??{},enabled:(o==null?void 0:o.enabled)??!1,registrySpaceId:(o==null?void 0:o.registrySpaceId)??"",registryTopK:(o==null?void 0:o.registryTopK)??"",registryRegion:(o==null?void 0:o.registryRegion)??"",registryEndpoint:(o==null?void 0:o.registryEndpoint)??""},shortTermBackend:e.shortTermBackend??i.shortTermBackend,longTermBackend:e.longTermBackend??i.longTermBackend,longTermMemoryIndex:e.longTermMemoryIndex??i.longTermMemoryIndex,autoSaveSession:e.autoSaveSession??i.autoSaveSession,knowledgebaseBackend:e.knowledgebaseBackend??i.knowledgebaseBackend,knowledgebaseIndex:e.knowledgebaseIndex??i.knowledgebaseIndex,tracingExporters:[...e.tracingExporters??[]],selectedSkills:[...e.selectedSkills??[]],cloudEnvironment:{...i.cloudEnvironment,...a??{},cliTools:[...(a==null?void 0:a.cliTools)??[]],dockerfile:typeof(a==null?void 0:a.dockerfile)=="string"?a.dockerfile:void 0},deployment:{...i.deployment,...r??{},feishuEnabled:(r==null?void 0:r.feishuEnabled)??!1,runtimeName:(r==null?void 0:r.runtimeName)??void 0,runtimeNameCustomized:(r==null?void 0:r.runtimeNameCustomized)??((d=i.deployment)==null?void 0:d.runtimeNameCustomized),network:s?{...s,vpcId:s.vpcId??"",subnetIds:s.subnetIds??"",enableSharedInternetAccess:s.enableSharedInternetAccess??!1}:void 0,modelApiKeyId:(r==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:(r==null?void 0:r.modelApiKeyName)??"",envValues:(r==null?void 0:r.envValues)??void 0},...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(f=>({...f,agent:KP(f.agent,n)}))}}:{}}}function mse(e,t){var o,c;const n=nl(t),i=[...e.tools??[]],r=Mm.filter(u=>u.toolNames.some(d=>i.includes(d))),s=new Set(r.flatMap(u=>u.toolNames)),a=Lm(e.model);return{...n,modelSource:void 0,name:((o=e.name)==null?void 0:o.trim())??"",description:e.description??"",instruction:e.instruction||n.instruction,agentType:e.type??"llm",modelName:a.modelName,modelProvider:a.modelProvider,tools:i.filter(u=>!s.has(u)),builtinTools:r.map(u=>u.id),skills:((c=e.skills)==null?void 0:c.map(u=>u.name))??[],subAgents:(e.children??[]).map(u=>mse(u,t))}}function n4(e,t){var s,a,o,c;const n=((s=e.draft)==null?void 0:s.cloudProvider)??t,i=Lm(e.model),r=e.draft?KP(e.draft,n):e.graph?mse(e.graph,n):{...nl(n),modelSource:void 0,name:((a=e.name)==null?void 0:a.trim())||e.appName.trim(),description:e.description??"",instruction:e.instruction||nl(n).instruction,agentType:e.type??"llm",modelName:i.modelName,modelProvider:i.modelProvider,tools:[...e.tools??[]],skills:((o=e.skills)==null?void 0:o.map(u=>u.name))??[]};return pse(r,e.graph,{name:((c=e.name)==null?void 0:c.trim())||e.appName.trim(),model:e.model})}function zLe(e,t){const n=i=>{var s;const r=((s=i.modelName)==null?void 0:s.trim())??"";return{...i,modelSource:i.agentType==="llm"||!i.agentType?t.has(r)?"ark":"custom":i.modelSource,subAgents:i.subAgents.map(n),...i.workflow?{workflow:{...i.workflow,nodes:i.workflow.nodes.map(a=>({...a,agent:n(a.agent)}))}}:{}}};return n(e)}const VLe="/web/skill-management";class qLe extends Error{constructor(t,n,i="SKILL_MANAGEMENT_ERROR",r="",s,a=""){super(t),this.status=n,this.code=i,this.statusText=r,this.originalError=s,this.rawResponse=a,this.name="SkillManagementApiError"}}async function Wd(e,t={},n=vo){return fetch(mo(`${VLe}${e}`),{...t,headers:Bh(t.headers),signal:wo(t.signal,n)})}async function gse(e,t){let n=t,i="SKILL_MANAGEMENT_ERROR",r;const s=await e.text().catch(()=>"");try{const a=JSON.parse(s);typeof a.detail=="string"?n=a.detail:a.detail&&(n=a.detail.message||t,i=a.detail.code||i,r=a.detail.originalError)}catch{s.trim()&&(n=`${t}:${s.trim()}`)}return new qLe(n,e.status,i,e.statusText,r,s)}async function Zd(e,t){if(!e.ok)throw await gse(e,t);return e.json()}async function XLe(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),Zd(await Wd(`/spaces?${t}`,{signal:e.signal}),"读取 Skill 空间失败")}async function HLe(e){return Zd(await Wd("/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),"创建 Skill 空间失败")}async function GLe(e){return Zd(await Wd(`/spaces/${encodeURIComponent(e.spaceId)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description,region:e.region})}),"更新 Skill 空间失败")}async function YLe(e){const t=new URLSearchParams({region:e.region});await Zd(await Wd(`/spaces/${encodeURIComponent(e.spaceId)}?${t}`,{method:"DELETE"}),"删除 Skill 空间失败")}async function WLe(e){const t=new URLSearchParams({region:e.region});return e.project&&t.set("project",e.project),Zd(await Wd(`/spaces/${encodeURIComponent(e.spaceId)}/skills?${t}`,{method:"POST",headers:{"Content-Type":"application/zip"},body:e.file},kr),"上传 Skill 失败")}async function ZLe(e){return Zd(await Wd("/validate",{method:"POST",headers:{"Content-Type":"application/zip"},body:e},kr),"校验 Skill 失败")}async function KLe(e){const t=new URLSearchParams({region:e.region});await Zd(await Wd(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}?${t}`,{method:"DELETE"}),"删除 Skill 失败")}async function JLe(e){const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Zd(await Wd(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/files?${t}`),"读取 Skill 文件失败");return Array.isArray(n.files)?n.files:[]}async function e5e(e){var o;const t=new URLSearchParams({region:e.region});e.version&&t.set("version",e.version);const n=await Wd(`/spaces/${encodeURIComponent(e.spaceId)}/skills/${encodeURIComponent(e.skillId)}/archive?${t}`,{},kr);n.ok||await Zd(n,"下载 Skill 失败");const r=((o=(n.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:o[1])||`${e.fallbackName}.zip`,s=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=s,a.download=r,a.click(),URL.revokeObjectURL(s)}async function JA(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:wo(void 0,vo)});if(!t.ok)throw await gse(t,"AgentKit Skills 请求失败");return t.json()}async function i4(){return(await JA("/web/skill-spaces?region=all")).items||[]}async function r4(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await JA(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function t5e(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),JA(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function n5e(e,t,n,i,r){const s=[];n&&s.push(`version=${encodeURIComponent(n)}`),i&&s.push(`region=${encodeURIComponent(i)}`),r&&s.push(`project=${encodeURIComponent(r)}`);const a=s.length>0?`?${s.join("&")}`:"";return JA(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function i5e(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 r5e(e,t,n="volcengine"){return n==="byteplus"?"":`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}function $U({className:e="icon"}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M4.5 6.7h4.2M12.3 6.7h7.2"}),l.jsx("path",{d:"M4.5 12h8.2M16.3 12h3.2"}),l.jsx("path",{d:"M4.5 17.3h2.7M10.8 17.3h8.7"}),l.jsx("circle",{cx:"10.5",cy:"6.7",r:"1.8",fill:"currentColor",stroke:"none"}),l.jsx("circle",{cx:"14.5",cy:"12",r:"1.8",fill:"currentColor",stroke:"none"}),l.jsx("circle",{cx:"9",cy:"17.3",r:"1.8",fill:"currentColor",stroke:"none"})]})}const s5e={coding:"智能编程",get_city_weather:"城市天气查询",get_location_weather:"位置天气查询",web_fetch:"网页内容获取"};function JP(e){const t=Mm.find(n=>n.id===e||n.toolNames.includes(e));return s5e[e]??(t==null?void 0:t.label)??e}function QU(e){const t=Mm.find(i=>i.id===e||i.toolNames.includes(e));return((t==null?void 0:t.desc)??"由 VeADK 提供的内置工具").replace(/[。.]+$/,"")}function a5e(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m7 7 10 10M17 7 7 17",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function o5e(){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"5.8",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.2 15.2 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function BU(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function bse({title:e,description:t,icon:n,wide:i=!1,onClose:r,children:s}){const a=m.useRef(`session-capability-${Math.random().toString(36).slice(2)}`);return m.useEffect(()=>{const o=document.body.style.overflow;document.body.style.overflow="hidden";const c=u=>{u.key==="Escape"&&r()};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c),document.body.style.overflow=o}},[r]),Gi.createPortal(l.jsxs("div",{className:"session-capability-dialog-layer",children:[l.jsx("button",{type:"button",className:"session-capability-dialog-scrim","aria-label":"关闭弹窗",onClick:r}),l.jsxs("section",{className:`session-capability-dialog${i?" is-wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":a.current,children:[l.jsxs("header",{className:`session-capability-dialog-head${n?"":" is-iconless"}`,children:[n&&l.jsx("span",{className:"session-capability-dialog-mark",children:n}),l.jsxs("div",{children:[l.jsx("h2",{id:a.current,children:e}),l.jsx("p",{children:t})]}),l.jsx("button",{type:"button",className:"session-capability-dialog-close","aria-label":`关闭${e}`,onClick:r,children:l.jsx(a5e,{})})]}),s]})]}),document.body)}function nk({value:e,placeholder:t,label:n,onChange:i,autoFocus:r=!1}){return l.jsxs("label",{className:"session-capability-search",children:[l.jsx(o5e,{}),l.jsx("input",{value:e,"aria-label":n,placeholder:t,autoFocus:r,onChange:s=>i(s.target.value)})]})}function l5e({agentName:e,tools:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=m.useState(""),[c,u]=m.useState(""),d=m.useMemo(()=>new Set(n),[n]),f=m.useMemo(()=>{const p=a.trim().toLowerCase();return t.filter(b=>p?`${JP(b)} ${b} ${QU(b)}`.toLowerCase().includes(p):!0)},[a,t]),h=async p=>{u(p);const b=await r({kind:"tool",name:p});u(""),b&&s()};return l.jsx(bse,{title:"添加内置工具",description:`添加后仅对 ${e} 的当前会话生效`,icon:l.jsx($U,{}),onClose:s,children:l.jsxs("div",{className:"session-tool-dialog-body",children:[l.jsx(nk,{value:a,label:"搜索内置工具",placeholder:"搜索中文名称或工具标识",onChange:o,autoFocus:!0}),l.jsx("div",{className:"session-tool-picker",role:"list","aria-label":"可用内置工具",children:f.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的内置工具"}):f.map(p=>{const b=d.has(p),g=c===p;return l.jsxs("article",{className:"session-tool-option",role:"listitem",children:[l.jsx("span",{className:"session-tool-option-icon",children:l.jsx($U,{})}),l.jsxs("span",{className:"session-tool-option-copy",children:[l.jsx("strong",{children:JP(p)}),l.jsx("code",{children:p}),l.jsx("span",{children:QU(p)})]}),l.jsx("button",{type:"button",disabled:b||i||!!c,onClick:()=>void h(p),children:b?"已添加":g?"添加中…":"添加"})]},p)})})]})})}function c5e({appName:e,agentName:t,selectedNames:n,mutating:i,onAdd:r,onClose:s}){const[a,o]=m.useState("public"),[c,u]=m.useState(""),[d,f]=m.useState([]),[h,p]=m.useState(0),[b,g]=m.useState(!0),[O,y]=m.useState(""),[v,x]=m.useState([]),[w,E]=m.useState(null),[S,k]=m.useState([]),[T,C]=m.useState(""),[A,N]=m.useState(""),[P,Q]=m.useState(!0),[D,$]=m.useState(!1),[j,I]=m.useState(""),[F,B]=m.useState(""),M=m.useMemo(()=>new Set(n),[n]);m.useEffect(()=>{if(a!=="public")return;let re=!0;const de=window.setTimeout(()=>{g(!0),y(""),lne(e,c.trim()).then(be=>{re&&(f(be.items),p(be.totalCount))}).catch(be=>{re&&(f([]),p(0),y(be instanceof Error?be.message:"搜索 Skill Hub 失败"))}).finally(()=>{re&&g(!1)})},250);return()=>{re=!1,window.clearTimeout(de)}},[e,c,a]),m.useEffect(()=>{if(a!=="agentkit")return;let re=!0;return Q(!0),I(""),i4().then(de=>{re&&(x(de),E(de[0]??null))}).catch(de=>{re&&I(de instanceof Error?de.message:"读取 Skill Space 失败")}).finally(()=>{re&&Q(!1)}),()=>{re=!1}},[a]),m.useEffect(()=>{if(a!=="agentkit")return;if(!w){k([]);return}let re=!0;return $(!0),I(""),r4(w.id,w.region).then(de=>{re&&k(de)}).catch(de=>{re&&I(de instanceof Error?de.message:"读取技能失败")}).finally(()=>{re&&$(!1)}),()=>{re=!1}},[w,a]);const Y=m.useMemo(()=>{const re=T.trim().toLowerCase();return re?v.filter(de=>`${de.name} ${de.id} ${de.description}`.toLowerCase().includes(re)):v},[T,v]),q=m.useMemo(()=>{const re=A.trim().toLowerCase();return re?S.filter(de=>`${de.skillName} ${de.skillDescription}`.toLowerCase().includes(re)):S},[A,S]),U=async re=>{if(!w)return;B(re.skillId);const de=await r({kind:"skill",name:re.skillName,skillSourceId:w.id,description:re.skillDescription,version:re.version});B(""),de&&s()},V=async re=>{B(re.slug);const de=await r({kind:"skill",name:re.name,skillSourceId:`findskill:${re.slug}`,description:re.description,version:re.version||re.updatedAt});B(""),de&&s()};return l.jsx(bse,{title:"添加技能",description:`从公域 Skill Hub 或 AgentKit Skill 中心添加到 ${t} 当前会话`,wide:!0,onClose:s,children:l.jsxs("div",{className:"session-skill-dialog-body",children:[l.jsxs("div",{className:"session-skill-source-tabs",role:"tablist","aria-label":"技能来源",children:[l.jsxs("button",{type:"button",role:"tab","aria-selected":a==="public",className:a==="public"?"is-active":"",onClick:()=>o("public"),children:["Skill Hub",l.jsx("span",{children:"公域"})]}),l.jsx("button",{type:"button",role:"tab","aria-selected":a==="agentkit",className:a==="agentkit"?"is-active":"",onClick:()=>o("agentkit"),children:"AgentKit Skill 中心"})]}),a==="public"?l.jsxs("section",{className:"session-public-skill-browser","aria-label":"Skill Hub 公域技能",children:[l.jsxs("div",{className:"session-public-skill-head",children:[l.jsx(nk,{value:c,label:"搜索 Skill Hub",placeholder:"搜索技能名称、用途或关键词",onChange:u,autoFocus:!0}),l.jsxs("span",{children:[h.toLocaleString()," 个公域技能"]})]}),l.jsx("div",{className:"session-public-skill-list",children:O?l.jsx("div",{className:"session-capability-error",children:O}):b?l.jsx("div",{className:"session-capability-loading",children:"正在搜索 Skill Hub…"}):d.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的公域技能"}):d.map(re=>{const de=M.has(re.name),be=F===re.slug;return l.jsxs("article",{className:"session-skill-option session-public-skill-option",children:[l.jsxs("span",{className:"session-skill-option-copy",children:[l.jsx("strong",{children:re.name}),l.jsx("span",{children:re.description||"暂无描述"}),l.jsxs("small",{children:[re.sourceRepo||re.sourceType||"FindSkill",l.jsx("span",{"aria-hidden":"true",children:" · "}),re.downloadCount.toLocaleString()," 次下载",re.evaluationScore>0&&l.jsxs(l.Fragment,{children:[l.jsx("span",{"aria-hidden":"true",children:" · "}),re.evaluationScore.toFixed(1)," 分"]})]})]}),l.jsx("button",{type:"button",disabled:de||i||!!F,onClick:()=>void V(re),children:de?"已添加":be?"添加中…":l.jsxs(l.Fragment,{children:[l.jsx(BU,{}),"添加"]})})]},re.slug)})})]}):l.jsxs("div",{className:"session-skill-browser",children:[l.jsxs("section",{className:"session-skill-spaces","aria-label":"Skill Space 列表",children:[l.jsxs("div",{className:"session-skill-pane-head",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"Skill Space"}),l.jsx("span",{children:v.length})]}),l.jsx(nk,{value:T,label:"搜索 Skill Space",placeholder:"搜索空间",onChange:C,autoFocus:!0})]}),l.jsx("div",{className:"session-skill-pane-list",children:P?l.jsx("div",{className:"session-capability-loading",children:"正在读取 Skill Space…"}):Y.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的 Skill Space"}):Y.map(re=>l.jsx("button",{type:"button",className:`session-skill-space${(w==null?void 0:w.id)===re.id?" is-active":""}`,onClick:()=>{E(re),N("")},children:l.jsxs("span",{children:[l.jsx("strong",{children:re.name||re.id}),l.jsx("small",{children:re.description||re.id}),l.jsxs("em",{children:[re.skillCount??0," 个技能"]})]})},`${re.projectName??"default"}:${re.id}`))})]}),l.jsxs("section",{className:"session-skill-results","aria-label":"AgentKit Skill 列表",children:[l.jsxs("div",{className:"session-skill-pane-head",children:[l.jsxs("div",{children:[l.jsx("strong",{title:w==null?void 0:w.name,children:(w==null?void 0:w.name)||"选择 Skill Space"}),l.jsx("span",{children:S.length})]}),l.jsx(nk,{value:A,label:"搜索 AgentKit 技能",placeholder:"搜索技能名称或描述",onChange:N})]}),l.jsx("div",{className:"session-skill-pane-list",children:j?l.jsx("div",{className:"session-capability-error",children:j}):w?D?l.jsx("div",{className:"session-capability-loading",children:"正在读取技能…"}):q.length===0?l.jsx("div",{className:"session-capability-empty",children:"没有匹配的技能"}):q.map(re=>{const de=M.has(re.skillName),be=F===re.skillId;return l.jsxs("article",{className:"session-skill-option",children:[l.jsxs("span",{className:"session-skill-option-copy",children:[l.jsx("strong",{children:re.skillName}),l.jsx("span",{children:re.skillDescription||"暂无描述"}),l.jsxs("small",{children:["版本 ",re.version||"—"]})]}),l.jsx("button",{type:"button",disabled:de||i||!!F,onClick:()=>void U(re),children:de?"已添加":be?"添加中…":l.jsxs(l.Fragment,{children:[l.jsx(BU,{}),"添加"]})})]},`${re.skillId}:${re.version}`)}):l.jsx("div",{className:"session-capability-empty",children:"选择一个 Skill Space 查看技能"})})]})]})]})})}function Fn({as:e="span",className:t="",duration:n=4,spread:i=20,children:r,style:s,...a}){const o=Math.min(Math.max(i,5),45);return l.jsx(e,{className:`text-shimmer${t?` ${t}`:""}`,style:{...s,backgroundImage:`linear-gradient(to right, hsl(var(--muted-foreground)) ${50-o}%, hsl(var(--foreground)) 50%, hsl(var(--muted-foreground)) ${50+o}%)`,animationDuration:`${n}s`},...a,children:r})}function Ose(e){return 1+e.children.reduce((t,n)=>t+Ose(n),0)}function yse(e){return e.id||e.name}function u5e(e,t){const n=yse(e);if(e.id&&e.name&&e.name!==n)return e.name;if(t&&n==="agent")return"主 Agent";const i=/^agent_sub_(\d+)$/.exec(n);return i?`子 Agent ${i[1]}`:e.name||n}function xse(e,t=!0){return{...e,id:yse(e),name:u5e(e,t),children:e.children.map(n=>xse(n,!1))}}function vse(e){const t=nl(),n=Lm(e.model);return{...t,name:e.name,description:e.description,instruction:e.instruction||t.instruction,agentType:e.type,modelName:n.modelName,modelProvider:n.modelProvider,tools:e.tools??[],skills:(e.skills??[]).map(i=>i.name),subAgents:e.children.map(vse)}}function d5e(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}function f5e(e){return[...new Map(e.filter(t=>t.name.trim()).map(t=>[t.name.trim(),{...t,name:t.name.trim()}])).values()]}function xj({title:e,count:t}){return l.jsxs("div",{className:"topo-module-title",children:[l.jsx("span",{className:"topo-module-label",title:e,children:e}),t!==void 0&&l.jsx("span",{className:"topo-section-count","aria-label":`${t} 项`,children:t})]})}function h5e({appName:e,info:t,loading:n,variant:i="rail",capabilities:r=null,capabilityLoading:s=!1,capabilityMutating:a=!1,builtinTools:o=[],onAddCapability:c,onRemoveCapability:u}){const[d,f]=m.useState(null),[h,p]=m.useState(!1),b=m.useRef(null),g=()=>{p(!1),window.requestAnimationFrame(()=>{var k;return(k=b.current)==null?void 0:k.focus()})};if(m.useEffect(()=>{if(!h)return;const k=document.body.style.overflow,T=C=>{C.key==="Escape"&&g()};return document.body.style.overflow="hidden",document.addEventListener("keydown",T),()=>{document.body.style.overflow=k,document.removeEventListener("keydown",T)}},[h]),n&&!t)return l.jsx("aside",{className:`topo is-loading${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息","aria-live":"polite",children:l.jsx(Fn,{as:"span",className:"topo-loading-label",duration:2.2,children:"正在读取 Agent 信息…"})});if(!t)return null;const O=t4(t.model),y=xse(t.graph??{id:t.name,name:t.name,description:t.description,type:t.type??"llm",model:O,tools:t.tools,skills:t.skills,path:[t.name],mentionable:!1,children:[]}),v=(r==null?void 0:r.tools)??d5e(t.tools).map(k=>({id:`base:tool:${k}`,kind:"tool",name:k,custom:!1})),x=(r==null?void 0:r.skills)??f5e(t.skills).map(k=>({id:`base:skill:${k.name}`,kind:"skill",name:k.name,description:k.description,custom:!1})),w=!!(r&&c&&u),E=vse(y),S=k=>l.jsx(w1,{draft:E,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},k);return l.jsxs(l.Fragment,{children:[l.jsxs("aside",{className:`topo${i==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息与拓扑",children:[l.jsxs("section",{className:"topo-agent-card","aria-label":"Agent 信息",children:[l.jsxs("div",{className:"topo-agent-heading",children:[l.jsx("h2",{title:t.name,children:t.name||"未命名 Agent"}),O&&l.jsx("span",{title:O,children:O})]}),t.description&&l.jsx("p",{className:"topo-description",title:t.description,children:t.description})]}),l.jsxs("div",{className:"topo-module-stack",children:[l.jsxs("section",{className:"topo-module-card topo-tools-card","aria-label":"工具",children:[l.jsx(xj,{title:"工具",count:v.length}),l.jsx("div",{className:"topo-module-scroll topo-tools-scroll",role:"region","aria-label":"工具列表",tabIndex:0,children:v.length>0?l.jsx("div",{className:"topo-tool-list",children:v.map(k=>l.jsxs("div",{className:"topo-tool",title:k.name,children:[l.jsxs("span",{className:"topo-capability-title",children:[l.jsxs("span",{className:"topo-capability-copy",children:[l.jsx("span",{className:"topo-capability-name",children:JP(k.name)}),l.jsx("code",{children:k.name})]}),k.custom&&l.jsx("span",{className:"topo-custom-badge",children:"自定义"})]}),k.custom&&l.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除工具 ${k.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(k.id),children:"×"})]},k.id))}):l.jsx("div",{className:"topo-empty",children:"未配置"})}),w&&l.jsx("div",{className:"topo-capability-add-dock",children:l.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加内置工具",disabled:s||a,onClick:()=>f("tool"),children:[l.jsx("span",{"aria-hidden":"true",children:"+"}),l.jsx("span",{children:"在此对话中添加工具"})]})})]}),l.jsxs("section",{className:"topo-module-card topo-skills-card","aria-label":"技能",children:[l.jsx(xj,{title:"技能",count:t.skillsPreviewSupported?x.length:void 0}),l.jsx("div",{className:"topo-module-scroll topo-skills-scroll",role:"region","aria-label":"技能列表",tabIndex:0,children:t.skillsPreviewSupported?x.length>0?l.jsx("div",{className:"topo-skill-list",children:x.map(k=>l.jsxs("div",{className:"topo-skill",title:k.description||k.name,children:[l.jsxs("div",{className:"topo-skill-title",children:[l.jsx("span",{className:"topo-skill-name",children:k.name}),k.custom&&l.jsx("span",{className:"topo-custom-badge",children:"自定义"}),k.custom&&l.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除技能 ${k.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(k.id),children:"×"})]}),k.description&&l.jsx("span",{className:"topo-skill-description",children:k.description})]},`${k.name}:${k.description}`))}):l.jsx("div",{className:"topo-empty",children:"未配置"}):l.jsx("div",{className:"topo-empty",children:"暂不支持预览"})}),w&&l.jsx("div",{className:"topo-capability-add-dock",children:l.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加技能",disabled:s||a,onClick:()=>f("skill"),children:[l.jsx("span",{"aria-hidden":"true",children:"+"}),l.jsx("span",{children:"在此对话中添加技能"})]})})]}),l.jsxs("section",{className:"topo-module-card topo-topology","aria-label":"Agent 画布",children:[l.jsxs("div",{className:"topo-canvas-heading",children:[l.jsx(xj,{title:"结构拓扑",count:Ose(y)}),l.jsx("button",{ref:b,type:"button",className:"topo-canvas-expand","aria-label":"全屏查看 Agent 画布",title:"全屏查看",onClick:()=>p(!0),children:l.jsx(Wp,{"aria-hidden":"true"})})]}),l.jsx("div",{className:"topo-canvas-preview",role:"region","aria-label":"Agent 执行画布",children:S(`conversation-canvas:${e}`)})]})]}),d==="tool"&&c&&l.jsx(l5e,{agentName:t.name,tools:o,selectedNames:v.map(k=>k.name),mutating:a,onAdd:c,onClose:()=>f(null)}),d==="skill"&&c&&l.jsx(c5e,{appName:e,agentName:t.name,selectedNames:x.map(k=>k.name),mutating:a,onAdd:c,onClose:()=>f(null)})]}),h&&Gi.createPortal(l.jsxs("section",{className:"topo-canvas-dialog",role:"dialog","aria-modal":"true","aria-label":"全屏 Agent 执行画布",children:[l.jsxs("header",{className:"topo-canvas-dialog-header",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"Agent 执行画布"}),l.jsx("span",{children:t.name})]}),l.jsx("button",{type:"button","aria-label":"关闭全屏画布",title:"关闭",onClick:g,autoFocus:!0,children:l.jsx(za,{"aria-hidden":"true"})})]}),l.jsx("div",{className:"topo-canvas-dialog-body",children:S(`conversation-canvas-fullscreen:${e}`)})]}),document.body)]})}const eO={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function FU(e){return l.jsxs("svg",{...eO,...e,children:[l.jsx("rect",{x:"3.75",y:"5.25",width:"16.5",height:"13.5",rx:"2"}),l.jsx("path",{d:"m10.25 9 4.8 3-4.8 3V9Z"})]})}function p5e(e){return l.jsxs("svg",{...eO,...e,children:[l.jsx("circle",{cx:"10.7",cy:"10.7",r:"6.1"}),l.jsx("path",{d:"m15.25 15.25 4.2 4.2"})]})}function m5e(e){return l.jsxs("svg",{...eO,...e,children:[l.jsx("path",{d:"M12 3.75v10.5M8.4 10.8 12 14.4l3.6-3.6"}),l.jsx("path",{d:"M5 17.25v2h14v-2"})]})}function g5e(e){return l.jsxs("svg",{...eO,...e,children:[l.jsx("path",{d:"M8.75 8.75 6.9 10.6a3.4 3.4 0 0 0 4.8 4.8l1.85-1.85"}),l.jsx("path",{d:"m15.25 15.25 1.85-1.85a3.4 3.4 0 0 0-4.8-4.8l-1.85 1.85"}),l.jsx("path",{d:"m9.4 14.6 5.2-5.2"})]})}function b5e(e){return l.jsxs("svg",{...eO,...e,children:[l.jsx("path",{d:"M5 19h3.2L18.6 8.6a1.7 1.7 0 0 0 0-2.4l-.8-.8a1.7 1.7 0 0 0-2.4 0L5 15.8V19Z"}),l.jsx("path",{d:"m13.9 6.9 3.2 3.2M5 15.8 8.2 19"})]})}function wse(e){return l.jsx("svg",{...eO,...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}const O5e=180,UU=500,zU=10,VU=32;function y5e(e){return Array.from(new Set(e.split(/[,,]/).map(t=>t.trim()).filter(Boolean)))}function x5e({artifact:e,busy:t,error:n,onClose:i,onSave:r}){const[s,a]=m.useState(e.name),[o,c]=m.useState(e.description??""),[u,d]=m.useState((e.tags??[]).join(",")),[f,h]=m.useState(""),p=m.useId(),b=m.useId(),g=m.useRef(null),O=m.useRef(null),y=m.useRef(t),v=m.useRef(i);m.useEffect(()=>{y.current=t,v.current=i},[t,i]),m.useEffect(()=>{var T,C;const E=document.body.style.overflow,S=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(T=O.current)==null||T.focus(),(C=O.current)==null||C.select();const k=A=>{if(A.key==="Escape"&&!y.current){A.preventDefault(),v.current();return}if(A.key!=="Tab")return;const N=g.current;if(!N)return;const P=Array.from(N.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter($=>$.getClientRects().length>0);if(P.length===0){A.preventDefault();return}const Q=P[0],D=P[P.length-1];A.shiftKey&&document.activeElement===Q?(A.preventDefault(),D.focus()):!A.shiftKey&&document.activeElement===D&&(A.preventDefault(),Q.focus())};return window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k),document.body.style.overflow=E,S!=null&&S.isConnected&&S.focus()}},[]);const x=E=>{var T;E.preventDefault();const S=s.trim(),k=y5e(u);if(!S){h("请输入产物名称"),(T=O.current)==null||T.focus();return}if(k.length>zU){h(`标签最多 ${zU} 个`);return}if(k.some(C=>C.length>VU)){h(`单个标签不能超过 ${VU} 个字符`);return}h(""),r({name:S,description:o.trim(),tags:k})},w=f||n;return Gi.createPortal(l.jsx("div",{className:"artifact-edit-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&!t&&i()},children:l.jsxs("section",{ref:g,className:"artifact-edit-dialog",role:"dialog","aria-modal":"true","aria-labelledby":p,"aria-describedby":b,"aria-busy":t||void 0,children:[l.jsxs("header",{className:"artifact-edit-dialog__header",children:[l.jsxs("div",{children:[l.jsx("h2",{id:p,children:"编辑产物信息"}),l.jsx("p",{id:b,children:"内容文件不会被修改"})]}),l.jsx("button",{type:"button",onClick:i,disabled:t,"aria-label":"关闭编辑框",children:l.jsx(wse,{})})]}),l.jsxs("form",{onSubmit:x,children:[l.jsxs("div",{className:"artifact-edit-dialog__body",children:[l.jsxs("label",{className:"artifact-edit-field",children:[l.jsx("span",{children:"名称"}),l.jsx("input",{ref:O,value:s,maxLength:O5e,disabled:t,"aria-invalid":!!w||void 0,onChange:E=>{a(E.target.value),h("")}})]}),l.jsxs("label",{className:"artifact-edit-field",children:[l.jsx("span",{children:"描述"}),l.jsx("textarea",{value:o,maxLength:UU,disabled:t,rows:4,placeholder:"补充用途、版本或使用说明",onChange:E=>c(E.target.value)}),l.jsxs("small",{children:[o.length,"/",UU]})]}),l.jsxs("label",{className:"artifact-edit-field",children:[l.jsx("span",{children:"标签"}),l.jsx("input",{value:u,disabled:t,placeholder:"使用逗号分隔,最多 10 个",onChange:E=>{d(E.target.value),h("")}})]}),w?l.jsx("div",{className:"artifact-edit-error",role:"alert",children:w}):null]}),l.jsxs("footer",{className:"artifact-edit-dialog__actions",children:[l.jsx("button",{type:"button",onClick:i,disabled:t,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:t,children:t?"保存中":"保存"})]})]})]})}),document.body)}function v5e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"5.5",cy:"12",r:"1.4"}),l.jsx("circle",{cx:"12",cy:"12",r:"1.4"}),l.jsx("circle",{cx:"18.5",cy:"12",r:"1.4"})]})}function Sse({label:e,menuLabel:t,items:n,className:i="",placement:r="bottom-end"}){const[s,a]=m.useState(!1),o=m.useRef(null),c=m.useRef(null),u=m.useRef([]);m.useEffect(()=>{if(!s)return;const f=p=>{var b;(b=o.current)!=null&&b.contains(p.target)||a(!1)},h=p=>{var b;p.key==="Escape"&&(p.preventDefault(),a(!1),(b=c.current)==null||b.focus())};return window.addEventListener("pointerdown",f),window.addEventListener("keydown",h),()=>{window.removeEventListener("pointerdown",f),window.removeEventListener("keydown",h)}},[s]),m.useEffect(()=>{var f;s&&((f=u.current.find(h=>h&&!h.disabled))==null||f.focus())},[s]);const d=f=>{var g;if(!s||!["ArrowDown","ArrowUp","Home","End"].includes(f.key))return;f.preventDefault();const h=u.current.filter(O=>!!(O&&!O.disabled));if(h.length===0)return;const p=h.indexOf(document.activeElement),b=f.key==="Home"?0:f.key==="End"?h.length-1:(p+(f.key==="ArrowDown"?1:-1)+h.length)%h.length;(g=h[b])==null||g.focus()};return l.jsxs("div",{className:"studio-action-menu",ref:o,onKeyDown:d,children:[l.jsx("button",{ref:c,type:"button",className:`studio-action-menu__trigger ${i}`.trim(),"aria-label":e,"aria-haspopup":"menu","aria-expanded":s,disabled:n.length===0,onClick:()=>a(f=>!f),children:l.jsx(v5e,{})}),s?l.jsx("div",{className:`studio-action-menu__popover studio-action-menu__popover--${r}`,role:"menu","aria-label":t,children:n.map((f,h)=>l.jsx("button",{ref:p=>{u.current[h]=p},type:"button",role:"menuitem",className:`studio-action-menu__item${f.danger?" is-danger":""}`,disabled:f.disabled,title:f.title,onClick:()=>{a(!1),f.onSelect()},children:f.label},f.label))}):null]})}function w5e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M12 4.2 21 19H3L12 4.2Z"}),l.jsx("path",{d:"M12 9.4v4.2"}),l.jsx("path",{d:"M12 16.8h.01"})]})}function S5e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m7 7 10 10"}),l.jsx("path",{d:"m17 7-10 10"})]})}function yc({title:e,description:t,confirmLabel:n,cancelLabel:i="取消",closeLabel:r="关闭确认框",variant:s="warning",busy:a=!1,onCancel:o,onConfirm:c}){const u=m.useId(),d=m.useId(),f=m.useRef(null),h=m.useRef(a),p=m.useRef(o);return m.useEffect(()=>{h.current=a,p.current=o},[a,o]),m.useEffect(()=>{var y;const b=document.body.style.overflow,g=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(y=f.current)==null||y.focus();const O=v=>{v.key==="Escape"&&!h.current&&p.current()};return window.addEventListener("keydown",O),()=>{document.body.style.overflow=b,window.removeEventListener("keydown",O),g!=null&&g.isConnected&&g.focus()}},[]),Gi.createPortal(l.jsx("div",{className:"studio-confirm-backdrop",onMouseDown:b=>{b.target===b.currentTarget&&!a&&o()},children:l.jsxs("section",{className:`studio-confirm-dialog studio-confirm-dialog--${s}`,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":d,"aria-busy":a||void 0,children:[l.jsxs("header",{className:"studio-confirm-head",children:[l.jsxs("div",{className:"studio-confirm-title-wrap",children:[l.jsx("span",{className:"studio-confirm-title-icon","aria-hidden":"true",children:l.jsx(w5e,{})}),l.jsx("h2",{id:u,children:e})]}),l.jsx("button",{type:"button",className:"studio-confirm-close",onClick:o,disabled:a,"aria-label":r,children:l.jsx(S5e,{})})]}),l.jsx("div",{className:"studio-confirm-body",children:l.jsx("p",{id:d,children:t})}),l.jsxs("footer",{className:"studio-confirm-actions",children:[l.jsx("button",{ref:f,type:"button",onClick:o,disabled:a,children:i}),l.jsx("button",{type:"button",className:"studio-confirm-primary",onClick:c,disabled:a,children:n})]})]})}),document.body)}const E5e=new Set(["avif","bmp","gif","heic","jpeg","jpg","png","svg","tif","tiff","webp"]),k5e=new Set(["avi","m4v","mkv","mov","mp4","mpeg","mpg","webm"]),T5e=new Set(["csv","htm","html","json","md","pdf","svg","txt","xml","yaml","yml"]);function Ese(e){const t=e.lastIndexOf(".");return t<0?"":e.slice(t+1).toLocaleLowerCase()}function FT(e,t){if(!Number.isFinite(e))return t;const n=e;return n>1e10?n:n*1e3}function _5e(e){var t,n;return((t=e.actions)==null?void 0:t.artifactDelta)??((n=e.actions)==null?void 0:n.artifact_delta)}function A5e(e){return`${e.replace(/\.pptx$/i,"")}.preview.webp`}function C5e(e){var t;return(((t=e.content)==null?void 0:t.parts)??[]).map(n=>n.functionResponse??n.function_response).filter(n=>!!n)}function N5e(e){if(!e)return{};const t=e.result;return t&&typeof t=="object"&&!Array.isArray(t)?t:e}function qU(e,t,n){var i;if(/\.[A-Za-z0-9]{2,8}$/.test(e))return e;try{const r=new URL(t).pathname.split("/").filter(Boolean),a=((i=(r[r.length-1]??"").match(/\.[A-Za-z0-9]{2,8}$/))==null?void 0:i[0])??"";if(a)return`${e}${a}`}catch{}return`${e}.${n==="image"?"png":"mp4"}`}function j5e(e,t){const n=N5e(t),i=e==="image_generate"||e.endsWith("_image_generate"),r=["video_generate","video_task_query"].some(u=>e===u||e.endsWith(`_${u}`));if(!i&&!r)return[];const s=i?"image":"video",a=[],o=n.success_list;if(Array.isArray(o)){for(const u of o)if(!(!u||typeof u!="object"||Array.isArray(u)))for(const[d,f]of Object.entries(u))typeof f=="string"&&f.startsWith("https://")&&a.push({name:qU(d,f,s),url:f,type:s})}const c=n.video_url;if(r&&typeof c=="string"&&c.startsWith("https://")){const u=typeof n.task_id=="string"?n.task_id:void 0;a.push({name:qU(u||"generated-video",c,s),url:c,type:s,taskId:u})}return a}function XU(e,t){return new Date(FT(e,t)||Date.now()).toISOString()}function R5e(e){var i;const t=[],n=new Set;for(const r of e)for(const s of r.sessions){const a=FT(s.lastUpdateTime,Date.now()),o=DA(s.events);for(const c of s.events??[])for(const u of C5e(c)){const d=(u==null?void 0:u.name)??"";for(const f of j5e(d,u==null?void 0:u.response)){const h=`${s.id}:${c.id??""}:${d}:${f.url}`;n.has(h)||(n.add(h),t.push({sourceUrl:f.url,name:f.name,mimeType:f.type==="image"?"image/png":"video/mp4",appName:r.appName,agentId:r.agentId,agentName:((i=r.agentName)==null?void 0:i.trim())||r.appName,sessionId:s.id,sessionTitle:o,sessionUpdatedAt:XU(s.lastUpdateTime,a),createdAt:XU(c.timestamp,a),origin:{runtimeId:r.runtimeId,region:r.region,eventId:c.id,invocationId:c.invocationId??c.invocation_id,toolName:d,taskId:f.taskId}}))}}}return t}function kse(e){const t=Ese(e);return E5e.has(t)?"image":k5e.has(t)?"video":"document"}function I5e(e){const t=kse(e);return t==="image"?"image":t==="video"?"video":T5e.has(Ese(e))?"frame":"unavailable"}function D5e(e){var n;const t=[];for(const i of e)for(const r of i.sessions){const s=FT(r.lastUpdateTime,0),a=new Map;for(const o of r.events??[]){const c=_5e(o);if(!c)continue;const u=FT(o.timestamp,s);for(const[d,f]of Object.entries(c)){if(!d||!Number.isFinite(f))continue;const h=a.get(d);(!h||f>=h.version)&&a.set(d,{filename:d,version:f,createdAt:u})}}for(const o of a.values()){if(/\.preview\.webp$/i.test(o.filename))continue;const c=a.get(A5e(o.filename)),u=c??o,d=c?"image":I5e(o.filename);t.push({id:`${i.appName}:${r.id}:${o.filename}:${o.version}`,appName:i.appName,agentId:i.agentId,sessionId:r.id,sessionTitle:DA(r.events),agentName:((n=i.agentName)==null?void 0:n.trim())||i.appName,sessionUpdatedAt:s,name:o.filename,version:o.version,type:kse(o.filename),createdAt:o.createdAt||s,preview:{filename:u.filename,version:u.version,mode:d}})}}return t.sort((i,r)=>r.createdAt-i.createdAt||i.name.localeCompare(r.name,"zh-CN"))}function Tse(e){if(!e)return"时间未知";const t=new Date(e);if(Number.isNaN(t.getTime()))return"时间未知";const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()?new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1}).format(t):new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(t)}function _se(e){return!e||e<=0?"":e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(e<10*1024*1024?1:0)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}const vj=40,P5e=[{id:"document",label:"文档"},{id:"image",label:"图片"},{id:"video",label:"视频"}],M5e={document:"文档",image:"图片",video:"视频"};function yS(e){return e instanceof Error?e.message:String(e)}function Ase({artifact:e,large:t=!1}){return l.jsx("div",{className:`library-artifact-preview library-artifact-preview--${e.type}${t?" is-large":""}`,children:e.thumbnailUrl?l.jsxs(l.Fragment,{children:[l.jsx("img",{className:"library-artifact-preview-media",src:e.thumbnailUrl,alt:"",loading:"lazy"}),e.type==="video"?l.jsx("span",{className:"artifact-video-play is-overlay","aria-hidden":"true",children:l.jsx(FU,{})}):null]}):e.type==="document"?l.jsxs("div",{className:"artifact-document-sheet","aria-hidden":"true",children:[l.jsx("span",{className:"is-title"}),l.jsx("span",{}),l.jsx("span",{}),l.jsx("span",{className:"is-short"})]}):e.type==="image"?l.jsxs("div",{className:"artifact-image-scene","aria-hidden":"true",children:[l.jsx("span",{className:"artifact-image-sun"}),l.jsx("span",{className:"artifact-image-plane artifact-image-plane--back"}),l.jsx("span",{className:"artifact-image-plane artifact-image-plane--front"})]}):l.jsxs("div",{className:"artifact-video-frame","aria-hidden":"true",children:[l.jsx("span",{className:"artifact-video-orbit"}),l.jsx("span",{className:"artifact-video-node artifact-video-node--one"}),l.jsx("span",{className:"artifact-video-node artifact-video-node--two"}),l.jsx("span",{className:"artifact-video-play",children:l.jsx(FU,{})})]})})}function L5e({artifact:e,pendingAction:t,disabled:n,onPreview:i,onDownload:r,onEdit:s,onDelete:a,onOpenSource:o}){const c=t===`download:${e.id}`;return l.jsxs("tr",{className:"library-artifact-row",children:[l.jsx("td",{className:"library-artifact-file",children:l.jsxs("button",{type:"button",className:"library-artifact-preview-trigger","aria-label":`预览 ${e.name}`,disabled:n||!!t,onClick:()=>i(e),children:[l.jsx("div",{className:"library-artifact-thumbnail",children:l.jsx(Ase,{artifact:e})}),l.jsxs("div",{className:"library-artifact-row-title",children:[l.jsx("span",{className:"library-artifact-row-name",title:e.name,children:e.name}),l.jsx("span",{className:"library-artifact-row-size",children:_se(e.sizeBytes)||"—"})]})]})}),l.jsx("td",{className:"library-artifact-source-cell",children:o?l.jsxs("button",{type:"button",className:"library-artifact-source-link",title:`${e.agentName} / ${e.sessionTitle}`,onClick:()=>o(e),children:[l.jsx("span",{children:e.agentName}),l.jsx("span",{"aria-hidden":"true",children:"/"}),l.jsx("span",{children:e.sessionTitle})]}):l.jsxs("span",{title:`${e.agentName} / ${e.sessionTitle}`,children:[e.agentName," / ",e.sessionTitle]})}),l.jsx("td",{className:"library-artifact-time",children:Tse(e.updatedAt??e.createdAt)}),l.jsx("td",{className:"library-artifact-actions-cell",children:l.jsx("div",{className:"library-artifact-actions",children:l.jsx(Sse,{label:`更多操作 ${e.name}`,menuLabel:`${e.name} 操作`,placement:"bottom-end",items:[{label:c?"下载中":"下载",onSelect:()=>r(e),disabled:n||!!t},...s?[{label:"编辑信息",onSelect:()=>s(e),disabled:n||!!t||e.canManage===!1}]:[],...a?[{label:"删除产物",onSelect:()=>a(e),disabled:n||!!t||e.canManage===!1,danger:!0}]:[]]})})})]})}function $5e({sources:e=[],items:t,userId:n="",active:i=!0,activationRevision:r=0,loading:s=!1,error:a="",onRetry:o,onEdit:c,onDelete:u,onDownload:d,onOpenSource:f}){var Ye,Z;const[h,p]=m.useState(null),[b,g]=m.useState(""),[O,y]=m.useState(null),[v,x]=m.useState(""),[w,E]=m.useState(""),[S,k]=m.useState(""),[T,C]=m.useState(""),[A,N]=m.useState({}),[P,Q]=m.useState(()=>new Set),[D,$]=m.useState(null),[j,I]=m.useState(!1),[F,B]=m.useState(""),[M,Y]=m.useState(null),[q,U]=m.useState(!1),[V,re]=m.useState(vj),de=m.useRef(null),be=m.useRef(null),ce=m.useRef(0),K=m.useRef(null),ee=m.useRef(null),me=m.useRef(!1),ve=m.useCallback(()=>{ce.current+=1,y(null),x(""),E("")},[]),Ne=m.useMemo(()=>t?[...t]:D5e(e),[t,e]),Ie=m.useMemo(()=>Ne.filter(ie=>!P.has(ie.id)).map(ie=>A[ie.id]??ie),[Ne,A,P]);m.useEffect(()=>()=>{ce.current+=1},[]),m.useEffect(()=>()=>{v&&URL.revokeObjectURL(v)},[v]),m.useEffect(()=>{var z;if(!O)return;const ie=document.activeElement,ue=document.body.style.overflow;document.body.style.overflow="hidden",(z=de.current)==null||z.focus();const ye=je=>{if(je.key==="Escape"){je.preventDefault(),ve();return}if(je.key!=="Tab")return;const We=be.current;if(!We)return;const et=Array.from(We.querySelectorAll('button:not([disabled]), video[controls], iframe, [tabindex]:not([tabindex="-1"])')).filter(Tt=>Tt.getClientRects().length>0);if(et.length===0){je.preventDefault();return}const Jt=et[0],Xt=et[et.length-1];je.shiftKey&&document.activeElement===Jt?(je.preventDefault(),Xt.focus()):!je.shiftKey&&document.activeElement===Xt&&(je.preventDefault(),Jt.focus())};return document.addEventListener("keydown",ye),()=>{document.removeEventListener("keydown",ye),document.body.style.overflow=ue,ie!=null&&ie.isConnected&&ie.focus()}},[ve,O]);const De=async ie=>{const ue=ce.current+1;if(ce.current=ue,k(""),x(""),y(ie),ie.preview.mode!=="unavailable"){if(ie.contentUrl){x(ie.contentUrl);return}E(`preview:${ie.id}`);try{const ye=await y$(ie.appName,n,ie.sessionId,ie.preview.filename,ie.preview.version);if(ce.current!==ue){URL.revokeObjectURL(ye);return}x(ye)}catch(ye){ce.current===ue&&k(`无法预览“${ie.name}”:${yS(ye)}`)}finally{ce.current===ue&&E("")}}},pe=async ie=>{k(""),E(`download:${ie.id}`);try{d?await d(ie):await O$(ie.appName,n,ie.sessionId,ie.name,ie.version),C(`已开始下载 ${ie.name}`)}catch(ue){k(`无法下载“${ie.name}”:${yS(ue)}`)}finally{E("")}},Se=async ie=>{if(!(!D||!c)){I(!0),B("");try{const ye=await c(D,ie)??{...D,...ie,updatedAt:Date.now()};N(z=>({...z,[D.id]:ye})),C(`已更新 ${ye.name}`),$(null)}catch(ue){B(yS(ue))}finally{I(!1)}}},Oe=async()=>{if(!(!M||!u)){U(!0),k("");try{await u(M),Q(ie=>new Set([...ie,M.id])),C(`已删除 ${M.name}`),(O==null?void 0:O.id)===M.id&&ve(),Y(null)}catch(ie){k(`无法删除“${M.name}”:${yS(ie)}`),Y(null)}finally{U(!1)}}},Le=m.useMemo(()=>{const ie=b.trim().toLocaleLowerCase();return Ie.filter(ue=>h&&ue.type!==h?!1:ie?[ue.name,ue.sessionTitle,ue.agentName].some(ye=>ye.toLocaleLowerCase().includes(ie)):!0)},[h,Ie,b]),Fe=m.useMemo(()=>Le.slice(0,V),[Le,V]),Te=V{me.current||(me.current=!0,re(ie=>ie+vj))},[]);m.useEffect(()=>{re(vj)},[r,h,b,Le.length]),m.useEffect(()=>{me.current=!1},[V]),m.useEffect(()=>{const ie=ee.current,ue=K.current;if(!i||!ie||!ue||!Te)return;const ye=new IntersectionObserver(([z])=>{z.isIntersecting&&Ue()},{root:ue,rootMargin:"240px 0px",threshold:.01});return ye.observe(ie),()=>ye.disconnect()},[i,Te,Ue,V]);const ot=()=>{const ie=K.current;!i||!ie||!Te||ie.scrollHeight-ie.scrollTop-ie.clientHeight<=240&&Ue()},Bt=!!b.trim()||h!==null;return l.jsxs("div",{className:"artifact-library-page",children:[l.jsxs("div",{className:"artifact-library-toolbar library-resource-toolbar",children:[l.jsx("nav",{className:"artifact-type-pills","aria-label":"产物类型",children:P5e.map(ie=>l.jsx("button",{type:"button",className:`artifact-type-pill${h===ie.id?" is-active":""}`,"aria-pressed":h===ie.id,onClick:()=>p(ue=>ue===ie.id?null:ie.id),children:ie.label},ie.id))}),l.jsxs("label",{className:"artifact-library-search",children:[l.jsx(p5e,{}),l.jsx("input",{type:"search","aria-label":"搜索产物",value:b,onChange:ie=>g(ie.target.value),placeholder:"搜索产物或会话"})]})]}),a&&Ie.length>0?l.jsxs("div",{className:"artifact-library-banner",role:"alert",children:[l.jsx("span",{children:a}),o?l.jsx("button",{type:"button",onClick:o,children:"重试"}):null]}):null,S?l.jsxs("div",{className:"artifact-library-banner",role:"alert",children:[l.jsx("span",{children:S}),l.jsx("button",{type:"button",onClick:()=>k(""),children:"关闭"})]}):null,l.jsx("section",{ref:K,className:"artifact-library-results","aria-label":"产物列表",onScroll:ot,children:l.jsxs("div",{className:"artifact-library-panel",children:[s&&Ie.length===0?l.jsx("div",{className:"artifact-library-empty",role:"status","aria-live":"polite",children:l.jsx(Fn,{as:"p",duration:2.4,children:"正在加载产物"})}):a&&Ie.length===0?l.jsxs("div",{className:"artifact-library-empty is-error",role:"alert",children:[l.jsx("p",{children:"产物加载失败"}),l.jsx("span",{children:a}),o?l.jsx("button",{type:"button",onClick:o,children:"重新加载"}):null]}):Le.length===0?l.jsxs("div",{className:"artifact-library-empty",children:[l.jsx("p",{children:Bt?"没有找到匹配的产物":"您还没有任何产物"}),l.jsx("span",{children:Bt?"请尝试搜索其他名称或切换类型":"聊天中生成的产物会自动显示在这里"})]}):l.jsx("div",{className:"artifact-library-list",children:l.jsxs("table",{className:"artifact-library-table",children:[l.jsxs("colgroup",{children:[l.jsx("col",{className:"artifact-library-table__file-column"}),l.jsx("col",{className:"artifact-library-table__source-column"}),l.jsx("col",{className:"artifact-library-table__time-column"}),l.jsx("col",{className:"artifact-library-table__actions-column"})]}),l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"名称"}),l.jsx("th",{scope:"col",children:"来源"}),l.jsx("th",{scope:"col",children:"修改时间"}),l.jsx("th",{scope:"col",className:"artifact-library-table__actions-heading",children:"操作"})]})}),l.jsx("tbody",{children:Fe.map(ie=>l.jsx(L5e,{artifact:ie,pendingAction:w,disabled:!n&&!t,onPreview:ue=>void De(ue),onDownload:ue=>void pe(ue),onEdit:c?ue=>{B(""),$(ue)}:void 0,onDelete:u?Y:void 0,onOpenSource:f},ie.id))})]})}),Te?l.jsx("div",{ref:ee,className:"artifact-library-load-more",role:"status","aria-live":"polite",children:l.jsx(Fn,{as:"span",duration:2.4,children:"正在加载更多产物"})}):null]})}),l.jsx("p",{className:"artifact-library-status","aria-live":"polite",children:T}),O?l.jsxs("div",{className:"artifact-library-preview-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"artifact-library-preview-title",children:[l.jsx("button",{type:"button",className:"artifact-library-preview-backdrop","aria-label":"关闭预览",onClick:ve}),l.jsxs("div",{ref:be,className:"artifact-library-preview-panel",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("h2",{id:"artifact-library-preview-title",children:O.name}),l.jsxs("p",{children:[M5e[O.type]," / 版本 ",O.version]})]}),l.jsx("button",{ref:de,type:"button","aria-label":"关闭预览",onClick:ve,children:l.jsx(wse,{})})]}),l.jsxs("div",{className:"artifact-library-preview-content",children:[l.jsx("div",{className:"artifact-library-preview-canvas",children:w===`preview:${O.id}`?l.jsx(Fn,{as:"span",duration:2.4,children:"正在加载预览"}):v&&O.preview.mode==="image"?l.jsx("img",{src:v,alt:`${O.name} 预览`}):v&&O.preview.mode==="video"?l.jsx("video",{src:v,controls:!0,"aria-label":`${O.name} 预览`}):v&&O.preview.mode==="frame"?l.jsx("iframe",{src:v,title:`${O.name} 预览`}):l.jsxs("div",{className:"artifact-library-preview-unavailable",children:[l.jsx(Ase,{artifact:O,large:!0}),l.jsx("p",{children:S?"预览加载失败,请稍后重试或下载查看":"当前格式暂不支持在线预览,请下载查看"})]})}),l.jsxs("aside",{className:"artifact-library-preview-details","aria-label":"产物来源",children:[O.description?l.jsx("p",{className:"artifact-library-preview-description",children:O.description}):null,l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"Agent"}),l.jsx("dd",{title:O.agentName,children:O.agentName})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"会话"}),l.jsx("dd",{title:O.sessionTitle,children:O.sessionTitle})]}),(Ye=O.origin)!=null&&Ye.toolName?l.jsxs("div",{children:[l.jsx("dt",{children:"生成工具"}),l.jsx("dd",{children:O.origin.toolName})]}):null,l.jsxs("div",{children:[l.jsx("dt",{children:"生成时间"}),l.jsx("dd",{children:Tse(O.createdAt)})]}),O.sizeBytes?l.jsxs("div",{children:[l.jsx("dt",{children:"文件大小"}),l.jsx("dd",{children:_se(O.sizeBytes)})]}):null]}),(Z=O.tags)!=null&&Z.length?l.jsx("div",{className:"artifact-library-preview-tags","aria-label":"标签",children:O.tags.map(ie=>l.jsx("span",{children:ie},ie))}):null]})]}),l.jsxs("footer",{children:[l.jsxs("div",{className:"artifact-library-preview-footer-start",children:[f?l.jsxs("button",{type:"button",className:"is-secondary",onClick:()=>{const ie=O;ve(),f(ie)},children:[l.jsx(g5e,{}),"查看会话"]}):null,c?l.jsxs("button",{type:"button",className:"is-secondary",disabled:O.canManage===!1,onClick:()=>{const ie=O;ve(),B(""),$(ie)},children:[l.jsx(b5e,{}),"编辑信息"]}):null]}),l.jsxs("button",{type:"button",disabled:w.startsWith("download:")||!n&&!t,onClick:()=>void pe(O),children:[l.jsx(m5e,{}),"下载"]})]})]})]}):null,D?l.jsx(x5e,{artifact:D,busy:j,error:F,onClose:()=>{j||$(null)},onSave:ie=>void Se(ie)}):null,M?l.jsx(yc,{title:"删除产物?",description:`“${M.name}”将从产物库永久删除,聊天记录不会受到影响。`,confirmLabel:q?"删除中":"删除",closeLabel:"关闭删除确认框",variant:"danger",busy:q,onCancel:()=>{q||Y(null)},onConfirm:()=>void Oe()}):null]})}function Q5e(e,t){if(e&&typeof e=="object"&&"detail"in e){const n=e.detail;if(typeof n=="string"&&n.trim())return n}return t}async function Lv(e,t){if(e.ok)return e;let n;try{n=await e.json()}catch{n=void 0}throw new Error(Q5e(n,`${t}(${e.status})`))}function wj(e){if(typeof e=="number")return e;if(typeof e!="string")return 0;const t=Date.parse(e);return Number.isFinite(t)?t:0}function Cse(e){const t=e;return{...t,createdAt:wj(t.createdAt),updatedAt:wj(t.updatedAt),sessionUpdatedAt:wj(t.sessionUpdatedAt)}}async function Nse(e){const t=await e.json();return Array.isArray(t.items)?t.items.map(Cse):[]}async function B5e(){const e=await Lv(await ri("/web/artifacts"),"读取产物库失败");return Nse(e)}async function F5e(e){if(e.length===0)return B5e();const t=await Lv(await ri("/web/artifacts/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({candidates:e})},24e4),"同步聊天产物失败");return Nse(t)}async function U5e(e,t){const n=await Lv(await ri(`/web/artifacts/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),"更新产物失败");return Cse(await n.json())}async function z5e(e){await Lv(await ri(`/web/artifacts/${encodeURIComponent(e.id)}`,{method:"DELETE"}),"删除产物失败")}async function V5e(e){const n=await(await Lv(await ri(`/web/artifacts/${encodeURIComponent(e.id)}/content?download=true`,{},24e4),"下载产物失败")).blob(),i=URL.createObjectURL(n),r=document.createElement("a");r.href=i,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(i),0)}function jse(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const n=t.offsetWidth;let i=.985;n<=80?i=.96:n<=150?i=.97:n<=220?i=.98:n>600&&(i=.995),t.style.setProperty("--scale",i.toString())},eM=(e,t)=>{const n=()=>{const a=setTimeout(e);return()=>{clearTimeout(a)}};if(!Y5e||typeof window.requestAnimationFrame!="function"||Ise&&document.visibilityState==="hidden")return n();let r=2,s=window.requestAnimationFrame(function a(){r-=1,r===0?e():s=window.requestAnimationFrame(a)});return()=>{typeof window.cancelAnimationFrame=="function"&&window.cancelAnimationFrame(s)}},s4=e=>Object.keys(e).reduce((n,i)=>{const r=e[i];if(r||r===0){const s=i.startsWith("--")?"":"--",a=typeof r=="number"?`${r}px`:r;n[`${s}${i}`]=a}return n},{}),ik=e=>{e.preventDefault()},Pse=e=>e.querySelectorAll('a[href], input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex^="-"]), [contenteditable]'),W5e=e=>{const t=m.Children.toArray(e),n=[];let i="";const r=()=>{i!==""&&(n.push(i),i="")};for(const s of t)if(!(s==null||typeof s=="boolean")){if(typeof s=="string"||typeof s=="number"){i+=String(s);continue}r(),n.push(s)}return r(),n},a4=e=>{const t=W5e(e),n=m.Children.count(t);return m.Children.map(t,i=>{if(typeof i=="string"&&i.trim())return n<=1?i:l.jsx("span",{children:i});if(m.isValidElement(i)){const r=i,{children:s,...a}=r.props;return s!=null?m.cloneElement(r,a,a4(s)):r}return i})};m.createContext(null);var Z5e=typeof Uf=="object"&&Uf&&Uf.Object===Object&&Uf,K5e=typeof self=="object"&&self&&self.Object===Object&&self;Z5e||K5e||Function("return this")();var J5e=typeof window<"u"?m.useLayoutEffect:m.useEffect;function e3e(){const e=m.useRef(!1);return m.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),m.useCallback(()=>e.current,[])}var HU={width:void 0,height:void 0};function t3e(e){const{ref:t,box:n="content-box"}=e,[{width:i,height:r},s]=m.useState(HU),a=e3e(),o=m.useRef({...HU}),c=m.useRef(void 0);return c.current=e.onResize,m.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=GU(d,f,"inlineSize"),p=GU(d,f,"blockSize");if(o.current.width!==h||o.current.height!==p){const g={width:h,height:p};o.current.width=h,o.current.height=p,c.current?c.current(g):a()&&s(g)}});return u.observe(t.current,{box:n}),()=>{u.disconnect()}},[n,t,a]),{width:i,height:r}}function GU(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 o4(e,t){const n=m.useRef(e);J5e(()=>{n.current=e},[e]),m.useEffect(()=>{if(!t&&t!==0)return;const i=setTimeout(()=>{n.current()},t);return()=>{clearTimeout(i)}},[t])}const n3e="_LoadingIndicator_7yl6f_1",i3e={LoadingIndicator:n3e},r3e=({className:e,size:t,strokeWidth:n,style:i,...r})=>l.jsx("div",{...r,className:la(i3e.LoadingIndicator,e),style:i||s4({"indicator-size":t,"indicator-stroke":n})});function Mse(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}const s3e=()=>Rse,YU=(e,t=!1,n="TransitionGroup")=>{const i=[];return m.Children.forEach(e,r=>{if(r&&typeof r=="object"&&"key"in r&&r.key)i.push(r);else if(t)throw new Error(`Child elements of <${n} /> must include a \`key\``)}),i},cg=()=>{},ug=e=>{const t=m.useRef(e);return t.current=e,m.useCallback(n=>t.current(n),[])};function a3e(e,t,n,i){const r=e.reduce((c,u)=>({...c,[u.key]:1}),{}),s=t.reduce((c,u)=>({...c,[u.component.key]:1}),{}),a=e.filter(c=>!s[c.key]).map(n),o=t.map(c=>({...c,component:e.find(({key:u})=>u===c.component.key)||c.component,shouldRender:!!r[c.component.key]}));return i==="append"?o.concat(a):a.concat(o)}function o3e(e,t,n){if((Rse||X5e)&&t&&n>1)throw new Error(`Cannot use forwardRef with multiple children in <${e} />`)}const l3e="_TransitionGroupChild_1hv1z_1",c3e={TransitionGroupChild:l3e},Lse={enter:!1,enterActive:!1,exit:!1,exitActive:!1,interrupted:!1},u3e=e=>({...Lse,enter:!e}),d3e=(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 Lse}},f3e=({ref:e,as:t,children:n,className:i,transitionId:r,style:s,preventMountTransition:a,shouldRender:o,enterDuration:c,exitDuration:u,removeChild:d,onEnter:f,onEnterActive:h,onEnterComplete:p,onExit:b,onExitActive:g,onExitComplete:O})=>{const[y,v]=m.useReducer(d3e,u3e(a||!1)),x=m.useRef(!1),w=m.useRef(null),E=m.useRef(c);E.current=c;const S=m.useRef(u);S.current=u;const k=m.useRef(null),T=m.useCallback(C=>{const A=w.current;if(!(!A||C===k.current))switch(k.current=C,C){case"enter":f(A);break;case"enter-active":h(A);break;case"enter-complete":p(A);break;case"exit":b(A);break;case"exit-active":g(A);break;case"exit-complete":O(A);break}},[f,h,p,b,g,O]);return _n.useLayoutEffect(()=>{if(!o){let N;v({type:"exit-before"}),T("exit");const P=eM(()=>{v({type:"exit-active"}),T("exit-active"),N=window.setTimeout(()=>{T("exit-complete"),d()},S.current)});return()=>{P(),N!==void 0&&clearTimeout(N)}}if(a&&!x.current){x.current=!0;return}let C;v({type:"enter-before"}),T("enter");const A=eM(()=>{v({type:"enter-active"}),T("enter-active"),C=window.setTimeout(()=>{v({type:"done"}),T("enter-complete")},E.current)});return()=>{A(),C!==void 0&&clearTimeout(C)}},[o,a,d,T]),m.useEffect(()=>()=>{x.current=!1},[]),l.jsx(t,{ref:Mse([w,e]),className:la(i,c3e.TransitionGroupChild),"data-transition-id":r,style:s,"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})},h3e=e=>{const{enterMountDelay:t,preventMountTransition:n}=e,i=!n&&t!=null?t:null,[r,s]=m.useState(i==null);return o4(()=>s(!0),r?null:i),r?l.jsx(f3e,{...e}):null},$se=e=>{const{ref:t,as:n="span",children:i,className:r,transitionId:s,style:a,enterDuration:o=0,exitDuration:c=0,preventInitialTransition:u=!0,enterMountDelay:d,insertMethod:f="append",disableAnimations:h=s3e()}=e,p=ug(e.onEnter??cg),b=ug(e.onEnterActive??cg),g=ug(e.onEnterComplete??cg),O=ug(e.onExit??cg),y=ug(e.onExitActive??cg),v=ug(e.onExitComplete??cg);m.Children.forEach(i,S=>{if(S&&!S.key)throw new Error("Child elements of must include a `key`")});const x=m.useCallback(S=>({component:S,shouldRender:!0,removeChild:()=>{E(k=>k.filter(T=>S.key!==T.component.key))},onEnter:p,onEnterActive:b,onEnterComplete:g,onExit:O,onExitActive:y,onExitComplete:v}),[p,b,g,O,y,v]),[w,E]=m.useState(()=>YU(i).map(S=>({...x(S),preventMountTransition:u})));return m.useLayoutEffect(()=>{E(S=>{const k=YU(i);return a3e(k,S,x,f)})},[i,f,x]),o3e("TransitionGroup",t,m.Children.count(i)),h?l.jsx(l.Fragment,{children:m.Children.map(i,S=>l.jsx(n,{ref:t,className:r,style:a,"data-transition-id":s,children:S}))}):l.jsx(l.Fragment,{children:w.map(({component:S,...k})=>l.jsx(h3e,{...k,as:n,className:r,transitionId:s,enterDuration:o,exitDuration:c,enterMountDelay:d,style:a,ref:t,children:S},S.key))})},p3e="_Button_1864l_1",m3e="_ButtonInner_1864l_4",g3e="_ButtonLoader_1864l_749",Sj={Button:p3e,ButtonInner:m3e,ButtonLoader:g3e},Pl=e=>{const{type:t="button",color:n="primary",variant:i="solid",pill:r=!0,uniform:s=!1,size:a="md",iconSize:o,gutterSize:c,loading:u,selected:d,block:f,opticallyAlign:h,children:p,className:b,onClick:g,disabled:O,disabledTone:y,inert:v=u,...x}=e,w=O||v,E=m.useCallback(S=>{O||g==null||g(S)},[g,O]);return l.jsxs("button",{type:t,className:la(Sj.Button,b),"data-color":n,"data-variant":i,"data-pill":r?"":void 0,"data-uniform":s?"":void 0,"data-size":a,"data-gutter-size":c,"data-icon-size":o,"data-loading":u?"":void 0,"data-selected":d?"":void 0,"data-block":f?"":void 0,"data-optically-align":h,onPointerEnter:Dse,disabled:w,"aria-disabled":w,tabIndex:w?-1:void 0,"data-disabled":O?"":void 0,"data-disabled-tone":O?y:void 0,onClick:E,...x,children:[l.jsx($se,{className:Sj.ButtonLoader,enterDuration:250,exitDuration:150,children:u&&l.jsx(r3e,{},"loader")}),l.jsx("span",{className:Sj.ButtonInner,children:a4(p)})]})};var b3e=Object.defineProperty,l4=(e,t)=>b3e(e,"name",{value:t,configurable:!0});function tM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}l4(tM,"setRef");function Qse(...e){return t=>{let n=!1;const i=e.map(r=>{const s=tM(r,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let r=0;rO3e(e,"name",{value:t,configurable:!0});function wh(e){const t=m.forwardRef((n,i)=>{let{children:r,...s}=n,a=null,o=!1;const c=[];nM(r)&&typeof xS=="function"&&(r=xS(r._payload)),m.Children.forEach(r,h=>{var p;if(qse(h)){o=!0;const b=h;let g="child"in b.props?b.props.child:b.props.children;nM(g)&&typeof xS=="function"&&(g=xS(g._payload)),a=y3e(b,g),c.push((p=a==null?void 0:a.props)==null?void 0:p.children)}else c.push(h)}),a?a=m.cloneElement(a,void 0,c):!o&&m.Children.count(r)===1&&m.isValidElement(r)&&(a=r);const u=a?Vse(a):void 0,d=Ur(i,u);if(!a){if(r||r===0)throw new Error(o?w3e(e):v3e(e));return r}const f=zse(s,a.props??{});return a.type!==m.Fragment&&(f.ref=i?d:u),m.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}Cc(wh,"createSlot");var Bse=wh("Slot"),Fse=Symbol.for("radix.slottable");function Use(e){const t=Cc(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=Fse,t}Cc(Use,"createSlottable");var y3e=Cc((e,t)=>{if("child"in e.props){const n=e.props.child;return m.isValidElement(n)?m.cloneElement(n,void 0,e.props.children(n.props.children)):null}return m.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function zse(e,t){const n={...t};for(const i in t){const r=e[i],s=t[i];/^on[A-Z]/.test(i)?r&&s?n[i]=(...o)=>{const c=s(...o);return r(...o),c}:r&&(n[i]=r):i==="style"?n[i]={...r,...s}:i==="className"&&(n[i]=[r,s].filter(Boolean).join(" "))}return{...e,...n}}Cc(zse,"mergeProps");function Vse(e){var i,r;let t=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Cc(Vse,"getElementRef");function qse(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Fse}Cc(qse,"isSlottable");var x3e=Symbol.for("react.lazy");function nM(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===x3e&&"_payload"in e&&Xse(e._payload)}Cc(nM,"isLazyComponent");function Xse(e){return typeof e=="object"&&e!==null&&"then"in e}Cc(Xse,"isPromiseLike");var v3e=Cc(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),w3e=Cc(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),xS=Lb[" use ".trim().toString()],S3e=Object.defineProperty,E3e=(e,t)=>S3e(e,"name",{value:t,configurable:!0}),k3e=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ps=k3e.reduce((e,t)=>{const n=wh(`Primitive.${t}`),i=m.forwardRef((r,s)=>{const{asChild:a,...o}=r,c=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(c,{...o,ref:s})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function Hse(e,t){e&&Gi.flushSync(()=>e.dispatchEvent(t))}E3e(Hse,"dispatchDiscreteCustomEvent");var T3e=Object.defineProperty,_3e=(e,t)=>T3e(e,"name",{value:t,configurable:!0}),A3e=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),C3e=m.forwardRef(_3e(function(t,n){return l.jsx(ps.span,{...t,ref:n,style:{...A3e,...t.style}})},"VisuallyHidden")),N3e=C3e,j3e=Object.defineProperty,_l=(e,t)=>j3e(e,"name",{value:t,configurable:!0});function R3e(e,t){const n=m.createContext(t);n.displayName=e+"Context";const i=_l(s=>{const{children:a,...o}=s,c=m.useMemo(()=>o,Object.values(o));return l.jsx(n.Provider,{value:c,children:a})},"Provider");i.displayName=e+"Provider";function r(s,a={}){const{optional:o=!1}=a,c=m.useContext(n);if(c)return c;if(t!==void 0)return t;if(!o)throw new Error(`\`${s}\` must be used within \`${e}\``)}return _l(r,"useContext"),[i,r]}_l(R3e,"createContext");function Nc(e,t=[]){let n=[];function i(s,a){const o=m.createContext(a);o.displayName=s+"Context";const c=n.length;n=[...n,a];const u=_l(f=>{var y;const{scope:h,children:p,...b}=f,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||o,O=m.useMemo(()=>b,Object.values(b));return l.jsx(g.Provider,{value:O,children:p})},"Provider");u.displayName=s+"Provider";function d(f,h,p={}){var y;const{optional:b=!1}=p,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||o,O=m.useContext(g);if(O)return O;if(a!==void 0)return a;if(!b)throw new Error(`\`${f}\` must be used within \`${s}\``)}return _l(d,"useContext"),[u,d]}_l(i,"createContext");const r=_l(()=>{const s=n.map(a=>m.createContext(a));return _l(function(o){const c=(o==null?void 0:o[e])||s;return m.useMemo(()=>({[`__scope${e}`]:{...o,[e]:c}}),[o,c])},"useScope")},"createScope");return r.scopeName=e,[i,Gse(r,...t)]}_l(Nc,"createContextScope");function Gse(...e){const t=e[0];if(e.length===1)return t;const n=_l(()=>{const i=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return _l(function(s){const a=i.reduce((o,{useScope:c,scopeName:u})=>{const f=c(s)[`__scope${u}`];return{...o,...f}},{});return m.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}_l(Gse,"composeContextScopes");var I3e=Object.defineProperty,Bs=(e,t)=>I3e(e,"name",{value:t,configurable:!0});function Yse(e){const t=e+"CollectionProvider",[n,i]=Nc(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=Bs(g=>{const{scope:O,children:y}=g,v=m.useRef(null),x=m.useRef(new Map).current;return l.jsx(r,{scope:O,itemMap:x,collectionRef:v,children:y})},"CollectionProvider");a.displayName=t;const o=e+"CollectionSlot",c=wh(o),u=m.forwardRef((g,O)=>{const{scope:y,children:v}=g,x=s(o,y),w=Ur(O,x.collectionRef);return l.jsx(c,{ref:w,children:v})});u.displayName=o;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=wh(d),p=m.forwardRef((g,O)=>{const{scope:y,children:v,...x}=g,w=m.useRef(null),E=Ur(O,w),S=s(d,y);return m.useEffect(()=>(S.itemMap.set(w,{ref:w,...x}),()=>void S.itemMap.delete(w))),l.jsx(h,{[f]:"",ref:E,children:v})});p.displayName=d;function b(g){const O=s(e+"CollectionConsumer",g);return m.useCallback(()=>{const v=O.collectionRef.current;if(!v)return[];const x=Array.from(v.querySelectorAll(`[${f}]`));return Array.from(O.itemMap.values()).sort((S,k)=>x.indexOf(S.ref.current)-x.indexOf(k.ref.current))},[O.collectionRef,O.itemMap])}return Bs(b,"useCollection"),[{Provider:a,Slot:u,ItemSlot:p},b,i]}Bs(Yse,"createCollection");var WU=new WeakMap,os,Uo,Ej=(Uo=class extends Map{constructor(n){super(n);e8(this,os);tN(this,os,[...super.keys()]),WU.set(this,!0)}set(n,i){return WU.get(this)&&(this.has(n)?ba(this,os)[ba(this,os).indexOf(n)]=n:ba(this,os).push(n)),super.set(n,i),this}insert(n,i,r){const s=this.has(i),a=ba(this,os).length,o=c4(n);let c=o>=0?o:a+o;const u=c<0||c>=a?-1:c;if(u===this.size||s&&u===this.size-1||u===-1)return this.set(i,r),this;const d=this.size+(s?0:1);o<0&&c++;const f=[...ba(this,os)];let h,p=!1;for(let b=c;b=this.size&&(s=this.size-1),this.at(s)}keyFrom(n,i){const r=this.indexOf(n);if(r===-1)return;let s=r+i;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return s;r++}}findIndex(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return r;r++}return-1}filter(n,i){const r=[];let s=0;for(const a of this)Reflect.apply(n,i,[a,s,this])&&r.push(a),s++;return new Uo(r)}map(n,i){const r=[];let s=0;for(const a of this)r.push([a[0],Reflect.apply(n,i,[a,s,this])]),s++;return new Uo(r)}reduce(...n){const[i,r]=n;let s=0,a=r??this.at(0);for(const o of this)s===0&&n.length===1?a=o:a=Reflect.apply(i,this,[a,o,s,this]),s++;return a}reduceRight(...n){const[i,r]=n;let s=r??this.at(-1);for(let a=this.size-1;a>=0;a--){const o=this.at(a);a===this.size-1&&n.length===1?s=o:s=Reflect.apply(i,this,[s,o,a,this])}return s}toSorted(n){const i=[...this.entries()].sort(n);return new Uo(i)}toReversed(){const n=new Uo;for(let i=this.size-1;i>=0;i--){const r=this.keyAt(i),s=this.get(r);n.set(r,s)}return n}toSpliced(...n){const i=[...this.entries()];return i.splice(...n),new Uo(i)}slice(n,i){const r=new Uo;let s=this.size-1;if(n===void 0)return r;n<0&&(n=n+this.size),i!==void 0&&i>0&&(s=i-1);for(let a=n;a<=s;a++){const o=this.keyAt(a),c=this.get(o);r.set(o,c)}return r}every(n,i){let r=0;for(const s of this){if(!Reflect.apply(n,i,[s,r,this]))return!1;r++}return!0}some(n,i){let r=0;for(const s of this){if(Reflect.apply(n,i,[s,r,this]))return!0;r++}return!1}},os=new WeakMap,Bs(Uo,"OrderedDict"),Uo);function rk(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=Wse(e,t);return n===-1?void 0:e[n]}Bs(rk,"at");function Wse(e,t){const n=e.length,i=c4(t),r=i>=0?i:n+i;return r<0||r>=n?-1:r}Bs(Wse,"toSafeIndex");function c4(e){return e!==e||e===0?0:Math.trunc(e)}Bs(c4,"toSafeInteger");function D3e(e){const t=e+"CollectionProvider",[n,i]=Nc(t),[r,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new Ej,setItemMap:Bs(()=>{},"setItemMap")}),a=Bs(({state:x,...w})=>x?l.jsx(c,{...w,state:x}):l.jsx(o,{...w}),"CollectionProvider");a.displayName=t;const o=Bs(x=>{const w=O();return l.jsx(c,{...x,state:w})},"CollectionInit");o.displayName=t+"Init";const c=Bs(x=>{const{scope:w,children:E,state:S}=x,k=m.useRef(null),[T,C]=m.useState(null),A=Ur(k,C),[N,P]=S;return m.useEffect(()=>{if(!T)return;const Q=Jse(()=>{});return Q.observe(T,{childList:!0,subtree:!0}),()=>{Q.disconnect()}},[T]),l.jsx(r,{scope:w,itemMap:N,setItemMap:P,collectionRef:A,collectionRefObject:k,collectionElement:T,children:E})},"CollectionProviderImpl");c.displayName=t+"Impl";const u=e+"CollectionSlot",d=wh(u),f=m.forwardRef((x,w)=>{const{scope:E,children:S}=x,k=s(u,E),T=Ur(w,k.collectionRef);return l.jsx(d,{ref:T,children:S})});f.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",b=wh(h),g=m.forwardRef((x,w)=>{const{scope:E,children:S,...k}=x,T=m.useRef(null),[C,A]=m.useState(null),N=Ur(w,T,A),P=s(h,E),{setItemMap:Q}=P,D=m.useRef(k);Zse(D.current,k)||(D.current=k);const $=D.current;return m.useEffect(()=>{const j=$;return Q(I=>C?I.has(C)?I.set(C,{...j,element:C}).toSorted(iM):(I.set(C,{...j,element:C}),I.toSorted(iM)):I),()=>{Q(I=>!C||!I.has(C)?I:(I.delete(C),new Ej(I)))}},[C,$,Q]),l.jsx(b,{[p]:"",ref:N,children:S})});g.displayName=h;function O(){return m.useState(new Ej)}Bs(O,"useInitCollection");function y(x){const{itemMap:w}=s(e+"CollectionConsumer",x);return w}return Bs(y,"useCollection"),[{Provider:a,Slot:f,ItemSlot:g},{createCollectionScope:i,useCollection:y,useInitCollection:O}]}Bs(D3e,"createCollection");function Zse(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e==null||t==null)return!1;const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Bs(Zse,"shallowEqual");function Kse(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Bs(Kse,"isElementPreceding");function iM(e,t){return!e[1].element||!t[1].element?0:Kse(e[1].element,t[1].element)?-1:1}Bs(iM,"sortByDocumentPosition");function Jse(e){return new MutationObserver(n=>{for(const i of n)if(i.type==="childList"){e();return}})}Bs(Jse,"getChildListObserver");var P3e=Object.defineProperty,tO=(e,t)=>P3e(e,"name",{value:t,configurable:!0}),eae=!!(typeof window<"u"&&window.document&&window.document.createElement);function Bi(e,t,{checkForDefaultPrevented:n=!0}={}){return tO(function(r){if(e==null||e(r),n===!1||!r||!r.defaultPrevented)return t==null?void 0:t(r)},"handleEvent")}tO(Bi,"composeEventHandlers");function M3e(e){var t;if(!eae)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}tO(M3e,"getOwnerWindow");function rM(e){if(!eae)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}tO(rM,"getOwnerDocument");function tae(e,t=!1){const{activeElement:n}=rM(e);if(!(n!=null&&n.nodeName))return null;if(nae(n)&&n.contentDocument)return tae(n.contentDocument.body,t);if(t){const i=n.getAttribute("aria-activedescendant");if(i){const r=rM(n).getElementById(i);if(r)return r}}return n}tO(tae,"getActiveElement");function nae(e){return e.tagName==="IFRAME"}tO(nae,"isFrame");var Ml=globalThis!=null&&globalThis.document?m.useLayoutEffect:()=>{},L3e=Object.defineProperty,$3e=(e,t)=>L3e(e,"name",{value:t,configurable:!0}),ZU=Lb[" useEffectEvent ".trim().toString()],KU=Lb[" useInsertionEffect ".trim().toString()];function iae(e){if(typeof ZU=="function")return ZU(e);const t=m.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof KU=="function"?KU(()=>{t.current=e}):Ml(()=>{t.current=e}),m.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}$3e(iae,"useEffectEvent");var Q3e=Object.defineProperty,$v=(e,t)=>Q3e(e,"name",{value:t,configurable:!0}),B3e=Lb[" useInsertionEffect ".trim().toString()]||Ml;function Kd({prop:e,defaultProp:t,onChange:n=$v(()=>{},"onChange"),caller:i}){const[r,s,a]=rae({defaultProp:t,onChange:n}),o=e!==void 0,c=o?e:r,u=m.useCallback(d=>{var f;if(o){const h=sae(d)?d(e):d;h!==e&&((f=a.current)==null||f.call(a,h))}else s(d)},[o,e,s,a]);return[c,u]}$v(Kd,"useControllableState");function rae({defaultProp:e,onChange:t}){const[n,i]=m.useState(e),r=m.useRef(n),s=m.useRef(t);return B3e(()=>{s.current=t},[t]),m.useEffect(()=>{var a;r.current!==n&&((a=s.current)==null||a.call(s,n),r.current=n)},[n,r]),[n,i,s]}$v(rae,"useUncontrolledState");function sae(e){return typeof e=="function"}$v(sae,"isFunction");var JU=Symbol("RADIX:SYNC_STATE");function F3e(e,t,n,i){const{prop:r,defaultProp:s,onChange:a,caller:o}=t,c=r!==void 0,u=iae(a),d=[{...n,state:s}];i&&d.push(i);const[f,h]=m.useReducer((O,y)=>{if(y.type===JU)return{...O,state:y.state};const v=e(O,y);return c&&!Object.is(v.state,O.state)&&u(v.state),v},...d),p=f.state,b=m.useRef(p);m.useEffect(()=>{b.current!==p&&(b.current=p,c||u(p))},[p,b,c]);const g=m.useMemo(()=>r!==void 0?{...f,state:r}:f,[f,r]);return m.useEffect(()=>{c&&!Object.is(r,f.state)&&h({type:JU,state:r})},[r,f.state,c]),[g,h]}$v(F3e,"useControllableStateReducer");var U3e=Object.defineProperty,$d=(e,t)=>U3e(e,"name",{value:t,configurable:!0});function aae(e,t){return m.useReducer((n,i)=>t[n][i]??n,e)}$d(aae,"useStateMachine");var nO=$d(e=>{const{present:t,children:n}=e,i=oae(t),r=typeof n=="function"?n({present:i.isPresent}):m.Children.only(n),s=lae(i.ref,cae(r));return typeof n=="function"||i.isPresent?m.cloneElement(r,{ref:s}):null},"Presence");function oae(e){const[t,n]=m.useState(),i=m.useRef(null),r=m.useRef(e),s=m.useRef("none"),a=m.useRef(void 0),o=e?"mounted":"unmounted",[c,u]=aae(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return m.useEffect(()=>{c==="mounted"?(s.current=a.current??Rg(i.current),a.current=void 0):s.current="none"},[c]),Ml(()=>{const d=i.current,f=r.current;if(f!==e){const p=s.current,b=Rg(d);e?(a.current=b,u("MOUNT")):b==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&p!==b?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,u]),Ml(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,h=$d(b=>{const O=Rg(i.current).includes(CSS.escape(b.animationName));if(b.target===t&&O&&(u("ANIMATION_END"),!r.current)){const y=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=y)})}},"handleAnimationEnd"),p=$d(b=>{b.target===t&&(s.current=Rg(i.current))},"handleAnimationStart");return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:m.useCallback(d=>{if(d){const f=getComputedStyle(d);i.current=f,a.current=Rg(f)}else i.current=null;n(d)},[])}}$d(oae,"usePresence");function sM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}$d(sM,"setRef");function lae(...e){const t=m.useRef(e);return t.current=e,m.useCallback(n=>{const i=t.current;let r=!1;const s=i.map(a=>{const o=sM(a,n);return!r&&typeof o=="function"&&(r=!0),o});if(r)return()=>{for(let a=0;az3e(e,"name",{value:t,configurable:!0}),q3e=Lb[" useId ".trim().toString()]||(()=>{}),X3e=0;function e2(e){const[t,n]=m.useState(q3e());return Ml(()=>{e||n(i=>i??String(X3e++))},[e]),e||(t?`radix-${t}`:"")}V3e(e2,"useId");var H3e=Object.defineProperty,G3e=(e,t)=>H3e(e,"name",{value:t,configurable:!0}),Y3e=m.createContext(void 0);function t2(e){const t=m.useContext(Y3e);return e||t||"ltr"}G3e(t2,"useDirection");var W3e=Object.defineProperty,Z3e=(e,t)=>W3e(e,"name",{value:t,configurable:!0});function Sh(e){const t=m.useRef(e);return m.useEffect(()=>{t.current=e}),m.useMemo(()=>(...n)=>{var i;return(i=t.current)==null?void 0:i.call(t,...n)},[])}Z3e(Sh,"useCallbackRef");var K3e=Object.defineProperty,$s=(e,t)=>K3e(e,"name",{value:t,configurable:!0}),aM="dismissableLayer.update",J3e="dismissableLayer.pointerDownOutside",e$e="dismissableLayer.focusOutside",ez,uae=m.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),dae=m.forwardRef($s(function(t,n){const{disableOutsidePointerEvents:i=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:c,onDismiss:u,...d}=t,f=m.useContext(uae),[h,p]=m.useState(null),b=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=m.useState({}),O=Ur(n,p),y=Array.from(f.layers),[v]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),x=v?y.indexOf(v):-1,w=h?y.indexOf(h):-1,E=f.layersWithOutsidePointerEventsDisabled.size>0,S=w>=x,k=m.useRef(!1),T=fae(P=>{a==null||a(P),c==null||c(P),P.defaultPrevented||u==null||u()},{ownerDocument:b,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:k,dismissableSurfaces:f.dismissableSurfaces,shouldHandlePointerDownOutside:m.useCallback(P=>{if(!(P instanceof Node))return!1;const Q=[...f.branches].some(D=>D.contains(P));return S&&!Q},[f.branches,S])}),C=hae(P=>{if(r&&k.current)return;const Q=P.target;[...f.branches].some($=>$.contains(Q))||(o==null||o(P),c==null||c(P),P.defaultPrevented||u==null||u())},b),A=h?w===y.length-1:!1,N=Sh(P=>{P.key==="Escape"&&(s==null||s(P),!P.defaultPrevented&&u&&(P.preventDefault(),u()))});return m.useEffect(()=>{if(A)return b.addEventListener("keydown",N,{capture:!0}),()=>b.removeEventListener("keydown",N,{capture:!0})},[b,A,N]),m.useEffect(()=>{if(h)return i&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(ez=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(h)),f.layers.add(h),oM(),()=>{i&&(f.layersWithOutsidePointerEventsDisabled.delete(h),f.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=ez))}},[h,b,i,f]),m.useEffect(()=>()=>{h&&(f.layers.delete(h),f.layersWithOutsidePointerEventsDisabled.delete(h),oM())},[h,f]),m.useEffect(()=>{const P=$s(()=>g({}),"handleUpdate");return document.addEventListener(aM,P),()=>document.removeEventListener(aM,P)},[]),l.jsx(ps.div,{...d,ref:O,style:{pointerEvents:E?S?"auto":"none":void 0,...t.style},onFocusCapture:Bi(t.onFocusCapture,C.onFocusCapture),onBlurCapture:Bi(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Bi(t.onPointerDownCapture,T.onPointerDownCapture)})},"DismissableLayer"));function t$e(){const e=m.useContext(uae),[t,n]=m.useState(null);return m.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}$s(t$e,"useDismissableLayerSurface");var n$e=$s(()=>!0,"IS_TRUE");function fae(e,t){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:i=!1,isDeferredPointerDownOutsideRef:r,dismissableSurfaces:s,shouldHandlePointerDownOutside:a=n$e}=t,o=Sh(e),c=m.useRef(!1),u=m.useRef(!1),d=m.useRef(new Map),f=m.useRef(()=>{});return m.useEffect(()=>{function h(){u.current=!1,r.current=!1,d.current.clear()}$s(h,"resetOutsideInteraction");function p(){return Array.from(d.current.values()).some(Boolean)}$s(p,"isOutsideInteractionIntercepted");function b(x){if(!u.current)return;const w=x.target;w instanceof Node&&[...s].some(S=>S.contains(w))||d.current.set(x.type,!0),x.type==="click"&&window.setTimeout(()=>{u.current&&f.current()},0)}$s(b,"handleInteractionCapture");function g(x){u.current&&d.current.set(x.type,!1)}$s(g,"handleInteractionBubble");const O=$s(x=>{if(x.target&&!c.current){let w=function(){n.removeEventListener("click",f.current);const S=p();h(),S||u4(J3e,o,E,{discrete:!0})};if($s(w,"handleAndDispatchPointerDownOutsideEvent"),!a(x.target)){n.removeEventListener("click",f.current),h(),c.current=!1;return}const E={originalEvent:x};u.current=!0,r.current=i&&x.button===0,d.current.clear(),!i||x.button!==0?w():(n.removeEventListener("click",f.current),f.current=w,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),h();c.current=!1},"handlePointerDown"),y=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const x of y)n.addEventListener(x,b,!0),n.addEventListener(x,g);const v=window.setTimeout(()=>{n.addEventListener("pointerdown",O)},0);return()=>{window.clearTimeout(v),n.removeEventListener("pointerdown",O),n.removeEventListener("click",f.current);for(const x of y)n.removeEventListener(x,b,!0),n.removeEventListener(x,g)}},[n,o,i,r,s,a]),{onPointerDownCapture:$s(()=>c.current=!0,"onPointerDownCapture")}}$s(fae,"usePointerDownOutside");function hae(e,t=globalThis==null?void 0:globalThis.document){const n=Sh(e),i=m.useRef(!1);return m.useEffect(()=>{const r=$s(s=>{s.target&&!i.current&&u4(e$e,n,{originalEvent:s},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:$s(()=>i.current=!0,"onFocusCapture"),onBlurCapture:$s(()=>i.current=!1,"onBlurCapture")}}$s(hae,"useFocusOutside");function oM(){const e=new CustomEvent(aM);document.dispatchEvent(e)}$s(oM,"dispatchUpdate");function u4(e,t,n,{discrete:i}){const r=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),i?Hse(r,s):r.dispatchEvent(s)}$s(u4,"handleAndDispatchCustomEvent");var i$e=Object.defineProperty,Ba=(e,t)=>i$e(e,"name",{value:t,configurable:!0}),kj="focusScope.autoFocusOnMount",Tj="focusScope.autoFocusOnUnmount",tz={bubbles:!1,cancelable:!0},r$e=m.forwardRef(Ba(function(t,n){const{loop:i=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...o}=t,[c,u]=m.useState(null),d=Sh(s),f=Sh(a),h=m.useRef(null),p=Ur(n,u),b=m.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;m.useEffect(()=>{if(r){let O=function(w){if(b.paused||!c)return;const E=w.target;c.contains(E)?h.current=E:rd(h.current,{select:!0})},y=function(w){if(b.paused||!c)return;const E=w.relatedTarget;E!==null&&(c.contains(E)||rd(h.current,{select:!0}))},v=function(w){if(document.activeElement===document.body)for(const S of w)S.removedNodes.length>0&&rd(c)};Ba(O,"handleFocusIn"),Ba(y,"handleFocusOut"),Ba(v,"handleMutations"),document.addEventListener("focusin",O),document.addEventListener("focusout",y);const x=new MutationObserver(v);return c&&x.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",O),document.removeEventListener("focusout",y),x.disconnect()}}},[r,c,b.paused]),m.useEffect(()=>{if(c){nz.add(b);const O=document.activeElement;if(!c.contains(O)){const v=new CustomEvent(kj,tz);c.addEventListener(kj,d),c.dispatchEvent(v),v.defaultPrevented||(pae(yae(d4(c)),{select:!0}),document.activeElement===O&&rd(c))}return()=>{c.removeEventListener(kj,d),setTimeout(()=>{const v=new CustomEvent(Tj,tz);c.addEventListener(Tj,f),c.dispatchEvent(v),v.defaultPrevented||rd(O??document.body,{select:!0}),c.removeEventListener(Tj,f),nz.remove(b)},0)}}},[c,d,f,b]);const g=m.useCallback(O=>{if(!i&&!r||b.paused)return;const y=O.key==="Tab"&&!O.altKey&&!O.ctrlKey&&!O.metaKey,v=document.activeElement;if(y&&v){const x=O.currentTarget,[w,E]=mae(x);w&&E?!O.shiftKey&&v===E?(O.preventDefault(),i&&rd(w,{select:!0})):O.shiftKey&&v===w&&(O.preventDefault(),i&&rd(E,{select:!0})):v===x&&O.preventDefault()}},[i,r,b.paused]);return l.jsx(ps.div,{tabIndex:-1,...o,ref:p,onKeyDown:g})},"FocusScope"));function pae(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(rd(i,{select:t}),document.activeElement!==n)return}Ba(pae,"focusFirst");function mae(e){const t=d4(e),n=lM(t,e),i=lM(t.reverse(),e);return[n,i]}Ba(mae,"getTabbableEdges");function d4(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Ba(i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}Ba(d4,"getTabbableCandidates");function lM(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const i of e)if(!(n?!i.checkVisibility({checkVisibilityCSS:!0}):gae(i,{upTo:t})))return i}Ba(lM,"findVisible");function gae(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}Ba(gae,"isHidden");function bae(e){return e instanceof HTMLInputElement&&"select"in e}Ba(bae,"isSelectableInput");function rd(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&bae(e)&&t&&e.select()}}Ba(rd,"focus");var nz=Oae();function Oae(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=cM(e,t),e.unshift(t)},remove(t){var n;e=cM(e,t),(n=e[0])==null||n.resume()}}}Ba(Oae,"createFocusScopesStack");function cM(e,t){const n=[...e],i=n.indexOf(t);return i!==-1&&n.splice(i,1),n}Ba(cM,"arrayRemove");function yae(e){return e.filter(t=>t.tagName!=="A")}Ba(yae,"removeLinks");var s$e=Object.defineProperty,a$e=(e,t)=>s$e(e,"name",{value:t,configurable:!0}),xae=m.forwardRef(a$e(function(t,n){var c;const{container:i,...r}=t,[s,a]=m.useState(!1);Ml(()=>a(!0),[]);const o=i||s&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return o?Gi.createPortal(l.jsx(ps.div,{...r,ref:n}),o):null},"Portal")),o$e=Object.defineProperty,f4=(e,t)=>o$e(e,"name",{value:t,configurable:!0}),vS=0,qc=null;function l$e(e){return h4(),e.children}f4(l$e,"FocusGuards");function h4(){m.useEffect(()=>{qc||(qc={start:uM(),end:uM()});const{start:e,end:t}=qc;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),vS++,()=>{vS===1&&(qc==null||qc.start.remove(),qc==null||qc.end.remove(),qc=null),vS=Math.max(0,vS-1)}},[])}f4(h4,"useFocusGuards");function uM(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}f4(uM,"createFocusGuard");var nu=function(){return nu=Object.assign||function(t){for(var n,i=1,r=arguments.length;i"u")return k$e;var t=T$e(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},A$e=Eae(),A0="data-scroll-locked",C$e=function(e,t,n,i){var r=e.left,s=e.top,a=e.right,o=e.gap;return n===void 0&&(n="margin"),` + .`.concat(u$e,` { overflow: hidden `).concat(i,`; padding-right: `).concat(o,"px ").concat(i,`; } - body[`).concat(x0,`] { + body[`).concat(A0,`] { overflow: hidden `).concat(i,`; overscroll-behavior: contain; `).concat([t&&"position: relative ".concat(i,";"),n==="margin"&&` @@ -474,158 +474,158 @@ ${d}`:u,children:[l.jsxs("span",{className:`account-avatar${b?" has-image":""}`, `),n==="padding"&&"padding-right: ".concat(o,"px ").concat(i,";")].filter(Boolean).join(""),` } - .`).concat(ek,` { + .`).concat(sk,` { right: `).concat(o,"px ").concat(i,`; } - .`).concat(tk,` { + .`).concat(ak,` { margin-right: `).concat(o,"px ").concat(i,`; } - .`).concat(ek," .").concat(ek,` { + .`).concat(sk," .").concat(sk,` { right: 0 `).concat(i,`; } - .`).concat(tk," .").concat(tk,` { + .`).concat(ak," .").concat(ak,` { margin-right: 0 `).concat(i,`; } - body[`).concat(x0,`] { - `).concat(Y3e,": ").concat(o,`px; + body[`).concat(A0,`] { + `).concat(d$e,": ").concat(o,`px; } -`)},GU=function(){var e=parseInt(document.body.getAttribute(x0)||"0",10);return isFinite(e)?e:0},h$e=function(){m.useEffect(function(){return document.body.setAttribute(x0,(GU()+1).toString()),function(){var e=GU()-1;e<=0?document.body.removeAttribute(x0):document.body.setAttribute(x0,e.toString())}},[])},p$e=function(e){var t=e.noRelative,n=e.noImportant,i=e.gapMode,r=i===void 0?"margin":i;h$e();var s=m.useMemo(function(){return u$e(r)},[r]);return m.createElement(d$e,{styles:f$e(s,!t,r,n?"":"!important")})},nM=!1;if(typeof window<"u")try{var OS=Object.defineProperty({},"passive",{get:function(){return nM=!0,!0}});window.addEventListener("test",OS,OS),window.removeEventListener("test",OS,OS)}catch{nM=!1}var rg=nM?{passive:!1}:!1,m$e=function(e){return e.tagName==="TEXTAREA"},oae=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!m$e(e)&&n[t]==="visible")},g$e=function(e){return oae(e,"overflowY")},b$e=function(e){return oae(e,"overflowX")},WU=function(e,t){var n=t.ownerDocument,i=t;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var r=lae(e,i);if(r){var s=cae(e,i),a=s[1],o=s[2];if(a>o)return!0}i=i.parentNode}while(i&&i!==n.body);return!1},O$e=function(e){var t=e.scrollTop,n=e.scrollHeight,i=e.clientHeight;return[t,n,i]},y$e=function(e){var t=e.scrollLeft,n=e.scrollWidth,i=e.clientWidth;return[t,n,i]},lae=function(e,t){return e==="v"?g$e(t):b$e(t)},cae=function(e,t){return e==="v"?O$e(t):y$e(t)},x$e=function(e,t){return e==="h"&&t==="rtl"?-1:1},v$e=function(e,t,n,i,r){var s=x$e(e,window.getComputedStyle(t).direction),a=s*i,o=n.target,c=t.contains(o),u=!1,d=a>0,f=0,h=0;do{if(!o)break;var p=cae(e,o),b=p[0],g=p[1],O=p[2],y=g-O-s*b;(b||y)&&lae(e,o)&&(f+=y,h+=b);var v=o.parentNode;o=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&o!==document.body||c&&(t.contains(o)||t===o));return(d&&Math.abs(f)<1||!d&&Math.abs(h)<1)&&(u=!0),u},yS=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ZU=function(e){return[e.deltaX,e.deltaY]},KU=function(e){return e&&"current"in e?e.current:e},w$e=function(e,t){return e[0]===t[0]&&e[1]===t[1]},S$e=function(e){return` +`)},rz=function(){var e=parseInt(document.body.getAttribute(A0)||"0",10);return isFinite(e)?e:0},N$e=function(){m.useEffect(function(){return document.body.setAttribute(A0,(rz()+1).toString()),function(){var e=rz()-1;e<=0?document.body.removeAttribute(A0):document.body.setAttribute(A0,e.toString())}},[])},j$e=function(e){var t=e.noRelative,n=e.noImportant,i=e.gapMode,r=i===void 0?"margin":i;N$e();var s=m.useMemo(function(){return _$e(r)},[r]);return m.createElement(A$e,{styles:C$e(s,!t,r,n?"":"!important")})},dM=!1;if(typeof window<"u")try{var wS=Object.defineProperty({},"passive",{get:function(){return dM=!0,!0}});window.addEventListener("test",wS,wS),window.removeEventListener("test",wS,wS)}catch{dM=!1}var dg=dM?{passive:!1}:!1,R$e=function(e){return e.tagName==="TEXTAREA"},kae=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!R$e(e)&&n[t]==="visible")},I$e=function(e){return kae(e,"overflowY")},D$e=function(e){return kae(e,"overflowX")},sz=function(e,t){var n=t.ownerDocument,i=t;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var r=Tae(e,i);if(r){var s=_ae(e,i),a=s[1],o=s[2];if(a>o)return!0}i=i.parentNode}while(i&&i!==n.body);return!1},P$e=function(e){var t=e.scrollTop,n=e.scrollHeight,i=e.clientHeight;return[t,n,i]},M$e=function(e){var t=e.scrollLeft,n=e.scrollWidth,i=e.clientWidth;return[t,n,i]},Tae=function(e,t){return e==="v"?I$e(t):D$e(t)},_ae=function(e,t){return e==="v"?P$e(t):M$e(t)},L$e=function(e,t){return e==="h"&&t==="rtl"?-1:1},$$e=function(e,t,n,i,r){var s=L$e(e,window.getComputedStyle(t).direction),a=s*i,o=n.target,c=t.contains(o),u=!1,d=a>0,f=0,h=0;do{if(!o)break;var p=_ae(e,o),b=p[0],g=p[1],O=p[2],y=g-O-s*b;(b||y)&&Tae(e,o)&&(f+=y,h+=b);var v=o.parentNode;o=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&o!==document.body||c&&(t.contains(o)||t===o));return(d&&Math.abs(f)<1||!d&&Math.abs(h)<1)&&(u=!0),u},SS=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},az=function(e){return[e.deltaX,e.deltaY]},oz=function(e){return e&&"current"in e?e.current:e},Q$e=function(e,t){return e[0]===t[0]&&e[1]===t[1]},B$e=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},E$e=0,sg=[];function k$e(e){var t=m.useRef([]),n=m.useRef([0,0]),i=m.useRef(),r=m.useState(E$e++)[0],s=m.useState(aae)[0],a=m.useRef(e);m.useEffect(function(){a.current=e},[e]),m.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var g=X3e([e.lockRef.current],(e.shards||[]).map(KU),!0).filter(Boolean);return g.forEach(function(O){return O.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),g.forEach(function(O){return O.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var o=m.useCallback(function(g,O){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!a.current.allowPinchZoom;var y=yS(g),v=n.current,x="deltaX"in g?g.deltaX:v[0]-y[0],w="deltaY"in g?g.deltaY:v[1]-y[1],E,S=g.target,k=Math.abs(x)>Math.abs(w)?"h":"v";if("touches"in g&&k==="h"&&S.type==="range")return!1;var T=window.getSelection(),C=T&&T.anchorNode,A=C?C===S||C.contains(S):!1;if(A)return!1;var R=WU(k,S);if(!R)return!0;if(R?E=k:(E=k==="v"?"h":"v",R=WU(k,S)),!R)return!1;if(!i.current&&"changedTouches"in g&&(x||w)&&(i.current=E),!E)return!0;var P=i.current||E;return v$e(P,O,g,P==="h"?x:w)},[]),c=m.useCallback(function(g){var O=g;if(!(!sg.length||sg[sg.length-1]!==s)){var y="deltaY"in O?ZU(O):yS(O),v=t.current.filter(function(E){return E.name===O.type&&(E.target===O.target||O.target===E.shadowParent)&&w$e(E.delta,y)})[0];if(v&&v.should){O.cancelable&&O.preventDefault();return}if(!v){var x=(a.current.shards||[]).map(KU).filter(Boolean).filter(function(E){return E.contains(O.target)}),w=x.length>0?o(O,x[0]):!a.current.noIsolation;w&&O.cancelable&&O.preventDefault()}}},[]),u=m.useCallback(function(g,O,y,v){var x={name:g,delta:O,target:y,should:v,shadowParent:T$e(y)};t.current.push(x),setTimeout(function(){t.current=t.current.filter(function(w){return w!==x})},1)},[]),d=m.useCallback(function(g){n.current=yS(g),i.current=void 0},[]),f=m.useCallback(function(g){u(g.type,ZU(g),g.target,o(g,e.lockRef.current))},[]),h=m.useCallback(function(g){u(g.type,yS(g),g.target,o(g,e.lockRef.current))},[]);m.useEffect(function(){return sg.push(s),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",c,rg),document.addEventListener("touchmove",c,rg),document.addEventListener("touchstart",d,rg),function(){sg=sg.filter(function(g){return g!==s}),document.removeEventListener("wheel",c,rg),document.removeEventListener("touchmove",c,rg),document.removeEventListener("touchstart",d,rg)}},[]);var p=e.removeScrollBar,b=e.inert;return m.createElement(m.Fragment,null,b?m.createElement(s,{styles:S$e(r)}):null,p?m.createElement(p$e,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function T$e(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const _$e=t$e(sae,k$e);var uae=m.forwardRef(function(e,t){return m.createElement(WA,qc({},e,{ref:t,sideCar:_$e}))});uae.classNames=WA.classNames;var A$e=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},ag=new WeakMap,xS=new WeakMap,vS={},vj=0,dae=function(e){return e&&(e.host||dae(e.parentNode))},C$e=function(e,t){return t.map(function(n){if(e.contains(n))return n;var i=dae(n);return i&&e.contains(i)?i:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},N$e=function(e,t,n,i){var r=C$e(t,Array.isArray(e)?e:[e]);vS[n]||(vS[n]=new WeakMap);var s=vS[n],a=[],o=new Set,c=new Set(r),u=function(f){!f||o.has(f)||(o.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||c.has(f)||Array.prototype.forEach.call(f.children,function(h){if(o.has(h))d(h);else try{var p=h.getAttribute(i),b=p!==null&&p!=="false",g=(ag.get(h)||0)+1,O=(s.get(h)||0)+1;ag.set(h,g),s.set(h,O),a.push(h),g===1&&b&&xS.set(h,!0),O===1&&h.setAttribute(n,"true"),b||h.setAttribute(i,"true")}catch(y){console.error("aria-hidden: cannot operate on ",h,y)}})};return d(t),o.clear(),vj++,function(){a.forEach(function(f){var h=ag.get(f)-1,p=s.get(f)-1;ag.set(f,h),s.set(f,p),h||(xS.has(f)||f.removeAttribute(i),xS.delete(f)),p||f.removeAttribute(n)}),vj--,vj||(ag=new WeakMap,ag=new WeakMap,xS=new WeakMap,vS={})}},j$e=function(e,t,n){n===void 0&&(n="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),r=A$e(e);return r?(i.push.apply(i,Array.from(r.querySelectorAll("[aria-live], script"))),N$e(i,r,n,"aria-hidden")):function(){return null}},R$e=Object.defineProperty,D$e=(e,t)=>R$e(e,"name",{value:t,configurable:!0});function ZA(e){const[t,n]=m.useState(void 0);return Tl(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let a,o;if("borderBoxSize"in s){const c=s.borderBoxSize,u=Array.isArray(c)?c[0]:c;a=u.inlineSize,o=u.blockSize}else a=e.offsetWidth,o=e.offsetHeight;n({width:a,height:o})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else n(void 0)},[e]),t}D$e(ZA,"useSize");var I$e=Object.defineProperty,Dd=(e,t)=>I$e(e,"name",{value:t,configurable:!0}),r4="Checkbox",[P$e,mwt]=xc(r4),[M$e,s4]=P$e(r4);function fae(e){const{__scopeCheckbox:t,checked:n,children:i,defaultChecked:r,disabled:s,form:a,name:o,onCheckedChange:c,required:u,value:d="on",internal_do_not_use_render:f}=e,[h,p]=qd({prop:n,defaultProp:r??!1,onChange:c,caller:r4}),[b,g]=m.useState(null),[O,y]=m.useState(null),v=m.useRef(!1),[x,w]=m.useReducer(k=>k+1,0),E=b?!!a||!!b.closest("form"):!0,S={checked:h,disabled:s,setChecked:p,control:b,setControl:g,name:o,form:a,value:d,hasConsumerStoppedPropagationRef:v,userInteractionCount:x,onUserInteraction:w,required:u,defaultChecked:bd(r)?!1:r,isFormControl:E,bubbleInput:O,setBubbleInput:y};return l.jsx(M$e,{scope:t,...S,children:hae(f)?f(S):i})}Dd(fae,"CheckboxProvider");var L$e="CheckboxTrigger",$$e=m.forwardRef(Dd(function({__scopeCheckbox:t,onKeyDown:n,onClick:i,...r},s){const{control:a,value:o,disabled:c,checked:u,required:d,setControl:f,setChecked:h,hasConsumerStoppedPropagationRef:p,onUserInteraction:b,isFormControl:g,bubbleInput:O}=s4(L$e,t),y=Lr(s,f),v=m.useRef(u);return m.useEffect(()=>{const x=a==null?void 0:a.form;if(x){const w=Dd(()=>h(v.current),"reset");return x.addEventListener("reset",w),()=>x.removeEventListener("reset",w)}},[a,h]),l.jsx(os.button,{type:"button",role:"checkbox","aria-checked":bd(u)?"mixed":u,"aria-required":d,"data-state":a4(u),"data-disabled":c?"":void 0,disabled:c,value:o,...r,ref:y,onKeyDown:Pi(n,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:Pi(i,x=>{b(),h(w=>bd(w)?!0:!w),O&&g&&(p.current=x.isPropagationStopped(),p.current||x.stopPropagation())})})},"CheckboxTrigger")),Q$e=m.forwardRef(Dd(function(t,n){const{__scopeCheckbox:i,name:r,checked:s,defaultChecked:a,required:o,disabled:c,value:u,onCheckedChange:d,form:f,...h}=t;return l.jsx(fae,{__scopeCheckbox:i,checked:s,defaultChecked:a,disabled:c,required:o,onCheckedChange:d,name:r,form:f,value:u,internal_do_not_use_render:({isFormControl:p})=>l.jsxs(l.Fragment,{children:[l.jsx($$e,{...h,ref:n,__scopeCheckbox:i}),p&&l.jsx(z$e,{__scopeCheckbox:i})]})})},"Checkbox")),B$e="CheckboxIndicator",F$e=m.forwardRef(Dd(function(t,n){const{__scopeCheckbox:i,forceMount:r,...s}=t,a=s4(B$e,i);return l.jsx(Yb,{present:r||bd(a.checked)||a.checked===!0,children:l.jsx(os.span,{"data-state":a4(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),U$e="CheckboxBubbleInput",z$e=m.forwardRef(Dd(function({__scopeCheckbox:t,onClick:n,...i},r){const{control:s,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:c,defaultChecked:u,required:d,disabled:f,name:h,value:p,form:b,bubbleInput:g,setBubbleInput:O}=s4(U$e,t),y=Lr(r,O),v=ZA(s),x=m.useRef(!1),w=m.useRef(c),E=m.useRef(o);m.useEffect(()=>{const k=g;if(!k)return;const T=window.HTMLInputElement.prototype,A=Object.getOwnPropertyDescriptor(T,"checked").set,R=o!==E.current;E.current=o;const P=w.current!==c;w.current=c;const B=!(R&&a.current);if(P&&A){x.current=!R;const I=new Event("click",{bubbles:B});k.indeterminate=bd(c),A.call(k,bd(c)?!1:c),k.dispatchEvent(I),x.current=!1}},[g,c,a,o]);const S=m.useRef(bd(c)?!1:c);return l.jsx(os.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??S.current,required:d,disabled:f,name:h,value:p,form:b,...i,tabIndex:-1,ref:y,onClick:Pi(n,k=>{x.current&&k.stopPropagation()}),style:{...i.style,...v,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function hae(e){return typeof e=="function"}Dd(hae,"isFunction");function bd(e){return e==="indeterminate"}Dd(bd,"isIndeterminate");function a4(e){return bd(e)?"indeterminate":e?"checked":"unchecked"}Dd(a4,"getState");const V$e=["top","right","bottom","left"],yh=Math.min,Od=Math.max,MT=Math.round,wS=Math.floor,yd=e=>({x:e,y:e}),q$e={left:"right",right:"left",bottom:"top",top:"bottom"};function pae(e,t,n){return Od(e,yh(t,n))}function Id(e,t){return typeof e=="function"?e(t):e}function xh(e){return e.split("-")[0]}function Gb(e){return e.split("-")[1]}function o4(e){return e==="x"?"y":"x"}function l4(e){return e==="y"?"height":"width"}function Jc(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function c4(e){return o4(Jc(e))}function X$e(e,t,n){n===void 0&&(n=!1);const i=Gb(e),r=c4(e),s=l4(r);let a=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=LT(a)),[a,LT(a)]}function H$e(e){const t=LT(e);return[iM(e),t,iM(t)]}function iM(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const JU=["left","right"],ez=["right","left"],Y$e=["top","bottom"],G$e=["bottom","top"];function W$e(e,t,n){switch(e){case"top":case"bottom":return n?t?ez:JU:t?JU:ez;case"left":case"right":return t?Y$e:G$e;default:return[]}}function Z$e(e,t,n,i){const r=Gb(e);let s=W$e(xh(e),n==="start",i);return r&&(s=s.map(a=>a+"-"+r),t&&(s=s.concat(s.map(iM)))),s}function LT(e){const t=xh(e);return q$e[t]+e.slice(t.length)}function K$e(e){var t,n,i,r;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(i=e.bottom)!=null?i:0,left:(r=e.left)!=null?r:0}}function mae(e){return typeof e!="number"?K$e(e):{top:e,right:e,bottom:e,left:e}}function $T(e){const{x:t,y:n,width:i,height:r}=e;return{width:i,height:r,top:n,left:t,right:t+i,bottom:n+r,x:t,y:n}}function tz(e,t,n){let{reference:i,floating:r}=e;const s=Jc(t),a=c4(t),o=l4(a),c=xh(t),u=s==="y",d=i.x+i.width/2-r.width/2,f=i.y+i.height/2-r.height/2,h=i[o]/2-r[o]/2;let p;switch(c){case"top":p={x:d,y:i.y-r.height};break;case"bottom":p={x:d,y:i.y+i.height};break;case"right":p={x:i.x+i.width,y:f};break;case"left":p={x:i.x-r.width,y:f};break;default:p={x:i.x,y:i.y}}const b=Gb(t);return b&&(p[a]+=h*(b==="end"?1:-1)*(n&&u?-1:1)),p}async function J$e(e,t){var n;t===void 0&&(t={});const{x:i,y:r,platform:s,rects:a,elements:o,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:h=!1,padding:p=0}=Id(t,e),b=mae(p),O=o[h?f==="floating"?"reference":"floating":f],y=$T(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(O)))==null||n?O:O.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(o.floating)),boundary:u,rootBoundary:d,strategy:c})),v=f==="floating"?{x:i,y:r,width:a.floating.width,height:a.floating.height}:a.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(o.floating)),w=await(s.isElement==null?void 0:s.isElement(x))&&await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1},E=$T(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:v,offsetParent:x,strategy:c}):v);return{top:(y.top-E.top+b.top)/w.y,bottom:(E.bottom-y.bottom+b.bottom)/w.y,left:(y.left-E.left+b.left)/w.x,right:(E.right-y.right+b.right)/w.x}}const e4e=50,t4e=async(e,t,n)=>{const{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:a}=n,o=a.detectOverflow?a:{...a,detectOverflow:J$e},c=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=tz(u,i,c),h=i,p=0;const b={};for(let g=0;g({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:r,rects:s,platform:a,elements:o,middlewareData:c}=t,{element:u,padding:d=0}=Id(e,t)||{};if(u==null)return{};const f=mae(d),h={x:n,y:i},p=c4(r),b=l4(p),g=await a.getDimensions(u),O=p==="y",y=O?"top":"left",v=O?"bottom":"right",x=O?"clientHeight":"clientWidth",w=s.reference[b]+s.reference[p]-h[p]-s.floating[b],E=h[p]-s.reference[p],S=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let k=S?S[x]:0;(!k||!await(a.isElement==null?void 0:a.isElement(S)))&&(k=o.floating[x]||s.floating[b]);const T=w/2-E/2,C=k/2-g[b]/2-1,A=yh(f[y],C),R=yh(f[v],C),P=k-g[b]-R,B=k/2-g[b]/2+T,I=pae(A,B,P),$=!c.arrow&&Gb(r)!=null&&B!==I&&s.reference[b]/2-(BI<=0)){var R,P;const I=(((R=s.flip)==null?void 0:R.index)||0)+1,$=k[I];if($&&(!(f==="alignment"?v!==Jc($):!1)||A.every(F=>Jc(F.placement)===v?F.overflows[0]>0:!0)))return{data:{index:I,overflows:A},reset:{placement:$}};let j=(P=A.filter(D=>D.overflows[0]<=0).sort((D,F)=>D.overflows[1]-F.overflows[1])[0])==null?void 0:P.placement;if(!j)switch(p){case"bestFit":{var B;const D=(B=A.filter(F=>{if(S){const Q=Jc(F.placement);return Q===v||Q==="y"}return!0}).map(F=>[F.placement,F.overflows.filter(Q=>Q>0).reduce((Q,M)=>Q+M,0)]).sort((F,Q)=>F[1]-Q[1])[0])==null?void 0:B[0];D&&(j=D);break}case"initialPlacement":j=o;break}if(r!==j)return{reset:{placement:j}}}return{}}}};function nz(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function iz(e){return V$e.some(t=>e[t]>=0)}const r4e=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:i}=t,{strategy:r="referenceHidden",...s}=Id(e,t);switch(r){case"referenceHidden":{const a=await i.detectOverflow(t,{...s,elementContext:"reference"}),o=nz(a,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:iz(o)}}}case"escaped":{const a=await i.detectOverflow(t,{...s,altBoundary:!0}),o=nz(a,n.floating);return{data:{escapedOffsets:o,escaped:iz(o)}}}default:return{}}}}},gae=new Set(["left","top"]);async function s4e(e,t){const{placement:n,platform:i,elements:r}=e,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),a=xh(n),o=Gb(n),c=Jc(n)==="y",u=gae.has(a)?-1:1,d=s&&c?-1:1,f=Id(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:b}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return o&&typeof b=="number"&&(p=o==="end"?b*-1:b),c?{x:p*d,y:h*u}:{x:h*u,y:p*d}}const a4e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:r,y:s,placement:a,middlewareData:o}=t,c=await s4e(t,e);return a===((n=o.offset)==null?void 0:n.placement)&&(i=o.arrow)!=null&&i.alignmentOffset?{}:{x:r+c.x,y:s+c.y,data:{...c,placement:a}}}}},o4e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:r,platform:s}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:c={fn:v=>{let{x,y:w}=v;return{x,y:w}}},...u}=Id(e,t),d={x:n,y:i},f=await s.detectOverflow(t,u),h=Jc(r),p=o4(h);let b=d[p],g=d[h];const O=(v,x)=>pae(x+f[v==="y"?"top":"left"],x,x-f[v==="y"?"bottom":"right"]);a&&(b=O(p,b)),o&&(g=O(h,g));const y=c.fn({...t,[p]:b,[h]:g});return{...y,data:{x:y.x-n,y:y.y-i,enabled:{[p]:a,[h]:o}}}}}},l4e=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,i;const{x:r,y:s,placement:a,rects:o,middlewareData:c}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=Id(e,t),h={x:r,y:s},p=Jc(a),b=o4(p);let g=h[b],O=h[p];const y=Id(u,t),v=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:(n=y.mainAxis)!=null?n:0,crossAxis:(i=y.crossAxis)!=null?i:0};if(d){const E=b==="y"?"height":"width",S=o.reference[b]-o.floating[E]+v.mainAxis,k=o.reference[b]+o.reference[E]-v.mainAxis;gk&&(g=k)}if(f){var x,w;const E=b==="y"?"width":"height",S=gae.has(xh(a)),k=o.reference[p]-o.floating[E]+(S&&((x=c.offset)==null?void 0:x[p])||0)+(S?0:v.crossAxis),T=o.reference[p]+o.reference[E]+(S?0:((w=c.offset)==null?void 0:w[p])||0)-(S?v.crossAxis:0);OT&&(O=T)}return{[b]:g,[p]:O}}}},c4e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:i,platform:r,elements:s}=t,{apply:a=()=>{},...o}=Id(e,t),c=await r.detectOverflow(t,o),u=xh(n),d=Gb(n),f=Jc(n)==="y",{width:h,height:p}=i.floating;let b,g;u==="top"||u==="bottom"?(b=u,g=d===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(g=u,b=d==="end"?"top":"bottom");const O=p-c.top-c.bottom,y=h-c.left-c.right,v=yh(p-c[b],O),x=yh(h-c[g],y),w=t.middlewareData.shift,E=!w;let S=v,k=x;w!=null&&w.enabled.x&&(k=y),w!=null&&w.enabled.y&&(S=O),E&&!d&&(f?k=h-2*Od(c.left,c.right):S=p-2*Od(c.top,c.bottom)),await a({...t,availableWidth:k,availableHeight:S});const T=await r.getDimensions(s.floating);return h!==T.width||p!==T.height?{reset:{rects:!0}}:{}}}};function KA(){return typeof window<"u"}function Wb(e){return bae(e)?(e.nodeName||"").toLowerCase():"#document"}function co(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Xd(e){var t;return(t=(bae(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function bae(e){return KA()?e instanceof Node||e instanceof co(e).Node:!1}function fu(e){return KA()?e instanceof Element||e instanceof co(e).Element:!1}function Mh(e){return KA()?e instanceof HTMLElement||e instanceof co(e).HTMLElement:!1}function rz(e){return!KA()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof co(e).ShadowRoot}function JA(e){const{overflow:t,overflowX:n,overflowY:i,display:r}=hu(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&r!=="inline"&&r!=="contents"}function u4e(e){return/^(table|td|th)$/.test(Wb(e))}function e2(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const d4e=/transform|translate|scale|rotate|perspective|filter/,f4e=/paint|layout|strict|content/,Yh=e=>!!e&&e!=="none";let wj;function u4(e){const t=fu(e)?hu(e):e;return Yh(t.transform)||Yh(t.translate)||Yh(t.scale)||Yh(t.rotate)||Yh(t.perspective)||!d4()&&(Yh(t.backdropFilter)||Yh(t.filter))||d4e.test(t.willChange||"")||f4e.test(t.contain||"")}function h4e(e){let t=lm(e);for(;Mh(t)&&!m1(t);){if(u4(t))return t;if(e2(t))return null;t=lm(t)}return null}function d4(){return wj==null&&(wj=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),wj}function m1(e){return/^(html|body|#document)$/.test(Wb(e))}function hu(e){return co(e).getComputedStyle(e)}function t2(e){return fu(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function lm(e){if(Wb(e)==="html")return e;const t=e.assignedSlot||e.parentNode||rz(e)&&e.host||Xd(e);return rz(t)?t.host:t}function Oae(e){const t=lm(e);return m1(t)?(e.ownerDocument||e).body:Mh(t)&&JA(t)?t:Oae(t)}function g1(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Oae(e),s=r===((i=e.ownerDocument)==null?void 0:i.body),a=co(r);if(s){const o=rM(a);return t.concat(a,a.visualViewport||[],JA(r)?r:[],o&&n?g1(o):[])}else return t.concat(r,g1(r,[],n))}function rM(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function yae(e){const t=hu(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=Mh(e),s=r?e.offsetWidth:n,a=r?e.offsetHeight:i,o=MT(n)!==s||MT(i)!==a;return o&&(n=s,i=a),{width:n,height:i,$:o}}function f4(e){return fu(e)?e:e.contextElement}function v0(e){const t=f4(e);if(!Mh(t))return yd(1);const n=t.getBoundingClientRect(),{width:i,height:r,$:s}=yae(t);let a=(s?MT(n.width):n.width)/i,o=(s?MT(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}const p4e=yd(0);function xae(e){const t=co(e);return!d4()||!t.visualViewport?p4e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function m4e(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===co(e)}function cm(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=f4(e);let a=yd(1);t&&(i?fu(i)&&(a=v0(i)):a=v0(e));const o=m4e(s,n,i)?xae(s):yd(0);let c=(r.left+o.x)/a.x,u=(r.top+o.y)/a.y,d=r.width/a.x,f=r.height/a.y;if(s&&i){const h=co(s),p=fu(i)?co(i):i;let b=h,g=rM(b);for(;g&&p!==b;){const O=v0(g),y=g.getBoundingClientRect(),v=hu(g),x=y.left+(g.clientLeft+parseFloat(v.paddingLeft))*O.x,w=y.top+(g.clientTop+parseFloat(v.paddingTop))*O.y;c*=O.x,u*=O.y,d*=O.x,f*=O.y,c+=x,u+=w,b=co(g),g=rM(b)}}return $T({width:d,height:f,x:c,y:u})}function n2(e,t){const n=t2(e).scrollLeft;return t?t.left+n:cm(Xd(e)).left+n}function vae(e,t){const n=e.getBoundingClientRect(),i=n.left+t.scrollLeft-n2(e,n),r=n.top+t.scrollTop;return{x:i,y:r}}function g4e(e){let{elements:t,rect:n,offsetParent:i,strategy:r}=e;const s=r==="fixed",a=Xd(i),o=t?e2(t.floating):!1;if(i===a||o&&s)return n;let c={scrollLeft:0,scrollTop:0},u=yd(1);const d=yd(0),f=Mh(i);if((f||!s)&&((Wb(i)!=="body"||JA(a))&&(c=t2(i)),f)){const p=cm(i);u=v0(i),d.x=p.x+i.clientLeft,d.y=p.y+i.clientTop}const h=a&&!f&&!s?vae(a,c):yd(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-c.scrollLeft*u.x+d.x+h.x,y:n.y*u.y-c.scrollTop*u.y+d.y+h.y}}function b4e(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function O4e(e){const t=t2(e),n=e.ownerDocument.body,i=Od(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=Od(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let s=-t.scrollLeft+n2(e);const a=-t.scrollTop;return hu(n).direction==="rtl"&&(s+=Od(e.clientWidth,n.clientWidth)-i),{width:i,height:r,x:s,y:a}}const y4e=25;function x4e(e,t,n){n===void 0&&(n="viewport");const i=n==="layoutViewport",r=co(e),s=Xd(e),a=r.visualViewport;let o=s.clientWidth,c=s.clientHeight,u=0,d=0;if(a){const h=!d4()||t==="fixed";i?h||(u=-a.offsetLeft,d=-a.offsetTop):(o=a.width,c=a.height,h&&(u=a.offsetLeft,d=a.offsetTop))}if(n2(s)<=0){const h=s.ownerDocument,p=h.body,b=getComputedStyle(p),g=h.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,O=Math.abs(s.clientWidth-p.clientWidth-g),y=getComputedStyle(s).scrollbarGutter==="stable both-edges"?O/2:O;y<=y4e&&(o-=y)}return{width:o,height:c,x:u,y:d}}function v4e(e,t){const n=cm(e,!0,t==="fixed"),i=n.top+e.clientTop,r=n.left+e.clientLeft,s=v0(e),a=e.clientWidth*s.x,o=e.clientHeight*s.y,c=r*s.x,u=i*s.y;return{width:a,height:o,x:c,y:u}}function sz(e,t,n){let i;if(t==="viewport"||t==="layoutViewport")i=x4e(e,n,t);else if(t==="document")i=O4e(Xd(e));else if(fu(t))i=v4e(t,n);else{const r=xae(e);i={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return $T(i)}function w4e(e,t){const n=t.get(e);if(n)return n;let i=g1(e,[],!1).filter(o=>fu(o)&&Wb(o)!=="body"),r=null;const s=hu(e).position==="fixed";let a=s?lm(e):e;for(;fu(a)&&!m1(a);){const o=hu(a),c=u4(a),u=r?r.position:s?"fixed":"";!c&&(u==="fixed"||u==="absolute"&&o.position==="static")?i=i.filter(f=>f!==a):r=o,a=lm(a)}return t.set(e,i),i}function S4e(e){let{element:t,boundary:n,rootBoundary:i,strategy:r}=e;const a=[...n==="clippingAncestors"?e2(t)?[]:w4e(t,this._c):[].concat(n),i],o=sz(t,a[0],r);let c=o.top,u=o.right,d=o.bottom,f=o.left;for(let h=1;h{o(!1,1e-7)},1e3)}k=!1}try{i=new IntersectionObserver(T,{...S,root:s.ownerDocument})}catch{i=new IntersectionObserver(T,S)}i.observe(e)}const c=co(e),u=()=>o(n);return c.addEventListener("resize",u),o(!0),()=>{c.removeEventListener("resize",u),a()}}function N4e(e,t,n,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:c=!1}=i,u=f4(e),d=r||s?[...u?g1(u):[],...t?g1(t):[]]:[];d.forEach(y=>{r&&y.addEventListener("scroll",n),s&&y.addEventListener("resize",n)});const f=u&&o?C4e(u,n,s):null;let h=-1,p=null;a&&(p=new ResizeObserver(y=>{let[v]=y;v&&v.target===u&&p&&t&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=p)==null||x.observe(t)})),n()}),u&&!c&&p.observe(u),t&&p.observe(t));let b,g=c?cm(e):null;c&&O();function O(){const y=cm(e);g&&!Sae(g,y)&&n(),g=y,b=requestAnimationFrame(O)}return n(),()=>{var y;d.forEach(v=>{r&&v.removeEventListener("scroll",n),s&&v.removeEventListener("resize",n)}),f==null||f(),(y=p)==null||y.disconnect(),p=null,c&&cancelAnimationFrame(b)}}const j4e=a4e,R4e=o4e,D4e=i4e,I4e=c4e,P4e=r4e,oz=n4e,M4e=l4e,L4e=(e,t,n)=>{const i=new Map,r=n??{},s={...A4e,...r.platform,_c:i};return t4e(e,t,{...r,platform:s})};var $4e=typeof document<"u",Q4e=function(){},nk=$4e?m.useLayoutEffect:Q4e;function QT(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!QT(e[i],t[i]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,r[i]))return!1;for(i=n;i--!==0;){const s=r[i];if(!(s==="_owner"&&e.$$typeof)&&!QT(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Eae(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function lz(e,t){const n=Eae(e);return Math.round(t*n)/n}function Ej(e){const t=m.useRef(e);return nk(()=>{t.current=e}),t}function B4e(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:a}={},transform:o=!0,whileElementsMounted:c,open:u}=e,[d,f]=m.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=m.useState(i);QT(h,i)||p(i);const[b,g]=m.useState(null),[O,y]=m.useState(null),v=m.useCallback(F=>{F!==S.current&&(S.current=F,g(F))},[]),x=m.useCallback(F=>{F!==k.current&&(k.current=F,y(F))},[]),w=s||b,E=a||O,S=m.useRef(null),k=m.useRef(null),T=m.useRef(d),C=c!=null,A=Ej(c),R=Ej(r),P=Ej(u),B=m.useCallback(()=>{if(!S.current||!k.current)return;const F={placement:t,strategy:n,middleware:h};R.current&&(F.platform=R.current),L4e(S.current,k.current,F).then(Q=>{const M={...Q,isPositioned:P.current!==!1};I.current&&!QT(T.current,M)&&(T.current=M,zi.flushSync(()=>{f(M)}))})},[h,t,n,R,P]);nk(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(F=>({...F,isPositioned:!1})))},[u]);const I=m.useRef(!1);nk(()=>(I.current=!0,()=>{I.current=!1}),[]),nk(()=>{if(w&&(S.current=w),E&&(k.current=E),w&&E){if(A.current)return A.current(w,E,B);B()}},[w,E,B,A,C]);const $=m.useMemo(()=>({reference:S,floating:k,setReference:v,setFloating:x}),[v,x]),j=m.useMemo(()=>({reference:w,floating:E}),[w,E]),D=m.useMemo(()=>{const F={position:n,left:0,top:0};if(!j.floating)return F;const Q=lz(j.floating,d.x),M=lz(j.floating,d.y);return o?{...F,transform:"translate("+Q+"px, "+M+"px)",...Eae(j.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:Q,top:M}},[n,o,j.floating,d.x,d.y]);return m.useMemo(()=>({...d,update:B,refs:$,elements:j,floatingStyles:D}),[d,B,$,j,D])}const F4e=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:i,padding:r}=typeof e=="function"?e(n):e;return i&&t(i)?i.current!=null?oz({element:i.current,padding:r}).fn(n):{}:i?oz({element:i,padding:r}).fn(n):{}}}},U4e=(e,t)=>{const n=j4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},z4e=(e,t)=>{const n=R4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},V4e=(e,t)=>({fn:M4e(e).fn,options:[e,t]}),q4e=(e,t)=>{const n=D4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},X4e=(e,t)=>{const n=I4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},H4e=(e,t)=>{const n=P4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},Y4e=(e,t)=>{const n=F4e(e);return{name:n.name,fn:n.fn,options:[e,t]}};var G4e=Object.defineProperty,sh=(e,t)=>G4e(e,"name",{value:t,configurable:!0}),kae="Popper",[Tae,i2]=xc(kae),[W4e,_ae]=Tae(kae),Z4e=sh(e=>{const{__scopePopper:t,children:n}=e,[i,r]=m.useState(null),[s,a]=m.useState(void 0);return l.jsx(W4e,{scope:t,anchor:i,onAnchorChange:r,placementState:s,setPlacementState:a,children:n})},"Popper"),K4e="PopperAnchor",J4e=m.forwardRef(sh(function(t,n){const{__scopePopper:i,virtualRef:r,...s}=t,a=_ae(K4e,i),o=m.useRef(null),c=a.onAnchorChange,u=m.useCallback(g=>{o.current=g,g&&c(g)},[c]),d=Lr(n,u),f=m.useRef(null);m.useEffect(()=>{if(!r)return;const g=f.current;f.current=r.current,g!==f.current&&c(f.current)});const h=a.placementState&&r2(a.placementState),p=h==null?void 0:h[0],b=h==null?void 0:h[1];return r?null:l.jsx(os.div,{"data-radix-popper-side":p,"data-radix-popper-align":b,...s,ref:d})},"PopperAnchor")),Aae="PopperContent",[e6e,gwt]=Tae(Aae),t6e=m.forwardRef(sh(function(t,n){var K,ee,ye,ve,Re,Pe,De;const{__scopePopper:i,side:r="bottom",sideOffset:s=0,align:a="center",alignOffset:o=0,arrowPadding:c=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:b="optimized",onPlaced:g,...O}=t,y=_ae(Aae,i),[v,x]=m.useState(null),w=Lr(n,x),[E,S]=m.useState(null),k=ZA(E),T=(k==null?void 0:k.width)??0,C=(k==null?void 0:k.height)??0,A=r+(a!=="center"?"-"+a:""),R=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},P=Array.isArray(d)?d:[d],B=P.length>0,I={padding:R,boundary:P.filter(Cae),altBoundary:B},{refs:$,floatingStyles:j,placement:D,isPositioned:F,middlewareData:Q}=B4e({strategy:"fixed",placement:A,whileElementsMounted:sh((...he)=>N4e(...he,{animationFrame:b==="always"}),"whileElementsMounted"),elements:{reference:y.anchor},middleware:[U4e({mainAxis:s+C,alignmentAxis:o}),u&&z4e({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?V4e():void 0,...I}),u&&q4e({...I}),X4e({...I,apply:sh(({elements:he,rects:Ee,availableWidth:Oe,availableHeight:Le})=>{const{width:Fe,height:_e}=Ee.reference,Ye=he.floating.style;Ye.setProperty("--radix-popper-available-width",`${Oe}px`),Ye.setProperty("--radix-popper-available-height",`${Le}px`),Ye.setProperty("--radix-popper-anchor-width",`${Fe}px`),Ye.setProperty("--radix-popper-anchor-height",`${_e}px`)},"apply")}),E&&Y4e({element:E,padding:c}),n6e({arrowWidth:T,arrowHeight:C}),p&&H4e({strategy:"referenceHidden",...I,boundary:B?I.boundary:void 0})]}),M=y.setPlacementState;Tl(()=>(M(D),()=>{M(void 0)}),[D,M]);const[G,H]=r2(D),U=Oh(g);Tl(()=>{F&&(U==null||U())},[F,U]);const q=(K=Q.arrow)==null?void 0:K.x,ie=(ee=Q.arrow)==null?void 0:ee.y,fe=((ye=Q.arrow)==null?void 0:ye.centerOffset)!==0,[me,ce]=m.useState();return Tl(()=>{v&&ce(window.getComputedStyle(v).zIndex)},[v]),l.jsx("div",{ref:$.setFloating,"data-radix-popper-content-wrapper":"",style:{...j,transform:F?j.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:me,"--radix-popper-transform-origin":[(ve=Q.transformOrigin)==null?void 0:ve.x,(Re=Q.transformOrigin)==null?void 0:Re.y].join(" "),...((Pe=Q.hide)==null?void 0:Pe.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:l.jsx(e6e,{scope:i,placedSide:G,placedAlign:H,onArrowChange:S,arrowX:q,arrowY:ie,shouldHideArrow:fe,children:l.jsx(os.div,{"data-side":G,"data-align":H,...O,ref:w,style:{...O.style,animation:F?(De=O.style)==null?void 0:De.animation:"none"}})})})},"PopperContent"));function Cae(e){return e!==null}sh(Cae,"isNotNull");var n6e=sh(e=>({name:"transformOrigin",options:e,fn(t){var O,y,v;const{placement:n,rects:i,middlewareData:r}=t,a=((O=r.arrow)==null?void 0:O.centerOffset)!==0,o=a?0:e.arrowWidth,c=a?0:e.arrowHeight,[u,d]=r2(n),f={start:"0%",center:"50%",end:"100%"}[d],h=(((y=r.arrow)==null?void 0:y.x)??0)+o/2,p=(((v=r.arrow)==null?void 0:v.y)??0)+c/2;let b="",g="";return u==="bottom"?(b=a?f:`${h}px`,g=`${-c}px`):u==="top"?(b=a?f:`${h}px`,g=`${i.floating.height+c}px`):u==="right"?(b=`${-c}px`,g=a?f:`${p}px`):u==="left"&&(b=`${i.floating.width+c}px`,g=a?f:`${p}px`),{data:{x:b,y:g}}}}),"transformOrigin");function r2(e){const[t,n="center"]=e.split("-");return[t,n]}sh(r2,"getSideAndAlignFromPlacement");var Nae=Z4e,jae=J4e,Rae=t6e,i6e=Object.defineProperty,h4=(e,t)=>i6e(e,"name",{value:t,configurable:!0}),kj=!1;function Dae(){const[e,t]=m.useState(kj);return m.useEffect(()=>{kj||(kj=!0,t(!0))},[]),e}h4(Dae,"useIsHydrated");var Iae=Cb[" useSyncExternalStore ".trim().toString()];function Pae(){return()=>{}}h4(Pae,"subscribe");function Mae(){return Iae(Pae,()=>!0,()=>!1)}h4(Mae,"useIsHydratedModern");var r6e=typeof Iae=="function"?Mae:Dae,s6e=Object.defineProperty,Cm=(e,t)=>s6e(e,"name",{value:t,configurable:!0}),Tj="rovingFocusGroup.onEntryFocus",a6e={bubbles:!1,cancelable:!0},s2="RovingFocusGroup",[sM,Lae,o6e]=jse(s2),[l6e,a2]=xc(s2,[o6e]),[c6e,u6e]=l6e(s2),d6e=m.forwardRef(Cm(function(t,n){return l.jsx(sM.Provider,{scope:t.__scopeRovingFocusGroup,children:l.jsx(sM.Slot,{scope:t.__scopeRovingFocusGroup,children:l.jsx(f6e,{...t,ref:n})})})},"RovingFocusGroup")),f6e=m.forwardRef(Cm(function(t,n){const{__scopeRovingFocusGroup:i,orientation:r,loop:s=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...h}=t,p=m.useRef(null),b=Lr(n,p),g=GA(a),[O,y]=qd({prop:o,defaultProp:c??null,onChange:u,caller:s2}),[v,x]=m.useState(!1),w=Oh(d),E=Lae(i),S=m.useRef(!1),[k,T]=m.useState(0);return m.useEffect(()=>{const C=p.current;if(C)return C.addEventListener(Tj,w),()=>C.removeEventListener(Tj,w)},[w]),l.jsx(c6e,{scope:i,orientation:r,dir:g,loop:s,currentTabStopId:O,onItemFocus:m.useCallback(C=>y(C),[y]),onItemShiftTab:m.useCallback(()=>x(!0),[]),onFocusableItemAdd:m.useCallback(()=>T(C=>C+1),[]),onFocusableItemRemove:m.useCallback(()=>T(C=>C-1),[]),children:l.jsx(os.div,{tabIndex:v||k===0?-1:0,"data-orientation":r,...h,ref:b,style:{outline:"none",...t.style},onMouseDown:Pi(t.onMouseDown,()=>{S.current=!0}),onFocus:Pi(t.onFocus,C=>{const A=!S.current;if(C.target===C.currentTarget&&A&&!v){const R=new CustomEvent(Tj,a6e);if(C.currentTarget.dispatchEvent(R),!R.defaultPrevented){const P=E().filter(D=>D.focusable),B=P.find(D=>D.active),I=P.find(D=>D.id===O),j=[B,I,...P].filter(Boolean).map(D=>D.ref.current);p4(j,f)}}S.current=!1}),onBlur:Pi(t.onBlur,()=>x(!1))})})},"RovingFocusGroupImpl")),h6e="RovingFocusGroupItem",p6e=m.forwardRef(Cm(function(t,n){const{__scopeRovingFocusGroup:i,focusable:r=!0,active:s=!1,tabStopId:a,children:o,...c}=t,u=YA(),d=a||u,f=u6e(h6e,i),h=f.currentTabStopId===d,p=Lae(i),{onFocusableItemAdd:b,onFocusableItemRemove:g,currentTabStopId:O}=f,y=r6e();return Tl(()=>{if(!(!y||!r))return b(),()=>g()},[y,r,b,g]),m.useEffect(()=>{if(!(y||!r))return b(),()=>g()},[y,r,b,g]),l.jsx(sM.ItemSlot,{scope:i,id:d,focusable:r,active:s,children:l.jsx(os.span,{tabIndex:h?0:-1,"data-orientation":f.orientation,...c,ref:n,onMouseDown:Pi(t.onMouseDown,v=>{r?f.onItemFocus(d):v.preventDefault()}),onFocus:Pi(t.onFocus,()=>f.onItemFocus(d)),onKeyDown:Pi(t.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){f.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const x=Qae(v,f.orientation,f.dir);if(x!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let E=p().filter(S=>S.focusable).map(S=>S.ref.current);if(x==="last")E.reverse();else if(x==="prev"||x==="next"){x==="prev"&&E.reverse();const S=E.indexOf(v.currentTarget);E=f.loop?Bae(E,S+1):E.slice(S+1)}setTimeout(()=>p4(E))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:O!=null}):o})})},"RovingFocusGroupItem")),m6e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function $ae(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}Cm($ae,"getDirectionAwareKey");function Qae(e,t,n){const i=$ae(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return m6e[i]}Cm(Qae,"getFocusIntent");function p4(e,t=!1){const n=document.activeElement;for(const i of e)if(i===n||(i.focus({preventScroll:t}),document.activeElement!==n))return}Cm(p4,"focusFirst");function Bae(e,t){return e.map((n,i)=>e[(t+i)%e.length])}Cm(Bae,"wrapArray");var Fae=d6e,Uae=p6e,g6e=Object.defineProperty,Lh=(e,t)=>g6e(e,"name",{value:t,configurable:!0}),m4="Popover",[zae,bwt]=xc(m4,[i2]),g4=i2(),[b6e,Zb]=zae(m4),O6e=Lh(e=>{const{__scopePopover:t,children:n,open:i,defaultOpen:r,onOpenChange:s,modal:a=!1}=e,o=g4(t),c=m.useRef(null),[u,d]=m.useState(!1),[f,h]=qd({prop:i,defaultProp:r??!1,onChange:s,caller:m4});return l.jsx(Nae,{...o,children:l.jsx(b6e,{scope:t,contentId:YA(),triggerRef:c,open:f,onOpenChange:h,onOpenToggle:m.useCallback(()=>h(p=>!p),[h]),hasCustomAnchor:u,onCustomAnchorAdd:m.useCallback(()=>d(!0),[]),onCustomAnchorRemove:m.useCallback(()=>d(!1),[]),modal:a,children:n})})},"Popover"),y6e="PopoverTrigger",x6e=m.forwardRef(Lh(function(t,n){const{__scopePopover:i,...r}=t,s=Zb(y6e,i),a=g4(i),o=Lr(n,s.triggerRef),c=l.jsx(os.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":b4(s.open),...r,ref:o,onClick:Pi(t.onClick,s.onOpenToggle)});return s.hasCustomAnchor?c:l.jsx(jae,{asChild:!0,...a,children:c})},"PopoverTrigger")),Vae="PopoverPortal",[v6e,w6e]=zae(Vae,{forceMount:void 0}),S6e=Lh(e=>{const{__scopePopover:t,forceMount:n,children:i,container:r}=e,s=Zb(Vae,t);return l.jsx(v6e,{scope:t,forceMount:n,children:l.jsx(Yb,{present:n||s.open,children:l.jsx(nae,{asChild:!0,container:r,children:i})})})},"PopoverPortal"),b1="PopoverContent",E6e=m.forwardRef(Lh(function(t,n){const i=w6e(b1,t.__scopePopover),{forceMount:r=i.forceMount,...s}=t,a=Zb(b1,t.__scopePopover);return l.jsx(Yb,{present:r||a.open,children:a.modal?l.jsx(T6e,{...s,ref:n}):l.jsx(_6e,{...s,ref:n})})},"PopoverContent")),k6e=bh("PopoverContent.RemoveScroll"),T6e=m.forwardRef(Lh(function(t,n){const i=Zb(b1,t.__scopePopover),r=m.useRef(null),s=Lr(n,r),a=m.useRef(!1);return m.useEffect(()=>{const o=r.current;if(o)return j$e(o)},[]),l.jsx(uae,{as:k6e,allowPinchZoom:!0,children:l.jsx(qae,{...t,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Pi(t.onCloseAutoFocus,o=>{var c;o.preventDefault(),a.current||(c=i.triggerRef.current)==null||c.focus()}),onPointerDownOutside:Pi(t.onPointerDownOutside,o=>{const c=o.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,d=c.button===2||u;a.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:Pi(t.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})},"PopoverContentModal")),_6e=m.forwardRef(Lh(function(t,n){const i=Zb(b1,t.__scopePopover),r=m.useRef(!1),s=m.useRef(!1);return l.jsx(qae,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,c;(o=t.onCloseAutoFocus)==null||o.call(t,a),a.defaultPrevented||(r.current||(c=i.triggerRef.current)==null||c.focus(),a.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:a=>{var u,d;(u=t.onInteractOutside)==null||u.call(t,a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=a.target;((d=i.triggerRef.current)==null?void 0:d.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&s.current&&a.preventDefault()}})},"PopoverContentNonModal")),qae=m.forwardRef(Lh(function(t,n){const{__scopePopover:i,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...h}=t,p=Zb(b1,i),b=g4(i);return i4(),l.jsx(F3e,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:a,children:l.jsx(Hse,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>p.onOpenChange(!1),deferPointerDownOutside:!0,children:l.jsx(Rae,{"data-state":b4(p.open),role:"dialog",id:p.contentId,...b,...h,ref:n,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})},"PopoverContentImpl"));function b4(e){return e?"open":"closed"}Lh(b4,"getState");var A6e=O6e,C6e=x6e,N6e=S6e,j6e=E6e,R6e=Object.defineProperty,ma=(e,t)=>R6e(e,"name",{value:t,configurable:!0}),Xae="Radio",[D6e,Hae]=xc(Xae),[I6e,o2]=D6e(Xae);function Yae(e){const{__scopeRadio:t,checked:n=!1,children:i,disabled:r,form:s,name:a,onCheck:o,required:c,value:u="on",internal_do_not_use_render:d}=e,[f,h]=m.useState(null),[p,b]=m.useState(null),g=m.useRef(!1),[O,y]=m.useReducer(w=>w+1,0),v=f?!!s||!!f.closest("form"):!0,x={checked:n,disabled:r,required:c,name:a,form:s,value:u,control:f,setControl:h,hasConsumerStoppedPropagationRef:g,userInteractionCount:O,onUserInteraction:y,isFormControl:v,bubbleInput:p,setBubbleInput:b,onCheck:ma(()=>o==null?void 0:o(),"onCheck")};return l.jsx(I6e,{scope:t,...x,children:Gae(d)?d(x):i})}ma(Yae,"RadioProvider");var P6e="RadioTrigger",M6e=m.forwardRef(ma(function({__scopeRadio:t,onClick:n,...i},r){const{checked:s,disabled:a,value:o,setControl:c,onCheck:u,hasConsumerStoppedPropagationRef:d,onUserInteraction:f,isFormControl:h,bubbleInput:p}=o2(P6e,t),b=Lr(r,c);return l.jsx(os.button,{type:"button",role:"radio","aria-checked":s,"data-state":O4(s),"data-disabled":a?"":void 0,disabled:a,value:o,...i,ref:b,onClick:Pi(n,g=>{s||(f(),u()),p&&h&&(d.current=g.isPropagationStopped(),d.current||g.stopPropagation())})})},"RadioTrigger")),L6e="RadioIndicator",$6e=m.forwardRef(ma(function(t,n){const{__scopeRadio:i,forceMount:r,...s}=t,a=o2(L6e,i);return l.jsx(Yb,{present:r||a.checked,children:l.jsx(os.span,{"data-state":O4(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n})})},"RadioIndicator")),Q6e="RadioBubbleInput",B6e=m.forwardRef(ma(function({__scopeRadio:t,onClick:n,...i},r){const{control:s,checked:a,required:o,disabled:c,name:u,value:d,form:f,bubbleInput:h,setBubbleInput:p,hasConsumerStoppedPropagationRef:b,userInteractionCount:g}=o2(Q6e,t),O=Lr(r,p),y=ZA(s),v=m.useRef(!1),x=m.useRef(a),w=m.useRef(g);m.useEffect(()=>{const S=h;if(!S)return;const k=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(k,"checked").set,A=g!==w.current;w.current=g;const R=x.current!==a;x.current=a;const P=!(A&&b.current);if(R&&C){v.current=!A;const B=new Event("click",{bubbles:P});C.call(S,a),S.dispatchEvent(B),v.current=!1}},[h,a,b,g]);const E=m.useRef(a);return l.jsx(os.input,{type:"radio","aria-hidden":!0,defaultChecked:E.current,required:o,disabled:c,name:u,value:d,form:f,...i,tabIndex:-1,ref:O,onClick:Pi(n,S=>{v.current&&S.stopPropagation()}),style:{...i.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function Gae(e){return typeof e=="function"}ma(Gae,"isFunction");function O4(e){return e?"checked":"unchecked"}ma(O4,"getState");var F6e=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],y4="RadioGroup",[U6e,Owt]=xc(y4,[a2,Hae]),Wae=a2(),l2=Hae(),[z6e,V6e]=U6e(y4),q6e=m.forwardRef(ma(function(t,n){const{__scopeRadioGroup:i,name:r,form:s,defaultValue:a,value:o,required:c=!1,disabled:u=!1,orientation:d,dir:f,loop:h=!0,onValueChange:p,...b}=t,g=Wae(i),O=GA(f),[y,v]=qd({prop:o,defaultProp:a??null,onChange:p,caller:y4}),[x,w]=m.useState(null),E=Lr(n,w),S=m.useRef(y);return m.useEffect(()=>{const k=s?x==null?void 0:x.ownerDocument.getElementById(s):x==null?void 0:x.closest("form");if(k instanceof HTMLFormElement){const T=ma(()=>v(S.current),"reset");return k.addEventListener("reset",T),()=>k.removeEventListener("reset",T)}},[x,s,v]),l.jsx(z6e,{scope:i,name:r,form:s,required:c,disabled:u,value:y,onValueChange:v,children:l.jsx(Fae,{asChild:!0,...g,orientation:d,dir:O,loop:h,children:l.jsx(os.div,{role:"radiogroup","aria-required":c,"aria-orientation":d,"data-disabled":u?"":void 0,dir:O,...b,ref:E})})})},"RadioGroup")),X6e="RadioGroupItemProvider",H6e="RadioGroupItemTrigger";function Zae(e){const{__scopeRadioGroup:t,value:n,disabled:i,children:r,internal_do_not_use_render:s}=e,a=V6e(X6e,t),o=l2(t),c=a.disabled||i;return l.jsx(Yae,{...o,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:s,children:r})}ma(Zae,"RadioGroupItemProvider");var Y6e=m.forwardRef(ma(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=Wae(i),a=l2(i),{checked:o,disabled:c}=o2(H6e,a.__scopeRadio),u=m.useRef(null),d=Lr(n,u),f=m.useRef(!1);return m.useEffect(()=>{const h=ma(b=>{F6e.includes(b.key)&&(f.current=!0)},"handleKeyDown"),p=ma(()=>f.current=!1,"handleKeyUp");return document.addEventListener("keydown",h),document.addEventListener("keyup",p),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",p)}},[]),l.jsx(Uae,{asChild:!0,...s,focusable:!c,active:o,children:l.jsx(M6e,{...a,...r,ref:d,onKeyDown:Pi(r.onKeyDown,h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:Pi(r.onFocus,()=>{var h;f.current&&((h=u.current)==null||h.click())})})})},"RadioGroupItemTrigger")),G6e=m.forwardRef(ma(function(t,n){const{__scopeRadioGroup:i,value:r,disabled:s,...a}=t;return l.jsx(Zae,{__scopeRadioGroup:i,value:r,disabled:s,internal_do_not_use_render:({isFormControl:o})=>l.jsxs(l.Fragment,{children:[l.jsx(Y6e,{...a,ref:n,__scopeRadioGroup:i}),o&&l.jsx(W6e,{__scopeRadioGroup:i})]})})},"RadioGroupItem")),W6e=m.forwardRef(ma(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=l2(i);return l.jsx(B6e,{...s,...r,ref:n})},"RadioGroupItemBubbleInput")),Z6e=m.forwardRef(ma(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=l2(i);return l.jsx($6e,{...s,...r,ref:n})},"RadioGroupIndicator")),K6e=Object.defineProperty,J6e=(e,t)=>K6e(e,"name",{value:t,configurable:!0}),eQe="Toggle",tQe=m.forwardRef(J6e(function(t,n){const{pressed:i,defaultPressed:r,onPressedChange:s,...a}=t,[o,c]=qd({prop:i,onChange:s,defaultProp:r??!1,caller:eQe});return l.jsx(os.button,{type:"button","aria-pressed":o,"data-state":o?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:n,onClick:Pi(t.onClick,()=>{t.disabled||c(!o)})})},"Toggle")),nQe=Object.defineProperty,vh=(e,t)=>nQe(e,"name",{value:t,configurable:!0}),Kb="ToggleGroup",[Kae,ywt]=xc(Kb,[a2]),Jae=a2(),iQe=m.forwardRef(vh(function(t,n){const{type:i,...r}=t;if(i==="single"){const s=r;return l.jsx(rQe,{role:"radiogroup",...s,ref:n})}if(i==="multiple"){const s=r;return l.jsx(sQe,{role:"toolbar",...s,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${Kb}\``)},"ToggleGroup")),[eoe,toe]=Kae(Kb),rQe=m.forwardRef(vh(function(t,n){const{value:i,defaultValue:r,onValueChange:s=vh(()=>{},"onValueChange"),...a}=t,[o,c]=qd({prop:i,defaultProp:r??"",onChange:s,caller:Kb});return l.jsx(eoe,{scope:t.__scopeToggleGroup,type:"single",value:m.useMemo(()=>o?[o]:[],[o]),onItemActivate:c,onItemDeactivate:m.useCallback(()=>c(""),[c]),children:l.jsx(noe,{...a,ref:n})})},"ToggleGroupImplSingle")),sQe=m.forwardRef(vh(function(t,n){const{value:i,defaultValue:r,onValueChange:s=vh(()=>{},"onValueChange"),...a}=t,[o,c]=qd({prop:i,defaultProp:r??[],onChange:s,caller:Kb}),u=m.useCallback(f=>c((h=[])=>[...h,f]),[c]),d=m.useCallback(f=>c((h=[])=>h.filter(p=>p!==f)),[c]);return l.jsx(eoe,{scope:t.__scopeToggleGroup,type:"multiple",value:o,onItemActivate:u,onItemDeactivate:d,children:l.jsx(noe,{...a,ref:n})})},"ToggleGroupImplMultiple")),[aQe,oQe]=Kae(Kb),noe=m.forwardRef(vh(function(t,n){const{__scopeToggleGroup:i,disabled:r=!1,rovingFocus:s=!0,orientation:a,dir:o,loop:c=!0,...u}=t,d=Jae(i),f=GA(o),h={dir:f,...u};return l.jsx(aQe,{scope:i,rovingFocus:s,disabled:r,children:s?l.jsx(Fae,{asChild:!0,...d,orientation:a,dir:f,loop:c,children:l.jsx(os.div,{...h,ref:n})}):l.jsx(os.div,{...h,ref:n})})},"ToggleGroupImpl")),aM="ToggleGroupItem",lQe=m.forwardRef(vh(function(t,n){const i=toe(aM,t.__scopeToggleGroup),r=oQe(aM,t.__scopeToggleGroup),s=Jae(t.__scopeToggleGroup),a=i.value.includes(t.value),o=r.disabled||t.disabled,c={...t,pressed:a,disabled:o},u=m.useRef(null);return r.rovingFocus?l.jsx(Uae,{asChild:!0,...s,focusable:!o,active:a,ref:u,children:l.jsx(cz,{...c,ref:n})}):l.jsx(cz,{...c,ref:n})},"ToggleGroupItem")),cz=m.forwardRef(vh(function(t,n){const{__scopeToggleGroup:i,value:r,...s}=t,a=toe(aM,i),o={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},c=a.type==="single"?o:void 0;return l.jsx(tQe,{...c,...s,ref:n,onPressedChange:u=>{u?a.onItemActivate(r):a.onItemDeactivate(r)}})},"ToggleGroupItemImpl")),cQe=Object.defineProperty,Ls=(e,t)=>cQe(e,"name",{value:t,configurable:!0}),[x4,xwt]=xc("Tooltip",[i2]),v4=i2(),uQe="TooltipProvider",dQe=700,oM="tooltip.open",[fQe,w4]=x4(uQe),hQe=Ls(e=>{const{__scopeTooltip:t,delayDuration:n=dQe,skipDelayDuration:i=300,disableHoverableContent:r=!1,children:s}=e,a=m.useRef(!0),o=m.useRef(!1),c=m.useRef(0);return m.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),l.jsx(fQe,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:m.useCallback(()=>{i<=0||(window.clearTimeout(c.current),a.current=!1)},[i]),onClose:m.useCallback(()=>{i<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.current=!0,i))},[i]),isPointerInTransitRef:o,onPointerInTransitChange:m.useCallback(u=>{o.current=u},[]),disableHoverableContent:r,children:s})},"TooltipProvider"),lM="Tooltip",[pQe,jv]=x4(lM),mQe=Ls(e=>{const{__scopeTooltip:t,children:n,open:i,defaultOpen:r,onOpenChange:s,disableHoverableContent:a,delayDuration:o}=e,c=w4(lM,e.__scopeTooltip),u=v4(t),[d,f]=m.useState(null),[h,p]=m.useState(void 0),b=YA(),g=m.useRef(0),O=a??c.disableHoverableContent,y=o??c.delayDuration,v=m.useRef(!1),[x,w]=qd({prop:i,defaultProp:r??!1,onChange:Ls(A=>{A?(c.onOpen(),document.dispatchEvent(new CustomEvent(oM))):c.onClose(),s==null||s(A)},"onChange"),caller:lM}),E=m.useMemo(()=>x?v.current?"delayed-open":"instant-open":"closed",[x]),S=m.useCallback(()=>{window.clearTimeout(g.current),g.current=0,v.current=!1,w(!0)},[w]),k=m.useCallback(()=>{window.clearTimeout(g.current),g.current=0,w(!1)},[w]),T=m.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{v.current=!0,w(!0),g.current=0},y)},[y,w]);m.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]);const C=h??b;return l.jsx(Nae,{...u,children:l.jsx(pQe,{scope:t,contentId:C,setContentId:p,open:x,stateAttribute:E,trigger:d,onTriggerChange:f,onTriggerEnter:m.useCallback(()=>{c.isOpenDelayedRef.current?T():S()},[c.isOpenDelayedRef,T,S]),onTriggerLeave:m.useCallback(()=>{O?k():(window.clearTimeout(g.current),g.current=0)},[k,O]),onOpen:S,onClose:k,disableHoverableContent:O,children:n})})},"Tooltip"),uz="TooltipTrigger",gQe=m.forwardRef(Ls(function(t,n){const{__scopeTooltip:i,...r}=t,s=jv(uz,i),a=w4(uz,i),o=v4(i),c=m.useRef(null),u=Lr(n,c,s.onTriggerChange),d=m.useRef(!1),f=m.useRef(!1),h=m.useCallback(()=>d.current=!1,[]);return m.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),l.jsx(jae,{asChild:!0,...o,children:l.jsx(os.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:u,onPointerMove:Pi(t.onPointerMove,p=>{p.pointerType!=="touch"&&!f.current&&!a.isPointerInTransitRef.current&&(s.onTriggerEnter(),f.current=!0)}),onPointerLeave:Pi(t.onPointerLeave,()=>{s.onTriggerLeave(),f.current=!1}),onPointerDown:Pi(t.onPointerDown,()=>{s.open&&s.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:Pi(t.onFocus,()=>{d.current||s.onOpen()}),onBlur:Pi(t.onBlur,s.onClose),onClick:Pi(t.onClick,s.onClose)})})},"TooltipTrigger")),ioe="TooltipPortal",[bQe,OQe]=x4(ioe,{forceMount:void 0}),yQe=Ls(e=>{const{__scopeTooltip:t,forceMount:n,children:i,container:r}=e,s=jv(ioe,t);return l.jsx(bQe,{scope:t,forceMount:n,children:l.jsx(Yb,{present:n||s.open,children:l.jsx(nae,{asChild:!0,container:r,children:i})})})},"TooltipPortal"),O1="TooltipContent",xQe=m.forwardRef(Ls(function(t,n){const i=OQe(O1,t.__scopeTooltip),{forceMount:r=i.forceMount,side:s="top",...a}=t,o=jv(O1,t.__scopeTooltip);return l.jsx(Yb,{present:r||o.open,children:o.disableHoverableContent?l.jsx(roe,{side:s,...a,ref:n}):l.jsx(vQe,{side:s,...a,ref:n})})},"TooltipContent")),vQe=m.forwardRef(Ls(function(t,n){const i=jv(O1,t.__scopeTooltip),r=w4(O1,t.__scopeTooltip),s=m.useRef(null),a=Lr(n,s),[o,c]=m.useState(null),{trigger:u,onClose:d}=i,f=s.current,{onPointerInTransitChange:h}=r,p=m.useCallback(()=>{c(null),h(!1)},[h]),b=m.useCallback((g,O)=>{const y=g.currentTarget,v={x:g.clientX,y:g.clientY},x=soe(v,y.getBoundingClientRect()),w=aoe(v,x),E=ooe(O.getBoundingClientRect()),S=coe([...w,...E]);c(S),h(!0)},[h]);return m.useEffect(()=>()=>p(),[p]),m.useEffect(()=>{if(u&&f){const g=Ls(y=>b(y,f),"handleTriggerLeave"),O=Ls(y=>b(y,u),"handleContentLeave");return u.addEventListener("pointerleave",g),f.addEventListener("pointerleave",O),()=>{u.removeEventListener("pointerleave",g),f.removeEventListener("pointerleave",O)}}},[u,f,b,p]),m.useEffect(()=>{if(o){const g=Ls(O=>{const y=O.target,v={x:O.clientX,y:O.clientY},x=(u==null?void 0:u.contains(y))||(f==null?void 0:f.contains(y)),w=!loe(v,o);x?p():w&&(p(),d())},"handleTrackPointerGrace");return document.addEventListener("pointermove",g),()=>document.removeEventListener("pointermove",g)}},[u,f,o,d,p]),l.jsx(roe,{...t,ref:a})},"TooltipContentHoverable")),wQe=Ese("TooltipContent"),roe=m.forwardRef(Ls(function(t,n){const{__scopeTooltip:i,children:r,"aria-label":s,id:a,onEscapeKeyDown:o,onPointerDownOutside:c,...u}=t,d=jv(O1,i),f=v4(i),{onClose:h}=d;m.useEffect(()=>(document.addEventListener(oM,h),()=>document.removeEventListener(oM,h)),[h]),m.useEffect(()=>{if(d.trigger){const b=Ls(g=>{g.target instanceof Node&&g.target.contains(d.trigger)&&h()},"handleScroll");return window.addEventListener("scroll",b,{capture:!0}),()=>window.removeEventListener("scroll",b,{capture:!0})}},[d.trigger,h]);const{setContentId:p}=d;return Tl(()=>(p(a),()=>{p(void 0)}),[a,p]),l.jsx(Hse,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:c,onFocusOutside:b=>b.preventDefault(),onDismiss:h,children:l.jsxs(Rae,{"data-state":d.stateAttribute,role:s?void 0:"tooltip",id:s?void 0:d.contentId,...f,...u,ref:n,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(wQe,{children:r}),s?l.jsx(h3e,{id:d.contentId,role:"tooltip",children:s}):null]})})},"TooltipContentImpl"));function soe(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,i,r,s)){case s:return"left";case r:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}Ls(soe,"getExitSideFromRect");function aoe(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}Ls(aoe,"getPaddedExitPoints");function ooe(e){const{top:t,right:n,bottom:i,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:i},{x:r,y:i}]}Ls(ooe,"getPointsFromRect");function loe(e,t){const{x:n,y:i}=e;let r=!1;for(let s=0,a=t.length-1;si!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=!r)}return r}Ls(loe,"isPointInPolygon");function coe(e){const t=e.slice();return t.sort((n,i)=>n.xi.x?1:n.yi.y?1:0),uoe(t)}Ls(coe,"getHull");function uoe(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const r=e[i];for(;n.length>=2;){const s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}Ls(uoe,"getHullPresorted");var SQe=hQe,EQe=mQe,doe=gQe,kQe=yQe,TQe=xQe;function cM(e){const t=m.useRef(e);return t.current=e,t}let cb=[],SS=!1;const dz=e=>{var t,n;if(e.key==="Escape"){const[i]=cb;i&&(e.preventDefault(),(n=(t=i.callback).current)==null||n.call(t))}},foe=()=>{cb.length>0&&!SS?(document.body.addEventListener("keydown",dz),SS=!0):cb.length===0&&SS&&(document.body.removeEventListener("keydown",dz),SS=!1)},_Qe=e=>{cb.unshift(e),foe()},AQe=({id:e})=>{cb=cb.filter(t=>t.id!==e),foe()},hoe=(e,t)=>{const n=m.useId(),i=cM(t);m.useEffect(()=>{if(!e)return;const r={id:n,callback:i};return _Qe(r),()=>AQe(r)},[n,e,i])},CQe="_Tooltip_16g2y_1",NQe="_TriggerDecorator_16g2y_73",poe={Tooltip:CQe,TriggerDecorator:NQe},Vp=e=>{const{ref:t,children:n,content:i,forceOpen:r=i===null?!1:void 0,maxWidth:s=300,openDelay:a=150,interactive:o=!1,compact:c=!1,preventUnintentionalClickToClose:u,align:d,alignOffset:f=0,side:h,sideOffset:p=5,gutterSize:b="md",contentClassName:g,onPointerDown:O,onClick:y,...v}=e,[x,w]=m.useState(!1),[E,S]=m.useState(!1);Z$(()=>S(!1),E?400:null);const k=r??x,T=A=>{typeof r!="boolean"&&(w(A),u&&S(A))},C=A=>{u&&E&&(A.preventDefault(),A.stopPropagation())};return l.jsxs(moe,{open:k,delayDuration:a,onOpenChange:T,disableHoverableContent:!o,children:[l.jsx(doe,{asChild:!0,children:l.jsx(wse,{...v,ref:t,onPointerDown:A=>{C(A),O==null||O(A)},onClick:A=>{C(A),y==null||y(A)},children:n})}),l.jsx(goe,{maxWidth:s,compact:c,align:d,alignOffset:f,side:h,sideOffset:p,gutterSize:b,className:g,children:i})]})},moe=({children:e,open:t,onOpenChange:n,...i})=>(hoe(t,()=>{n(!1)}),l.jsx(SQe,{children:l.jsx(EQe,{open:t,onOpenChange:n,...i,children:e})})),goe=({children:e,maxWidth:t=300,compact:n=!1,clickable:i=void 0,alignOffset:r=0,sideOffset:s=5,gutterSize:a="md",className:o,style:c,...u})=>l.jsx(kQe,{children:l.jsx(TQe,{...u,className:ia(poe.Tooltip,o),"data-compact":n,"data-clickable":i,"data-gutter-size":a,alignOffset:r,sideOffset:s,collisionPadding:15,hideWhenDetached:!0,style:{...c,maxWidth:t},onEscapeKeyDown:KE,children:e})}),jQe=({children:e,asChild:t=!0,...n})=>l.jsx(doe,{asChild:t,...n,children:e}),RQe=e=>{const{children:t,className:n,focusable:i=!0,ref:r,...s}=e,a=typeof t=="string";return l.jsx(wse,{ref:r,...s,className:ia(poe.TriggerDecorator,n),tabIndex:i?0:void 0,children:a?l.jsx("span",{children:t}):t})};Vp.Root=moe;Vp.Content=goe;Vp.Trigger=jQe;Vp.TriggerDecorator=RQe;const boe="KNOWLEDGE_PROVIDER_ASSOCIATION_INVALID";class c2 extends Error{constructor(n,i,r={}){super(n);Rr(this,"status");Rr(this,"errorCode");Rr(this,"requestId");Rr(this,"diagnostics");Rr(this,"detail");Rr(this,"payload");Rr(this,"rawBody");this.name="KnowledgeRequestError",this.status=i;const s=typeof r=="string"?{errorCode:r}:r;this.errorCode=s.errorCode||"",this.requestId=s.requestId||"",this.diagnostics=s.diagnostics,this.detail=s.detail,this.payload=s.payload,this.rawBody=s.rawBody||""}}class Ooe extends Error{constructor(n){super(n.map(({region:i,error:r})=>`${i}: ${r.message||"读取知识库失败"}`).join(` -`));Rr(this,"failures");this.name="KnowledgeRegionAggregateError",this.failures=n}}const DQe=new Set(["ak","apikey","sk","accesskey","accesskeyid","authorization","authkey","clientsecret","cookie","credential","credentials","password","passwd","privatekey","secret","secretaccesskey","secretkey","securitytoken","sessiontoken","setcookie","token"]),IQe=6,fz=50,yoe=4e3;function PQe(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function MQe(e){const t=PQe(e);return DQe.has(t)||t.endsWith("password")||t.endsWith("secret")||t.endsWith("token")||t.endsWith("credential")}function LQe(e){return/<\s*(?:!doctype|html|head|body|script|style)\b/i.test(e)}function Cy(e){return LQe(e)?"[HTML 内容已隐藏]":e.replace(/\bBearer\s+[^\s,;]+/gi,"Bearer [已脱敏]").replace(/\b(?:set-)?cookie\s*:\s*[^\r\n]*/gi,"cookie: [已脱敏]").replace(/\bAKLT[A-Za-z0-9_-]{6,}\b/g,"[已脱敏]").replace(/((?:access[_-]?key(?:[_-]?id)?|secret(?:[_-]?(?:access)?[_-]?key)?|session[_-]?token|security[_-]?token|client[_-]?secret|api[_-]?key|authorization|cookie|[a-z0-9_-]*(?:password|secret|token)|credential|ak|sk)\s*[:=]\s*)(?:"[^"]*"|'[^']*'|[^\s,;&]+)/gi,"$1[已脱敏]").replace(/([?&](?:access[_-]?key|api[_-]?key|client[_-]?secret|security[_-]?token|session[_-]?token|secret|token|password|authorization|cookie|credential)=)[^&#\s]+/gi,"$1[已脱敏]")}function uM(e,t=0,n=new WeakSet){if(e===null||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="string")return Cy(e).slice(0,yoe);if(typeof e!="object")return;if(t>=IQe)return"[内容过深,已截断]";if(n.has(e))return"[循环引用]";if(n.add(e),Array.isArray(e))return e.slice(0,fz).map(r=>uM(r,t+1,n));const i={};return Object.entries(e).slice(0,fz).forEach(([r,s])=>{i[r]=MQe(r)?"[已脱敏]":uM(s,t+1,n)}),i}function hz(e){if(e===void 0)return"";const t=uM(e);if(typeof t=="string")return t;if(t===void 0)return"";try{return JSON.stringify(t).slice(0,yoe)}catch{return"[诊断信息无法显示]"}}function da(e,t){if(e instanceof Ooe)return e.failures.map(({region:a,error:o})=>`${a} -${da(o,t)}`).join(` +`)},F$e=0,fg=[];function U$e(e){var t=m.useRef([]),n=m.useRef([0,0]),i=m.useRef(),r=m.useState(F$e++)[0],s=m.useState(Eae)[0],a=m.useRef(e);m.useEffect(function(){a.current=e},[e]),m.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var g=c$e([e.lockRef.current],(e.shards||[]).map(oz),!0).filter(Boolean);return g.forEach(function(O){return O.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),g.forEach(function(O){return O.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var o=m.useCallback(function(g,O){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!a.current.allowPinchZoom;var y=SS(g),v=n.current,x="deltaX"in g?g.deltaX:v[0]-y[0],w="deltaY"in g?g.deltaY:v[1]-y[1],E,S=g.target,k=Math.abs(x)>Math.abs(w)?"h":"v";if("touches"in g&&k==="h"&&S.type==="range")return!1;var T=window.getSelection(),C=T&&T.anchorNode,A=C?C===S||C.contains(S):!1;if(A)return!1;var N=sz(k,S);if(!N)return!0;if(N?E=k:(E=k==="v"?"h":"v",N=sz(k,S)),!N)return!1;if(!i.current&&"changedTouches"in g&&(x||w)&&(i.current=E),!E)return!0;var P=i.current||E;return $$e(P,O,g,P==="h"?x:w)},[]),c=m.useCallback(function(g){var O=g;if(!(!fg.length||fg[fg.length-1]!==s)){var y="deltaY"in O?az(O):SS(O),v=t.current.filter(function(E){return E.name===O.type&&(E.target===O.target||O.target===E.shadowParent)&&Q$e(E.delta,y)})[0];if(v&&v.should){O.cancelable&&O.preventDefault();return}if(!v){var x=(a.current.shards||[]).map(oz).filter(Boolean).filter(function(E){return E.contains(O.target)}),w=x.length>0?o(O,x[0]):!a.current.noIsolation;w&&O.cancelable&&O.preventDefault()}}},[]),u=m.useCallback(function(g,O,y,v){var x={name:g,delta:O,target:y,should:v,shadowParent:z$e(y)};t.current.push(x),setTimeout(function(){t.current=t.current.filter(function(w){return w!==x})},1)},[]),d=m.useCallback(function(g){n.current=SS(g),i.current=void 0},[]),f=m.useCallback(function(g){u(g.type,az(g),g.target,o(g,e.lockRef.current))},[]),h=m.useCallback(function(g){u(g.type,SS(g),g.target,o(g,e.lockRef.current))},[]);m.useEffect(function(){return fg.push(s),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",c,dg),document.addEventListener("touchmove",c,dg),document.addEventListener("touchstart",d,dg),function(){fg=fg.filter(function(g){return g!==s}),document.removeEventListener("wheel",c,dg),document.removeEventListener("touchmove",c,dg),document.removeEventListener("touchstart",d,dg)}},[]);var p=e.removeScrollBar,b=e.inert;return m.createElement(m.Fragment,null,b?m.createElement(s,{styles:B$e(r)}):null,p?m.createElement(j$e,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function z$e(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const V$e=O$e(Sae,U$e);var Aae=m.forwardRef(function(e,t){return m.createElement(n2,nu({},e,{ref:t,sideCar:V$e}))});Aae.classNames=n2.classNames;var q$e=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},hg=new WeakMap,ES=new WeakMap,kS={},Nj=0,Cae=function(e){return e&&(e.host||Cae(e.parentNode))},X$e=function(e,t){return t.map(function(n){if(e.contains(n))return n;var i=Cae(n);return i&&e.contains(i)?i:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},H$e=function(e,t,n,i){var r=X$e(t,Array.isArray(e)?e:[e]);kS[n]||(kS[n]=new WeakMap);var s=kS[n],a=[],o=new Set,c=new Set(r),u=function(f){!f||o.has(f)||(o.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||c.has(f)||Array.prototype.forEach.call(f.children,function(h){if(o.has(h))d(h);else try{var p=h.getAttribute(i),b=p!==null&&p!=="false",g=(hg.get(h)||0)+1,O=(s.get(h)||0)+1;hg.set(h,g),s.set(h,O),a.push(h),g===1&&b&&ES.set(h,!0),O===1&&h.setAttribute(n,"true"),b||h.setAttribute(i,"true")}catch(y){console.error("aria-hidden: cannot operate on ",h,y)}})};return d(t),o.clear(),Nj++,function(){a.forEach(function(f){var h=hg.get(f)-1,p=s.get(f)-1;hg.set(f,h),s.set(f,p),h||(ES.has(f)||f.removeAttribute(i),ES.delete(f)),p||f.removeAttribute(n)}),Nj--,Nj||(hg=new WeakMap,hg=new WeakMap,ES=new WeakMap,kS={})}},G$e=function(e,t,n){n===void 0&&(n="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),r=q$e(e);return r?(i.push.apply(i,Array.from(r.querySelectorAll("[aria-live], script"))),H$e(i,r,n,"aria-hidden")):function(){return null}},Y$e=Object.defineProperty,W$e=(e,t)=>Y$e(e,"name",{value:t,configurable:!0});function i2(e){const[t,n]=m.useState(void 0);return Ml(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const s=r[0];let a,o;if("borderBoxSize"in s){const c=s.borderBoxSize,u=Array.isArray(c)?c[0]:c;a=u.inlineSize,o=u.blockSize}else a=e.offsetWidth,o=e.offsetHeight;n({width:a,height:o})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else n(void 0)},[e]),t}W$e(i2,"useSize");var Z$e=Object.defineProperty,Qd=(e,t)=>Z$e(e,"name",{value:t,configurable:!0}),p4="Checkbox",[K$e,Bwt]=Nc(p4),[J$e,m4]=K$e(p4);function Nae(e){const{__scopeCheckbox:t,checked:n,children:i,defaultChecked:r,disabled:s,form:a,name:o,onCheckedChange:c,required:u,value:d="on",internal_do_not_use_render:f}=e,[h,p]=Kd({prop:n,defaultProp:r??!1,onChange:c,caller:p4}),[b,g]=m.useState(null),[O,y]=m.useState(null),v=m.useRef(!1),[x,w]=m.useReducer(k=>k+1,0),E=b?!!a||!!b.closest("form"):!0,S={checked:h,disabled:s,setChecked:p,control:b,setControl:g,name:o,form:a,value:d,hasConsumerStoppedPropagationRef:v,userInteractionCount:x,onUserInteraction:w,required:u,defaultChecked:Sd(r)?!1:r,isFormControl:E,bubbleInput:O,setBubbleInput:y};return l.jsx(J$e,{scope:t,...S,children:jae(f)?f(S):i})}Qd(Nae,"CheckboxProvider");var e4e="CheckboxTrigger",t4e=m.forwardRef(Qd(function({__scopeCheckbox:t,onKeyDown:n,onClick:i,...r},s){const{control:a,value:o,disabled:c,checked:u,required:d,setControl:f,setChecked:h,hasConsumerStoppedPropagationRef:p,onUserInteraction:b,isFormControl:g,bubbleInput:O}=m4(e4e,t),y=Ur(s,f),v=m.useRef(u);return m.useEffect(()=>{const x=a==null?void 0:a.form;if(x){const w=Qd(()=>h(v.current),"reset");return x.addEventListener("reset",w),()=>x.removeEventListener("reset",w)}},[a,h]),l.jsx(ps.button,{type:"button",role:"checkbox","aria-checked":Sd(u)?"mixed":u,"aria-required":d,"data-state":g4(u),"data-disabled":c?"":void 0,disabled:c,value:o,...r,ref:y,onKeyDown:Bi(n,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:Bi(i,x=>{b(),h(w=>Sd(w)?!0:!w),O&&g&&(p.current=x.isPropagationStopped(),p.current||x.stopPropagation())})})},"CheckboxTrigger")),n4e=m.forwardRef(Qd(function(t,n){const{__scopeCheckbox:i,name:r,checked:s,defaultChecked:a,required:o,disabled:c,value:u,onCheckedChange:d,form:f,...h}=t;return l.jsx(Nae,{__scopeCheckbox:i,checked:s,defaultChecked:a,disabled:c,required:o,onCheckedChange:d,name:r,form:f,value:u,internal_do_not_use_render:({isFormControl:p})=>l.jsxs(l.Fragment,{children:[l.jsx(t4e,{...h,ref:n,__scopeCheckbox:i}),p&&l.jsx(a4e,{__scopeCheckbox:i})]})})},"Checkbox")),i4e="CheckboxIndicator",r4e=m.forwardRef(Qd(function(t,n){const{__scopeCheckbox:i,forceMount:r,...s}=t,a=m4(i4e,i);return l.jsx(nO,{present:r||Sd(a.checked)||a.checked===!0,children:l.jsx(ps.span,{"data-state":g4(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),s4e="CheckboxBubbleInput",a4e=m.forwardRef(Qd(function({__scopeCheckbox:t,onClick:n,...i},r){const{control:s,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:c,defaultChecked:u,required:d,disabled:f,name:h,value:p,form:b,bubbleInput:g,setBubbleInput:O}=m4(s4e,t),y=Ur(r,O),v=i2(s),x=m.useRef(!1),w=m.useRef(c),E=m.useRef(o);m.useEffect(()=>{const k=g;if(!k)return;const T=window.HTMLInputElement.prototype,A=Object.getOwnPropertyDescriptor(T,"checked").set,N=o!==E.current;E.current=o;const P=w.current!==c;w.current=c;const Q=!(N&&a.current);if(P&&A){x.current=!N;const D=new Event("click",{bubbles:Q});k.indeterminate=Sd(c),A.call(k,Sd(c)?!1:c),k.dispatchEvent(D),x.current=!1}},[g,c,a,o]);const S=m.useRef(Sd(c)?!1:c);return l.jsx(ps.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??S.current,required:d,disabled:f,name:h,value:p,form:b,...i,tabIndex:-1,ref:y,onClick:Bi(n,k=>{x.current&&k.stopPropagation()}),style:{...i.style,...v,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function jae(e){return typeof e=="function"}Qd(jae,"isFunction");function Sd(e){return e==="indeterminate"}Qd(Sd,"isIndeterminate");function g4(e){return Sd(e)?"indeterminate":e?"checked":"unchecked"}Qd(g4,"getState");const o4e=["top","right","bottom","left"],Eh=Math.min,Ed=Math.max,UT=Math.round,TS=Math.floor,kd=e=>({x:e,y:e}),l4e={left:"right",right:"left",bottom:"top",top:"bottom"};function Rae(e,t,n){return Ed(e,Eh(t,n))}function Bd(e,t){return typeof e=="function"?e(t):e}function kh(e){return e.split("-")[0]}function iO(e){return e.split("-")[1]}function b4(e){return e==="x"?"y":"x"}function O4(e){return e==="y"?"height":"width"}function uu(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function y4(e){return b4(uu(e))}function c4e(e,t,n){n===void 0&&(n=!1);const i=iO(e),r=y4(e),s=O4(r);let a=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=zT(a)),[a,zT(a)]}function u4e(e){const t=zT(e);return[fM(e),t,fM(t)]}function fM(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const lz=["left","right"],cz=["right","left"],d4e=["top","bottom"],f4e=["bottom","top"];function h4e(e,t,n){switch(e){case"top":case"bottom":return n?t?cz:lz:t?lz:cz;case"left":case"right":return t?d4e:f4e;default:return[]}}function p4e(e,t,n,i){const r=iO(e);let s=h4e(kh(e),n==="start",i);return r&&(s=s.map(a=>a+"-"+r),t&&(s=s.concat(s.map(fM)))),s}function zT(e){const t=kh(e);return l4e[t]+e.slice(t.length)}function m4e(e){var t,n,i,r;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(i=e.bottom)!=null?i:0,left:(r=e.left)!=null?r:0}}function Iae(e){return typeof e!="number"?m4e(e):{top:e,right:e,bottom:e,left:e}}function VT(e){const{x:t,y:n,width:i,height:r}=e;return{width:i,height:r,top:n,left:t,right:t+i,bottom:n+r,x:t,y:n}}function uz(e,t,n){let{reference:i,floating:r}=e;const s=uu(t),a=y4(t),o=O4(a),c=kh(t),u=s==="y",d=i.x+i.width/2-r.width/2,f=i.y+i.height/2-r.height/2,h=i[o]/2-r[o]/2;let p;switch(c){case"top":p={x:d,y:i.y-r.height};break;case"bottom":p={x:d,y:i.y+i.height};break;case"right":p={x:i.x+i.width,y:f};break;case"left":p={x:i.x-r.width,y:f};break;default:p={x:i.x,y:i.y}}const b=iO(t);return b&&(p[a]+=h*(b==="end"?1:-1)*(n&&u?-1:1)),p}async function g4e(e,t){var n;t===void 0&&(t={});const{x:i,y:r,platform:s,rects:a,elements:o,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:h=!1,padding:p=0}=Bd(t,e),b=Iae(p),O=o[h?f==="floating"?"reference":"floating":f],y=VT(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(O)))==null||n?O:O.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(o.floating)),boundary:u,rootBoundary:d,strategy:c})),v=f==="floating"?{x:i,y:r,width:a.floating.width,height:a.floating.height}:a.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(o.floating)),w=await(s.isElement==null?void 0:s.isElement(x))&&await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1},E=VT(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:v,offsetParent:x,strategy:c}):v);return{top:(y.top-E.top+b.top)/w.y,bottom:(E.bottom-y.bottom+b.bottom)/w.y,left:(y.left-E.left+b.left)/w.x,right:(E.right-y.right+b.right)/w.x}}const b4e=50,O4e=async(e,t,n)=>{const{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:a}=n,o=a.detectOverflow?a:{...a,detectOverflow:g4e},c=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:f}=uz(u,i,c),h=i,p=0;const b={};for(let g=0;g({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:r,rects:s,platform:a,elements:o,middlewareData:c}=t,{element:u,padding:d=0}=Bd(e,t)||{};if(u==null)return{};const f=Iae(d),h={x:n,y:i},p=y4(r),b=O4(p),g=await a.getDimensions(u),O=p==="y",y=O?"top":"left",v=O?"bottom":"right",x=O?"clientHeight":"clientWidth",w=s.reference[b]+s.reference[p]-h[p]-s.floating[b],E=h[p]-s.reference[p],S=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let k=S?S[x]:0;(!k||!await(a.isElement==null?void 0:a.isElement(S)))&&(k=o.floating[x]||s.floating[b]);const T=w/2-E/2,C=k/2-g[b]/2-1,A=Eh(f[y],C),N=Eh(f[v],C),P=k-g[b]-N,Q=k/2-g[b]/2+T,D=Rae(A,Q,P),$=!c.arrow&&iO(r)!=null&&Q!==D&&s.reference[b]/2-(QD<=0)){var N,P;const D=(((N=s.flip)==null?void 0:N.index)||0)+1,$=k[D];if($&&(!(f==="alignment"?v!==uu($):!1)||A.every(F=>uu(F.placement)===v?F.overflows[0]>0:!0)))return{data:{index:D,overflows:A},reset:{placement:$}};let j=(P=A.filter(I=>I.overflows[0]<=0).sort((I,F)=>I.overflows[1]-F.overflows[1])[0])==null?void 0:P.placement;if(!j)switch(p){case"bestFit":{var Q;const I=(Q=A.filter(F=>{if(S){const B=uu(F.placement);return B===v||B==="y"}return!0}).map(F=>[F.placement,F.overflows.filter(B=>B>0).reduce((B,M)=>B+M,0)]).sort((F,B)=>F[1]-B[1])[0])==null?void 0:Q[0];I&&(j=I);break}case"initialPlacement":j=o;break}if(r!==j)return{reset:{placement:j}}}return{}}}};function dz(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function fz(e){return o4e.some(t=>e[t]>=0)}const v4e=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:i}=t,{strategy:r="referenceHidden",...s}=Bd(e,t);switch(r){case"referenceHidden":{const a=await i.detectOverflow(t,{...s,elementContext:"reference"}),o=dz(a,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:fz(o)}}}case"escaped":{const a=await i.detectOverflow(t,{...s,altBoundary:!0}),o=dz(a,n.floating);return{data:{escapedOffsets:o,escaped:fz(o)}}}default:return{}}}}},Dae=new Set(["left","top"]);async function w4e(e,t){const{placement:n,platform:i,elements:r}=e,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),a=kh(n),o=iO(n),c=uu(n)==="y",u=Dae.has(a)?-1:1,d=s&&c?-1:1,f=Bd(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:b}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return o&&typeof b=="number"&&(p=o==="end"?b*-1:b),c?{x:p*d,y:h*u}:{x:h*u,y:p*d}}const S4e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:r,y:s,placement:a,middlewareData:o}=t,c=await w4e(t,e);return a===((n=o.offset)==null?void 0:n.placement)&&(i=o.arrow)!=null&&i.alignmentOffset?{}:{x:r+c.x,y:s+c.y,data:{...c,placement:a}}}}},E4e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:r,platform:s}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:c={fn:v=>{let{x,y:w}=v;return{x,y:w}}},...u}=Bd(e,t),d={x:n,y:i},f=await s.detectOverflow(t,u),h=uu(r),p=b4(h);let b=d[p],g=d[h];const O=(v,x)=>Rae(x+f[v==="y"?"top":"left"],x,x-f[v==="y"?"bottom":"right"]);a&&(b=O(p,b)),o&&(g=O(h,g));const y=c.fn({...t,[p]:b,[h]:g});return{...y,data:{x:y.x-n,y:y.y-i,enabled:{[p]:a,[h]:o}}}}}},k4e=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,i;const{x:r,y:s,placement:a,rects:o,middlewareData:c}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=Bd(e,t),h={x:r,y:s},p=uu(a),b=b4(p);let g=h[b],O=h[p];const y=Bd(u,t),v=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:(n=y.mainAxis)!=null?n:0,crossAxis:(i=y.crossAxis)!=null?i:0};if(d){const E=b==="y"?"height":"width",S=o.reference[b]-o.floating[E]+v.mainAxis,k=o.reference[b]+o.reference[E]-v.mainAxis;gk&&(g=k)}if(f){var x,w;const E=b==="y"?"width":"height",S=Dae.has(kh(a)),k=o.reference[p]-o.floating[E]+(S&&((x=c.offset)==null?void 0:x[p])||0)+(S?0:v.crossAxis),T=o.reference[p]+o.reference[E]+(S?0:((w=c.offset)==null?void 0:w[p])||0)-(S?v.crossAxis:0);OT&&(O=T)}return{[b]:g,[p]:O}}}},T4e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:i,platform:r,elements:s}=t,{apply:a=()=>{},...o}=Bd(e,t),c=await r.detectOverflow(t,o),u=kh(n),d=iO(n),f=uu(n)==="y",{width:h,height:p}=i.floating;let b,g;u==="top"||u==="bottom"?(b=u,g=d===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(g=u,b=d==="end"?"top":"bottom");const O=p-c.top-c.bottom,y=h-c.left-c.right,v=Eh(p-c[b],O),x=Eh(h-c[g],y),w=t.middlewareData.shift,E=!w;let S=v,k=x;w!=null&&w.enabled.x&&(k=y),w!=null&&w.enabled.y&&(S=O),E&&!d&&(f?k=h-2*Ed(c.left,c.right):S=p-2*Ed(c.top,c.bottom)),await a({...t,availableWidth:k,availableHeight:S});const T=await r.getDimensions(s.floating);return h!==T.width||p!==T.height?{reset:{rects:!0}}:{}}}};function r2(){return typeof window<"u"}function rO(e){return Pae(e)?(e.nodeName||"").toLowerCase():"#document"}function go(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jd(e){var t;return(t=(Pae(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Pae(e){return r2()?e instanceof Node||e instanceof go(e).Node:!1}function Su(e){return r2()?e instanceof Element||e instanceof go(e).Element:!1}function Fh(e){return r2()?e instanceof HTMLElement||e instanceof go(e).HTMLElement:!1}function hz(e){return!r2()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof go(e).ShadowRoot}function s2(e){const{overflow:t,overflowX:n,overflowY:i,display:r}=Eu(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&r!=="inline"&&r!=="contents"}function _4e(e){return/^(table|td|th)$/.test(rO(e))}function a2(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const A4e=/transform|translate|scale|rotate|perspective|filter/,C4e=/paint|layout|strict|content/,ip=e=>!!e&&e!=="none";let jj;function x4(e){const t=Su(e)?Eu(e):e;return ip(t.transform)||ip(t.translate)||ip(t.scale)||ip(t.rotate)||ip(t.perspective)||!v4()&&(ip(t.backdropFilter)||ip(t.filter))||A4e.test(t.willChange||"")||C4e.test(t.contain||"")}function N4e(e){let t=bm(e);for(;Fh(t)&&!S1(t);){if(x4(t))return t;if(a2(t))return null;t=bm(t)}return null}function v4(){return jj==null&&(jj=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),jj}function S1(e){return/^(html|body|#document)$/.test(rO(e))}function Eu(e){return go(e).getComputedStyle(e)}function o2(e){return Su(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function bm(e){if(rO(e)==="html")return e;const t=e.assignedSlot||e.parentNode||hz(e)&&e.host||Jd(e);return hz(t)?t.host:t}function Mae(e){const t=bm(e);return S1(t)?(e.ownerDocument||e).body:Fh(t)&&s2(t)?t:Mae(t)}function E1(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Mae(e),s=r===((i=e.ownerDocument)==null?void 0:i.body),a=go(r);if(s){const o=hM(a);return t.concat(a,a.visualViewport||[],s2(r)?r:[],o&&n?E1(o):[])}else return t.concat(r,E1(r,[],n))}function hM(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Lae(e){const t=Eu(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const r=Fh(e),s=r?e.offsetWidth:n,a=r?e.offsetHeight:i,o=UT(n)!==s||UT(i)!==a;return o&&(n=s,i=a),{width:n,height:i,$:o}}function w4(e){return Su(e)?e:e.contextElement}function C0(e){const t=w4(e);if(!Fh(t))return kd(1);const n=t.getBoundingClientRect(),{width:i,height:r,$:s}=Lae(t);let a=(s?UT(n.width):n.width)/i,o=(s?UT(n.height):n.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!o||!Number.isFinite(o))&&(o=1),{x:a,y:o}}const j4e=kd(0);function $ae(e){const t=go(e);return!v4()||!t.visualViewport?j4e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function R4e(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===go(e)}function Om(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=w4(e);let a=kd(1);t&&(i?Su(i)&&(a=C0(i)):a=C0(e));const o=R4e(s,n,i)?$ae(s):kd(0);let c=(r.left+o.x)/a.x,u=(r.top+o.y)/a.y,d=r.width/a.x,f=r.height/a.y;if(s&&i){const h=go(s),p=Su(i)?go(i):i;let b=h,g=hM(b);for(;g&&p!==b;){const O=C0(g),y=g.getBoundingClientRect(),v=Eu(g),x=y.left+(g.clientLeft+parseFloat(v.paddingLeft))*O.x,w=y.top+(g.clientTop+parseFloat(v.paddingTop))*O.y;c*=O.x,u*=O.y,d*=O.x,f*=O.y,c+=x,u+=w,b=go(g),g=hM(b)}}return VT({width:d,height:f,x:c,y:u})}function l2(e,t){const n=o2(e).scrollLeft;return t?t.left+n:Om(Jd(e)).left+n}function Qae(e,t){const n=e.getBoundingClientRect(),i=n.left+t.scrollLeft-l2(e,n),r=n.top+t.scrollTop;return{x:i,y:r}}function I4e(e){let{elements:t,rect:n,offsetParent:i,strategy:r}=e;const s=r==="fixed",a=Jd(i),o=t?a2(t.floating):!1;if(i===a||o&&s)return n;let c={scrollLeft:0,scrollTop:0},u=kd(1);const d=kd(0),f=Fh(i);if((f||!s)&&((rO(i)!=="body"||s2(a))&&(c=o2(i)),f)){const p=Om(i);u=C0(i),d.x=p.x+i.clientLeft,d.y=p.y+i.clientTop}const h=a&&!f&&!s?Qae(a,c):kd(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-c.scrollLeft*u.x+d.x+h.x,y:n.y*u.y-c.scrollTop*u.y+d.y+h.y}}function D4e(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function P4e(e){const t=o2(e),n=e.ownerDocument.body,i=Ed(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=Ed(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let s=-t.scrollLeft+l2(e);const a=-t.scrollTop;return Eu(n).direction==="rtl"&&(s+=Ed(e.clientWidth,n.clientWidth)-i),{width:i,height:r,x:s,y:a}}const M4e=25;function L4e(e,t,n){n===void 0&&(n="viewport");const i=n==="layoutViewport",r=go(e),s=Jd(e),a=r.visualViewport;let o=s.clientWidth,c=s.clientHeight,u=0,d=0;if(a){const h=!v4()||t==="fixed";i?h||(u=-a.offsetLeft,d=-a.offsetTop):(o=a.width,c=a.height,h&&(u=a.offsetLeft,d=a.offsetTop))}if(l2(s)<=0){const h=s.ownerDocument,p=h.body,b=getComputedStyle(p),g=h.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,O=Math.abs(s.clientWidth-p.clientWidth-g),y=getComputedStyle(s).scrollbarGutter==="stable both-edges"?O/2:O;y<=M4e&&(o-=y)}return{width:o,height:c,x:u,y:d}}function $4e(e,t){const n=Om(e,!0,t==="fixed"),i=n.top+e.clientTop,r=n.left+e.clientLeft,s=C0(e),a=e.clientWidth*s.x,o=e.clientHeight*s.y,c=r*s.x,u=i*s.y;return{width:a,height:o,x:c,y:u}}function pz(e,t,n){let i;if(t==="viewport"||t==="layoutViewport")i=L4e(e,n,t);else if(t==="document")i=P4e(Jd(e));else if(Su(t))i=$4e(t,n);else{const r=$ae(e);i={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return VT(i)}function Q4e(e,t){const n=t.get(e);if(n)return n;let i=E1(e,[],!1).filter(o=>Su(o)&&rO(o)!=="body"),r=null;const s=Eu(e).position==="fixed";let a=s?bm(e):e;for(;Su(a)&&!S1(a);){const o=Eu(a),c=x4(a),u=r?r.position:s?"fixed":"";!c&&(u==="fixed"||u==="absolute"&&o.position==="static")?i=i.filter(f=>f!==a):r=o,a=bm(a)}return t.set(e,i),i}function B4e(e){let{element:t,boundary:n,rootBoundary:i,strategy:r}=e;const a=[...n==="clippingAncestors"?a2(t)?[]:Q4e(t,this._c):[].concat(n),i],o=pz(t,a[0],r);let c=o.top,u=o.right,d=o.bottom,f=o.left;for(let h=1;h{o(!1,1e-7)},1e3)}k=!1}try{i=new IntersectionObserver(T,{...S,root:s.ownerDocument})}catch{i=new IntersectionObserver(T,S)}i.observe(e)}const c=go(e),u=()=>o(n);return c.addEventListener("resize",u),o(!0),()=>{c.removeEventListener("resize",u),a()}}function H4e(e,t,n,i){i===void 0&&(i={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:c=!1}=i,u=w4(e),d=r||s?[...u?E1(u):[],...t?E1(t):[]]:[];d.forEach(y=>{r&&y.addEventListener("scroll",n),s&&y.addEventListener("resize",n)});const f=u&&o?X4e(u,n,s):null;let h=-1,p=null;a&&(p=new ResizeObserver(y=>{let[v]=y;v&&v.target===u&&p&&t&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var x;(x=p)==null||x.observe(t)})),n()}),u&&!c&&p.observe(u),t&&p.observe(t));let b,g=c?Om(e):null;c&&O();function O(){const y=Om(e);g&&!Fae(g,y)&&n(),g=y,b=requestAnimationFrame(O)}return n(),()=>{var y;d.forEach(v=>{r&&v.removeEventListener("scroll",n),s&&v.removeEventListener("resize",n)}),f==null||f(),(y=p)==null||y.disconnect(),p=null,c&&cancelAnimationFrame(b)}}const G4e=S4e,Y4e=E4e,W4e=x4e,Z4e=T4e,K4e=v4e,gz=y4e,J4e=k4e,e6e=(e,t,n)=>{const i=new Map,r=n??{},s={...q4e,...r.platform,_c:i};return O4e(e,t,{...r,platform:s})};var t6e=typeof document<"u",n6e=function(){},ok=t6e?m.useLayoutEffect:n6e;function qT(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!qT(e[i],t[i]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,r[i]))return!1;for(i=n;i--!==0;){const s=r[i];if(!(s==="_owner"&&e.$$typeof)&&!qT(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Uae(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function bz(e,t){const n=Uae(e);return Math.round(t*n)/n}function Ij(e){const t=m.useRef(e);return ok(()=>{t.current=e}),t}function i6e(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:a}={},transform:o=!0,whileElementsMounted:c,open:u}=e,[d,f]=m.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=m.useState(i);qT(h,i)||p(i);const[b,g]=m.useState(null),[O,y]=m.useState(null),v=m.useCallback(F=>{F!==S.current&&(S.current=F,g(F))},[]),x=m.useCallback(F=>{F!==k.current&&(k.current=F,y(F))},[]),w=s||b,E=a||O,S=m.useRef(null),k=m.useRef(null),T=m.useRef(d),C=c!=null,A=Ij(c),N=Ij(r),P=Ij(u),Q=m.useCallback(()=>{if(!S.current||!k.current)return;const F={placement:t,strategy:n,middleware:h};N.current&&(F.platform=N.current),e6e(S.current,k.current,F).then(B=>{const M={...B,isPositioned:P.current!==!1};D.current&&!qT(T.current,M)&&(T.current=M,Gi.flushSync(()=>{f(M)}))})},[h,t,n,N,P]);ok(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(F=>({...F,isPositioned:!1})))},[u]);const D=m.useRef(!1);ok(()=>(D.current=!0,()=>{D.current=!1}),[]),ok(()=>{if(w&&(S.current=w),E&&(k.current=E),w&&E){if(A.current)return A.current(w,E,Q);Q()}},[w,E,Q,A,C]);const $=m.useMemo(()=>({reference:S,floating:k,setReference:v,setFloating:x}),[v,x]),j=m.useMemo(()=>({reference:w,floating:E}),[w,E]),I=m.useMemo(()=>{const F={position:n,left:0,top:0};if(!j.floating)return F;const B=bz(j.floating,d.x),M=bz(j.floating,d.y);return o?{...F,transform:"translate("+B+"px, "+M+"px)",...Uae(j.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:B,top:M}},[n,o,j.floating,d.x,d.y]);return m.useMemo(()=>({...d,update:Q,refs:$,elements:j,floatingStyles:I}),[d,Q,$,j,I])}const r6e=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:i,padding:r}=typeof e=="function"?e(n):e;return i&&t(i)?i.current!=null?gz({element:i.current,padding:r}).fn(n):{}:i?gz({element:i,padding:r}).fn(n):{}}}},s6e=(e,t)=>{const n=G4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},a6e=(e,t)=>{const n=Y4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},o6e=(e,t)=>({fn:J4e(e).fn,options:[e,t]}),l6e=(e,t)=>{const n=W4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},c6e=(e,t)=>{const n=Z4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},u6e=(e,t)=>{const n=K4e(e);return{name:n.name,fn:n.fn,options:[e,t]}},d6e=(e,t)=>{const n=r6e(e);return{name:n.name,fn:n.fn,options:[e,t]}};var f6e=Object.defineProperty,uh=(e,t)=>f6e(e,"name",{value:t,configurable:!0}),zae="Popper",[Vae,c2]=Nc(zae),[h6e,qae]=Vae(zae),p6e=uh(e=>{const{__scopePopper:t,children:n}=e,[i,r]=m.useState(null),[s,a]=m.useState(void 0);return l.jsx(h6e,{scope:t,anchor:i,onAnchorChange:r,placementState:s,setPlacementState:a,children:n})},"Popper"),m6e="PopperAnchor",g6e=m.forwardRef(uh(function(t,n){const{__scopePopper:i,virtualRef:r,...s}=t,a=qae(m6e,i),o=m.useRef(null),c=a.onAnchorChange,u=m.useCallback(g=>{o.current=g,g&&c(g)},[c]),d=Ur(n,u),f=m.useRef(null);m.useEffect(()=>{if(!r)return;const g=f.current;f.current=r.current,g!==f.current&&c(f.current)});const h=a.placementState&&u2(a.placementState),p=h==null?void 0:h[0],b=h==null?void 0:h[1];return r?null:l.jsx(ps.div,{"data-radix-popper-side":p,"data-radix-popper-align":b,...s,ref:d})},"PopperAnchor")),Xae="PopperContent",[b6e,Fwt]=Vae(Xae),O6e=m.forwardRef(uh(function(t,n){var K,ee,me,ve,Ne,Ie,De;const{__scopePopper:i,side:r="bottom",sideOffset:s=0,align:a="center",alignOffset:o=0,arrowPadding:c=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:b="optimized",onPlaced:g,...O}=t,y=qae(Xae,i),[v,x]=m.useState(null),w=Ur(n,x),[E,S]=m.useState(null),k=i2(E),T=(k==null?void 0:k.width)??0,C=(k==null?void 0:k.height)??0,A=r+(a!=="center"?"-"+a:""),N=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},P=Array.isArray(d)?d:[d],Q=P.length>0,D={padding:N,boundary:P.filter(Hae),altBoundary:Q},{refs:$,floatingStyles:j,placement:I,isPositioned:F,middlewareData:B}=i6e({strategy:"fixed",placement:A,whileElementsMounted:uh((...pe)=>H4e(...pe,{animationFrame:b==="always"}),"whileElementsMounted"),elements:{reference:y.anchor},middleware:[s6e({mainAxis:s+C,alignmentAxis:o}),u&&a6e({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?o6e():void 0,...D}),u&&l6e({...D}),c6e({...D,apply:uh(({elements:pe,rects:Se,availableWidth:Oe,availableHeight:Le})=>{const{width:Fe,height:Te}=Se.reference,Ue=pe.floating.style;Ue.setProperty("--radix-popper-available-width",`${Oe}px`),Ue.setProperty("--radix-popper-available-height",`${Le}px`),Ue.setProperty("--radix-popper-anchor-width",`${Fe}px`),Ue.setProperty("--radix-popper-anchor-height",`${Te}px`)},"apply")}),E&&d6e({element:E,padding:c}),y6e({arrowWidth:T,arrowHeight:C}),p&&u6e({strategy:"referenceHidden",...D,boundary:Q?D.boundary:void 0})]}),M=y.setPlacementState;Ml(()=>(M(I),()=>{M(void 0)}),[I,M]);const[Y,q]=u2(I),U=Sh(g);Ml(()=>{F&&(U==null||U())},[F,U]);const V=(K=B.arrow)==null?void 0:K.x,re=(ee=B.arrow)==null?void 0:ee.y,de=((me=B.arrow)==null?void 0:me.centerOffset)!==0,[be,ce]=m.useState();return Ml(()=>{v&&ce(window.getComputedStyle(v).zIndex)},[v]),l.jsx("div",{ref:$.setFloating,"data-radix-popper-content-wrapper":"",style:{...j,transform:F?j.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:be,"--radix-popper-transform-origin":[(ve=B.transformOrigin)==null?void 0:ve.x,(Ne=B.transformOrigin)==null?void 0:Ne.y].join(" "),...((Ie=B.hide)==null?void 0:Ie.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:l.jsx(b6e,{scope:i,placedSide:Y,placedAlign:q,onArrowChange:S,arrowX:V,arrowY:re,shouldHideArrow:de,children:l.jsx(ps.div,{"data-side":Y,"data-align":q,...O,ref:w,style:{...O.style,animation:F?(De=O.style)==null?void 0:De.animation:"none"}})})})},"PopperContent"));function Hae(e){return e!==null}uh(Hae,"isNotNull");var y6e=uh(e=>({name:"transformOrigin",options:e,fn(t){var O,y,v;const{placement:n,rects:i,middlewareData:r}=t,a=((O=r.arrow)==null?void 0:O.centerOffset)!==0,o=a?0:e.arrowWidth,c=a?0:e.arrowHeight,[u,d]=u2(n),f={start:"0%",center:"50%",end:"100%"}[d],h=(((y=r.arrow)==null?void 0:y.x)??0)+o/2,p=(((v=r.arrow)==null?void 0:v.y)??0)+c/2;let b="",g="";return u==="bottom"?(b=a?f:`${h}px`,g=`${-c}px`):u==="top"?(b=a?f:`${h}px`,g=`${i.floating.height+c}px`):u==="right"?(b=`${-c}px`,g=a?f:`${p}px`):u==="left"&&(b=`${i.floating.width+c}px`,g=a?f:`${p}px`),{data:{x:b,y:g}}}}),"transformOrigin");function u2(e){const[t,n="center"]=e.split("-");return[t,n]}uh(u2,"getSideAndAlignFromPlacement");var Gae=p6e,Yae=g6e,Wae=O6e,x6e=Object.defineProperty,S4=(e,t)=>x6e(e,"name",{value:t,configurable:!0}),Dj=!1;function Zae(){const[e,t]=m.useState(Dj);return m.useEffect(()=>{Dj||(Dj=!0,t(!0))},[]),e}S4(Zae,"useIsHydrated");var Kae=Lb[" useSyncExternalStore ".trim().toString()];function Jae(){return()=>{}}S4(Jae,"subscribe");function eoe(){return Kae(Jae,()=>!0,()=>!1)}S4(eoe,"useIsHydratedModern");var v6e=typeof Kae=="function"?eoe:Zae,w6e=Object.defineProperty,$m=(e,t)=>w6e(e,"name",{value:t,configurable:!0}),Pj="rovingFocusGroup.onEntryFocus",S6e={bubbles:!1,cancelable:!0},d2="RovingFocusGroup",[pM,toe,E6e]=Yse(d2),[k6e,f2]=Nc(d2,[E6e]),[T6e,_6e]=k6e(d2),A6e=m.forwardRef($m(function(t,n){return l.jsx(pM.Provider,{scope:t.__scopeRovingFocusGroup,children:l.jsx(pM.Slot,{scope:t.__scopeRovingFocusGroup,children:l.jsx(C6e,{...t,ref:n})})})},"RovingFocusGroup")),C6e=m.forwardRef($m(function(t,n){const{__scopeRovingFocusGroup:i,orientation:r,loop:s=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...h}=t,p=m.useRef(null),b=Ur(n,p),g=t2(a),[O,y]=Kd({prop:o,defaultProp:c??null,onChange:u,caller:d2}),[v,x]=m.useState(!1),w=Sh(d),E=toe(i),S=m.useRef(!1),[k,T]=m.useState(0);return m.useEffect(()=>{const C=p.current;if(C)return C.addEventListener(Pj,w),()=>C.removeEventListener(Pj,w)},[w]),l.jsx(T6e,{scope:i,orientation:r,dir:g,loop:s,currentTabStopId:O,onItemFocus:m.useCallback(C=>y(C),[y]),onItemShiftTab:m.useCallback(()=>x(!0),[]),onFocusableItemAdd:m.useCallback(()=>T(C=>C+1),[]),onFocusableItemRemove:m.useCallback(()=>T(C=>C-1),[]),children:l.jsx(ps.div,{tabIndex:v||k===0?-1:0,"data-orientation":r,...h,ref:b,style:{outline:"none",...t.style},onMouseDown:Bi(t.onMouseDown,()=>{S.current=!0}),onFocus:Bi(t.onFocus,C=>{const A=!S.current;if(C.target===C.currentTarget&&A&&!v){const N=new CustomEvent(Pj,S6e);if(C.currentTarget.dispatchEvent(N),!N.defaultPrevented){const P=E().filter(I=>I.focusable),Q=P.find(I=>I.active),D=P.find(I=>I.id===O),j=[Q,D,...P].filter(Boolean).map(I=>I.ref.current);E4(j,f)}}S.current=!1}),onBlur:Bi(t.onBlur,()=>x(!1))})})},"RovingFocusGroupImpl")),N6e="RovingFocusGroupItem",j6e=m.forwardRef($m(function(t,n){const{__scopeRovingFocusGroup:i,focusable:r=!0,active:s=!1,tabStopId:a,children:o,...c}=t,u=e2(),d=a||u,f=_6e(N6e,i),h=f.currentTabStopId===d,p=toe(i),{onFocusableItemAdd:b,onFocusableItemRemove:g,currentTabStopId:O}=f,y=v6e();return Ml(()=>{if(!(!y||!r))return b(),()=>g()},[y,r,b,g]),m.useEffect(()=>{if(!(y||!r))return b(),()=>g()},[y,r,b,g]),l.jsx(pM.ItemSlot,{scope:i,id:d,focusable:r,active:s,children:l.jsx(ps.span,{tabIndex:h?0:-1,"data-orientation":f.orientation,...c,ref:n,onMouseDown:Bi(t.onMouseDown,v=>{r?f.onItemFocus(d):v.preventDefault()}),onFocus:Bi(t.onFocus,()=>f.onItemFocus(d)),onKeyDown:Bi(t.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){f.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const x=ioe(v,f.orientation,f.dir);if(x!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let E=p().filter(S=>S.focusable).map(S=>S.ref.current);if(x==="last")E.reverse();else if(x==="prev"||x==="next"){x==="prev"&&E.reverse();const S=E.indexOf(v.currentTarget);E=f.loop?roe(E,S+1):E.slice(S+1)}setTimeout(()=>E4(E))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:O!=null}):o})})},"RovingFocusGroupItem")),R6e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function noe(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}$m(noe,"getDirectionAwareKey");function ioe(e,t,n){const i=noe(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(i))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(i)))return R6e[i]}$m(ioe,"getFocusIntent");function E4(e,t=!1){const n=document.activeElement;for(const i of e)if(i===n||(i.focus({preventScroll:t}),document.activeElement!==n))return}$m(E4,"focusFirst");function roe(e,t){return e.map((n,i)=>e[(t+i)%e.length])}$m(roe,"wrapArray");var soe=A6e,aoe=j6e,I6e=Object.defineProperty,Uh=(e,t)=>I6e(e,"name",{value:t,configurable:!0}),k4="Popover",[ooe,Uwt]=Nc(k4,[c2]),T4=c2(),[D6e,sO]=ooe(k4),P6e=Uh(e=>{const{__scopePopover:t,children:n,open:i,defaultOpen:r,onOpenChange:s,modal:a=!1}=e,o=T4(t),c=m.useRef(null),[u,d]=m.useState(!1),[f,h]=Kd({prop:i,defaultProp:r??!1,onChange:s,caller:k4});return l.jsx(Gae,{...o,children:l.jsx(D6e,{scope:t,contentId:e2(),triggerRef:c,open:f,onOpenChange:h,onOpenToggle:m.useCallback(()=>h(p=>!p),[h]),hasCustomAnchor:u,onCustomAnchorAdd:m.useCallback(()=>d(!0),[]),onCustomAnchorRemove:m.useCallback(()=>d(!1),[]),modal:a,children:n})})},"Popover"),M6e="PopoverTrigger",L6e=m.forwardRef(Uh(function(t,n){const{__scopePopover:i,...r}=t,s=sO(M6e,i),a=T4(i),o=Ur(n,s.triggerRef),c=l.jsx(ps.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":_4(s.open),...r,ref:o,onClick:Bi(t.onClick,s.onOpenToggle)});return s.hasCustomAnchor?c:l.jsx(Yae,{asChild:!0,...a,children:c})},"PopoverTrigger")),loe="PopoverPortal",[$6e,Q6e]=ooe(loe,{forceMount:void 0}),B6e=Uh(e=>{const{__scopePopover:t,forceMount:n,children:i,container:r}=e,s=sO(loe,t);return l.jsx($6e,{scope:t,forceMount:n,children:l.jsx(nO,{present:n||s.open,children:l.jsx(xae,{asChild:!0,container:r,children:i})})})},"PopoverPortal"),k1="PopoverContent",F6e=m.forwardRef(Uh(function(t,n){const i=Q6e(k1,t.__scopePopover),{forceMount:r=i.forceMount,...s}=t,a=sO(k1,t.__scopePopover);return l.jsx(nO,{present:r||a.open,children:a.modal?l.jsx(z6e,{...s,ref:n}):l.jsx(V6e,{...s,ref:n})})},"PopoverContent")),U6e=wh("PopoverContent.RemoveScroll"),z6e=m.forwardRef(Uh(function(t,n){const i=sO(k1,t.__scopePopover),r=m.useRef(null),s=Ur(n,r),a=m.useRef(!1);return m.useEffect(()=>{const o=r.current;if(o)return G$e(o)},[]),l.jsx(Aae,{as:U6e,allowPinchZoom:!0,children:l.jsx(coe,{...t,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Bi(t.onCloseAutoFocus,o=>{var c;o.preventDefault(),a.current||(c=i.triggerRef.current)==null||c.focus()}),onPointerDownOutside:Bi(t.onPointerDownOutside,o=>{const c=o.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,d=c.button===2||u;a.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:Bi(t.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})},"PopoverContentModal")),V6e=m.forwardRef(Uh(function(t,n){const i=sO(k1,t.__scopePopover),r=m.useRef(!1),s=m.useRef(!1);return l.jsx(coe,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,c;(o=t.onCloseAutoFocus)==null||o.call(t,a),a.defaultPrevented||(r.current||(c=i.triggerRef.current)==null||c.focus(),a.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:a=>{var u,d;(u=t.onInteractOutside)==null||u.call(t,a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=a.target;((d=i.triggerRef.current)==null?void 0:d.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&s.current&&a.preventDefault()}})},"PopoverContentNonModal")),coe=m.forwardRef(Uh(function(t,n){const{__scopePopover:i,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,...h}=t,p=sO(k1,i),b=T4(i);return h4(),l.jsx(r$e,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:a,children:l.jsx(dae,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:f,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onDismiss:()=>p.onOpenChange(!1),deferPointerDownOutside:!0,children:l.jsx(Wae,{"data-state":_4(p.open),role:"dialog",id:p.contentId,...b,...h,ref:n,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})},"PopoverContentImpl"));function _4(e){return e?"open":"closed"}Uh(_4,"getState");var q6e=P6e,X6e=L6e,H6e=B6e,G6e=F6e,Y6e=Object.defineProperty,Ea=(e,t)=>Y6e(e,"name",{value:t,configurable:!0}),uoe="Radio",[W6e,doe]=Nc(uoe),[Z6e,h2]=W6e(uoe);function foe(e){const{__scopeRadio:t,checked:n=!1,children:i,disabled:r,form:s,name:a,onCheck:o,required:c,value:u="on",internal_do_not_use_render:d}=e,[f,h]=m.useState(null),[p,b]=m.useState(null),g=m.useRef(!1),[O,y]=m.useReducer(w=>w+1,0),v=f?!!s||!!f.closest("form"):!0,x={checked:n,disabled:r,required:c,name:a,form:s,value:u,control:f,setControl:h,hasConsumerStoppedPropagationRef:g,userInteractionCount:O,onUserInteraction:y,isFormControl:v,bubbleInput:p,setBubbleInput:b,onCheck:Ea(()=>o==null?void 0:o(),"onCheck")};return l.jsx(Z6e,{scope:t,...x,children:hoe(d)?d(x):i})}Ea(foe,"RadioProvider");var K6e="RadioTrigger",J6e=m.forwardRef(Ea(function({__scopeRadio:t,onClick:n,...i},r){const{checked:s,disabled:a,value:o,setControl:c,onCheck:u,hasConsumerStoppedPropagationRef:d,onUserInteraction:f,isFormControl:h,bubbleInput:p}=h2(K6e,t),b=Ur(r,c);return l.jsx(ps.button,{type:"button",role:"radio","aria-checked":s,"data-state":A4(s),"data-disabled":a?"":void 0,disabled:a,value:o,...i,ref:b,onClick:Bi(n,g=>{s||(f(),u()),p&&h&&(d.current=g.isPropagationStopped(),d.current||g.stopPropagation())})})},"RadioTrigger")),eQe="RadioIndicator",tQe=m.forwardRef(Ea(function(t,n){const{__scopeRadio:i,forceMount:r,...s}=t,a=h2(eQe,i);return l.jsx(nO,{present:r||a.checked,children:l.jsx(ps.span,{"data-state":A4(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:n})})},"RadioIndicator")),nQe="RadioBubbleInput",iQe=m.forwardRef(Ea(function({__scopeRadio:t,onClick:n,...i},r){const{control:s,checked:a,required:o,disabled:c,name:u,value:d,form:f,bubbleInput:h,setBubbleInput:p,hasConsumerStoppedPropagationRef:b,userInteractionCount:g}=h2(nQe,t),O=Ur(r,p),y=i2(s),v=m.useRef(!1),x=m.useRef(a),w=m.useRef(g);m.useEffect(()=>{const S=h;if(!S)return;const k=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(k,"checked").set,A=g!==w.current;w.current=g;const N=x.current!==a;x.current=a;const P=!(A&&b.current);if(N&&C){v.current=!A;const Q=new Event("click",{bubbles:P});C.call(S,a),S.dispatchEvent(Q),v.current=!1}},[h,a,b,g]);const E=m.useRef(a);return l.jsx(ps.input,{type:"radio","aria-hidden":!0,defaultChecked:E.current,required:o,disabled:c,name:u,value:d,form:f,...i,tabIndex:-1,ref:O,onClick:Bi(n,S=>{v.current&&S.stopPropagation()}),style:{...i.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function hoe(e){return typeof e=="function"}Ea(hoe,"isFunction");function A4(e){return e?"checked":"unchecked"}Ea(A4,"getState");var rQe=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],C4="RadioGroup",[sQe,zwt]=Nc(C4,[f2,doe]),poe=f2(),p2=doe(),[aQe,oQe]=sQe(C4),lQe=m.forwardRef(Ea(function(t,n){const{__scopeRadioGroup:i,name:r,form:s,defaultValue:a,value:o,required:c=!1,disabled:u=!1,orientation:d,dir:f,loop:h=!0,onValueChange:p,...b}=t,g=poe(i),O=t2(f),[y,v]=Kd({prop:o,defaultProp:a??null,onChange:p,caller:C4}),[x,w]=m.useState(null),E=Ur(n,w),S=m.useRef(y);return m.useEffect(()=>{const k=s?x==null?void 0:x.ownerDocument.getElementById(s):x==null?void 0:x.closest("form");if(k instanceof HTMLFormElement){const T=Ea(()=>v(S.current),"reset");return k.addEventListener("reset",T),()=>k.removeEventListener("reset",T)}},[x,s,v]),l.jsx(aQe,{scope:i,name:r,form:s,required:c,disabled:u,value:y,onValueChange:v,children:l.jsx(soe,{asChild:!0,...g,orientation:d,dir:O,loop:h,children:l.jsx(ps.div,{role:"radiogroup","aria-required":c,"aria-orientation":d,"data-disabled":u?"":void 0,dir:O,...b,ref:E})})})},"RadioGroup")),cQe="RadioGroupItemProvider",uQe="RadioGroupItemTrigger";function moe(e){const{__scopeRadioGroup:t,value:n,disabled:i,children:r,internal_do_not_use_render:s}=e,a=oQe(cQe,t),o=p2(t),c=a.disabled||i;return l.jsx(foe,{...o,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:s,children:r})}Ea(moe,"RadioGroupItemProvider");var dQe=m.forwardRef(Ea(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=poe(i),a=p2(i),{checked:o,disabled:c}=h2(uQe,a.__scopeRadio),u=m.useRef(null),d=Ur(n,u),f=m.useRef(!1);return m.useEffect(()=>{const h=Ea(b=>{rQe.includes(b.key)&&(f.current=!0)},"handleKeyDown"),p=Ea(()=>f.current=!1,"handleKeyUp");return document.addEventListener("keydown",h),document.addEventListener("keyup",p),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",p)}},[]),l.jsx(aoe,{asChild:!0,...s,focusable:!c,active:o,children:l.jsx(J6e,{...a,...r,ref:d,onKeyDown:Bi(r.onKeyDown,h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:Bi(r.onFocus,()=>{var h;f.current&&((h=u.current)==null||h.click())})})})},"RadioGroupItemTrigger")),fQe=m.forwardRef(Ea(function(t,n){const{__scopeRadioGroup:i,value:r,disabled:s,...a}=t;return l.jsx(moe,{__scopeRadioGroup:i,value:r,disabled:s,internal_do_not_use_render:({isFormControl:o})=>l.jsxs(l.Fragment,{children:[l.jsx(dQe,{...a,ref:n,__scopeRadioGroup:i}),o&&l.jsx(hQe,{__scopeRadioGroup:i})]})})},"RadioGroupItem")),hQe=m.forwardRef(Ea(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=p2(i);return l.jsx(iQe,{...s,...r,ref:n})},"RadioGroupItemBubbleInput")),pQe=m.forwardRef(Ea(function(t,n){const{__scopeRadioGroup:i,...r}=t,s=p2(i);return l.jsx(tQe,{...s,...r,ref:n})},"RadioGroupIndicator")),mQe=Object.defineProperty,gQe=(e,t)=>mQe(e,"name",{value:t,configurable:!0}),bQe="Toggle",OQe=m.forwardRef(gQe(function(t,n){const{pressed:i,defaultPressed:r,onPressedChange:s,...a}=t,[o,c]=Kd({prop:i,onChange:s,defaultProp:r??!1,caller:bQe});return l.jsx(ps.button,{type:"button","aria-pressed":o,"data-state":o?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:n,onClick:Bi(t.onClick,()=>{t.disabled||c(!o)})})},"Toggle")),yQe=Object.defineProperty,Th=(e,t)=>yQe(e,"name",{value:t,configurable:!0}),aO="ToggleGroup",[goe,Vwt]=Nc(aO,[f2]),boe=f2(),xQe=m.forwardRef(Th(function(t,n){const{type:i,...r}=t;if(i==="single"){const s=r;return l.jsx(vQe,{role:"radiogroup",...s,ref:n})}if(i==="multiple"){const s=r;return l.jsx(wQe,{role:"toolbar",...s,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${aO}\``)},"ToggleGroup")),[Ooe,yoe]=goe(aO),vQe=m.forwardRef(Th(function(t,n){const{value:i,defaultValue:r,onValueChange:s=Th(()=>{},"onValueChange"),...a}=t,[o,c]=Kd({prop:i,defaultProp:r??"",onChange:s,caller:aO});return l.jsx(Ooe,{scope:t.__scopeToggleGroup,type:"single",value:m.useMemo(()=>o?[o]:[],[o]),onItemActivate:c,onItemDeactivate:m.useCallback(()=>c(""),[c]),children:l.jsx(xoe,{...a,ref:n})})},"ToggleGroupImplSingle")),wQe=m.forwardRef(Th(function(t,n){const{value:i,defaultValue:r,onValueChange:s=Th(()=>{},"onValueChange"),...a}=t,[o,c]=Kd({prop:i,defaultProp:r??[],onChange:s,caller:aO}),u=m.useCallback(f=>c((h=[])=>[...h,f]),[c]),d=m.useCallback(f=>c((h=[])=>h.filter(p=>p!==f)),[c]);return l.jsx(Ooe,{scope:t.__scopeToggleGroup,type:"multiple",value:o,onItemActivate:u,onItemDeactivate:d,children:l.jsx(xoe,{...a,ref:n})})},"ToggleGroupImplMultiple")),[SQe,EQe]=goe(aO),xoe=m.forwardRef(Th(function(t,n){const{__scopeToggleGroup:i,disabled:r=!1,rovingFocus:s=!0,orientation:a,dir:o,loop:c=!0,...u}=t,d=boe(i),f=t2(o),h={dir:f,...u};return l.jsx(SQe,{scope:i,rovingFocus:s,disabled:r,children:s?l.jsx(soe,{asChild:!0,...d,orientation:a,dir:f,loop:c,children:l.jsx(ps.div,{...h,ref:n})}):l.jsx(ps.div,{...h,ref:n})})},"ToggleGroupImpl")),mM="ToggleGroupItem",kQe=m.forwardRef(Th(function(t,n){const i=yoe(mM,t.__scopeToggleGroup),r=EQe(mM,t.__scopeToggleGroup),s=boe(t.__scopeToggleGroup),a=i.value.includes(t.value),o=r.disabled||t.disabled,c={...t,pressed:a,disabled:o},u=m.useRef(null);return r.rovingFocus?l.jsx(aoe,{asChild:!0,...s,focusable:!o,active:a,ref:u,children:l.jsx(Oz,{...c,ref:n})}):l.jsx(Oz,{...c,ref:n})},"ToggleGroupItem")),Oz=m.forwardRef(Th(function(t,n){const{__scopeToggleGroup:i,value:r,...s}=t,a=yoe(mM,i),o={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},c=a.type==="single"?o:void 0;return l.jsx(OQe,{...c,...s,ref:n,onPressedChange:u=>{u?a.onItemActivate(r):a.onItemDeactivate(r)}})},"ToggleGroupItemImpl")),TQe=Object.defineProperty,zs=(e,t)=>TQe(e,"name",{value:t,configurable:!0}),[N4,qwt]=Nc("Tooltip",[c2]),j4=c2(),_Qe="TooltipProvider",AQe=700,gM="tooltip.open",[CQe,R4]=N4(_Qe),NQe=zs(e=>{const{__scopeTooltip:t,delayDuration:n=AQe,skipDelayDuration:i=300,disableHoverableContent:r=!1,children:s}=e,a=m.useRef(!0),o=m.useRef(!1),c=m.useRef(0);return m.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),l.jsx(CQe,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:m.useCallback(()=>{i<=0||(window.clearTimeout(c.current),a.current=!1)},[i]),onClose:m.useCallback(()=>{i<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.current=!0,i))},[i]),isPointerInTransitRef:o,onPointerInTransitChange:m.useCallback(u=>{o.current=u},[]),disableHoverableContent:r,children:s})},"TooltipProvider"),bM="Tooltip",[jQe,Qv]=N4(bM),RQe=zs(e=>{const{__scopeTooltip:t,children:n,open:i,defaultOpen:r,onOpenChange:s,disableHoverableContent:a,delayDuration:o}=e,c=R4(bM,e.__scopeTooltip),u=j4(t),[d,f]=m.useState(null),[h,p]=m.useState(void 0),b=e2(),g=m.useRef(0),O=a??c.disableHoverableContent,y=o??c.delayDuration,v=m.useRef(!1),[x,w]=Kd({prop:i,defaultProp:r??!1,onChange:zs(A=>{A?(c.onOpen(),document.dispatchEvent(new CustomEvent(gM))):c.onClose(),s==null||s(A)},"onChange"),caller:bM}),E=m.useMemo(()=>x?v.current?"delayed-open":"instant-open":"closed",[x]),S=m.useCallback(()=>{window.clearTimeout(g.current),g.current=0,v.current=!1,w(!0)},[w]),k=m.useCallback(()=>{window.clearTimeout(g.current),g.current=0,w(!1)},[w]),T=m.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{v.current=!0,w(!0),g.current=0},y)},[y,w]);m.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]);const C=h??b;return l.jsx(Gae,{...u,children:l.jsx(jQe,{scope:t,contentId:C,setContentId:p,open:x,stateAttribute:E,trigger:d,onTriggerChange:f,onTriggerEnter:m.useCallback(()=>{c.isOpenDelayedRef.current?T():S()},[c.isOpenDelayedRef,T,S]),onTriggerLeave:m.useCallback(()=>{O?k():(window.clearTimeout(g.current),g.current=0)},[k,O]),onOpen:S,onClose:k,disableHoverableContent:O,children:n})})},"Tooltip"),yz="TooltipTrigger",IQe=m.forwardRef(zs(function(t,n){const{__scopeTooltip:i,...r}=t,s=Qv(yz,i),a=R4(yz,i),o=j4(i),c=m.useRef(null),u=Ur(n,c,s.onTriggerChange),d=m.useRef(!1),f=m.useRef(!1),h=m.useCallback(()=>d.current=!1,[]);return m.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),l.jsx(Yae,{asChild:!0,...o,children:l.jsx(ps.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:u,onPointerMove:Bi(t.onPointerMove,p=>{p.pointerType!=="touch"&&!f.current&&!a.isPointerInTransitRef.current&&(s.onTriggerEnter(),f.current=!0)}),onPointerLeave:Bi(t.onPointerLeave,()=>{s.onTriggerLeave(),f.current=!1}),onPointerDown:Bi(t.onPointerDown,()=>{s.open&&s.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:Bi(t.onFocus,()=>{d.current||s.onOpen()}),onBlur:Bi(t.onBlur,s.onClose),onClick:Bi(t.onClick,s.onClose)})})},"TooltipTrigger")),voe="TooltipPortal",[DQe,PQe]=N4(voe,{forceMount:void 0}),MQe=zs(e=>{const{__scopeTooltip:t,forceMount:n,children:i,container:r}=e,s=Qv(voe,t);return l.jsx(DQe,{scope:t,forceMount:n,children:l.jsx(nO,{present:n||s.open,children:l.jsx(xae,{asChild:!0,container:r,children:i})})})},"TooltipPortal"),T1="TooltipContent",LQe=m.forwardRef(zs(function(t,n){const i=PQe(T1,t.__scopeTooltip),{forceMount:r=i.forceMount,side:s="top",...a}=t,o=Qv(T1,t.__scopeTooltip);return l.jsx(nO,{present:r||o.open,children:o.disableHoverableContent?l.jsx(woe,{side:s,...a,ref:n}):l.jsx($Qe,{side:s,...a,ref:n})})},"TooltipContent")),$Qe=m.forwardRef(zs(function(t,n){const i=Qv(T1,t.__scopeTooltip),r=R4(T1,t.__scopeTooltip),s=m.useRef(null),a=Ur(n,s),[o,c]=m.useState(null),{trigger:u,onClose:d}=i,f=s.current,{onPointerInTransitChange:h}=r,p=m.useCallback(()=>{c(null),h(!1)},[h]),b=m.useCallback((g,O)=>{const y=g.currentTarget,v={x:g.clientX,y:g.clientY},x=Soe(v,y.getBoundingClientRect()),w=Eoe(v,x),E=koe(O.getBoundingClientRect()),S=_oe([...w,...E]);c(S),h(!0)},[h]);return m.useEffect(()=>()=>p(),[p]),m.useEffect(()=>{if(u&&f){const g=zs(y=>b(y,f),"handleTriggerLeave"),O=zs(y=>b(y,u),"handleContentLeave");return u.addEventListener("pointerleave",g),f.addEventListener("pointerleave",O),()=>{u.removeEventListener("pointerleave",g),f.removeEventListener("pointerleave",O)}}},[u,f,b,p]),m.useEffect(()=>{if(o){const g=zs(O=>{const y=O.target,v={x:O.clientX,y:O.clientY},x=(u==null?void 0:u.contains(y))||(f==null?void 0:f.contains(y)),w=!Toe(v,o);x?p():w&&(p(),d())},"handleTrackPointerGrace");return document.addEventListener("pointermove",g),()=>document.removeEventListener("pointermove",g)}},[u,f,o,d,p]),l.jsx(woe,{...t,ref:a})},"TooltipContentHoverable")),QQe=Use("TooltipContent"),woe=m.forwardRef(zs(function(t,n){const{__scopeTooltip:i,children:r,"aria-label":s,id:a,onEscapeKeyDown:o,onPointerDownOutside:c,...u}=t,d=Qv(T1,i),f=j4(i),{onClose:h}=d;m.useEffect(()=>(document.addEventListener(gM,h),()=>document.removeEventListener(gM,h)),[h]),m.useEffect(()=>{if(d.trigger){const b=zs(g=>{g.target instanceof Node&&g.target.contains(d.trigger)&&h()},"handleScroll");return window.addEventListener("scroll",b,{capture:!0}),()=>window.removeEventListener("scroll",b,{capture:!0})}},[d.trigger,h]);const{setContentId:p}=d;return Ml(()=>(p(a),()=>{p(void 0)}),[a,p]),l.jsx(dae,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:c,onFocusOutside:b=>b.preventDefault(),onDismiss:h,children:l.jsxs(Wae,{"data-state":d.stateAttribute,role:s?void 0:"tooltip",id:s?void 0:d.contentId,...f,...u,ref:n,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(QQe,{children:r}),s?l.jsx(N3e,{id:d.contentId,role:"tooltip",children:s}):null]})})},"TooltipContentImpl"));function Soe(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,i,r,s)){case s:return"left";case r:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}zs(Soe,"getExitSideFromRect");function Eoe(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}zs(Eoe,"getPaddedExitPoints");function koe(e){const{top:t,right:n,bottom:i,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:i},{x:r,y:i}]}zs(koe,"getPointsFromRect");function Toe(e,t){const{x:n,y:i}=e;let r=!1;for(let s=0,a=t.length-1;si!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=!r)}return r}zs(Toe,"isPointInPolygon");function _oe(e){const t=e.slice();return t.sort((n,i)=>n.xi.x?1:n.yi.y?1:0),Aoe(t)}zs(_oe,"getHull");function Aoe(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const r=e[i];for(;n.length>=2;){const s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}zs(Aoe,"getHullPresorted");var BQe=NQe,FQe=RQe,Coe=IQe,UQe=MQe,zQe=LQe;function OM(e){const t=m.useRef(e);return t.current=e,t}let bb=[],_S=!1;const xz=e=>{var t,n;if(e.key==="Escape"){const[i]=bb;i&&(e.preventDefault(),(n=(t=i.callback).current)==null||n.call(t))}},Noe=()=>{bb.length>0&&!_S?(document.body.addEventListener("keydown",xz),_S=!0):bb.length===0&&_S&&(document.body.removeEventListener("keydown",xz),_S=!1)},VQe=e=>{bb.unshift(e),Noe()},qQe=({id:e})=>{bb=bb.filter(t=>t.id!==e),Noe()},joe=(e,t)=>{const n=m.useId(),i=OM(t);m.useEffect(()=>{if(!e)return;const r={id:n,callback:i};return VQe(r),()=>qQe(r)},[n,e,i])},XQe="_Tooltip_16g2y_1",HQe="_TriggerDecorator_16g2y_73",Roe={Tooltip:XQe,TriggerDecorator:HQe},Jp=e=>{const{ref:t,children:n,content:i,forceOpen:r=i===null?!1:void 0,maxWidth:s=300,openDelay:a=150,interactive:o=!1,compact:c=!1,preventUnintentionalClickToClose:u,align:d,alignOffset:f=0,side:h,sideOffset:p=5,gutterSize:b="md",contentClassName:g,onPointerDown:O,onClick:y,...v}=e,[x,w]=m.useState(!1),[E,S]=m.useState(!1);o4(()=>S(!1),E?400:null);const k=r??x,T=A=>{typeof r!="boolean"&&(w(A),u&&S(A))},C=A=>{u&&E&&(A.preventDefault(),A.stopPropagation())};return l.jsxs(Ioe,{open:k,delayDuration:a,onOpenChange:T,disableHoverableContent:!o,children:[l.jsx(Coe,{asChild:!0,children:l.jsx(Bse,{...v,ref:t,onPointerDown:A=>{C(A),O==null||O(A)},onClick:A=>{C(A),y==null||y(A)},children:n})}),l.jsx(Doe,{maxWidth:s,compact:c,align:d,alignOffset:f,side:h,sideOffset:p,gutterSize:b,className:g,children:i})]})},Ioe=({children:e,open:t,onOpenChange:n,...i})=>(joe(t,()=>{n(!1)}),l.jsx(BQe,{children:l.jsx(FQe,{open:t,onOpenChange:n,...i,children:e})})),Doe=({children:e,maxWidth:t=300,compact:n=!1,clickable:i=void 0,alignOffset:r=0,sideOffset:s=5,gutterSize:a="md",className:o,style:c,...u})=>l.jsx(UQe,{children:l.jsx(zQe,{...u,className:la(Roe.Tooltip,o),"data-compact":n,"data-clickable":i,"data-gutter-size":a,alignOffset:r,sideOffset:s,collisionPadding:15,hideWhenDetached:!0,style:{...c,maxWidth:t},onEscapeKeyDown:ik,children:e})}),GQe=({children:e,asChild:t=!0,...n})=>l.jsx(Coe,{asChild:t,...n,children:e}),YQe=e=>{const{children:t,className:n,focusable:i=!0,ref:r,...s}=e,a=typeof t=="string";return l.jsx(Bse,{ref:r,...s,className:la(Roe.TriggerDecorator,n),tabIndex:i?0:void 0,children:a?l.jsx("span",{children:t}):t})};Jp.Root=Ioe;Jp.Content=Doe;Jp.Trigger=GQe;Jp.TriggerDecorator=YQe;const Poe="KNOWLEDGE_PROVIDER_ASSOCIATION_INVALID";class m2 extends Error{constructor(n,i,r={}){super(n);Lr(this,"status");Lr(this,"errorCode");Lr(this,"requestId");Lr(this,"diagnostics");Lr(this,"detail");Lr(this,"payload");Lr(this,"rawBody");this.name="KnowledgeRequestError",this.status=i;const s=typeof r=="string"?{errorCode:r}:r;this.errorCode=s.errorCode||"",this.requestId=s.requestId||"",this.diagnostics=s.diagnostics,this.detail=s.detail,this.payload=s.payload,this.rawBody=s.rawBody||""}}class Moe extends Error{constructor(n){super(n.map(({region:i,error:r})=>`${i}: ${r.message||"读取知识库失败"}`).join(` +`));Lr(this,"failures");this.name="KnowledgeRegionAggregateError",this.failures=n}}const WQe=new Set(["ak","apikey","sk","accesskey","accesskeyid","authorization","authkey","clientsecret","cookie","credential","credentials","password","passwd","privatekey","secret","secretaccesskey","secretkey","securitytoken","sessiontoken","setcookie","token"]),ZQe=6,vz=50,Loe=4e3;function KQe(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function JQe(e){const t=KQe(e);return WQe.has(t)||t.endsWith("password")||t.endsWith("secret")||t.endsWith("token")||t.endsWith("credential")}function eBe(e){return/<\s*(?:!doctype|html|head|body|script|style)\b/i.test(e)}function Ly(e){return eBe(e)?"[HTML 内容已隐藏]":e.replace(/\bBearer\s+[^\s,;]+/gi,"Bearer [已脱敏]").replace(/\b(?:set-)?cookie\s*:\s*[^\r\n]*/gi,"cookie: [已脱敏]").replace(/\bAKLT[A-Za-z0-9_-]{6,}\b/g,"[已脱敏]").replace(/((?:access[_-]?key(?:[_-]?id)?|secret(?:[_-]?(?:access)?[_-]?key)?|session[_-]?token|security[_-]?token|client[_-]?secret|api[_-]?key|authorization|cookie|[a-z0-9_-]*(?:password|secret|token)|credential|ak|sk)\s*[:=]\s*)(?:"[^"]*"|'[^']*'|[^\s,;&]+)/gi,"$1[已脱敏]").replace(/([?&](?:access[_-]?key|api[_-]?key|client[_-]?secret|security[_-]?token|session[_-]?token|secret|token|password|authorization|cookie|credential)=)[^&#\s]+/gi,"$1[已脱敏]")}function yM(e,t=0,n=new WeakSet){if(e===null||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="string")return Ly(e).slice(0,Loe);if(typeof e!="object")return;if(t>=ZQe)return"[内容过深,已截断]";if(n.has(e))return"[循环引用]";if(n.add(e),Array.isArray(e))return e.slice(0,vz).map(r=>yM(r,t+1,n));const i={};return Object.entries(e).slice(0,vz).forEach(([r,s])=>{i[r]=JQe(r)?"[已脱敏]":yM(s,t+1,n)}),i}function wz(e){if(e===void 0)return"";const t=yM(e);if(typeof t=="string")return t;if(t===void 0)return"";try{return JSON.stringify(t).slice(0,Loe)}catch{return"[诊断信息无法显示]"}}function ya(e,t){if(e instanceof Moe)return e.failures.map(({region:a,error:o})=>`${a} +${ya(o,t)}`).join(` -`);if(!(e instanceof c2))return(e instanceof Error?Cy(e.message):"")||t;const n=Cy(e.message)||t,i=[Number.isFinite(e.status)?`状态码:${e.status}`:"",e.errorCode?`错误码:${Cy(e.errorCode)}`:"",e.requestId?`请求 ID:${Cy(e.requestId)}`:""].filter(Boolean).join(" · "),r=hz(e.diagnostics),s=hz(e.detail);return[n,i,r?`诊断:${r}`:"",s&&s!==n?`详情:${s}`:""].filter(Boolean).join(` -`)}function ik(...e){for(const t of e)if(typeof t=="string"&&t.trim())return t.trim();return""}function $Qe(e){return Array.isArray(e)?e.map(t=>{const n=Nl(t),i=ik(n.msg,n.message);if(!i)return"";const r=Array.isArray(n.loc)?n.loc.filter(s=>typeof s=="string"||typeof s=="number").map(String).join("."):"";return r?`${r}: ${i}`:i}).filter(Boolean).join("; "):""}function QQe(e,t=!0){const n=Nl(e),i=Object.prototype.hasOwnProperty.call(n,"detail")?n.detail:typeof e=="string"?e:void 0,r=Nl(i);return{message:typeof i=="string"?t?i.trim():"":ik(r.message,n.message,$Qe(i)),errorCode:ik(r.errorCode,n.errorCode),requestId:ik(r.requestId,r.request_id,r.RequestId,n.requestId,n.request_id),diagnostics:r.diagnostics??n.diagnostics,detail:i,payload:e}}function Nl(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Gn(e){return typeof e=="string"?e:""}function y1(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function S4(e){const t=Nl(e);return{id:Gn(t.id),name:Gn(t.name),description:Gn(t.description),providerType:Gn(t.providerType),providerKnowledgeId:Gn(t.providerKnowledgeId),projectName:Gn(t.projectName),region:Gn(t.region),status:Gn(t.status),createdAt:Gn(t.createdAt),updatedAt:Gn(t.updatedAt),ownerId:Gn(t.ownerId),ownerLabel:Gn(t.ownerLabel),canManage:t.canManage===!0}}function Rv(e){const t=Nl(e);return{id:Gn(t.id),name:Gn(t.name),type:Gn(t.type),sizeBytes:y1(t.sizeBytes,0),status:Gn(t.status),url:Gn(t.url),tosPath:Gn(t.tosPath),metadata:Nl(t.metadata),createdAt:Gn(t.createdAt),updatedAt:Gn(t.updatedAt),sourceMarkdown:Gn(t.sourceMarkdown)}}function BQe(e){const t=Nl(e),n=t.attachment,i=Nl(n);return{id:Gn(t.id),title:Gn(t.title),content:Gn(t.content),attachmentUrl:Gn(t.attachmentUrl)||Gn(i.url)||Gn(i.previewUrl),attachmentType:Gn(t.attachmentType)||Gn(i.type)||Gn(i.mimeType),attachment:n,tableFields:t.tableFields}}async function vc(e,t={},n=mo){var f;const i=Ph(t.headers);i.set("accept","application/json"),t.body&&!(t.body instanceof FormData)&&i.set("content-type","application/json");const r=await fetch(e,{...t,headers:i,signal:go(t.signal,n)});if(r.ok)return r.status===204?void 0:r.json();const s=await r.text();let a=s,o=!1;if(s)try{a=JSON.parse(s),o=!0}catch{}const c=((f=r.headers.get("content-type"))==null?void 0:f.toLowerCase())||"",u=QQe(a,o||c.startsWith("text/plain")),d=r.status===401?"请先登录后再访问知识库":r.status===403?"你没有权限操作这个知识库":r.status===404?"知识库或知识内容不存在":r.status===409?"知识库当前状态不允许执行此操作":`知识库请求失败 (${r.status})`;throw new c2(u.message||d,r.status,{errorCode:u.errorCode,requestId:u.requestId,diagnostics:u.diagnostics,detail:u.detail,payload:u.payload,rawBody:s})}function Nm(e){const t=new URLSearchParams;e.trim()&&t.set("region",e.trim());const n=t.toString();return n?`?${n}`:""}async function FQe(e){var r;const t=new URLSearchParams({region:e.region,pageSize:String(e.pageSize??30)});(r=e.projectName)!=null&&r.trim()&&t.set("projectName",e.projectName.trim()),e.nextToken&&t.set("nextToken",e.nextToken);const n=await vc(`/web/knowledge-bases?${t.toString()}`,{signal:e.signal}),i=Nl(n);return{items:Array.isArray(i.items)?i.items.map(S4):[],nextToken:Gn(i.nextToken)}}function UQe(e){return`${e.region}\0${e.id}`}async function zQe(e){var o;const t=[...new Set(e.regions.map(c=>c.trim()).filter(Boolean))],n=e.nextTokens?t.filter(c=>{var u;return!!((u=e.nextTokens)!=null&&u[c])}):t;if(n.length===0)return{items:[],nextTokens:{},failures:[]};const i=await Promise.allSettled(n.map(async c=>{var u;return{region:c,page:await FQe({region:c,projectName:e.projectName,nextToken:(u=e.nextTokens)==null?void 0:u[c],pageSize:e.pageSize,signal:e.signal})}}));if((o=e.signal)!=null&&o.aborted)throw new DOMException("Aborted","AbortError");const r=[],s={},a=new Map;if(i.forEach((c,u)=>{var f;const d=n[u];if(c.status==="rejected"){const h=(f=e.nextTokens)==null?void 0:f[d];h&&(s[d]=h),r.push({region:d,error:c.reason instanceof Error?c.reason:new Error("读取知识库失败")});return}c.value.page.nextToken&&(s[d]=c.value.page.nextToken),c.value.page.items.forEach(h=>{const p=h.region?h:{...h,region:d};a.set(UQe(p),p)})}),r.length===n.length)throw new Ooe(r);return{items:[...a.values()],nextTokens:s,failures:r}}function VQe(e){return vc("/web/knowledge-bases",{method:"POST",body:JSON.stringify(e)},gr).then(S4)}function qQe(e,t,n){return vc(`/web/knowledge-bases/${encodeURIComponent(e)}${Nm(t)}`,{method:"PATCH",body:JSON.stringify(n)}).then(S4)}function XQe(e,t){return vc(`/web/knowledge-bases/${encodeURIComponent(e)}${Nm(t)}`,{method:"DELETE"},gr)}async function HQe(e,t){var s;const n=new URLSearchParams({region:t.region,offset:String(t.offset??0),limit:String(t.limit??30)});(s=t.documentType)!=null&&s.trim()&&n.set("documentType",t.documentType.trim());const i=await vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents?${n.toString()}`,{signal:t.signal}),r=Nl(i);return{items:Array.isArray(r.items)?r.items.map(Rv):[],offset:y1(r.offset,0),limit:y1(r.limit,t.limit??30),hasMore:r.hasMore===!0}}async function YQe(e,t,n){const i=new URLSearchParams({region:n.region,offset:String(n.offset??0),limit:String(n.limit??20)}),r=await vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}/preview?${i.toString()}`,{signal:n.signal}),s=Nl(r);return{document:Rv(s.document),chunks:Array.isArray(s.chunks)?s.chunks.map(BQe):[],sourceMarkdown:Gn(s.sourceMarkdown),offset:y1(s.offset,0),limit:y1(s.limit,n.limit??20),hasMore:s.hasMore===!0}}function GQe(e,t,n){return vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents${Nm(t)}`,{method:"POST",body:JSON.stringify(n)},gr).then(Rv)}async function WQe(e,t,n){const i=await vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/web-preview${Nm(t)}`,{method:"POST",body:JSON.stringify({sourceType:"url",url:n.url})},gr),r=Nl(i);return{name:Gn(r.name),url:Gn(r.url),sourceMarkdown:Gn(r.sourceMarkdown)}}function ZQe(e,t,n){var r,s;const i=new FormData;return i.set("file",n.file),(r=n.name)!=null&&r.trim()&&i.set("name",n.name.trim()),(s=n.documentType)!=null&&s.trim()&&i.set("documentType",n.documentType.trim()),n.metadata&&i.set("metadata",JSON.stringify(n.metadata)),vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/upload${Nm(t)}`,{method:"POST",body:i},gr).then(Rv)}function KQe(e,t,n,i){return vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}${Nm(n)}`,{method:"PATCH",body:JSON.stringify(i)}).then(Rv)}function JQe(e,t,n){return vc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}${Nm(n)}`,{method:"DELETE"},gr)}function eBe({secondaryAction:e,primaryAction:t,menuLabel:n,menuAriaLabel:i,menuActions:r}){return l.jsxs("footer",{className:"library-resource-card__actions",children:[l.jsx("button",{type:"button",className:"library-resource-card__action library-resource-card__action--secondary",disabled:e.disabled,title:e.title,onClick:e.onClick,children:e.label}),l.jsx("button",{type:"button",className:"library-resource-card__action library-resource-card__action--primary",disabled:t.disabled,title:t.title,onClick:t.onClick,children:t.label}),l.jsx(sse,{label:n,menuLabel:i,className:"library-resource-card__action library-resource-card__more",placement:"top-end",items:r.map(s=>({label:s.label,onSelect:s.onClick,disabled:s.disabled,danger:s.danger,title:s.title}))})]})}function xoe({className:e="",title:t,status:n,description:i,metadata:r,secondaryAction:s,primaryAction:a,menuLabel:o,menuAriaLabel:c,menuActions:u}){return l.jsxs("article",{className:`my-agent-card library-resource-card ${e}`.trim(),children:[l.jsxs("div",{className:"my-agent-card-content",children:[l.jsxs("div",{className:"my-agent-card-title",children:[l.jsx("div",{className:"my-agent-card-title-copy",children:l.jsx("h3",{title:t,children:t})}),n]}),l.jsx("p",{className:"my-agent-description",title:i,children:i}),l.jsx("dl",{className:"my-agent-meta",children:r.map((d,f)=>l.jsxs("div",{className:f===0?"my-agent-created-at":"my-agent-region",children:[l.jsx("dt",{children:d.label}),l.jsx("dd",{title:d.title,children:d.value})]},`${d.label}:${f}`))})]}),l.jsx(eBe,{secondaryAction:s,primaryAction:a,menuLabel:o,menuAriaLabel:c,menuActions:u})]})}function vwt(){}function pz(e){const t=[],n=String(e||"");let i=n.indexOf(","),r=0,s=!1;for(;!s;){i===-1&&(i=n.length,s=!0);const a=n.slice(r,i).trim();(a||!s)&&t.push(a),r=i+1,i=n.indexOf(",",r)}return t}function voe(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const tBe=/[$_\p{ID_Start}]/u,nBe=/[$_\u{200C}\u{200D}\p{ID_Continue}]/u,iBe=/[-$_\u{200C}\u{200D}\p{ID_Continue}]/u,rBe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,sBe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,woe={};function wwt(e){return e?tBe.test(String.fromCodePoint(e)):!1}function Swt(e,t){const i=(t||woe).jsx?iBe:nBe;return e?i.test(String.fromCodePoint(e)):!1}function mz(e,t){return(woe.jsx?sBe:rBe).test(e)}const aBe=/[ \t\n\f\r]/g;function oBe(e){return typeof e=="object"?e.type==="text"?gz(e.value):!1:gz(e)}function gz(e){return e.replace(aBe,"")===""}let Dv=class{constructor(t,n,i){this.normal=n,this.property=t,i&&(this.space=i)}};Dv.prototype.normal={};Dv.prototype.property={};Dv.prototype.space=void 0;function Soe(e,t){const n={},i={};for(const r of e)Object.assign(n,r.property),Object.assign(i,r.normal);return new Dv(n,i,t)}function x1(e){return e.toLowerCase()}class bo{constructor(t,n){this.attribute=n,this.property=t}}bo.prototype.attribute="";bo.prototype.booleanish=!1;bo.prototype.boolean=!1;bo.prototype.commaOrSpaceSeparated=!1;bo.prototype.commaSeparated=!1;bo.prototype.defined=!1;bo.prototype.mustUseProperty=!1;bo.prototype.number=!1;bo.prototype.overloadedBoolean=!1;bo.prototype.property="";bo.prototype.spaceSeparated=!1;bo.prototype.space=void 0;let lBe=0;const bn=jm(),ts=jm(),dM=jm(),at=jm(),Wi=jm(),w0=jm(),No=jm();function jm(){return 2**++lBe}const fM=Object.freeze(Object.defineProperty({__proto__:null,boolean:bn,booleanish:ts,commaOrSpaceSeparated:No,commaSeparated:w0,number:at,overloadedBoolean:dM,spaceSeparated:Wi},Symbol.toStringTag,{value:"Module"})),_j=Object.keys(fM);class E4 extends bo{constructor(t,n,i,r){let s=-1;if(super(t,n),bz(this,"space",r),typeof i=="number")for(;++s<_j.length;){const a=_j[s];bz(this,_j[s],(i&fM[a])===fM[a])}}}E4.prototype.defined=!0;function bz(e,t,n){n&&(e[t]=n)}function Jb(e){const t={},n={};for(const[i,r]of Object.entries(e.properties)){const s=new E4(i,e.transform(e.attributes||{},i),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(s.mustUseProperty=!0),t[i]=s,n[x1(i)]=i,n[x1(s.attribute)]=i}return new Dv(t,n,e.space)}const Eoe=Jb({properties:{ariaActiveDescendant:null,ariaAtomic:ts,ariaAutoComplete:null,ariaBusy:ts,ariaChecked:ts,ariaColCount:at,ariaColIndex:at,ariaColSpan:at,ariaControls:Wi,ariaCurrent:null,ariaDescribedBy:Wi,ariaDetails:null,ariaDisabled:ts,ariaDropEffect:Wi,ariaErrorMessage:null,ariaExpanded:ts,ariaFlowTo:Wi,ariaGrabbed:ts,ariaHasPopup:null,ariaHidden:ts,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Wi,ariaLevel:at,ariaLive:null,ariaModal:ts,ariaMultiLine:ts,ariaMultiSelectable:ts,ariaOrientation:null,ariaOwns:Wi,ariaPlaceholder:null,ariaPosInSet:at,ariaPressed:ts,ariaReadOnly:ts,ariaRelevant:null,ariaRequired:ts,ariaRoleDescription:Wi,ariaRowCount:at,ariaRowIndex:at,ariaRowSpan:at,ariaSelected:ts,ariaSetSize:at,ariaSort:null,ariaValueMax:at,ariaValueMin:at,ariaValueNow:at,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function koe(e,t){return t in e?e[t]:t}function Toe(e,t){return koe(e,t.toLowerCase())}const cBe=Jb({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:w0,acceptCharset:Wi,accessKey:Wi,action:null,allow:null,allowFullScreen:bn,allowPaymentRequest:bn,allowUserMedia:bn,alt:null,as:null,async:bn,autoCapitalize:null,autoComplete:Wi,autoFocus:bn,autoPlay:bn,blocking:Wi,capture:null,charSet:null,checked:bn,cite:null,className:Wi,cols:at,colSpan:null,content:null,contentEditable:ts,controls:bn,controlsList:Wi,coords:at|w0,crossOrigin:null,data:null,dateTime:null,decoding:null,default:bn,defer:bn,dir:null,dirName:null,disabled:bn,download:dM,draggable:ts,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:bn,formTarget:null,headers:Wi,height:at,hidden:dM,high:at,href:null,hrefLang:null,htmlFor:Wi,httpEquiv:Wi,id:null,imageSizes:null,imageSrcSet:null,inert:bn,inputMode:null,integrity:null,is:null,isMap:bn,itemId:null,itemProp:Wi,itemRef:Wi,itemScope:bn,itemType:Wi,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:bn,low:at,manifest:null,max:null,maxLength:at,media:null,method:null,min:null,minLength:at,multiple:bn,muted:bn,name:null,nonce:null,noModule:bn,noValidate:bn,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:bn,optimum:at,pattern:null,ping:Wi,placeholder:null,playsInline:bn,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:bn,referrerPolicy:null,rel:Wi,required:bn,reversed:bn,rows:at,rowSpan:at,sandbox:Wi,scope:null,scoped:bn,seamless:bn,selected:bn,shadowRootClonable:bn,shadowRootDelegatesFocus:bn,shadowRootMode:null,shape:null,size:at,sizes:null,slot:null,span:at,spellCheck:ts,src:null,srcDoc:null,srcLang:null,srcSet:null,start:at,step:null,style:null,tabIndex:at,target:null,title:null,translate:null,type:null,typeMustMatch:bn,useMap:null,value:ts,width:at,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Wi,axis:null,background:null,bgColor:null,border:at,borderColor:null,bottomMargin:at,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:bn,declare:bn,event:null,face:null,frame:null,frameBorder:null,hSpace:at,leftMargin:at,link:null,longDesc:null,lowSrc:null,marginHeight:at,marginWidth:at,noResize:bn,noHref:bn,noShade:bn,noWrap:bn,object:null,profile:null,prompt:null,rev:null,rightMargin:at,rules:null,scheme:null,scrolling:ts,standby:null,summary:null,text:null,topMargin:at,valueType:null,version:null,vAlign:null,vLink:null,vSpace:at,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:bn,disableRemotePlayback:bn,prefix:null,property:null,results:at,security:null,unselectable:null},space:"html",transform:Toe}),uBe=Jb({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:No,accentHeight:at,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:at,amplitude:at,arabicForm:null,ascent:at,attributeName:null,attributeType:null,azimuth:at,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:at,by:null,calcMode:null,capHeight:at,className:Wi,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:at,diffuseConstant:at,direction:null,display:null,dur:null,divisor:at,dominantBaseline:null,download:bn,dx:null,dy:null,edgeMode:null,editable:null,elevation:at,enableBackground:null,end:null,event:null,exponent:at,externalResourcesRequired:null,fill:null,fillOpacity:at,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:w0,g2:w0,glyphName:w0,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:at,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:at,horizOriginX:at,horizOriginY:at,id:null,ideographic:at,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:at,k:at,k1:at,k2:at,k3:at,k4:at,kernelMatrix:No,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:at,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:at,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:at,overlineThickness:at,paintOrder:null,panose1:null,path:null,pathLength:at,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Wi,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:at,pointsAtY:at,pointsAtZ:at,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:No,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:No,rev:No,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:No,requiredFeatures:No,requiredFonts:No,requiredFormats:No,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:at,specularExponent:at,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:at,strikethroughThickness:at,string:null,stroke:null,strokeDashArray:No,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:at,strokeOpacity:at,strokeWidth:null,style:null,surfaceScale:at,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:No,tabIndex:at,tableValues:null,target:null,targetX:at,targetY:at,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:No,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:at,underlineThickness:at,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:at,values:null,vAlphabetic:at,vMathematical:at,vectorEffect:null,vHanging:at,vIdeographic:at,version:null,vertAdvY:at,vertOriginX:at,vertOriginY:at,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:at,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:koe}),_oe=Jb({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()}}),Aoe=Jb({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Toe}),Coe=Jb({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),dBe={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"},fBe=/[A-Z]/g,Oz=/-[a-z]/g,hBe=/^data[-\w.:]+$/i;function u2(e,t){const n=x1(t);let i=t,r=bo;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&hBe.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(Oz,mBe);i="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!Oz.test(s)){let a=s.replace(fBe,pBe);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}r=E4}return new r(i,t)}function pBe(e){return"-"+e.toLowerCase()}function mBe(e){return e.charAt(1).toUpperCase()}const Iv=Soe([Eoe,cBe,_oe,Aoe,Coe],"html"),$h=Soe([Eoe,uBe,_oe,Aoe,Coe],"svg");function yz(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Noe(e){return e.join(" ").trim()}var k4={},xz=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,gBe=/\n/g,bBe=/^\s*/,OBe=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,yBe=/^:\s*/,xBe=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,vBe=/^[;\s]*/,wBe=/^\s+|\s+$/g,SBe=` -`,vz="/",wz="*",bp="",EBe="comment",kBe="declaration";function TBe(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,i=1;function r(b){var g=b.match(gBe);g&&(n+=g.length);var O=b.lastIndexOf(SBe);i=~O?b.length-O:i+b.length}function s(){var b={line:n,column:i};return function(g){return g.position=new a(b),u(),g}}function a(b){this.start=b,this.end={line:n,column:i},this.source=t.source}a.prototype.content=e;function o(b){var g=new Error(t.source+":"+n+":"+i+": "+b);if(g.reason=b,g.filename=t.source,g.line=n,g.column=i,g.source=e,!t.silent)throw g}function c(b){var g=b.exec(e);if(g){var O=g[0];return r(O),e=e.slice(O.length),g}}function u(){c(bBe)}function d(b){var g;for(b=b||[];g=f();)g!==!1&&b.push(g);return b}function f(){var b=s();if(!(vz!=e.charAt(0)||wz!=e.charAt(1))){for(var g=2;bp!=e.charAt(g)&&(wz!=e.charAt(g)||vz!=e.charAt(g+1));)++g;if(g+=2,bp===e.charAt(g-1))return o("End of comment missing");var O=e.slice(2,g-2);return i+=2,r(O),e=e.slice(g),i+=2,b({type:EBe,comment:O})}}function h(){var b=s(),g=c(OBe);if(g){if(f(),!c(yBe))return o("property missing ':'");var O=c(xBe),y=b({type:kBe,property:Sz(g[0].replace(xz,bp)),value:O?Sz(O[0].replace(xz,bp)):bp});return c(vBe),y}}function p(){var b=[];d(b);for(var g;g=h();)g!==!1&&(b.push(g),d(b));return b}return u(),p()}function Sz(e){return e?e.replace(wBe,bp):bp}var _Be=TBe,ABe=Lf&&Lf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k4,"__esModule",{value:!0});k4.default=NBe;const CBe=ABe(_Be);function NBe(e,t){let n=null;if(!e||typeof e!="string")return n;const i=(0,CBe.default)(e),r=typeof t=="function";return i.forEach(s=>{if(s.type!=="declaration")return;const{property:a,value:o}=s;r?t(a,o,s):o&&(n=n||{},n[a]=o)}),n}var d2={};Object.defineProperty(d2,"__esModule",{value:!0});d2.camelCase=void 0;var jBe=/^--[a-zA-Z0-9_-]+$/,RBe=/-([a-z])/g,DBe=/^[^-]+$/,IBe=/^-(webkit|moz|ms|o|khtml)-/,PBe=/^-(ms)-/,MBe=function(e){return!e||DBe.test(e)||jBe.test(e)},LBe=function(e,t){return t.toUpperCase()},Ez=function(e,t){return"".concat(t,"-")},$Be=function(e,t){return t===void 0&&(t={}),MBe(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(PBe,Ez):e=e.replace(IBe,Ez),e.replace(RBe,LBe))};d2.camelCase=$Be;var QBe=Lf&&Lf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},BBe=QBe(k4),FBe=d2;function hM(e,t){var n={};return!e||typeof e!="string"||(0,BBe.default)(e,function(i,r){i&&r&&(n[(0,FBe.camelCase)(i,t)]=r)}),n}hM.default=hM;var UBe=hM;const zBe=_b(UBe),f2=joe("end"),wu=joe("start");function joe(e){return t;function t(n){const i=n&&n.position&&n.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function VBe(e){const t=wu(e),n=f2(e);if(t&&n)return{start:t,end:n}}function dx(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?kz(e.position):"start"in e||"end"in e?kz(e):"line"in e||"column"in e?pM(e):""}function pM(e){return Tz(e&&e.line)+":"+Tz(e&&e.column)}function kz(e){return pM(e&&e.start)+"-"+pM(e&&e.end)}function Tz(e){return e&&typeof e=="number"?e:1}class ba extends Error{constructor(t,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let r="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?r=t:!s.cause&&t&&(a=!0,r=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof i=="string"){const c=i.indexOf(":");c===-1?s.ruleId=i:(s.source=i.slice(0,c),s.ruleId=i.slice(c+1))}if(!s.place&&s.ancestors&&s.ancestors){const c=s.ancestors[s.ancestors.length-1];c&&(s.place=c.position)}const o=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=dx(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}ba.prototype.file="";ba.prototype.name="";ba.prototype.reason="";ba.prototype.message="";ba.prototype.stack="";ba.prototype.column=void 0;ba.prototype.line=void 0;ba.prototype.ancestors=void 0;ba.prototype.cause=void 0;ba.prototype.fatal=void 0;ba.prototype.place=void 0;ba.prototype.ruleId=void 0;ba.prototype.source=void 0;const T4={}.hasOwnProperty,qBe=new Map,XBe=/[A-Z]/g,HBe=new Set(["table","tbody","thead","tfoot","tr"]),YBe=new Set(["td","th"]),Roe="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function GBe(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let i;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=i8e(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=n8e(n,t.jsx,t.jsxs)}const r={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?$h:Iv,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=Doe(r,e,void 0);return s&&typeof s!="string"?s:r.create(e,r.Fragment,{children:s||void 0},void 0)}function Doe(e,t,n){if(t.type==="element")return WBe(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return ZBe(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return JBe(e,t,n);if(t.type==="mdxjsEsm")return KBe(e,t);if(t.type==="root")return e8e(e,t,n);if(t.type==="text")return t8e(e,t)}function WBe(e,t,n){const i=e.schema;let r=i;t.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=$h,e.schema=r),e.ancestors.push(t);const s=Poe(e,t.tagName,!1),a=r8e(e,t);let o=A4(e,t);return HBe.has(t.tagName)&&(o=o.filter(function(c){return typeof c=="string"?!oBe(c):!0})),Ioe(e,a,s,t),_4(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function ZBe(e,t){if(t.data&&t.data.estree&&e.evaluater){const i=t.data.estree.body[0];return i.type,e.evaluater.evaluateExpression(i.expression)}v1(e,t.position)}function KBe(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);v1(e,t.position)}function JBe(e,t,n){const i=e.schema;let r=i;t.name==="svg"&&i.space==="html"&&(r=$h,e.schema=r),e.ancestors.push(t);const s=t.name===null?e.Fragment:Poe(e,t.name,!0),a=s8e(e,t),o=A4(e,t);return Ioe(e,a,s,t),_4(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function e8e(e,t,n){const i={};return _4(i,A4(e,t)),e.create(t,e.Fragment,i,n)}function t8e(e,t){return t.value}function Ioe(e,t,n,i){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=i)}function _4(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function n8e(e,t,n){return i;function i(r,s,a,o){const u=Array.isArray(a.children)?n:t;return o?u(s,a,o):u(s,a)}}function i8e(e,t){return n;function n(i,r,s,a){const o=Array.isArray(s.children),c=wu(i);return t(r,s,a,o,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function r8e(e,t){const n={};let i,r;for(r in t.properties)if(r!=="children"&&T4.call(t.properties,r)){const s=a8e(e,r,t.properties[r]);if(s){const[a,o]=s;e.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&YBe.has(t.tagName)?i=o:n[a]=o}}if(i){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return n}function s8e(e,t){const n={};for(const i of t.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&e.evaluater){const s=i.data.estree.body[0];s.type;const a=s.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else v1(e,t.position);else{const r=i.name;let s;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&e.evaluater){const o=i.value.data.estree.body[0];o.type,s=e.evaluater.evaluateExpression(o.expression)}else v1(e,t.position);else s=i.value===null?!0:i.value;n[r]=s}return n}function A4(e,t){const n=[];let i=-1;const r=e.passKeys?new Map:qBe;for(;++ir?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)a=Array.from(i),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);s0?(Go(e,e.length,0,t),e):t}const Cz={}.hasOwnProperty;function Loe(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 uc(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ca=Qh(/[A-Za-z]/),pa=Qh(/[\dA-Za-z]/),m8e=Qh(/[#-'*+\--9=?A-Z^-~]/);function BT(e){return e!==null&&(e<32||e===127)}const mM=Qh(/\d/),g8e=Qh(/[\dA-Fa-f]/),b8e=Qh(/[!-/:-@[-`{-~]/);function Ht(e){return e!==null&&e<-2}function Ui(e){return e!==null&&(e<0||e===32)}function Mn(e){return e===-2||e===-1||e===32}const h2=Qh(new RegExp("\\p{P}|\\p{S}","u")),um=Qh(/\s/);function Qh(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function eO(e){const t=[];let n=-1,i=0,r=0;for(;++n55295&&s<57344){const o=e.charCodeAt(n+1);s<56320&&o>56319&&o<57344?(a=String.fromCharCode(s,o),r=1):a="�"}else a=String.fromCharCode(s);a&&(t.push(e.slice(i,n),encodeURIComponent(a)),i=n+r+1,a=""),r&&(n+=r,r=0)}return t.join("")+e.slice(i)}function ei(e,t,n,i){const r=i?i-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(c){return Mn(c)?(e.enter(n),o(c)):t(c)}function o(c){return Mn(c)&&s++a))return;const k=t.events.length;let T=k,C,A;for(;T--;)if(t.events[T][0]==="exit"&&t.events[T][1].type==="chunkFlow"){if(C){A=t.events[T][1].end;break}C=!0}for(y(i),S=k;Sx;){const E=n[w];t.containerState=E[1],E[0].exit.call(t,e)}n.length=x}function v(){r.write([null]),s=void 0,r=void 0,t.containerState._closeFlow=void 0}}function w8e(e,t,n){return ei(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ub(e){if(e===null||Ui(e)||um(e))return 1;if(h2(e))return 2}function p2(e,t,n){const i=[];let r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[i][1].end},h={...e[n][1].start};jz(f,-c),jz(h,c),a={type:c>1?"strongSequence":"emphasisSequence",start:f,end:{...e[i][1].end}},o={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:c>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},r={type:c>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},e[i][1].end={...a.start},e[n][1].start={...o.end},u=[],e[i][1].end.offset-e[i][1].start.offset&&(u=fl(u,[["enter",e[i][1],t],["exit",e[i][1],t]])),u=fl(u,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",s,t]]),u=fl(u,p2(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),u=fl(u,[["exit",s,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=fl(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,Go(e,i-1,n-i+3,u),n=i+u.length-d-2;break}}for(n=-1;++n0&&Mn(S)?ei(e,v,"linePrefix",s+1)(S):v(S)}function v(S){return S===null||Ht(S)?e.check(Rz,g,w)(S):(e.enter("codeFlowValue"),x(S))}function x(S){return S===null||Ht(S)?(e.exit("codeFlowValue"),v(S)):(e.consume(S),x)}function w(S){return e.exit("codeFenced"),t(S)}function E(S,k,T){let C=0;return A;function A($){return S.enter("lineEnding"),S.consume($),S.exit("lineEnding"),R}function R($){return S.enter("codeFencedFence"),Mn($)?ei(S,P,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)($):P($)}function P($){return $===o?(S.enter("codeFencedFenceSequence"),B($)):T($)}function B($){return $===o?(C++,S.consume($),B):C>=a?(S.exit("codeFencedFenceSequence"),Mn($)?ei(S,I,"whitespace")($):I($)):T($)}function I($){return $===null||Ht($)?(S.exit("codeFencedFence"),k($)):T($)}}}function I8e(e,t,n){const i=this;return r;function r(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}const Cj={name:"codeIndented",tokenize:M8e},P8e={partial:!0,tokenize:L8e};function M8e(e,t,n){const i=this;return r;function r(u){return e.enter("codeIndented"),ei(e,s,"linePrefix",5)(u)}function s(u){const d=i.events[i.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?c(u):Ht(u)?e.attempt(P8e,a,c)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||Ht(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),o)}function c(u){return e.exit("codeIndented"),t(u)}}function L8e(e,t,n){const i=this;return r;function r(a){return i.parser.lazy[i.now().line]?n(a):Ht(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):ei(e,s,"linePrefix",5)(a)}function s(a){const o=i.events[i.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):Ht(a)?r(a):n(a)}}const $8e={name:"codeText",previous:B8e,resolve:Q8e,tokenize:F8e};function Q8e(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(t,n,i){const r=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&GO(this.left,i),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),GO(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),GO(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(i.parser.constructs.flow,n,t)(a)}}function zoe(e,t,n,i,r,s,a,o,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return f;function f(y){return y===60?(e.enter(i),e.enter(r),e.enter(s),e.consume(y),e.exit(s),h):y===null||y===32||y===41||BT(y)?n(y):(e.enter(i),e.enter(a),e.enter(o),e.enter("chunkString",{contentType:"string"}),g(y))}function h(y){return y===62?(e.enter(s),e.consume(y),e.exit(s),e.exit(r),e.exit(i),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(o),h(y)):y===null||y===60||Ht(y)?n(y):(e.consume(y),y===92?b:p)}function b(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function g(y){return!d&&(y===null||y===41||Ui(y))?(e.exit("chunkString"),e.exit(o),e.exit(a),e.exit(i),t(y)):d999||p===null||p===91||p===93&&!c||p===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(p):p===93?(e.exit(s),e.enter(r),e.consume(p),e.exit(r),e.exit(i),t):Ht(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||Ht(p)||o++>999?(e.exit("chunkString"),d(p)):(e.consume(p),c||(c=!Mn(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),o++,f):f(p)}}function qoe(e,t,n,i,r,s){let a;return o;function o(h){return h===34||h===39||h===40?(e.enter(i),e.enter(r),e.consume(h),e.exit(r),a=h===40?41:h,c):n(h)}function c(h){return h===a?(e.enter(r),e.consume(h),e.exit(r),e.exit(i),t):(e.enter(s),u(h))}function u(h){return h===a?(e.exit(s),c(a)):h===null?n(h):Ht(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),ei(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===a||h===null||Ht(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 fx(e,t){let n;return i;function i(r){return Ht(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):Mn(r)?ei(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}const G8e={name:"definition",tokenize:Z8e},W8e={partial:!0,tokenize:K8e};function Z8e(e,t,n){const i=this;let r;return s;function s(p){return e.enter("definition"),a(p)}function a(p){return Voe.call(i,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function o(p){return r=uc(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),c):n(p)}function c(p){return Ui(p)?fx(e,u)(p):u(p)}function u(p){return zoe(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(W8e,f,f)(p)}function f(p){return Mn(p)?ei(e,h,"whitespace")(p):h(p)}function h(p){return p===null||Ht(p)?(e.exit("definition"),i.parser.defined.push(r),t(p)):n(p)}}function K8e(e,t,n){return i;function i(o){return Ui(o)?fx(e,r)(o):n(o)}function r(o){return qoe(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function s(o){return Mn(o)?ei(e,a,"whitespace")(o):a(o)}function a(o){return o===null||Ht(o)?t(o):n(o)}}const J8e={name:"hardBreakEscape",tokenize:e9e};function e9e(e,t,n){return i;function i(s){return e.enter("hardBreakEscape"),e.consume(s),r}function r(s){return Ht(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const t9e={name:"headingAtx",resolve:n9e,tokenize:i9e};function n9e(e,t){let n=e.length-2,i=3,r,s;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},s={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},Go(e,i,n-i+1,[["enter",r,t],["enter",s,t],["exit",s,t],["exit",r,t]])),e}function i9e(e,t,n){let i=0;return r;function r(d){return e.enter("atxHeading"),s(d)}function s(d){return e.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&i++<6?(e.consume(d),a):d===null||Ui(d)?(e.exit("atxHeadingSequence"),o(d)):n(d)}function o(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||Ht(d)?(e.exit("atxHeading"),t(d)):Mn(d)?ei(e,o,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),o(d))}function u(d){return d===null||d===35||Ui(d)?(e.exit("atxHeadingText"),o(d)):(e.consume(d),u)}}const r9e=["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"],Iz=["pre","script","style","textarea"],s9e={concrete:!0,name:"htmlFlow",resolveTo:l9e,tokenize:c9e},a9e={partial:!0,tokenize:d9e},o9e={partial:!0,tokenize:u9e};function l9e(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 c9e(e,t,n){const i=this;let r,s,a,o,c;return u;function u(U){return d(U)}function d(U){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(U),f}function f(U){return U===33?(e.consume(U),h):U===47?(e.consume(U),s=!0,g):U===63?(e.consume(U),r=3,i.interrupt?t:M):Ca(U)?(e.consume(U),a=String.fromCharCode(U),O):n(U)}function h(U){return U===45?(e.consume(U),r=2,p):U===91?(e.consume(U),r=5,o=0,b):Ca(U)?(e.consume(U),r=4,i.interrupt?t:M):n(U)}function p(U){return U===45?(e.consume(U),i.interrupt?t:M):n(U)}function b(U){const q="CDATA[";return U===q.charCodeAt(o++)?(e.consume(U),o===q.length?i.interrupt?t:P:b):n(U)}function g(U){return Ca(U)?(e.consume(U),a=String.fromCharCode(U),O):n(U)}function O(U){if(U===null||U===47||U===62||Ui(U)){const q=U===47,ie=a.toLowerCase();return!q&&!s&&Iz.includes(ie)?(r=1,i.interrupt?t(U):P(U)):r9e.includes(a.toLowerCase())?(r=6,q?(e.consume(U),y):i.interrupt?t(U):P(U)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(U):s?v(U):x(U))}return U===45||pa(U)?(e.consume(U),a+=String.fromCharCode(U),O):n(U)}function y(U){return U===62?(e.consume(U),i.interrupt?t:P):n(U)}function v(U){return Mn(U)?(e.consume(U),v):A(U)}function x(U){return U===47?(e.consume(U),A):U===58||U===95||Ca(U)?(e.consume(U),w):Mn(U)?(e.consume(U),x):A(U)}function w(U){return U===45||U===46||U===58||U===95||pa(U)?(e.consume(U),w):E(U)}function E(U){return U===61?(e.consume(U),S):Mn(U)?(e.consume(U),E):x(U)}function S(U){return U===null||U===60||U===61||U===62||U===96?n(U):U===34||U===39?(e.consume(U),c=U,k):Mn(U)?(e.consume(U),S):T(U)}function k(U){return U===c?(e.consume(U),c=null,C):U===null||Ht(U)?n(U):(e.consume(U),k)}function T(U){return U===null||U===34||U===39||U===47||U===60||U===61||U===62||U===96||Ui(U)?E(U):(e.consume(U),T)}function C(U){return U===47||U===62||Mn(U)?x(U):n(U)}function A(U){return U===62?(e.consume(U),R):n(U)}function R(U){return U===null||Ht(U)?P(U):Mn(U)?(e.consume(U),R):n(U)}function P(U){return U===45&&r===2?(e.consume(U),j):U===60&&r===1?(e.consume(U),D):U===62&&r===4?(e.consume(U),G):U===63&&r===3?(e.consume(U),M):U===93&&r===5?(e.consume(U),Q):Ht(U)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(a9e,H,B)(U)):U===null||Ht(U)?(e.exit("htmlFlowData"),B(U)):(e.consume(U),P)}function B(U){return e.check(o9e,I,H)(U)}function I(U){return e.enter("lineEnding"),e.consume(U),e.exit("lineEnding"),$}function $(U){return U===null||Ht(U)?B(U):(e.enter("htmlFlowData"),P(U))}function j(U){return U===45?(e.consume(U),M):P(U)}function D(U){return U===47?(e.consume(U),a="",F):P(U)}function F(U){if(U===62){const q=a.toLowerCase();return Iz.includes(q)?(e.consume(U),G):P(U)}return Ca(U)&&a.length<8?(e.consume(U),a+=String.fromCharCode(U),F):P(U)}function Q(U){return U===93?(e.consume(U),M):P(U)}function M(U){return U===62?(e.consume(U),G):U===45&&r===2?(e.consume(U),M):P(U)}function G(U){return U===null||Ht(U)?(e.exit("htmlFlowData"),H(U)):(e.consume(U),G)}function H(U){return e.exit("htmlFlow"),t(U)}}function u9e(e,t,n){const i=this;return r;function r(a){return Ht(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):n(a)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}function d9e(e,t,n){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Pv,t,n)}}const f9e={name:"htmlText",tokenize:h9e};function h9e(e,t,n){const i=this;let r,s,a;return o;function o(M){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(M),c}function c(M){return M===33?(e.consume(M),u):M===47?(e.consume(M),E):M===63?(e.consume(M),x):Ca(M)?(e.consume(M),T):n(M)}function u(M){return M===45?(e.consume(M),d):M===91?(e.consume(M),s=0,b):Ca(M)?(e.consume(M),v):n(M)}function d(M){return M===45?(e.consume(M),p):n(M)}function f(M){return M===null?n(M):M===45?(e.consume(M),h):Ht(M)?(a=f,D(M)):(e.consume(M),f)}function h(M){return M===45?(e.consume(M),p):f(M)}function p(M){return M===62?j(M):M===45?h(M):f(M)}function b(M){const G="CDATA[";return M===G.charCodeAt(s++)?(e.consume(M),s===G.length?g:b):n(M)}function g(M){return M===null?n(M):M===93?(e.consume(M),O):Ht(M)?(a=g,D(M)):(e.consume(M),g)}function O(M){return M===93?(e.consume(M),y):g(M)}function y(M){return M===62?j(M):M===93?(e.consume(M),y):g(M)}function v(M){return M===null||M===62?j(M):Ht(M)?(a=v,D(M)):(e.consume(M),v)}function x(M){return M===null?n(M):M===63?(e.consume(M),w):Ht(M)?(a=x,D(M)):(e.consume(M),x)}function w(M){return M===62?j(M):x(M)}function E(M){return Ca(M)?(e.consume(M),S):n(M)}function S(M){return M===45||pa(M)?(e.consume(M),S):k(M)}function k(M){return Ht(M)?(a=k,D(M)):Mn(M)?(e.consume(M),k):j(M)}function T(M){return M===45||pa(M)?(e.consume(M),T):M===47||M===62||Ui(M)?C(M):n(M)}function C(M){return M===47?(e.consume(M),j):M===58||M===95||Ca(M)?(e.consume(M),A):Ht(M)?(a=C,D(M)):Mn(M)?(e.consume(M),C):j(M)}function A(M){return M===45||M===46||M===58||M===95||pa(M)?(e.consume(M),A):R(M)}function R(M){return M===61?(e.consume(M),P):Ht(M)?(a=R,D(M)):Mn(M)?(e.consume(M),R):C(M)}function P(M){return M===null||M===60||M===61||M===62||M===96?n(M):M===34||M===39?(e.consume(M),r=M,B):Ht(M)?(a=P,D(M)):Mn(M)?(e.consume(M),P):(e.consume(M),I)}function B(M){return M===r?(e.consume(M),r=void 0,$):M===null?n(M):Ht(M)?(a=B,D(M)):(e.consume(M),B)}function I(M){return M===null||M===34||M===39||M===60||M===61||M===96?n(M):M===47||M===62||Ui(M)?C(M):(e.consume(M),I)}function $(M){return M===47||M===62||Ui(M)?C(M):n(M)}function j(M){return M===62?(e.consume(M),e.exit("htmlTextData"),e.exit("htmlText"),t):n(M)}function D(M){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),F}function F(M){return Mn(M)?ei(e,Q,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):Q(M)}function Q(M){return e.enter("htmlTextData"),a(M)}}const j4={name:"labelEnd",resolveAll:b9e,resolveTo:O9e,tokenize:y9e},p9e={tokenize:x9e},m9e={tokenize:v9e},g9e={tokenize:w9e};function b9e(e){let t=-1;const n=[];for(;++t=3&&(u===null||Ht(u))?(e.exit("thematicBreak"),t(u)):n(u)}function c(u){return u===r?(e.consume(u),i++,c):(e.exit("thematicBreakSequence"),Mn(u)?ei(e,o,"whitespace")(u):o(u))}}const Wa={continuation:{tokenize:R9e},exit:I9e,name:"list",tokenize:j9e},C9e={partial:!0,tokenize:P9e},N9e={partial:!0,tokenize:D9e};function j9e(e,t,n){const i=this,r=i.events[i.events.length-1];let s=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,a=0;return o;function o(p){const b=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(b==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:mM(p)){if(i.containerState.type||(i.containerState.type=b,e.enter(b,{_container:!0})),b==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(rk,n,u)(p):u(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(p)}return n(p)}function c(p){return mM(p)&&++a<10?(e.consume(p),c):(!i.interrupt||a<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(Pv,i.interrupt?n:d,e.attempt(C9e,h,f))}function d(p){return i.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return Mn(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return i.containerState.size=s+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function R9e(e,t,n){const i=this;return i.containerState._closeFlow=void 0,e.check(Pv,r,s);function r(o){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,ei(e,t,"listItemIndent",i.containerState.size+1)(o)}function s(o){return i.containerState.furtherBlankLines||!Mn(o)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,a(o)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(N9e,t,a)(o))}function a(o){return i.containerState._closeFlow=!0,i.interrupt=void 0,ei(e,e.attempt(Wa,t,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function D9e(e,t,n){const i=this;return ei(e,r,"listItemIndent",i.containerState.size+1);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===i.containerState.size?t(s):n(s)}}function I9e(e){e.exit(this.containerState.type)}function P9e(e,t,n){const i=this;return ei(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(s){const a=i.events[i.events.length-1];return!Mn(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const Pz={name:"setextUnderline",resolveTo:M9e,tokenize:L9e};function M9e(e,t){let n=e.length,i,r,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){i=n;break}e[n][1].type==="paragraph"&&(r=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(e.splice(r,0,["enter",a,t]),e.splice(s+1,0,["exit",e[i][1],t]),e[i][1].end={...e[s][1].end}):e[i][1]=a,e.push(["exit",a,t]),e}function L9e(e,t,n){const i=this;let r;return s;function s(u){let d=i.events.length,f;for(;d--;)if(i.events[d][1].type!=="lineEnding"&&i.events[d][1].type!=="linePrefix"&&i.events[d][1].type!=="content"){f=i.events[d][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||f)?(e.enter("setextHeadingLine"),r=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===r?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),Mn(u)?ei(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||Ht(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const $9e={tokenize:Q9e};function Q9e(e){const t=this,n=e.attempt(Pv,i,e.attempt(this.parser.constructs.flowInitial,r,ei(e,e.attempt(this.parser.constructs.flow,r,e.attempt(V8e,r)),"linePrefix")));return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const B9e={resolveAll:Hoe()},F9e=Xoe("string"),U9e=Xoe("text");function Xoe(e){return{resolveAll:Hoe(e==="text"?z9e:void 0),tokenize:t};function t(n){const i=this,r=this.parser.constructs[e],s=n.attempt(r,a,o);return a;function a(d){return u(d)?s(d):o(d)}function o(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),c)}function u(d){if(d===null)return!0;const f=r[d];let h=-1;if(f)for(;++h-1){const o=a[0];typeof o=="string"?a[0]=o.slice(i):a.shift()}s>0&&a.push(e[r].slice(0,s))}return a}function n7e(e,t){let n=-1;const i=[];let r;for(;++n{const n=Bl(t),i=lk(n.msg,n.message);if(!i)return"";const r=Array.isArray(n.loc)?n.loc.filter(s=>typeof s=="string"||typeof s=="number").map(String).join("."):"";return r?`${r}: ${i}`:i}).filter(Boolean).join("; "):""}function nBe(e,t=!0){const n=Bl(e),i=Object.prototype.hasOwnProperty.call(n,"detail")?n.detail:typeof e=="string"?e:void 0,r=Bl(i);return{message:typeof i=="string"?t?i.trim():"":lk(r.message,n.message,tBe(i)),errorCode:lk(r.errorCode,n.errorCode),requestId:lk(r.requestId,r.request_id,r.RequestId,n.requestId,n.request_id),diagnostics:r.diagnostics??n.diagnostics,detail:i,payload:e}}function Bl(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ei(e){return typeof e=="string"?e:""}function _1(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function I4(e){const t=Bl(e);return{id:ei(t.id),name:ei(t.name),description:ei(t.description),providerType:ei(t.providerType),providerKnowledgeId:ei(t.providerKnowledgeId),projectName:ei(t.projectName),region:ei(t.region),status:ei(t.status),createdAt:ei(t.createdAt),updatedAt:ei(t.updatedAt),ownerId:ei(t.ownerId),ownerLabel:ei(t.ownerLabel),canManage:t.canManage===!0}}function Bv(e){const t=Bl(e);return{id:ei(t.id),name:ei(t.name),type:ei(t.type),sizeBytes:_1(t.sizeBytes,0),status:ei(t.status),url:ei(t.url),tosPath:ei(t.tosPath),metadata:Bl(t.metadata),createdAt:ei(t.createdAt),updatedAt:ei(t.updatedAt),sourceMarkdown:ei(t.sourceMarkdown)}}function iBe(e){const t=Bl(e),n=t.attachment,i=Bl(n);return{id:ei(t.id),title:ei(t.title),content:ei(t.content),attachmentUrl:ei(t.attachmentUrl)||ei(i.url)||ei(i.previewUrl),attachmentType:ei(t.attachmentType)||ei(i.type)||ei(i.mimeType),attachment:n,tableFields:t.tableFields}}async function jc(e,t={},n=vo){var f;const i=Bh(t.headers);i.set("accept","application/json"),t.body&&!(t.body instanceof FormData)&&i.set("content-type","application/json");const r=await fetch(e,{...t,headers:i,signal:wo(t.signal,n)});if(r.ok)return r.status===204?void 0:r.json();const s=await r.text();let a=s,o=!1;if(s)try{a=JSON.parse(s),o=!0}catch{}const c=((f=r.headers.get("content-type"))==null?void 0:f.toLowerCase())||"",u=nBe(a,o||c.startsWith("text/plain")),d=r.status===401?"请先登录后再访问知识库":r.status===403?"你没有权限操作这个知识库":r.status===404?"知识库或知识内容不存在":r.status===409?"知识库当前状态不允许执行此操作":`知识库请求失败 (${r.status})`;throw new m2(u.message||d,r.status,{errorCode:u.errorCode,requestId:u.requestId,diagnostics:u.diagnostics,detail:u.detail,payload:u.payload,rawBody:s})}function Qm(e){const t=new URLSearchParams;e.trim()&&t.set("region",e.trim());const n=t.toString();return n?`?${n}`:""}async function rBe(e){var r;const t=new URLSearchParams({region:e.region,pageSize:String(e.pageSize??30)});(r=e.projectName)!=null&&r.trim()&&t.set("projectName",e.projectName.trim()),e.nextToken&&t.set("nextToken",e.nextToken);const n=await jc(`/web/knowledge-bases?${t.toString()}`,{signal:e.signal}),i=Bl(n);return{items:Array.isArray(i.items)?i.items.map(I4):[],nextToken:ei(i.nextToken)}}function sBe(e){return`${e.region}\0${e.id}`}async function aBe(e){var o;const t=[...new Set(e.regions.map(c=>c.trim()).filter(Boolean))],n=e.nextTokens?t.filter(c=>{var u;return!!((u=e.nextTokens)!=null&&u[c])}):t;if(n.length===0)return{items:[],nextTokens:{},failures:[]};const i=await Promise.allSettled(n.map(async c=>{var u;return{region:c,page:await rBe({region:c,projectName:e.projectName,nextToken:(u=e.nextTokens)==null?void 0:u[c],pageSize:e.pageSize,signal:e.signal})}}));if((o=e.signal)!=null&&o.aborted)throw new DOMException("Aborted","AbortError");const r=[],s={},a=new Map;if(i.forEach((c,u)=>{var f;const d=n[u];if(c.status==="rejected"){const h=(f=e.nextTokens)==null?void 0:f[d];h&&(s[d]=h),r.push({region:d,error:c.reason instanceof Error?c.reason:new Error("读取知识库失败")});return}c.value.page.nextToken&&(s[d]=c.value.page.nextToken),c.value.page.items.forEach(h=>{const p=h.region?h:{...h,region:d};a.set(sBe(p),p)})}),r.length===n.length)throw new Moe(r);return{items:[...a.values()],nextTokens:s,failures:r}}function oBe(e){return jc("/web/knowledge-bases",{method:"POST",body:JSON.stringify(e)},kr).then(I4)}function lBe(e,t,n){return jc(`/web/knowledge-bases/${encodeURIComponent(e)}${Qm(t)}`,{method:"PATCH",body:JSON.stringify(n)}).then(I4)}function cBe(e,t){return jc(`/web/knowledge-bases/${encodeURIComponent(e)}${Qm(t)}`,{method:"DELETE"},kr)}async function uBe(e,t){var s;const n=new URLSearchParams({region:t.region,offset:String(t.offset??0),limit:String(t.limit??30)});(s=t.documentType)!=null&&s.trim()&&n.set("documentType",t.documentType.trim());const i=await jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents?${n.toString()}`,{signal:t.signal}),r=Bl(i);return{items:Array.isArray(r.items)?r.items.map(Bv):[],offset:_1(r.offset,0),limit:_1(r.limit,t.limit??30),hasMore:r.hasMore===!0}}async function dBe(e,t,n){const i=new URLSearchParams({region:n.region,offset:String(n.offset??0),limit:String(n.limit??20)}),r=await jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}/preview?${i.toString()}`,{signal:n.signal}),s=Bl(r);return{document:Bv(s.document),chunks:Array.isArray(s.chunks)?s.chunks.map(iBe):[],sourceMarkdown:ei(s.sourceMarkdown),offset:_1(s.offset,0),limit:_1(s.limit,n.limit??20),hasMore:s.hasMore===!0}}function fBe(e,t,n){return jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents${Qm(t)}`,{method:"POST",body:JSON.stringify(n)},kr).then(Bv)}async function hBe(e,t,n){const i=await jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/web-preview${Qm(t)}`,{method:"POST",body:JSON.stringify({sourceType:"url",url:n.url})},kr),r=Bl(i);return{name:ei(r.name),url:ei(r.url),sourceMarkdown:ei(r.sourceMarkdown)}}function pBe(e,t,n){var r,s;const i=new FormData;return i.set("file",n.file),(r=n.name)!=null&&r.trim()&&i.set("name",n.name.trim()),(s=n.documentType)!=null&&s.trim()&&i.set("documentType",n.documentType.trim()),n.metadata&&i.set("metadata",JSON.stringify(n.metadata)),jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/upload${Qm(t)}`,{method:"POST",body:i},kr).then(Bv)}function mBe(e,t,n,i){return jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}${Qm(n)}`,{method:"PATCH",body:JSON.stringify(i)}).then(Bv)}function gBe(e,t,n){return jc(`/web/knowledge-bases/${encodeURIComponent(e)}/documents/${encodeURIComponent(t)}${Qm(n)}`,{method:"DELETE"},kr)}function bBe({secondaryAction:e,primaryAction:t,menuLabel:n,menuAriaLabel:i,menuActions:r}){return l.jsxs("footer",{className:"library-resource-card__actions",children:[l.jsx("button",{type:"button",className:"library-resource-card__action library-resource-card__action--secondary",disabled:e.disabled,title:e.title,onClick:e.onClick,children:e.label}),l.jsx("button",{type:"button",className:"library-resource-card__action library-resource-card__action--primary",disabled:t.disabled,title:t.title,onClick:t.onClick,children:t.label}),l.jsx(Sse,{label:n,menuLabel:i,className:"library-resource-card__action library-resource-card__more",placement:"top-end",items:r.map(s=>({label:s.label,onSelect:s.onClick,disabled:s.disabled,danger:s.danger,title:s.title}))})]})}function $oe({className:e="",title:t,status:n,description:i,metadata:r,secondaryAction:s,primaryAction:a,menuLabel:o,menuAriaLabel:c,menuActions:u}){return l.jsxs("article",{className:`my-agent-card library-resource-card ${e}`.trim(),children:[l.jsxs("div",{className:"my-agent-card-content",children:[l.jsxs("div",{className:"my-agent-card-title",children:[l.jsx("div",{className:"my-agent-card-title-copy",children:l.jsx("h3",{title:t,children:t})}),n]}),l.jsx("p",{className:"my-agent-description",title:i,children:i}),l.jsx("dl",{className:"my-agent-meta",children:r.map((d,f)=>l.jsxs("div",{className:f===0?"my-agent-created-at":"my-agent-region",children:[l.jsx("dt",{children:d.label}),l.jsx("dd",{title:d.title,children:d.value})]},`${d.label}:${f}`))})]}),l.jsx(bBe,{secondaryAction:s,primaryAction:a,menuLabel:o,menuAriaLabel:c,menuActions:u})]})}function Xwt(){}function Sz(e){const t=[],n=String(e||"");let i=n.indexOf(","),r=0,s=!1;for(;!s;){i===-1&&(i=n.length,s=!0);const a=n.slice(r,i).trim();(a||!s)&&t.push(a),r=i+1,i=n.indexOf(",",r)}return t}function Qoe(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const OBe=/[$_\p{ID_Start}]/u,yBe=/[$_\u{200C}\u{200D}\p{ID_Continue}]/u,xBe=/[-$_\u{200C}\u{200D}\p{ID_Continue}]/u,vBe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,wBe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Boe={};function Hwt(e){return e?OBe.test(String.fromCodePoint(e)):!1}function Gwt(e,t){const i=(t||Boe).jsx?xBe:yBe;return e?i.test(String.fromCodePoint(e)):!1}function Ez(e,t){return(Boe.jsx?wBe:vBe).test(e)}const SBe=/[ \t\n\f\r]/g;function EBe(e){return typeof e=="object"?e.type==="text"?kz(e.value):!1:kz(e)}function kz(e){return e.replace(SBe,"")===""}let Fv=class{constructor(t,n,i){this.normal=n,this.property=t,i&&(this.space=i)}};Fv.prototype.normal={};Fv.prototype.property={};Fv.prototype.space=void 0;function Foe(e,t){const n={},i={};for(const r of e)Object.assign(n,r.property),Object.assign(i,r.normal);return new Fv(n,i,t)}function A1(e){return e.toLowerCase()}class So{constructor(t,n){this.attribute=n,this.property=t}}So.prototype.attribute="";So.prototype.booleanish=!1;So.prototype.boolean=!1;So.prototype.commaOrSpaceSeparated=!1;So.prototype.commaSeparated=!1;So.prototype.defined=!1;So.prototype.mustUseProperty=!1;So.prototype.number=!1;So.prototype.overloadedBoolean=!1;So.prototype.property="";So.prototype.spaceSeparated=!1;So.prototype.space=void 0;let kBe=0;const Tn=Bm(),ls=Bm(),xM=Bm(),at=Bm(),ir=Bm(),N0=Bm(),$o=Bm();function Bm(){return 2**++kBe}const vM=Object.freeze(Object.defineProperty({__proto__:null,boolean:Tn,booleanish:ls,commaOrSpaceSeparated:$o,commaSeparated:N0,number:at,overloadedBoolean:xM,spaceSeparated:ir},Symbol.toStringTag,{value:"Module"})),Mj=Object.keys(vM);class D4 extends So{constructor(t,n,i,r){let s=-1;if(super(t,n),Tz(this,"space",r),typeof i=="number")for(;++s4&&n.slice(0,4)==="data"&&NBe.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(_z,RBe);i="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!_z.test(s)){let a=s.replace(CBe,jBe);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}r=D4}return new r(i,t)}function jBe(e){return"-"+e.toLowerCase()}function RBe(e){return e.charAt(1).toUpperCase()}const Uv=Foe([Uoe,TBe,qoe,Xoe,Hoe],"html"),zh=Foe([Uoe,_Be,qoe,Xoe,Hoe],"svg");function Az(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Goe(e){return e.join(" ").trim()}var P4={},Cz=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,IBe=/\n/g,DBe=/^\s*/,PBe=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,MBe=/^:\s*/,LBe=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,$Be=/^[;\s]*/,QBe=/^\s+|\s+$/g,BBe=` +`,Nz="/",jz="*",Tp="",FBe="comment",UBe="declaration";function zBe(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,i=1;function r(b){var g=b.match(IBe);g&&(n+=g.length);var O=b.lastIndexOf(BBe);i=~O?b.length-O:i+b.length}function s(){var b={line:n,column:i};return function(g){return g.position=new a(b),u(),g}}function a(b){this.start=b,this.end={line:n,column:i},this.source=t.source}a.prototype.content=e;function o(b){var g=new Error(t.source+":"+n+":"+i+": "+b);if(g.reason=b,g.filename=t.source,g.line=n,g.column=i,g.source=e,!t.silent)throw g}function c(b){var g=b.exec(e);if(g){var O=g[0];return r(O),e=e.slice(O.length),g}}function u(){c(DBe)}function d(b){var g;for(b=b||[];g=f();)g!==!1&&b.push(g);return b}function f(){var b=s();if(!(Nz!=e.charAt(0)||jz!=e.charAt(1))){for(var g=2;Tp!=e.charAt(g)&&(jz!=e.charAt(g)||Nz!=e.charAt(g+1));)++g;if(g+=2,Tp===e.charAt(g-1))return o("End of comment missing");var O=e.slice(2,g-2);return i+=2,r(O),e=e.slice(g),i+=2,b({type:FBe,comment:O})}}function h(){var b=s(),g=c(PBe);if(g){if(f(),!c(MBe))return o("property missing ':'");var O=c(LBe),y=b({type:UBe,property:Rz(g[0].replace(Cz,Tp)),value:O?Rz(O[0].replace(Cz,Tp)):Tp});return c($Be),y}}function p(){var b=[];d(b);for(var g;g=h();)g!==!1&&(b.push(g),d(b));return b}return u(),p()}function Rz(e){return e?e.replace(QBe,Tp):Tp}var VBe=zBe,qBe=Uf&&Uf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(P4,"__esModule",{value:!0});P4.default=HBe;const XBe=qBe(VBe);function HBe(e,t){let n=null;if(!e||typeof e!="string")return n;const i=(0,XBe.default)(e),r=typeof t=="function";return i.forEach(s=>{if(s.type!=="declaration")return;const{property:a,value:o}=s;r?t(a,o,s):o&&(n=n||{},n[a]=o)}),n}var b2={};Object.defineProperty(b2,"__esModule",{value:!0});b2.camelCase=void 0;var GBe=/^--[a-zA-Z0-9_-]+$/,YBe=/-([a-z])/g,WBe=/^[^-]+$/,ZBe=/^-(webkit|moz|ms|o|khtml)-/,KBe=/^-(ms)-/,JBe=function(e){return!e||WBe.test(e)||GBe.test(e)},e8e=function(e,t){return t.toUpperCase()},Iz=function(e,t){return"".concat(t,"-")},t8e=function(e,t){return t===void 0&&(t={}),JBe(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(KBe,Iz):e=e.replace(ZBe,Iz),e.replace(YBe,e8e))};b2.camelCase=t8e;var n8e=Uf&&Uf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i8e=n8e(P4),r8e=b2;function wM(e,t){var n={};return!e||typeof e!="string"||(0,i8e.default)(e,function(i,r){i&&r&&(n[(0,r8e.camelCase)(i,t)]=r)}),n}wM.default=wM;var s8e=wM;const a8e=Pb(s8e),O2=Yoe("end"),Iu=Yoe("start");function Yoe(e){return t;function t(n){const i=n&&n.position&&n.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function o8e(e){const t=Iu(e),n=O2(e);if(t&&n)return{start:t,end:n}}function yx(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Dz(e.position):"start"in e||"end"in e?Dz(e):"line"in e||"column"in e?SM(e):""}function SM(e){return Pz(e&&e.line)+":"+Pz(e&&e.column)}function Dz(e){return SM(e&&e.start)+"-"+SM(e&&e.end)}function Pz(e){return e&&typeof e=="number"?e:1}class Ta extends Error{constructor(t,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let r="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?r=t:!s.cause&&t&&(a=!0,r=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof i=="string"){const c=i.indexOf(":");c===-1?s.ruleId=i:(s.source=i.slice(0,c),s.ruleId=i.slice(c+1))}if(!s.place&&s.ancestors&&s.ancestors){const c=s.ancestors[s.ancestors.length-1];c&&(s.place=c.position)}const o=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=yx(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Ta.prototype.file="";Ta.prototype.name="";Ta.prototype.reason="";Ta.prototype.message="";Ta.prototype.stack="";Ta.prototype.column=void 0;Ta.prototype.line=void 0;Ta.prototype.ancestors=void 0;Ta.prototype.cause=void 0;Ta.prototype.fatal=void 0;Ta.prototype.place=void 0;Ta.prototype.ruleId=void 0;Ta.prototype.source=void 0;const M4={}.hasOwnProperty,l8e=new Map,c8e=/[A-Z]/g,u8e=new Set(["table","tbody","thead","tfoot","tr"]),d8e=new Set(["td","th"]),Woe="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function f8e(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let i;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=x8e(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=y8e(n,t.jsx,t.jsxs)}const r={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?zh:Uv,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=Zoe(r,e,void 0);return s&&typeof s!="string"?s:r.create(e,r.Fragment,{children:s||void 0},void 0)}function Zoe(e,t,n){if(t.type==="element")return h8e(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return p8e(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return g8e(e,t,n);if(t.type==="mdxjsEsm")return m8e(e,t);if(t.type==="root")return b8e(e,t,n);if(t.type==="text")return O8e(e,t)}function h8e(e,t,n){const i=e.schema;let r=i;t.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=zh,e.schema=r),e.ancestors.push(t);const s=Joe(e,t.tagName,!1),a=v8e(e,t);let o=$4(e,t);return u8e.has(t.tagName)&&(o=o.filter(function(c){return typeof c=="string"?!EBe(c):!0})),Koe(e,a,s,t),L4(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function p8e(e,t){if(t.data&&t.data.estree&&e.evaluater){const i=t.data.estree.body[0];return i.type,e.evaluater.evaluateExpression(i.expression)}C1(e,t.position)}function m8e(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);C1(e,t.position)}function g8e(e,t,n){const i=e.schema;let r=i;t.name==="svg"&&i.space==="html"&&(r=zh,e.schema=r),e.ancestors.push(t);const s=t.name===null?e.Fragment:Joe(e,t.name,!0),a=w8e(e,t),o=$4(e,t);return Koe(e,a,s,t),L4(a,o),e.ancestors.pop(),e.schema=i,e.create(t,s,a,n)}function b8e(e,t,n){const i={};return L4(i,$4(e,t)),e.create(t,e.Fragment,i,n)}function O8e(e,t){return t.value}function Koe(e,t,n,i){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=i)}function L4(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function y8e(e,t,n){return i;function i(r,s,a,o){const u=Array.isArray(a.children)?n:t;return o?u(s,a,o):u(s,a)}}function x8e(e,t){return n;function n(i,r,s,a){const o=Array.isArray(s.children),c=Iu(i);return t(r,s,a,o,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function v8e(e,t){const n={};let i,r;for(r in t.properties)if(r!=="children"&&M4.call(t.properties,r)){const s=S8e(e,r,t.properties[r]);if(s){const[a,o]=s;e.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&d8e.has(t.tagName)?i=o:n[a]=o}}if(i){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return n}function w8e(e,t){const n={};for(const i of t.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&e.evaluater){const s=i.data.estree.body[0];s.type;const a=s.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else C1(e,t.position);else{const r=i.name;let s;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&e.evaluater){const o=i.value.data.estree.body[0];o.type,s=e.evaluater.evaluateExpression(o.expression)}else C1(e,t.position);else s=i.value===null?!0:i.value;n[r]=s}return n}function $4(e,t){const n=[];let i=-1;const r=e.passKeys?new Map:l8e;for(;++ir?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)a=Array.from(i),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);s0?(il(e,e.length,0,t),e):t}const $z={}.hasOwnProperty;function tle(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 xc(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ma=Vh(/[A-Za-z]/),Sa=Vh(/[\dA-Za-z]/),R8e=Vh(/[#-'*+\--9=?A-Z^-~]/);function XT(e){return e!==null&&(e<32||e===127)}const EM=Vh(/\d/),I8e=Vh(/[\dA-Fa-f]/),D8e=Vh(/[!-/:-@[-`{-~]/);function Kt(e){return e!==null&&e<-2}function Hi(e){return e!==null&&(e<0||e===32)}function Bn(e){return e===-2||e===-1||e===32}const y2=Vh(new RegExp("\\p{P}|\\p{S}","u")),ym=Vh(/\s/);function Vh(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function lO(e){const t=[];let n=-1,i=0,r=0;for(;++n55295&&s<57344){const o=e.charCodeAt(n+1);s<56320&&o>56319&&o<57344?(a=String.fromCharCode(s,o),r=1):a="�"}else a=String.fromCharCode(s);a&&(t.push(e.slice(i,n),encodeURIComponent(a)),i=n+r+1,a=""),r&&(n+=r,r=0)}return t.join("")+e.slice(i)}function ai(e,t,n,i){const r=i?i-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(c){return Bn(c)?(e.enter(n),o(c)):t(c)}function o(c){return Bn(c)&&s++a))return;const k=t.events.length;let T=k,C,A;for(;T--;)if(t.events[T][0]==="exit"&&t.events[T][1].type==="chunkFlow"){if(C){A=t.events[T][1].end;break}C=!0}for(y(i),S=k;Sx;){const E=n[w];t.containerState=E[1],E[0].exit.call(t,e)}n.length=x}function v(){r.write([null]),s=void 0,r=void 0,t.containerState._closeFlow=void 0}}function Q8e(e,t,n){return ai(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Ob(e){if(e===null||Hi(e)||ym(e))return 1;if(y2(e))return 2}function x2(e,t,n){const i=[];let r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[i][1].end},h={...e[n][1].start};Bz(f,-c),Bz(h,c),a={type:c>1?"strongSequence":"emphasisSequence",start:f,end:{...e[i][1].end}},o={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:c>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},r={type:c>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},e[i][1].end={...a.start},e[n][1].start={...o.end},u=[],e[i][1].end.offset-e[i][1].start.offset&&(u=wl(u,[["enter",e[i][1],t],["exit",e[i][1],t]])),u=wl(u,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",s,t]]),u=wl(u,x2(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),u=wl(u,[["exit",s,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=wl(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,il(e,i-1,n-i+3,u),n=i+u.length-d-2;break}}for(n=-1;++n0&&Bn(S)?ai(e,v,"linePrefix",s+1)(S):v(S)}function v(S){return S===null||Kt(S)?e.check(Fz,g,w)(S):(e.enter("codeFlowValue"),x(S))}function x(S){return S===null||Kt(S)?(e.exit("codeFlowValue"),v(S)):(e.consume(S),x)}function w(S){return e.exit("codeFenced"),t(S)}function E(S,k,T){let C=0;return A;function A($){return S.enter("lineEnding"),S.consume($),S.exit("lineEnding"),N}function N($){return S.enter("codeFencedFence"),Bn($)?ai(S,P,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)($):P($)}function P($){return $===o?(S.enter("codeFencedFenceSequence"),Q($)):T($)}function Q($){return $===o?(C++,S.consume($),Q):C>=a?(S.exit("codeFencedFenceSequence"),Bn($)?ai(S,D,"whitespace")($):D($)):T($)}function D($){return $===null||Kt($)?(S.exit("codeFencedFence"),k($)):T($)}}}function Z8e(e,t,n){const i=this;return r;function r(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}const $j={name:"codeIndented",tokenize:J8e},K8e={partial:!0,tokenize:e9e};function J8e(e,t,n){const i=this;return r;function r(u){return e.enter("codeIndented"),ai(e,s,"linePrefix",5)(u)}function s(u){const d=i.events[i.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?c(u):Kt(u)?e.attempt(K8e,a,c)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||Kt(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),o)}function c(u){return e.exit("codeIndented"),t(u)}}function e9e(e,t,n){const i=this;return r;function r(a){return i.parser.lazy[i.now().line]?n(a):Kt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):ai(e,s,"linePrefix",5)(a)}function s(a){const o=i.events[i.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):Kt(a)?r(a):n(a)}}const t9e={name:"codeText",previous:i9e,resolve:n9e,tokenize:r9e};function n9e(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(t,n,i){const r=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&iy(this.left,i),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),iy(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),iy(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(i.parser.constructs.flow,n,t)(a)}}function ole(e,t,n,i,r,s,a,o,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return f;function f(y){return y===60?(e.enter(i),e.enter(r),e.enter(s),e.consume(y),e.exit(s),h):y===null||y===32||y===41||XT(y)?n(y):(e.enter(i),e.enter(a),e.enter(o),e.enter("chunkString",{contentType:"string"}),g(y))}function h(y){return y===62?(e.enter(s),e.consume(y),e.exit(s),e.exit(r),e.exit(i),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===62?(e.exit("chunkString"),e.exit(o),h(y)):y===null||y===60||Kt(y)?n(y):(e.consume(y),y===92?b:p)}function b(y){return y===60||y===62||y===92?(e.consume(y),p):p(y)}function g(y){return!d&&(y===null||y===41||Hi(y))?(e.exit("chunkString"),e.exit(o),e.exit(a),e.exit(i),t(y)):d999||p===null||p===91||p===93&&!c||p===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(p):p===93?(e.exit(s),e.enter(r),e.consume(p),e.exit(r),e.exit(i),t):Kt(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||Kt(p)||o++>999?(e.exit("chunkString"),d(p)):(e.consume(p),c||(c=!Bn(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),o++,f):f(p)}}function cle(e,t,n,i,r,s){let a;return o;function o(h){return h===34||h===39||h===40?(e.enter(i),e.enter(r),e.consume(h),e.exit(r),a=h===40?41:h,c):n(h)}function c(h){return h===a?(e.enter(r),e.consume(h),e.exit(r),e.exit(i),t):(e.enter(s),u(h))}function u(h){return h===a?(e.exit(s),c(a)):h===null?n(h):Kt(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),ai(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===a||h===null||Kt(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 xx(e,t){let n;return i;function i(r){return Kt(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):Bn(r)?ai(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}const f9e={name:"definition",tokenize:p9e},h9e={partial:!0,tokenize:m9e};function p9e(e,t,n){const i=this;let r;return s;function s(p){return e.enter("definition"),a(p)}function a(p){return lle.call(i,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function o(p){return r=xc(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),c):n(p)}function c(p){return Hi(p)?xx(e,u)(p):u(p)}function u(p){return ole(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(h9e,f,f)(p)}function f(p){return Bn(p)?ai(e,h,"whitespace")(p):h(p)}function h(p){return p===null||Kt(p)?(e.exit("definition"),i.parser.defined.push(r),t(p)):n(p)}}function m9e(e,t,n){return i;function i(o){return Hi(o)?xx(e,r)(o):n(o)}function r(o){return cle(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function s(o){return Bn(o)?ai(e,a,"whitespace")(o):a(o)}function a(o){return o===null||Kt(o)?t(o):n(o)}}const g9e={name:"hardBreakEscape",tokenize:b9e};function b9e(e,t,n){return i;function i(s){return e.enter("hardBreakEscape"),e.consume(s),r}function r(s){return Kt(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const O9e={name:"headingAtx",resolve:y9e,tokenize:x9e};function y9e(e,t){let n=e.length-2,i=3,r,s;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},s={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},il(e,i,n-i+1,[["enter",r,t],["enter",s,t],["exit",s,t],["exit",r,t]])),e}function x9e(e,t,n){let i=0;return r;function r(d){return e.enter("atxHeading"),s(d)}function s(d){return e.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&i++<6?(e.consume(d),a):d===null||Hi(d)?(e.exit("atxHeadingSequence"),o(d)):n(d)}function o(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||Kt(d)?(e.exit("atxHeading"),t(d)):Bn(d)?ai(e,o,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),o(d))}function u(d){return d===null||d===35||Hi(d)?(e.exit("atxHeadingText"),o(d)):(e.consume(d),u)}}const v9e=["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"],zz=["pre","script","style","textarea"],w9e={concrete:!0,name:"htmlFlow",resolveTo:k9e,tokenize:T9e},S9e={partial:!0,tokenize:A9e},E9e={partial:!0,tokenize:_9e};function k9e(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 T9e(e,t,n){const i=this;let r,s,a,o,c;return u;function u(U){return d(U)}function d(U){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(U),f}function f(U){return U===33?(e.consume(U),h):U===47?(e.consume(U),s=!0,g):U===63?(e.consume(U),r=3,i.interrupt?t:M):Ma(U)?(e.consume(U),a=String.fromCharCode(U),O):n(U)}function h(U){return U===45?(e.consume(U),r=2,p):U===91?(e.consume(U),r=5,o=0,b):Ma(U)?(e.consume(U),r=4,i.interrupt?t:M):n(U)}function p(U){return U===45?(e.consume(U),i.interrupt?t:M):n(U)}function b(U){const V="CDATA[";return U===V.charCodeAt(o++)?(e.consume(U),o===V.length?i.interrupt?t:P:b):n(U)}function g(U){return Ma(U)?(e.consume(U),a=String.fromCharCode(U),O):n(U)}function O(U){if(U===null||U===47||U===62||Hi(U)){const V=U===47,re=a.toLowerCase();return!V&&!s&&zz.includes(re)?(r=1,i.interrupt?t(U):P(U)):v9e.includes(a.toLowerCase())?(r=6,V?(e.consume(U),y):i.interrupt?t(U):P(U)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(U):s?v(U):x(U))}return U===45||Sa(U)?(e.consume(U),a+=String.fromCharCode(U),O):n(U)}function y(U){return U===62?(e.consume(U),i.interrupt?t:P):n(U)}function v(U){return Bn(U)?(e.consume(U),v):A(U)}function x(U){return U===47?(e.consume(U),A):U===58||U===95||Ma(U)?(e.consume(U),w):Bn(U)?(e.consume(U),x):A(U)}function w(U){return U===45||U===46||U===58||U===95||Sa(U)?(e.consume(U),w):E(U)}function E(U){return U===61?(e.consume(U),S):Bn(U)?(e.consume(U),E):x(U)}function S(U){return U===null||U===60||U===61||U===62||U===96?n(U):U===34||U===39?(e.consume(U),c=U,k):Bn(U)?(e.consume(U),S):T(U)}function k(U){return U===c?(e.consume(U),c=null,C):U===null||Kt(U)?n(U):(e.consume(U),k)}function T(U){return U===null||U===34||U===39||U===47||U===60||U===61||U===62||U===96||Hi(U)?E(U):(e.consume(U),T)}function C(U){return U===47||U===62||Bn(U)?x(U):n(U)}function A(U){return U===62?(e.consume(U),N):n(U)}function N(U){return U===null||Kt(U)?P(U):Bn(U)?(e.consume(U),N):n(U)}function P(U){return U===45&&r===2?(e.consume(U),j):U===60&&r===1?(e.consume(U),I):U===62&&r===4?(e.consume(U),Y):U===63&&r===3?(e.consume(U),M):U===93&&r===5?(e.consume(U),B):Kt(U)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(S9e,q,Q)(U)):U===null||Kt(U)?(e.exit("htmlFlowData"),Q(U)):(e.consume(U),P)}function Q(U){return e.check(E9e,D,q)(U)}function D(U){return e.enter("lineEnding"),e.consume(U),e.exit("lineEnding"),$}function $(U){return U===null||Kt(U)?Q(U):(e.enter("htmlFlowData"),P(U))}function j(U){return U===45?(e.consume(U),M):P(U)}function I(U){return U===47?(e.consume(U),a="",F):P(U)}function F(U){if(U===62){const V=a.toLowerCase();return zz.includes(V)?(e.consume(U),Y):P(U)}return Ma(U)&&a.length<8?(e.consume(U),a+=String.fromCharCode(U),F):P(U)}function B(U){return U===93?(e.consume(U),M):P(U)}function M(U){return U===62?(e.consume(U),Y):U===45&&r===2?(e.consume(U),M):P(U)}function Y(U){return U===null||Kt(U)?(e.exit("htmlFlowData"),q(U)):(e.consume(U),Y)}function q(U){return e.exit("htmlFlow"),t(U)}}function _9e(e,t,n){const i=this;return r;function r(a){return Kt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):n(a)}function s(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}function A9e(e,t,n){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(zv,t,n)}}const C9e={name:"htmlText",tokenize:N9e};function N9e(e,t,n){const i=this;let r,s,a;return o;function o(M){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(M),c}function c(M){return M===33?(e.consume(M),u):M===47?(e.consume(M),E):M===63?(e.consume(M),x):Ma(M)?(e.consume(M),T):n(M)}function u(M){return M===45?(e.consume(M),d):M===91?(e.consume(M),s=0,b):Ma(M)?(e.consume(M),v):n(M)}function d(M){return M===45?(e.consume(M),p):n(M)}function f(M){return M===null?n(M):M===45?(e.consume(M),h):Kt(M)?(a=f,I(M)):(e.consume(M),f)}function h(M){return M===45?(e.consume(M),p):f(M)}function p(M){return M===62?j(M):M===45?h(M):f(M)}function b(M){const Y="CDATA[";return M===Y.charCodeAt(s++)?(e.consume(M),s===Y.length?g:b):n(M)}function g(M){return M===null?n(M):M===93?(e.consume(M),O):Kt(M)?(a=g,I(M)):(e.consume(M),g)}function O(M){return M===93?(e.consume(M),y):g(M)}function y(M){return M===62?j(M):M===93?(e.consume(M),y):g(M)}function v(M){return M===null||M===62?j(M):Kt(M)?(a=v,I(M)):(e.consume(M),v)}function x(M){return M===null?n(M):M===63?(e.consume(M),w):Kt(M)?(a=x,I(M)):(e.consume(M),x)}function w(M){return M===62?j(M):x(M)}function E(M){return Ma(M)?(e.consume(M),S):n(M)}function S(M){return M===45||Sa(M)?(e.consume(M),S):k(M)}function k(M){return Kt(M)?(a=k,I(M)):Bn(M)?(e.consume(M),k):j(M)}function T(M){return M===45||Sa(M)?(e.consume(M),T):M===47||M===62||Hi(M)?C(M):n(M)}function C(M){return M===47?(e.consume(M),j):M===58||M===95||Ma(M)?(e.consume(M),A):Kt(M)?(a=C,I(M)):Bn(M)?(e.consume(M),C):j(M)}function A(M){return M===45||M===46||M===58||M===95||Sa(M)?(e.consume(M),A):N(M)}function N(M){return M===61?(e.consume(M),P):Kt(M)?(a=N,I(M)):Bn(M)?(e.consume(M),N):C(M)}function P(M){return M===null||M===60||M===61||M===62||M===96?n(M):M===34||M===39?(e.consume(M),r=M,Q):Kt(M)?(a=P,I(M)):Bn(M)?(e.consume(M),P):(e.consume(M),D)}function Q(M){return M===r?(e.consume(M),r=void 0,$):M===null?n(M):Kt(M)?(a=Q,I(M)):(e.consume(M),Q)}function D(M){return M===null||M===34||M===39||M===60||M===61||M===96?n(M):M===47||M===62||Hi(M)?C(M):(e.consume(M),D)}function $(M){return M===47||M===62||Hi(M)?C(M):n(M)}function j(M){return M===62?(e.consume(M),e.exit("htmlTextData"),e.exit("htmlText"),t):n(M)}function I(M){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),F}function F(M){return Bn(M)?ai(e,B,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):B(M)}function B(M){return e.enter("htmlTextData"),a(M)}}const F4={name:"labelEnd",resolveAll:D9e,resolveTo:P9e,tokenize:M9e},j9e={tokenize:L9e},R9e={tokenize:$9e},I9e={tokenize:Q9e};function D9e(e){let t=-1;const n=[];for(;++t=3&&(u===null||Kt(u))?(e.exit("thematicBreak"),t(u)):n(u)}function c(u){return u===r?(e.consume(u),i++,c):(e.exit("thematicBreakSequence"),Bn(u)?ai(e,o,"whitespace")(u):o(u))}}const no={continuation:{tokenize:Y9e},exit:Z9e,name:"list",tokenize:G9e},X9e={partial:!0,tokenize:K9e},H9e={partial:!0,tokenize:W9e};function G9e(e,t,n){const i=this,r=i.events[i.events.length-1];let s=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,a=0;return o;function o(p){const b=i.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(b==="listUnordered"?!i.containerState.marker||p===i.containerState.marker:EM(p)){if(i.containerState.type||(i.containerState.type=b,e.enter(b,{_container:!0})),b==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(ck,n,u)(p):u(p);if(!i.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(p)}return n(p)}function c(p){return EM(p)&&++a<10?(e.consume(p),c):(!i.interrupt||a<2)&&(i.containerState.marker?p===i.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||p,e.check(zv,i.interrupt?n:d,e.attempt(X9e,h,f))}function d(p){return i.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return Bn(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return i.containerState.size=s+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function Y9e(e,t,n){const i=this;return i.containerState._closeFlow=void 0,e.check(zv,r,s);function r(o){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,ai(e,t,"listItemIndent",i.containerState.size+1)(o)}function s(o){return i.containerState.furtherBlankLines||!Bn(o)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,a(o)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(H9e,t,a)(o))}function a(o){return i.containerState._closeFlow=!0,i.interrupt=void 0,ai(e,e.attempt(no,t,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function W9e(e,t,n){const i=this;return ai(e,r,"listItemIndent",i.containerState.size+1);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===i.containerState.size?t(s):n(s)}}function Z9e(e){e.exit(this.containerState.type)}function K9e(e,t,n){const i=this;return ai(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(s){const a=i.events[i.events.length-1];return!Bn(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const Vz={name:"setextUnderline",resolveTo:J9e,tokenize:e7e};function J9e(e,t){let n=e.length,i,r,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){i=n;break}e[n][1].type==="paragraph"&&(r=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(e.splice(r,0,["enter",a,t]),e.splice(s+1,0,["exit",e[i][1],t]),e[i][1].end={...e[s][1].end}):e[i][1]=a,e.push(["exit",a,t]),e}function e7e(e,t,n){const i=this;let r;return s;function s(u){let d=i.events.length,f;for(;d--;)if(i.events[d][1].type!=="lineEnding"&&i.events[d][1].type!=="linePrefix"&&i.events[d][1].type!=="content"){f=i.events[d][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||f)?(e.enter("setextHeadingLine"),r=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===r?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),Bn(u)?ai(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||Kt(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const t7e={tokenize:n7e};function n7e(e){const t=this,n=e.attempt(zv,i,e.attempt(this.parser.constructs.flowInitial,r,ai(e,e.attempt(this.parser.constructs.flow,r,e.attempt(o9e,r)),"linePrefix")));return n;function i(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const i7e={resolveAll:dle()},r7e=ule("string"),s7e=ule("text");function ule(e){return{resolveAll:dle(e==="text"?a7e:void 0),tokenize:t};function t(n){const i=this,r=this.parser.constructs[e],s=n.attempt(r,a,o);return a;function a(d){return u(d)?s(d):o(d)}function o(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),c)}function u(d){if(d===null)return!0;const f=r[d];let h=-1;if(f)for(;++h-1){const o=a[0];typeof o=="string"?a[0]=o.slice(i):a.shift()}s>0&&a.push(e[r].slice(0,s))}return a}function y7e(e,t){let n=-1;const i=[];let r;for(;++n0){const je=ue.tokenStack[ue.tokenStack.length-1];(je[1]||Lz).call(ue,void 0,je[0])}for(ne.position={start:gf(Z.length>0?Z[0][1].start:{line:1,column:1,offset:0}),end:gf(Z.length>0?Z[Z.length-2][1].end:{line:1,column:1,offset:0})},V=-1;++V0&&(i.className=["language-"+r[0]]);let s={type:"element",tagName:"code",properties:i,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function g7e(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function b7e(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function O7e(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(t.identifier).toUpperCase(),r=eO(i.toLowerCase()),s=e.footnoteOrder.indexOf(i);let a,o=e.footnoteCounts.get(i);o===void 0?(o=0,e.footnoteOrder.push(i),a=e.footnoteOrder.length):a=s+1,o+=1,e.footnoteCounts.set(i,o);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+r,id:n+"fnref-"+r+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function y7e(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 x7e(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Woe(e,t){const n=t.referenceType;let i="]";if(n==="collapsed"?i+="[]":n==="full"&&(i+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+i}];const r=e.all(t),s=r[0];s&&s.type==="text"?s.value="["+s.value:r.unshift({type:"text",value:"["});const a=r[r.length-1];return a&&a.type==="text"?a.value+=i:r.push({type:"text",value:i}),r}function v7e(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return Woe(e,t);const r={src:eO(i.url||""),alt:t.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,s),e.applyData(t,s)}function w7e(e,t){const n={src:eO(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,i),e.applyData(t,i)}function S7e(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const i={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,i),e.applyData(t,i)}function E7e(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return Woe(e,t);const r={href:eO(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function k7e(e,t){const n={href:eO(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function T7e(e,t,n){const i=e.all(t),r=n?_7e(n):Zoe(t),s={},a=[];if(typeof t.checked=="boolean"){const d=i[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},i.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let o=-1;for(;++o0){const je=ue.tokenStack[ue.tokenStack.length-1];(je[1]||Xz).call(ue,void 0,je[0])}for(ie.position={start:vf(Z.length>0?Z[0][1].start:{line:1,column:1,offset:0}),end:vf(Z.length>0?Z[Z.length-2][1].end:{line:1,column:1,offset:0})},z=-1;++z0&&(i.className=["language-"+r[0]]);let s={type:"element",tagName:"code",properties:i,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function I7e(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function D7e(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function P7e(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(t.identifier).toUpperCase(),r=lO(i.toLowerCase()),s=e.footnoteOrder.indexOf(i);let a,o=e.footnoteCounts.get(i);o===void 0?(o=0,e.footnoteOrder.push(i),a=e.footnoteOrder.length):a=s+1,o+=1,e.footnoteCounts.set(i,o);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+r,id:n+"fnref-"+r+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function M7e(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 L7e(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function ple(e,t){const n=t.referenceType;let i="]";if(n==="collapsed"?i+="[]":n==="full"&&(i+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+i}];const r=e.all(t),s=r[0];s&&s.type==="text"?s.value="["+s.value:r.unshift({type:"text",value:"["});const a=r[r.length-1];return a&&a.type==="text"?a.value+=i:r.push({type:"text",value:i}),r}function $7e(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return ple(e,t);const r={src:lO(i.url||""),alt:t.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,s),e.applyData(t,s)}function Q7e(e,t){const n={src:lO(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,i),e.applyData(t,i)}function B7e(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const i={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,i),e.applyData(t,i)}function F7e(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return ple(e,t);const r={href:lO(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const s={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function U7e(e,t){const n={href:lO(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function z7e(e,t,n){const i=e.all(t),r=n?V7e(n):mle(t),s={},a=[];if(typeof t.checked=="boolean"){const d=i[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},i.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let o=-1;for(;++o1}function A7e(e,t){const n={},i=e.all(t);let r=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++r0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},o=wu(t.children[1]),c=f2(t.children[t.children.length-1]);o&&c&&(a.position={start:o,end:c}),r.push(a)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function D7e(e,t,n){const i=n?n.children:void 0,s=(i?i.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,o=a?a.length:t.children.length;let c=-1;const u=[];for(;++c0,!0),i[0]),r=i.index+i[0].length,i=n.exec(t);return s.push(Bz(t.slice(r),r>0,!1)),s.join("")}function Bz(e,t,n){let i=0,r=e.length;if(t){let s=e.codePointAt(i);for(;s===$z||s===Qz;)i++,s=e.codePointAt(i)}if(n){let s=e.codePointAt(r-1);for(;s===$z||s===Qz;)r--,s=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function M7e(e,t){const n={type:"text",value:P7e(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function L7e(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const $7e={blockquote:h7e,break:p7e,code:m7e,delete:g7e,emphasis:b7e,footnoteReference:O7e,heading:y7e,html:x7e,imageReference:v7e,image:w7e,inlineCode:S7e,linkReference:E7e,link:k7e,listItem:T7e,list:A7e,paragraph:C7e,root:N7e,strong:j7e,table:R7e,tableCell:I7e,tableRow:D7e,text:M7e,thematicBreak:L7e,toml:ES,yaml:ES,definition:ES,footnoteDefinition:ES};function ES(){}const Koe=-1,m2=0,hx=1,FT=2,R4=3,D4=4,I4=5,P4=6,Joe=7,ele=8,Q7e=typeof self=="object"?self:globalThis,Fz=(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 Q7e[e](t)},B7e=(e,t)=>{const n=(r,s)=>(e.set(s,r),r),i=r=>{if(e.has(r))return e.get(r);const[s,a]=t[r];switch(s){case m2:case Koe:return n(a,r);case hx:{const o=n([],r);for(const c of a)o.push(i(c));return o}case FT:{const o=n({},r);for(const[c,u]of a)o[i(c)]=i(u);return o}case R4:return n(new Date(a),r);case D4:{const{source:o,flags:c}=a;return n(new RegExp(o,c),r)}case I4:{const o=n(new Map,r);for(const[c,u]of a)o.set(i(c),i(u));return o}case P4:{const o=n(new Set,r);for(const c of a)o.add(i(c));return o}case Joe:{const{name:o,message:c}=a;return n(Fz(o,c),r)}case ele:return n(BigInt(a),r);case"BigInt":return n(Object(BigInt(a)),r);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:o}=new Uint8Array(a);return n(new DataView(o),a)}}return n(Fz(s,a),r)};return i},Uz=e=>B7e(new Map,e)(0),og="",{toString:F7e}={},{keys:U7e}=Object,WO=e=>{const t=typeof e;if(t!=="object"||!e)return[m2,t];const n=F7e.call(e).slice(8,-1);switch(n){case"Array":return[hx,og];case"Object":return[FT,og];case"Date":return[R4,og];case"RegExp":return[D4,og];case"Map":return[I4,og];case"Set":return[P4,og];case"DataView":return[hx,n]}return n.includes("Array")?[hx,n]:n.includes("Error")?[Joe,n]:[FT,n]},kS=([e,t])=>e===m2&&(t==="function"||t==="symbol"),z7e=(e,t,n,i)=>{const r=(a,o)=>{const c=i.push(a)-1;return n.set(o,c),c},s=a=>{if(n.has(a))return n.get(a);let[o,c]=WO(a);switch(o){case m2:{let d=a;switch(c){case"bigint":o=ele,d=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return r([Koe],a)}return r([o,d],a)}case hx:{if(c){let h=a;return c==="DataView"?h=new Uint8Array(a.buffer):c==="ArrayBuffer"&&(h=new Uint8Array(a)),r([c,[...h]],a)}const d=[],f=r([o,d],a);for(const h of a)d.push(s(h));return f}case FT:{if(c)switch(c){case"BigInt":return r([c,a.toString()],a);case"Boolean":case"Number":case"String":return r([c,a.valueOf()],a)}if(t&&"toJSON"in a)return s(a.toJSON());const d=[],f=r([o,d],a);for(const h of U7e(a))(e||!kS(WO(a[h])))&&d.push([s(h),s(a[h])]);return f}case R4:return r([o,a.toISOString()],a);case D4:{const{source:d,flags:f}=a;return r([o,{source:d,flags:f}],a)}case I4:{const d=[],f=r([o,d],a);for(const[h,p]of a)(e||!(kS(WO(h))||kS(WO(p))))&&d.push([s(h),s(p)]);return f}case P4:{const d=[],f=r([o,d],a);for(const h of a)(e||!kS(WO(h)))&&d.push(s(h));return f}}const{message:u}=a;return r([o,{name:c,message:u}],a)};return s},zz=(e,{json:t,lossy:n}={})=>{const i=[];return z7e(!(t||n),!!t,new Map,i)(e),i},db=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Uz(zz(e,t)):structuredClone(e):(e,t)=>Uz(zz(e,t));function V7e(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 q7e(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function X7e(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||V7e,i=e.options.footnoteBackLabel||q7e,r=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},o=[];let c=-1;for(;++c0&&b.push({type:"text",value:" "});let v=typeof n=="string"?n:n(c,p);typeof v=="string"&&(v={type:"text",value:v}),b.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(c,p),className:["data-footnote-backref"]},children:Array.isArray(v)?v:[v]})}const O=d[d.length-1];if(O&&O.type==="element"&&O.tagName==="p"){const v=O.children[O.children.length-1];v&&v.type==="text"?v.value+=" ":O.children.push({type:"text",value:" "}),O.children.push(...b)}else d.push(...b);const y={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,y),o.push(y)}if(o.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...db(a),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` +`});const u={type:"element",tagName:"li",properties:s,children:a};return e.patch(t,u),e.applyData(t,u)}function V7e(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let i=-1;for(;!t&&++i1}function q7e(e,t){const n={},i=e.all(t);let r=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++r0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},o=Iu(t.children[1]),c=O2(t.children[t.children.length-1]);o&&c&&(a.position={start:o,end:c}),r.push(a)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function W7e(e,t,n){const i=n?n.children:void 0,s=(i?i.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,o=a?a.length:t.children.length;let c=-1;const u=[];for(;++c0,!0),i[0]),r=i.index+i[0].length,i=n.exec(t);return s.push(Yz(t.slice(r),r>0,!1)),s.join("")}function Yz(e,t,n){let i=0,r=e.length;if(t){let s=e.codePointAt(i);for(;s===Hz||s===Gz;)i++,s=e.codePointAt(i)}if(n){let s=e.codePointAt(r-1);for(;s===Hz||s===Gz;)r--,s=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function J7e(e,t){const n={type:"text",value:K7e(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function eFe(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const tFe={blockquote:N7e,break:j7e,code:R7e,delete:I7e,emphasis:D7e,footnoteReference:P7e,heading:M7e,html:L7e,imageReference:$7e,image:Q7e,inlineCode:B7e,linkReference:F7e,link:U7e,listItem:z7e,list:q7e,paragraph:X7e,root:H7e,strong:G7e,table:Y7e,tableCell:Z7e,tableRow:W7e,text:J7e,thematicBreak:eFe,toml:AS,yaml:AS,definition:AS,footnoteDefinition:AS};function AS(){}const gle=-1,v2=0,vx=1,HT=2,U4=3,z4=4,V4=5,q4=6,ble=7,Ole=8,nFe=typeof self=="object"?self:globalThis,Wz=(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 nFe[e](t)},iFe=(e,t)=>{const n=(r,s)=>(e.set(s,r),r),i=r=>{if(e.has(r))return e.get(r);const[s,a]=t[r];switch(s){case v2:case gle:return n(a,r);case vx:{const o=n([],r);for(const c of a)o.push(i(c));return o}case HT:{const o=n({},r);for(const[c,u]of a)o[i(c)]=i(u);return o}case U4:return n(new Date(a),r);case z4:{const{source:o,flags:c}=a;return n(new RegExp(o,c),r)}case V4:{const o=n(new Map,r);for(const[c,u]of a)o.set(i(c),i(u));return o}case q4:{const o=n(new Set,r);for(const c of a)o.add(i(c));return o}case ble:{const{name:o,message:c}=a;return n(Wz(o,c),r)}case Ole:return n(BigInt(a),r);case"BigInt":return n(Object(BigInt(a)),r);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:o}=new Uint8Array(a);return n(new DataView(o),a)}}return n(Wz(s,a),r)};return i},Zz=e=>iFe(new Map,e)(0),pg="",{toString:rFe}={},{keys:sFe}=Object,ry=e=>{const t=typeof e;if(t!=="object"||!e)return[v2,t];const n=rFe.call(e).slice(8,-1);switch(n){case"Array":return[vx,pg];case"Object":return[HT,pg];case"Date":return[U4,pg];case"RegExp":return[z4,pg];case"Map":return[V4,pg];case"Set":return[q4,pg];case"DataView":return[vx,n]}return n.includes("Array")?[vx,n]:n.includes("Error")?[ble,n]:[HT,n]},CS=([e,t])=>e===v2&&(t==="function"||t==="symbol"),aFe=(e,t,n,i)=>{const r=(a,o)=>{const c=i.push(a)-1;return n.set(o,c),c},s=a=>{if(n.has(a))return n.get(a);let[o,c]=ry(a);switch(o){case v2:{let d=a;switch(c){case"bigint":o=Ole,d=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return r([gle],a)}return r([o,d],a)}case vx:{if(c){let h=a;return c==="DataView"?h=new Uint8Array(a.buffer):c==="ArrayBuffer"&&(h=new Uint8Array(a)),r([c,[...h]],a)}const d=[],f=r([o,d],a);for(const h of a)d.push(s(h));return f}case HT:{if(c)switch(c){case"BigInt":return r([c,a.toString()],a);case"Boolean":case"Number":case"String":return r([c,a.valueOf()],a)}if(t&&"toJSON"in a)return s(a.toJSON());const d=[],f=r([o,d],a);for(const h of sFe(a))(e||!CS(ry(a[h])))&&d.push([s(h),s(a[h])]);return f}case U4:return r([o,a.toISOString()],a);case z4:{const{source:d,flags:f}=a;return r([o,{source:d,flags:f}],a)}case V4:{const d=[],f=r([o,d],a);for(const[h,p]of a)(e||!(CS(ry(h))||CS(ry(p))))&&d.push([s(h),s(p)]);return f}case q4:{const d=[],f=r([o,d],a);for(const h of a)(e||!CS(ry(h)))&&d.push(s(h));return f}}const{message:u}=a;return r([o,{name:c,message:u}],a)};return s},Kz=(e,{json:t,lossy:n}={})=>{const i=[];return aFe(!(t||n),!!t,new Map,i)(e),i},yb=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Zz(Kz(e,t)):structuredClone(e):(e,t)=>Zz(Kz(e,t));function oFe(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 lFe(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function cFe(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||oFe,i=e.options.footnoteBackLabel||lFe,r=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},o=[];let c=-1;for(;++c0&&b.push({type:"text",value:" "});let v=typeof n=="string"?n:n(c,p);typeof v=="string"&&(v={type:"text",value:v}),b.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(c,p),className:["data-footnote-backref"]},children:Array.isArray(v)?v:[v]})}const O=d[d.length-1];if(O&&O.type==="element"&&O.tagName==="p"){const v=O.children[O.children.length-1];v&&v.type==="text"?v.value+=" ":O.children.push({type:"text",value:" "}),O.children.push(...b)}else d.push(...b);const y={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,y),o.push(y)}if(o.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...yb(a),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(o,!0)},{type:"text",value:` -`}]}}const Mv=function(e){if(e==null)return W7e;if(typeof e=="function")return g2(e);if(typeof e=="object")return Array.isArray(e)?H7e(e):Y7e(e);if(typeof e=="string")return G7e(e);throw new Error("Expected function, string, or object as test")};function H7e(e){const t=[];let n=-1;for(;++n":""))+")"})}return h;function h(){let p=tle,b,g,O;if((!t||s(c,u,d[d.length-1]||void 0))&&(p=eFe(n(c,d)),p[0]===bM))return p;if("children"in c&&c.children){const y=c;if(y.children&&p[0]!==J7e)for(g=(i?y.children.length:-1)+a,O=d.concat(y);g>-1&&g":""))+")"})}return h;function h(){let p=yle,b,g,O;if((!t||s(c,u,d[d.length-1]||void 0))&&(p=bFe(n(c,d)),p[0]===TM))return p;if("children"in c&&c.children){const y=c;if(y.children&&p[0]!==gFe)for(g=(i?y.children.length:-1)+a,O=d.concat(y);g>-1&&g0&&n.push({type:"text",value:` -`}),n}function Vz(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function qz(e,t){const n=nFe(e,t),i=n.one(e,void 0),r=X7e(n),s=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&s.children.push({type:"text",value:` -`},r),s}function oFe(e,t){return e&&"run"in e?async function(n,i){const r=qz(n,{file:i,...t});await e.run(r,i)}:function(n,i){return qz(n,{file:i,...e||t})}}function Xz(e){if(e)throw e}var sk=Object.prototype.hasOwnProperty,ile=Object.prototype.toString,Hz=Object.defineProperty,Yz=Object.getOwnPropertyDescriptor,Gz=function(t){return typeof Array.isArray=="function"?Array.isArray(t):ile.call(t)==="[object Array]"},Wz=function(t){if(!t||ile.call(t)!=="[object Object]")return!1;var n=sk.call(t,"constructor"),i=t.constructor&&t.constructor.prototype&&sk.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!i)return!1;var r;for(r in t);return typeof r>"u"||sk.call(t,r)},Zz=function(t,n){Hz&&n.name==="__proto__"?Hz(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},Kz=function(t,n){if(n==="__proto__")if(sk.call(t,n)){if(Yz)return Yz(t,n).value}else return;return t[n]},lFe=function e(){var t,n,i,r,s,a,o=arguments[0],c=1,u=arguments.length,d=!1;for(typeof o=="boolean"&&(d=o,o=arguments[1]||{},c=2),(o==null||typeof o!="object"&&typeof o!="function")&&(o={});ca.length;let c;o&&a.push(r);try{c=e.apply(this,a)}catch(u){const d=u;if(o&&n)throw d;return r(d)}o||(c&&c.then&&typeof c.then=="function"?c.then(s,r):c instanceof Error?r(c):s(c))}function r(a,...o){n||(n=!0,t(a,...o))}function s(a){r(null,a)}}const Fc={basename:dFe,dirname:fFe,extname:hFe,join:pFe,sep:"/"};function dFe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');$v(e);let n=0,i=-1,r=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else i<0&&(s=!0,i=r+1);return i<0?"":e.slice(n,i)}if(t===e)return"";let a=-1,o=t.length-1;for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else a<0&&(s=!0,a=r+1),o>-1&&(e.codePointAt(r)===t.codePointAt(o--)?o<0&&(i=r):(o=-1,i=a));return n===i?i=a:i<0&&(i=e.length),e.slice(n,i)}function fFe(e){if($v(e),e.length===0)return".";let t=-1,n=e.length,i;for(;--n;)if(e.codePointAt(n)===47){if(i){t=n;break}}else i||(i=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function hFe(e){$v(e);let t=e.length,n=-1,i=0,r=-1,s=0,a;for(;t--;){const o=e.codePointAt(t);if(o===47){if(a){i=t+1;break}continue}n<0&&(a=!0,n=t+1),o===46?r<0?r=t:s!==1&&(s=1):r>-1&&(s=-1)}return r<0||n<0||s===0||s===1&&r===n-1&&r===i+1?"":e.slice(r,n)}function pFe(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function gFe(e,t){let n="",i=0,r=-1,s=0,a=-1,o,c;for(;++a<=e.length;){if(a2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",i=0):(n=n.slice(0,c),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}}else if(n.length>0){n="",i=0,r=a,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else o===46&&s>-1?s++:s=-1}return n}function $v(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const bFe={cwd:OFe};function OFe(){return"/"}function xM(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function yFe(e){if(typeof e=="string")e=new URL(e);else if(!xM(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 xFe(e)}function xFe(e){if(e.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const t=e.pathname;let n=-1;for(;++n0){let[p,...b]=d;const g=i[h][1];yM(g)&&yM(p)&&(p=jj(!0,g,p)),i[h]=[u,p,...b]}}}}const EFe=new M4().freeze();function Pj(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Mj(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Lj(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 eV(e){if(!yM(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function tV(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function TS(e){return kFe(e)?e:new rle(e)}function kFe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function TFe(e){return typeof e=="string"||_Fe(e)}function _Fe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const AFe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",nV=[],iV={allowDangerousHtml:!0},CFe=/^(https?|ircs?|mailto|xmpp)$/i,NFe=[{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 jFe(e){const t=RFe(e),n=DFe(e);return IFe(t.runSync(t.parse(n),n),e)}function RFe(e){const t=e.rehypePlugins||nV,n=e.remarkPlugins||nV,i=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...iV}:iV;return EFe().use(f7e).use(n).use(oFe,i).use(t)}function DFe(e){const t=e.children||"",n=new rle;return typeof t=="string"&&(n.value=t),n}function IFe(e,t){const n=t.allowedElements,i=t.allowElement,r=t.components,s=t.disallowedElements,a=t.skipHtml,o=t.unwrapDisallowed,c=t.urlTransform||PFe;for(const d of NFe)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+AFe+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),Lv(e,u),GBe(e,{Fragment:l.Fragment,components:r,ignoreInvalidStyle:!0,jsx:l.jsx,jsxs:l.jsxs,passKeys:!0,passNode:!0});function u(d,f,h){if(d.type==="raw"&&h&&typeof f=="number")return a?h.children.splice(f,1):h.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let p;for(p in Aj)if(Object.hasOwn(Aj,p)&&Object.hasOwn(d.properties,p)){const b=d.properties[p],g=Aj[p];(g===null||g.includes(d.tagName))&&(d.properties[p]=c(String(b||""),p,d))}}if(d.type==="element"){let p=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!p&&i&&typeof f=="number"&&(p=!i(d,f,h)),p&&h&&typeof f=="number")return o&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function PFe(e){const t=e.indexOf(":"),n=e.indexOf("?"),i=e.indexOf("#"),r=e.indexOf("/");return t===-1||r!==-1&&t>r||n!==-1&&t>n||i!==-1&&t>i||CFe.test(e.slice(0,t))?e:""}function rV(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let i=0,r=n.indexOf(t);for(;r!==-1;)i++,r=n.indexOf(t,r+t.length);return i}function MFe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function LFe(e,t,n){const r=Mv((n||{}).ignore||[]),s=$Fe(t);let a=-1;for(;++a0?{type:"text",value:S}:void 0),S===!1?h.lastIndex=w+1:(b!==w&&v.push({type:"text",value:u.value.slice(b,w)}),Array.isArray(S)?v.push(...S):S&&v.push(S),b=w+x[0].length,y=!0),!h.global)break;x=h.exec(u.value)}return y?(b?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],i=n.indexOf(")");const r=rV(e,"(");let s=rV(e,")");for(;i!==-1&&r>s;)e+=n.slice(0,i+1),n=n.slice(i+1),i=n.indexOf(")"),s++;return[e,n]}function sle(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||um(n)||h2(n))&&(!t||n!==47)}ale.peek=oUe;function JFe(){this.buffer()}function eUe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function tUe(){this.buffer()}function nUe(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function iUe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=uc(this.sliceSerialize(e)).toLowerCase(),n.label=t}function rUe(e){this.exit(e)}function sUe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=uc(this.sliceSerialize(e)).toLowerCase(),n.label=t}function aUe(e){this.exit(e)}function oUe(){return"["}function ale(e,t,n,i){const r=n.createTracker(i);let s=r.move("[^");const a=n.enter("footnoteReference"),o=n.enter("reference");return s+=r.move(n.safe(n.associationId(e),{after:"]",before:s})),o(),a(),s+=r.move("]"),s}function lUe(){return{enter:{gfmFootnoteCallString:JFe,gfmFootnoteCall:eUe,gfmFootnoteDefinitionLabelString:tUe,gfmFootnoteDefinition:nUe},exit:{gfmFootnoteCallString:iUe,gfmFootnoteCall:rUe,gfmFootnoteDefinitionLabelString:sUe,gfmFootnoteDefinition:aUe}}}function cUe(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:ale},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(i,r,s,a){const o=s.createTracker(a);let c=o.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return c+=o.move(s.safe(s.associationId(i),{before:c,after:"]"})),d(),c+=o.move("]:"),i.children&&i.children.length>0&&(o.shift(4),c+=o.move((t?` -`:" ")+s.indentLines(s.containerFlow(i,o.current()),t?ole:uUe))),u(),c}}function uUe(e,t,n){return t===0?e:ole(e,t,n)}function ole(e,t,n){return(n?"":" ")+e}const dUe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];lle.peek=gUe;function fUe(){return{canContainEols:["delete"],enter:{strikethrough:pUe},exit:{strikethrough:mUe}}}function hUe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:dUe}],handlers:{delete:lle}}}function pUe(e){this.enter({type:"delete",children:[]},e)}function mUe(e){this.exit(e)}function lle(e,t,n,i){const r=n.createTracker(i),s=n.enter("strikethrough");let a=r.move("~~");return a+=n.containerPhrasing(e,{...r.current(),before:a,after:"~"}),a+=r.move("~~"),s(),a}function gUe(){return"~"}function bUe(e){return e.length}function OUe(e,t){const n=t||{},i=(n.align||[]).concat(),r=n.stringLength||bUe,s=[],a=[],o=[],c=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++yc[y])&&(c[y]=x)}g.push(v)}a[d]=g,o[d]=O}let f=-1;if(typeof i=="object"&&"length"in i)for(;++fc[f]&&(c[f]=v),p[f]=v),h[f]=x}a.splice(1,0,h),o.splice(1,0,p),d=-1;const b=[];for(;++d "),s.shift(2);const a=n.indentLines(n.containerFlow(e,s.current()),vUe);return r(),a}function vUe(e,t,n){return">"+(n?"":" ")+e}function wUe(e,t){return oV(e,t.inConstruct,!0)&&!oV(e,t.notInConstruct,!1)}function oV(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let i=-1;for(;++ia&&(a=s):s=1,r=i+t.length,i=n.indexOf(t,r);return a}function EUe(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 kUe(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 TUe(e,t,n,i){const r=kUe(n),s=e.value||"",a=r==="`"?"GraveAccent":"Tilde";if(EUe(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,_Ue);return f(),h}const o=n.createTracker(i),c=r.repeat(Math.max(SUe(s,r)+1,3)),u=n.enter("codeFenced");let d=o.move(c);if(e.lang){const f=n.enter(`codeFencedLang${a}`);d+=o.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...o.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${a}`);d+=o.move(" "),d+=o.move(n.safe(e.meta,{before:d,after:` +`}),n}function Jz(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function eV(e,t){const n=yFe(e,t),i=n.one(e,void 0),r=cFe(n),s=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&s.children.push({type:"text",value:` +`},r),s}function EFe(e,t){return e&&"run"in e?async function(n,i){const r=eV(n,{file:i,...t});await e.run(r,i)}:function(n,i){return eV(n,{file:i,...e||t})}}function tV(e){if(e)throw e}var uk=Object.prototype.hasOwnProperty,vle=Object.prototype.toString,nV=Object.defineProperty,iV=Object.getOwnPropertyDescriptor,rV=function(t){return typeof Array.isArray=="function"?Array.isArray(t):vle.call(t)==="[object Array]"},sV=function(t){if(!t||vle.call(t)!=="[object Object]")return!1;var n=uk.call(t,"constructor"),i=t.constructor&&t.constructor.prototype&&uk.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!i)return!1;var r;for(r in t);return typeof r>"u"||uk.call(t,r)},aV=function(t,n){nV&&n.name==="__proto__"?nV(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},oV=function(t,n){if(n==="__proto__")if(uk.call(t,n)){if(iV)return iV(t,n).value}else return;return t[n]},kFe=function e(){var t,n,i,r,s,a,o=arguments[0],c=1,u=arguments.length,d=!1;for(typeof o=="boolean"&&(d=o,o=arguments[1]||{},c=2),(o==null||typeof o!="object"&&typeof o!="function")&&(o={});ca.length;let c;o&&a.push(r);try{c=e.apply(this,a)}catch(u){const d=u;if(o&&n)throw d;return r(d)}o||(c&&c.then&&typeof c.then=="function"?c.then(s,r):c instanceof Error?r(c):s(c))}function r(a,...o){n||(n=!0,t(a,...o))}function s(a){r(null,a)}}const Kc={basename:AFe,dirname:CFe,extname:NFe,join:jFe,sep:"/"};function AFe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Xv(e);let n=0,i=-1,r=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else i<0&&(s=!0,i=r+1);return i<0?"":e.slice(n,i)}if(t===e)return"";let a=-1,o=t.length-1;for(;r--;)if(e.codePointAt(r)===47){if(s){n=r+1;break}}else a<0&&(s=!0,a=r+1),o>-1&&(e.codePointAt(r)===t.codePointAt(o--)?o<0&&(i=r):(o=-1,i=a));return n===i?i=a:i<0&&(i=e.length),e.slice(n,i)}function CFe(e){if(Xv(e),e.length===0)return".";let t=-1,n=e.length,i;for(;--n;)if(e.codePointAt(n)===47){if(i){t=n;break}}else i||(i=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function NFe(e){Xv(e);let t=e.length,n=-1,i=0,r=-1,s=0,a;for(;t--;){const o=e.codePointAt(t);if(o===47){if(a){i=t+1;break}continue}n<0&&(a=!0,n=t+1),o===46?r<0?r=t:s!==1&&(s=1):r>-1&&(s=-1)}return r<0||n<0||s===0||s===1&&r===n-1&&r===i+1?"":e.slice(r,n)}function jFe(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function IFe(e,t){let n="",i=0,r=-1,s=0,a=-1,o,c;for(;++a<=e.length;){if(a2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",i=0):(n=n.slice(0,c),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}}else if(n.length>0){n="",i=0,r=a,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else o===46&&s>-1?s++:s=-1}return n}function Xv(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const DFe={cwd:PFe};function PFe(){return"/"}function CM(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function MFe(e){if(typeof e=="string")e=new URL(e);else if(!CM(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 LFe(e)}function LFe(e){if(e.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const t=e.pathname;let n=-1;for(;++n0){let[p,...b]=d;const g=i[h][1];AM(g)&&AM(p)&&(p=Bj(!0,g,p)),i[h]=[u,p,...b]}}}}const FFe=new X4().freeze();function Vj(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function qj(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Xj(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 cV(e){if(!AM(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function uV(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function NS(e){return UFe(e)?e:new wle(e)}function UFe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function zFe(e){return typeof e=="string"||VFe(e)}function VFe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const qFe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",dV=[],fV={allowDangerousHtml:!0},XFe=/^(https?|ircs?|mailto|xmpp)$/i,HFe=[{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 GFe(e){const t=YFe(e),n=WFe(e);return ZFe(t.runSync(t.parse(n),n),e)}function YFe(e){const t=e.rehypePlugins||dV,n=e.remarkPlugins||dV,i=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...fV}:fV;return FFe().use(C7e).use(n).use(EFe,i).use(t)}function WFe(e){const t=e.children||"",n=new wle;return typeof t=="string"&&(n.value=t),n}function ZFe(e,t){const n=t.allowedElements,i=t.allowElement,r=t.components,s=t.disallowedElements,a=t.skipHtml,o=t.unwrapDisallowed,c=t.urlTransform||KFe;for(const d of HFe)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+qFe+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),qv(e,u),f8e(e,{Fragment:l.Fragment,components:r,ignoreInvalidStyle:!0,jsx:l.jsx,jsxs:l.jsxs,passKeys:!0,passNode:!0});function u(d,f,h){if(d.type==="raw"&&h&&typeof f=="number")return a?h.children.splice(f,1):h.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let p;for(p in Lj)if(Object.hasOwn(Lj,p)&&Object.hasOwn(d.properties,p)){const b=d.properties[p],g=Lj[p];(g===null||g.includes(d.tagName))&&(d.properties[p]=c(String(b||""),p,d))}}if(d.type==="element"){let p=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!p&&i&&typeof f=="number"&&(p=!i(d,f,h)),p&&h&&typeof f=="number")return o&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function KFe(e){const t=e.indexOf(":"),n=e.indexOf("?"),i=e.indexOf("#"),r=e.indexOf("/");return t===-1||r!==-1&&t>r||n!==-1&&t>n||i!==-1&&t>i||XFe.test(e.slice(0,t))?e:""}function hV(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let i=0,r=n.indexOf(t);for(;r!==-1;)i++,r=n.indexOf(t,r+t.length);return i}function JFe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function eUe(e,t,n){const r=Vv((n||{}).ignore||[]),s=tUe(t);let a=-1;for(;++a0?{type:"text",value:S}:void 0),S===!1?h.lastIndex=w+1:(b!==w&&v.push({type:"text",value:u.value.slice(b,w)}),Array.isArray(S)?v.push(...S):S&&v.push(S),b=w+x[0].length,y=!0),!h.global)break;x=h.exec(u.value)}return y?(b?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],i=n.indexOf(")");const r=hV(e,"(");let s=hV(e,")");for(;i!==-1&&r>s;)e+=n.slice(0,i+1),n=n.slice(i+1),i=n.indexOf(")"),s++;return[e,n]}function Sle(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||ym(n)||y2(n))&&(!t||n!==47)}Ele.peek=EUe;function gUe(){this.buffer()}function bUe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function OUe(){this.buffer()}function yUe(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function xUe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=xc(this.sliceSerialize(e)).toLowerCase(),n.label=t}function vUe(e){this.exit(e)}function wUe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=xc(this.sliceSerialize(e)).toLowerCase(),n.label=t}function SUe(e){this.exit(e)}function EUe(){return"["}function Ele(e,t,n,i){const r=n.createTracker(i);let s=r.move("[^");const a=n.enter("footnoteReference"),o=n.enter("reference");return s+=r.move(n.safe(n.associationId(e),{after:"]",before:s})),o(),a(),s+=r.move("]"),s}function kUe(){return{enter:{gfmFootnoteCallString:gUe,gfmFootnoteCall:bUe,gfmFootnoteDefinitionLabelString:OUe,gfmFootnoteDefinition:yUe},exit:{gfmFootnoteCallString:xUe,gfmFootnoteCall:vUe,gfmFootnoteDefinitionLabelString:wUe,gfmFootnoteDefinition:SUe}}}function TUe(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Ele},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(i,r,s,a){const o=s.createTracker(a);let c=o.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return c+=o.move(s.safe(s.associationId(i),{before:c,after:"]"})),d(),c+=o.move("]:"),i.children&&i.children.length>0&&(o.shift(4),c+=o.move((t?` +`:" ")+s.indentLines(s.containerFlow(i,o.current()),t?kle:_Ue))),u(),c}}function _Ue(e,t,n){return t===0?e:kle(e,t,n)}function kle(e,t,n){return(n?"":" ")+e}const AUe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Tle.peek=IUe;function CUe(){return{canContainEols:["delete"],enter:{strikethrough:jUe},exit:{strikethrough:RUe}}}function NUe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:AUe}],handlers:{delete:Tle}}}function jUe(e){this.enter({type:"delete",children:[]},e)}function RUe(e){this.exit(e)}function Tle(e,t,n,i){const r=n.createTracker(i),s=n.enter("strikethrough");let a=r.move("~~");return a+=n.containerPhrasing(e,{...r.current(),before:a,after:"~"}),a+=r.move("~~"),s(),a}function IUe(){return"~"}function DUe(e){return e.length}function PUe(e,t){const n=t||{},i=(n.align||[]).concat(),r=n.stringLength||DUe,s=[],a=[],o=[],c=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++yc[y])&&(c[y]=x)}g.push(v)}a[d]=g,o[d]=O}let f=-1;if(typeof i=="object"&&"length"in i)for(;++fc[f]&&(c[f]=v),p[f]=v),h[f]=x}a.splice(1,0,h),o.splice(1,0,p),d=-1;const b=[];for(;++d "),s.shift(2);const a=n.indentLines(n.containerFlow(e,s.current()),$Ue);return r(),a}function $Ue(e,t,n){return">"+(n?"":" ")+e}function QUe(e,t){return gV(e,t.inConstruct,!0)&&!gV(e,t.notInConstruct,!1)}function gV(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let i=-1;for(;++ia&&(a=s):s=1,r=i+t.length,i=n.indexOf(t,r);return a}function FUe(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 UUe(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 zUe(e,t,n,i){const r=UUe(n),s=e.value||"",a=r==="`"?"GraveAccent":"Tilde";if(FUe(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,VUe);return f(),h}const o=n.createTracker(i),c=r.repeat(Math.max(BUe(s,r)+1,3)),u=n.enter("codeFenced");let d=o.move(c);if(e.lang){const f=n.enter(`codeFencedLang${a}`);d+=o.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...o.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${a}`);d+=o.move(" "),d+=o.move(n.safe(e.meta,{before:d,after:` `,encode:["`"],...o.current()})),f()}return d+=o.move(` `),s&&(d+=o.move(s+` -`)),d+=o.move(c),u(),d}function _Ue(e,t,n){return(n?"":" ")+e}function L4(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 AUe(e,t,n,i){const r=L4(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("definition");let o=n.enter("label");const c=n.createTracker(i);let u=c.move("[");return u+=c.move(n.safe(n.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),o(),!e.url||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(o=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":` -`,...c.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=c.move(" "+r),u+=c.move(n.safe(e.title,{before:u,after:r,...c.current()})),u+=c.move(r),o()),a(),u}function CUe(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 w1(e){return"&#x"+e.toString(16).toUpperCase()+";"}function UT(e,t,n){const i=ub(e),r=ub(t);return i===void 0?r===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}ule.peek=NUe;function ule(e,t,n,i){const r=CUe(n),s=n.enter("emphasis"),a=n.createTracker(i),o=a.move(r);let c=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=c.charCodeAt(0),d=UT(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(c=w1(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=UT(i.after.charCodeAt(0),f,r);h.inside&&(c=c.slice(0,-1)+w1(f));const p=a.move(r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+c+p}function NUe(e,t,n){return n.options.emphasis||"*"}function jUe(e,t){let n=!1;return Lv(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return n=!0,bM}),!!((!e.depth||e.depth<3)&&C4(e)&&(t.options.setext||n))}function RUe(e,t,n,i){const r=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(i);if(jUe(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...s.current(),before:` +`)),d+=o.move(c),u(),d}function VUe(e,t,n){return(n?"":" ")+e}function H4(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 qUe(e,t,n,i){const r=H4(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("definition");let o=n.enter("label");const c=n.createTracker(i);let u=c.move("[");return u+=c.move(n.safe(n.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),o(),!e.url||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(o=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":` +`,...c.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=c.move(" "+r),u+=c.move(n.safe(e.title,{before:u,after:r,...c.current()})),u+=c.move(r),o()),a(),u}function XUe(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 N1(e){return"&#x"+e.toString(16).toUpperCase()+";"}function GT(e,t,n){const i=Ob(e),r=Ob(t);return i===void 0?r===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Ale.peek=HUe;function Ale(e,t,n,i){const r=XUe(n),s=n.enter("emphasis"),a=n.createTracker(i),o=a.move(r);let c=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=c.charCodeAt(0),d=GT(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(c=N1(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=GT(i.after.charCodeAt(0),f,r);h.inside&&(c=c.slice(0,-1)+N1(f));const p=a.move(r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+c+p}function HUe(e,t,n){return n.options.emphasis||"*"}function GUe(e,t){let n=!1;return qv(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return n=!0,TM}),!!((!e.depth||e.depth<3)&&Q4(e)&&(t.options.setext||n))}function YUe(e,t,n,i){const r=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(i);if(GUe(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...s.current(),before:` `,after:` `});return f(),d(),h+` `+(r===1?"=":"-").repeat(h.length-(Math.max(h.lastIndexOf("\r"),h.lastIndexOf(` `))+1))}const a="#".repeat(r),o=n.enter("headingAtx"),c=n.enter("phrasing");s.move(a+" ");let u=n.containerPhrasing(e,{before:"# ",after:` -`,...s.current()});return/^[\t ]/.test(u)&&(u=w1(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),c(),o(),u}dle.peek=DUe;function dle(e){return e.value||""}function DUe(){return"<"}fle.peek=IUe;function fle(e,t,n,i){const r=L4(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("image");let o=n.enter("label");const c=n.createTracker(i);let u=c.move("![");return u+=c.move(n.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),o(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(o=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=c.move(" "+r),u+=c.move(n.safe(e.title,{before:u,after:r,...c.current()})),u+=c.move(r),o()),u+=c.move(")"),a(),u}function IUe(){return"!"}hle.peek=PUe;function hle(e,t,n,i){const r=e.referenceType,s=n.enter("imageReference");let a=n.enter("label");const o=n.createTracker(i);let c=o.move("![");const u=n.safe(e.alt,{before:c,after:"]",...o.current()});c+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?c+=o.move(f+"]"):r==="shortcut"?c=c.slice(0,-1):c+=o.move("]"),c}function PUe(){return"!"}ple.peek=MUe;function ple(e,t,n){let i=e.value||"",r="`",s=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(i);)r+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++s\u007F]/.test(e.url))}gle.peek=LUe;function gle(e,t,n,i){const r=L4(n),s=r==='"'?"Quote":"Apostrophe",a=n.createTracker(i);let o,c;if(mle(e,n)){const d=n.stack;n.stack=[],o=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(e,{before:f,after:">",...a.current()})),f+=a.move(">"),o(),n.stack=d,f}o=n.enter("link"),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${s}`),u+=a.move(" "+r),u+=a.move(n.safe(e.title,{before:u,after:r,...a.current()})),u+=a.move(r),c()),u+=a.move(")"),o(),u}function LUe(e,t,n){return mle(e,n)?"<":"["}ble.peek=$Ue;function ble(e,t,n,i){const r=e.referenceType,s=n.enter("linkReference");let a=n.enter("label");const o=n.createTracker(i);let c=o.move("[");const u=n.containerPhrasing(e,{before:c,after:"]",...o.current()});c+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?c+=o.move(f+"]"):r==="shortcut"?c=c.slice(0,-1):c+=o.move("]"),c}function $Ue(){return"["}function $4(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 QUe(e){const t=$4(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 BUe(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 Ole(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 FUe(e,t,n,i){const r=n.enter("list"),s=n.bulletCurrent;let a=e.ordered?BUe(n):$4(n);const o=e.ordered?a==="."?")":".":QUe(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),Ole(n)===a&&d){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let a=s.length+1;(r==="tab"||r==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const o=n.createTracker(i);o.move(s+" ".repeat(a-s.length)),o.shift(a);const c=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,o.current()),d);return c(),u;function d(f,h,p){return h?(p?"":" ".repeat(a))+f:(p?s:s+" ".repeat(a-s.length))+f}}function VUe(e,t,n,i){const r=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(e,i);return s(),r(),a}const qUe=Mv(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function XUe(e,t,n,i){return(e.children.some(function(a){return qUe(a)})?n.containerPhrasing:n.containerFlow).call(n,e,i)}function HUe(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}yle.peek=YUe;function yle(e,t,n,i){const r=HUe(n),s=n.enter("strong"),a=n.createTracker(i),o=a.move(r+r);let c=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=c.charCodeAt(0),d=UT(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(c=w1(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=UT(i.after.charCodeAt(0),f,r);h.inside&&(c=c.slice(0,-1)+w1(f));const p=a.move(r+r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+c+p}function YUe(e,t,n){return n.options.strong||"*"}function GUe(e,t,n,i){return n.safe(e.value,i)}function WUe(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 ZUe(e,t,n){const i=(Ole(n)+(n.options.ruleSpaces?" ":"")).repeat(WUe(n));return n.options.ruleSpaces?i.slice(0,-1):i}const xle={blockquote:xUe,break:lV,code:TUe,definition:AUe,emphasis:ule,hardBreak:lV,heading:RUe,html:dle,image:fle,imageReference:hle,inlineCode:ple,link:gle,linkReference:ble,list:FUe,listItem:zUe,paragraph:VUe,root:XUe,strong:yle,text:GUe,thematicBreak:ZUe};function KUe(){return{enter:{table:JUe,tableData:cV,tableHeader:cV,tableRow:tze},exit:{codeText:nze,table:eze,tableData:Fj,tableHeader:Fj,tableRow:Fj}}}function JUe(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 eze(e){this.exit(e),this.data.inTable=void 0}function tze(e){this.enter({type:"tableRow",children:[]},e)}function Fj(e){this.exit(e)}function cV(e){this.enter({type:"tableCell",children:[]},e)}function nze(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,ize));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function ize(e,t){return t==="|"?t:e}function rze(e){const t=e||{},n=t.tableCellPadding,i=t.tablePipeAlign,r=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,...s.current()});return/^[\t ]/.test(u)&&(u=N1(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),c(),o(),u}Cle.peek=WUe;function Cle(e){return e.value||""}function WUe(){return"<"}Nle.peek=ZUe;function Nle(e,t,n,i){const r=H4(n),s=r==='"'?"Quote":"Apostrophe",a=n.enter("image");let o=n.enter("label");const c=n.createTracker(i);let u=c.move("![");return u+=c.move(n.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),o(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(o=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),o(),e.title&&(o=n.enter(`title${s}`),u+=c.move(" "+r),u+=c.move(n.safe(e.title,{before:u,after:r,...c.current()})),u+=c.move(r),o()),u+=c.move(")"),a(),u}function ZUe(){return"!"}jle.peek=KUe;function jle(e,t,n,i){const r=e.referenceType,s=n.enter("imageReference");let a=n.enter("label");const o=n.createTracker(i);let c=o.move("![");const u=n.safe(e.alt,{before:c,after:"]",...o.current()});c+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?c+=o.move(f+"]"):r==="shortcut"?c=c.slice(0,-1):c+=o.move("]"),c}function KUe(){return"!"}Rle.peek=JUe;function Rle(e,t,n){let i=e.value||"",r="`",s=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(i);)r+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++s\u007F]/.test(e.url))}Dle.peek=eze;function Dle(e,t,n,i){const r=H4(n),s=r==='"'?"Quote":"Apostrophe",a=n.createTracker(i);let o,c;if(Ile(e,n)){const d=n.stack;n.stack=[],o=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(e,{before:f,after:">",...a.current()})),f+=a.move(">"),o(),n.stack=d,f}o=n.enter("link"),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${s}`),u+=a.move(" "+r),u+=a.move(n.safe(e.title,{before:u,after:r,...a.current()})),u+=a.move(r),c()),u+=a.move(")"),o(),u}function eze(e,t,n){return Ile(e,n)?"<":"["}Ple.peek=tze;function Ple(e,t,n,i){const r=e.referenceType,s=n.enter("linkReference");let a=n.enter("label");const o=n.createTracker(i);let c=o.move("[");const u=n.containerPhrasing(e,{before:c,after:"]",...o.current()});c+=o.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...o.current()});return a(),n.stack=d,s(),r==="full"||!u||u!==f?c+=o.move(f+"]"):r==="shortcut"?c=c.slice(0,-1):c+=o.move("]"),c}function tze(){return"["}function G4(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 nze(e){const t=G4(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 ize(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 Mle(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 rze(e,t,n,i){const r=n.enter("list"),s=n.bulletCurrent;let a=e.ordered?ize(n):G4(n);const o=e.ordered?a==="."?")":".":nze(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),Mle(n)===a&&d){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let a=s.length+1;(r==="tab"||r==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const o=n.createTracker(i);o.move(s+" ".repeat(a-s.length)),o.shift(a);const c=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,o.current()),d);return c(),u;function d(f,h,p){return h?(p?"":" ".repeat(a))+f:(p?s:s+" ".repeat(a-s.length))+f}}function oze(e,t,n,i){const r=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(e,i);return s(),r(),a}const lze=Vv(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function cze(e,t,n,i){return(e.children.some(function(a){return lze(a)})?n.containerPhrasing:n.containerFlow).call(n,e,i)}function uze(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Lle.peek=dze;function Lle(e,t,n,i){const r=uze(n),s=n.enter("strong"),a=n.createTracker(i),o=a.move(r+r);let c=a.move(n.containerPhrasing(e,{after:r,before:o,...a.current()}));const u=c.charCodeAt(0),d=GT(i.before.charCodeAt(i.before.length-1),u,r);d.inside&&(c=N1(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=GT(i.after.charCodeAt(0),f,r);h.inside&&(c=c.slice(0,-1)+N1(f));const p=a.move(r+r);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},o+c+p}function dze(e,t,n){return n.options.strong||"*"}function fze(e,t,n,i){return n.safe(e.value,i)}function hze(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 pze(e,t,n){const i=(Mle(n)+(n.options.ruleSpaces?" ":"")).repeat(hze(n));return n.options.ruleSpaces?i.slice(0,-1):i}const $le={blockquote:LUe,break:bV,code:zUe,definition:qUe,emphasis:Ale,hardBreak:bV,heading:YUe,html:Cle,image:Nle,imageReference:jle,inlineCode:Rle,link:Dle,linkReference:Ple,list:rze,listItem:aze,paragraph:oze,root:cze,strong:Lle,text:fze,thematicBreak:pze};function mze(){return{enter:{table:gze,tableData:OV,tableHeader:OV,tableRow:Oze},exit:{codeText:yze,table:bze,tableData:Wj,tableHeader:Wj,tableRow:Wj}}}function gze(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 bze(e){this.exit(e),this.data.inTable=void 0}function Oze(e){this.enter({type:"tableRow",children:[]},e)}function Wj(e){this.exit(e)}function OV(e){this.enter({type:"tableCell",children:[]},e)}function yze(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,xze));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function xze(e,t){return t==="|"?t:e}function vze(e){const t=e||{},n=t.tableCellPadding,i=t.tablePipeAlign,r=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:a,tableCell:c,tableRow:o}};function a(p,b,g,O){return u(d(p,g,O),p.align)}function o(p,b,g,O){const y=f(p,g,O),v=u([y]);return v.slice(0,v.indexOf(` -`))}function c(p,b,g,O){const y=g.enter("tableCell"),v=g.enter("phrasing"),x=g.containerPhrasing(p,{...O,before:s,after:s});return v(),y(),x}function u(p,b){return OUe(p,{align:b,alignDelimiters:i,padding:n,stringLength:r})}function d(p,b,g){const O=p.children;let y=-1;const v=[],x=b.enter("table");for(;++y0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const wze={tokenize:Nze,partial:!0};function Sze(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:_ze,continuation:{tokenize:Aze},exit:Cze}},text:{91:{name:"gfmFootnoteCall",tokenize:Tze},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Eze,resolveTo:kze}}}}function Eze(e,t,n){const i=this;let r=i.events.length;const s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a;for(;r--;){const c=i.events[r][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 o;function o(c){if(!a||!a._balanced)return n(c);const u=uc(i.sliceSerialize({start:a.end,end:i.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function kze(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function Tze(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s=0,a;return o;function o(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),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(s>999||f===93&&!a||f===null||f===91||Ui(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return r.includes(uc(i.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return Ui(f)||(a=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function _ze(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s,a=0,o;return c;function c(b){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(b){return b===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(b)}function d(b){if(a>999||b===93&&!o||b===null||b===91||Ui(b))return n(b);if(b===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=uc(i.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return Ui(b)||(o=!0),a++,e.consume(b),b===92?f:d}function f(b){return b===91||b===92||b===93?(e.consume(b),a++,d):d(b)}function h(b){return b===58?(e.enter("definitionMarker"),e.consume(b),e.exit("definitionMarker"),r.includes(s)||r.push(s),ei(e,p,"gfmFootnoteDefinitionWhitespace")):n(b)}function p(b){return t(b)}}function Aze(e,t,n){return e.check(Pv,t,e.attempt(wze,t,n))}function Cze(e){e.exit("gfmFootnoteDefinition")}function Nze(e,t,n){const i=this;return ei(e,r,"gfmFootnoteDefinitionIndent",5);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):n(s)}}function jze(e){let n=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:s,resolveAll:r};return n==null&&(n=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function r(a,o){let c=-1;for(;++c1?c(b):(a.consume(b),f++,p);if(f<2&&!n)return c(b);const O=a.exit("strikethroughSequenceTemporary"),y=ub(b);return O._open=!y||y===2&&!!g,O._close=!g||g===2&&!!y,o(b)}}}class Rze{constructor(){this.map=[]}add(t,n,i){Dze(this,t,n,i)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const i=[];for(;n>0;)n-=1,i.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];i.push(t.slice()),t.length=0;let r=i.pop();for(;r;){for(const s of r)t.push(s);r=i.pop()}this.map.length=0}}function Dze(e,t,n,i){let r=0;if(!(n===0&&i.length===0)){for(;r-1;){const I=i.events[R][1].type;if(I==="lineEnding"||I==="linePrefix")R--;else break}const P=R>-1?i.events[R][1].type:null,B=P==="tableHead"||P==="tableRow"?S:c;return B===S&&i.parser.lazy[i.now().line]?n(A):B(A)}function c(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(a=!0,s+=1),d(A)}function d(A){return A===null?n(A):Ht(A)?s>1?(s=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),p):n(A):Mn(A)?ei(e,d,"whitespace")(A):(s+=1,a&&(a=!1,r+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(A)))}function f(A){return A===null||A===124||Ui(A)?(e.exit("data"),d(A)):(e.consume(A),A===92?h:f)}function h(A){return A===92||A===124?(e.consume(A),f):f(A)}function p(A){return i.interrupt=!1,i.parser.lazy[i.now().line]?n(A):(e.enter("tableDelimiterRow"),a=!1,Mn(A)?ei(e,b,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):b(A))}function b(A){return A===45||A===58?O(A):A===124?(a=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),g):E(A)}function g(A){return Mn(A)?ei(e,O,"whitespace")(A):O(A)}function O(A){return A===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),y):A===45?(s+=1,y(A)):A===null||Ht(A)?w(A):E(A)}function y(A){return A===45?(e.enter("tableDelimiterFiller"),v(A)):E(A)}function v(A){return A===45?(e.consume(A),v):A===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(A))}function x(A){return Mn(A)?ei(e,w,"whitespace")(A):w(A)}function w(A){return A===124?b(A):A===null||Ht(A)?!a||r!==s?E(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):E(A)}function E(A){return n(A)}function S(A){return e.enter("tableRow"),k(A)}function k(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),k):A===null||Ht(A)?(e.exit("tableRow"),t(A)):Mn(A)?ei(e,k,"whitespace")(A):(e.enter("data"),T(A))}function T(A){return A===null||A===124||Ui(A)?(e.exit("data"),k(A)):(e.consume(A),A===92?C:T)}function C(A){return A===92||A===124?(e.consume(A),T):T(A)}}function Lze(e,t){let n=-1,i=!0,r=0,s=[0,0,0,0],a=[0,0,0,0],o=!1,c=0,u,d,f;const h=new Rze;for(;++nn[2]+1){const b=n[2]+1,g=n[3]-n[2]-1;e.add(b,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return r!==void 0&&(s.end=Object.assign({},kg(t.events,r)),e.add(r,0,[["exit",s,t]]),s=void 0),s}function dV(e,t,n,i,r){const s=[],a=kg(t.events,n);r&&(r.end=Object.assign({},a),s.push(["exit",r,t])),i.end=Object.assign({},a),s.push(["exit",i,t]),e.add(n+1,0,s)}function kg(e,t){const n=e[t],i=n[0]==="enter"?"start":"end";return n[1][i]}const $ze={name:"tasklistCheck",tokenize:Bze};function Qze(){return{text:{91:$ze}}}function Bze(e,t,n){const i=this;return r;function r(c){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),s)}function s(c){return Ui(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"),o):n(c)}function o(c){return Ht(c)?t(c):Mn(c)?e.check({tokenize:Fze},t,n)(c):n(c)}}function Fze(e,t,n){return ei(e,i,"whitespace");function i(r){return r===null?n(r):t(r)}}function Uze(e){return Loe([hze(),Sze(),jze(e),Pze(),Qze()])}const zze={};function Vze(e){const t=this,n=e||zze,i=t.data(),r=i.micromarkExtensions||(i.micromarkExtensions=[]),s=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),a=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);r.push(Uze(n)),s.push(cze()),a.push(uze(n))}const fV=function(e,t,n){const i=Mv(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 Nle(e,t,n){return e.type==="element"?Kze(e,t,n):e.type==="text"?n.whitespace==="normal"?jle(e,n):Jze(e):[]}function Kze(e,t,n){const i=Rle(e,n),r=e.children||[];let s=-1,a=[];if(Wze(e))return a;let o,c;for(wM(e)||gV(e)&&fV(t,e,gV)?c=` -`:Gze(e)?(o=2,c=2):Cle(e)&&(o=1,c=1);++s]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",b=["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"],O=["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:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:O},E={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[E,f,o,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},T={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:w,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function aVe(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=sVe(e),i=n.keywords;return i.type=[...i.type,...t.type],i.literal=[...i.literal,...t.literal],i.built_in=[...i.built_in,...t.built_in],i._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function Dle(e){const t=e.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(o);const 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"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),b={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"],O=["true","false"],y={match:/(\/[a-z._-]+)+/},v=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],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"],E=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:O,built_in:[...v,...x,"set","shopt",...w,...E]},contains:[p,e.SHEBANG(),b,f,s,a,y,o,c,u,d,n]}}function oVe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",O={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,o,n,e.C_BLOCK_COMMENT_MODE,d,u],v={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:O,contains:y.concat([{begin:/\(/,end:/\)/,keywords:O,contains:y.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:O,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:O,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:O,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:O,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:O,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:O}}}function lVe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="(?!struct)("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",b=["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"],O=["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:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:O},E={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[E,f,o,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},T={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:w,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function cVe(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:t,literal:i},o=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),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},p=e.inherit(h,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},O=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,b,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],p.contains=[O,b,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const y={variants:[u,g,b,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},v={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},x=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"},o,v,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,v,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+x+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,v],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 uVe=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_-]*/}}),dVe=["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"],fVe=["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"],hVe=[...dVe,...fVe],pVe=["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(),mVe=["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(),gVe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),bVe=["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 OVe(e){const t=e.regex,n=uVe(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+mVe.join("|")+")"},{begin:":(:)?("+gVe.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+bVe.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:pVe.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+hVe.join("|")+")\\b"}]}}function yVe(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 xVe(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"Ple(e,t,n-1))}function wVe(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=n+Ple("(?:<"+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:["(?:"+i+"\\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,bV,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},bV,u]}}const OV="[A-Za-z$_][0-9A-Za-z$_]*",SVe=["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"],EVe=["true","false","null","undefined","NaN","Infinity"],Mle=["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"],Lle=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],$le=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],kVe=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],TVe=[].concat($le,Mle,Lle);function Qle(e){const t=e.regex,n=(F,{after:Q})=>{const M="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(F,Q)=>{const M=F[0].length+F.index,G=F.input[M];if(G==="<"||G===","){Q.ignoreMatch();return}G===">"&&(n(F,{after:M})||Q.ignoreMatch());let H;const U=F.input.substring(M);if(H=U.match(/^\s*=/)){Q.ignoreMatch();return}if((H=U.match(/^\s+extends\s+/))&&H.index===0){Q.ignoreMatch();return}}},o={$pattern:OV,keyword:SVe,literal:EVe,built_in:TVe,"variable.language":kVe},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:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},b={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"}},O={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},v={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const w=[].concat(v,h.contains),E=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},T={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:{_:[...Mle,...Lle]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},R={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function P(F){return t.concat("(?!",F.join("|"),")")}const B={match:t.concat(/\b/,P([...$le,"super","import"].map(F=>`${F}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},j="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",D={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,v,{match:/\$\d+/},f,T,{scope:"attr",match:i+t.lookahead(":"),relevance:0},D,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:j,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},B,R,k,$,{match:/\$[(.]/}]}}function Ble(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var _g="[0-9](_*[0-9])*",NS=`\\.(${_g})`,jS="[0-9a-fA-F](_*[0-9a-fA-F])*",_Ve={className:"number",variants:[{begin:`(\\b(${_g})((${NS})|\\.)?|(${NS}))[eE][+-]?(${_g})[fFdD]?\\b`},{begin:`\\b(${_g})((${NS})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${NS})[fFdD]?\\b`},{begin:`\\b(${_g})[fFdD]\\b`},{begin:`\\b0[xX]((${jS})\\.?|(${jS})?\\.(${jS}))[pP][+-]?(${_g})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${jS})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function AVe(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);const o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=_Ve,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,i,o,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,o,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},o,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}const CVe=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_-]*/}}),NVe=["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"],jVe=["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"],RVe=[...NVe,...jVe],DVe=["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(),Fle=["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(),Ule=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),IVe=["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(),PVe=Fle.concat(Ule).sort().reverse();function MVe(e){const t=CVe(e),n=PVe,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],c=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,w,E){return{className:x,begin:w,relevance:E}},d={$pattern:/[a-z-]+/,keyword:i,attribute:DVe.join(" ")},f={begin:"\\(",end:"\\)",contains:o,keywords:d,relevance:0};o.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","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=o.concat({begin:/\{/,end:/\}/,contains:a}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+IVe.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:o,relevance:0}},O={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:h}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+RVe.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Fle.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Ule.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},v={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,O,v,b,y,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function LVe(e){const t="\\[=*\\[",n="\\]=*\\]",i={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[i],relevance:5}])}}function zle(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,i,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function $Ve(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function QVe(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},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:[o]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,O,y="\\1")=>{const v=y==="\\1"?y:t.concat(y,O);return t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,v,/(?:\\.|[^\\\/])*?/,y,i)},p=(g,O,y)=>t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,y,i),b=[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:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=b,a.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}function BVe(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,i=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+i},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},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":(I,$)=>{$.data._beginMatch=I[1]||I[2]},"on:end":(I,$)=>{$.data._beginMatch!==I[1]&&$.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ -]`,b={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},O=["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"],v=["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:(I=>{const $=[];return I.forEach(j=>{$.push(j),j.toLowerCase()===j?$.push(j.toUpperCase()):$.push(j.toLowerCase())}),$})(O),built_in:v},E=I=>I.map($=>$.replace(/\|\d+$/,"")),S={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",E(v).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(i,"\\b(?!\\()"),T={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(i,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:w,contains:[C,a,T,e.C_BLOCK_COMMENT_MODE,b,g,S]},R={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",E(y).join("\\b|"),"|",E(v).join("\\b|"),"\\b)"),i,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(R);const P=[C,T,e.C_BLOCK_COMMENT_MODE,b,g,S],B={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:O,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:O,keyword:["new","array"]},contains:["self",...P]},...P,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:w,contains:[B,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},a,R,T,{match:[/const/,/\s/,i],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",B,a,T,e.C_BLOCK_COMMENT_MODE,b,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]},b,g]}}function FVe(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 UVe(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function qle(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,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])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,b=`\\b|${i.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${b})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${h})[jJ](?=${b})`}]},O={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,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:o,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,O,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 zVe(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function VVe(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function qVe(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:a},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},S=[f,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},b,{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 A=[{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(A).concat(u).concat(S)}}function XVe(e){const t=e.regex,n=/(r#)?/,i=t.concat(n,e.UNDERSCORE_IDENT_RE),r=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],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:o,literal:c,built_in:u},illegal:""},s]}}const HVe=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_-]*/}}),YVe=["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"],GVe=["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"],WVe=[...YVe,...GVe],ZVe=["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(),KVe=["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(),JVe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),eqe=["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 tqe(e){const t=HVe(e),n=JVe,i=KVe,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+WVe.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+eqe.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,o,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:ZVe.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function nqe(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function iqe(e){const t=e.regex,n=e.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],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"],p=d,b=[...u,...c].filter(E=>!d.includes(E)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},O={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(E){return t.concat(/\b/,t.either(...E.map(S=>S.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:v(h),relevance:0};function w(E,{exceptions:S,when:k}={}){const T=k;return S=S||[],E.map(C=>C.match(/\|\d+$/)||S.includes(C)?C:T(C)?`${C}|0`:C)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:w(b,{when:E=>E.length<3}),literal:s,type:o,built_in:f},contains:[{scope:"type",match:v(a)},x,y,g,i,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,O]}}function Xle(e){return e?typeof e=="string"?e:e.source:null}function ZO(e){return Ni("(?=",e,")")}function Ni(...e){return e.map(n=>Xle(n)).join("")}function rqe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ka(...e){return"("+(rqe(e).capture?"":"?:")+e.map(i=>Xle(i)).join("|")+")"}const F4=e=>Ni(/\b/,e,/\w$/.test(e)?/\b/:/\B/),sqe=["Protocol","Type"].map(F4),yV=["init","self"].map(F4),aqe=["Any","Self"],Uj=["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"],xV=["false","nil","true"],oqe=["assignment","associativity","higherThan","left","lowerThan","none","right"],lqe=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],vV=["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"],Hle=ka(/[/=\-+!*%<>&|^~?]/,/[\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]/),Yle=ka(Hle,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),zj=Ni(Hle,Yle,"*"),Gle=ka(/[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]/),zT=ka(Gle,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Qc=Ni(Gle,zT,"*"),RS=Ni(/[A-Z]/,zT,"*"),cqe=["attached","autoclosure",Ni(/convention\(/,ka("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Ni(/objc\(/,Qc,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],uqe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function dqe(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[e.C_LINE_COMMENT_MODE,n],r={match:[/\./,ka(...sqe,...yV)],className:{2:"keyword"}},s={match:Ni(/\./,ka(...Uj)),relevance:0},a=Uj.filter(he=>typeof he=="string").concat(["_|0"]),o=Uj.filter(he=>typeof he!="string").concat(aqe).map(F4),c={variants:[{className:"keyword",match:ka(...o,...yV)}]},u={$pattern:ka(/\b\w+/,/#\w+/),keyword:a.concat(lqe),literal:xV},d=[r,s,c],f={match:Ni(/\./,ka(...vV)),relevance:0},h={className:"built_in",match:Ni(/\b/,ka(...vV),/(?=\()/)},p=[f,h],b={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:zj},{match:`\\.(\\.|${Yle})+`}]},O=[b,g],y="([0-9]_*)+",v="([0-9a-fA-F]_*)+",x={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${v})(\\.(${v}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},w=(he="")=>({className:"subst",variants:[{match:Ni(/\\/,he,/[0\\tnr"']/)},{match:Ni(/\\/,he,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(he="")=>({className:"subst",match:Ni(/\\/,he,/[\t ]*(?:[\r\n]|\r\n)/)}),S=(he="")=>({className:"subst",label:"interpol",begin:Ni(/\\/,he,/\(/),end:/\)/}),k=(he="")=>({begin:Ni(he,/"""/),end:Ni(/"""/,he),contains:[w(he),E(he),S(he)]}),T=(he="")=>({begin:Ni(he,/"/),end:Ni(/"/,he),contains:[w(he),S(he)]}),C={className:"string",variants:[k(),k("#"),k("##"),k("###"),T(),T("#"),T("##"),T("###")]},A=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],R={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:A},P=he=>{const Ee=Ni(he,/\//),Oe=Ni(/\//,he);return{begin:Ee,end:Oe,contains:[...A,{scope:"comment",begin:`#(?!.*${Oe})`,end:/$/}]}},B={scope:"regexp",variants:[P("###"),P("##"),P("#"),R]},I={match:Ni(/`/,Qc,/`/)},$={className:"variable",match:/\$\d+/},j={className:"variable",match:`\\$${zT}+`},D=[I,$,j],F={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:uqe,contains:[...O,x,C]}]}},Q={scope:"keyword",match:Ni(/@/,ka(...cqe),ZO(ka(/\(/,/\s+/)))},M={scope:"meta",match:Ni(/@/,Qc)},G=[F,Q,M],H={match:ZO(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Ni(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,zT,"+")},{className:"type",match:RS,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Ni(/\s+&\s+/,ZO(RS)),relevance:0}]},U={begin://,keywords:u,contains:[...i,...d,...G,b,H]};H.contains.push(U);const q={match:Ni(Qc,/\s*:/),keywords:"_|0",relevance:0},ie={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",q,...i,B,...d,...p,...O,x,C,...D,...G,H]},fe={begin://,keywords:"repeat each",contains:[...i,H]},me={begin:ka(ZO(Ni(Qc,/\s*:/)),ZO(Ni(Qc,/\s+/,Qc,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Qc}]},ce={begin:/\(/,end:/\)/,keywords:u,contains:[me,...i,...d,...O,x,C,...G,H,ie],endsParent:!0,illegal:/["']/},K={match:[/(func|macro)/,/\s+/,ka(I.match,Qc,zj)],className:{1:"keyword",3:"title.function"},contains:[fe,ce,t],illegal:[/\[/,/%/]},ee={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[fe,ce,t],illegal:/\[|%/},ye={match:[/operator/,/\s+/,zj],className:{1:"keyword",3:"title"}},ve={begin:[/precedencegroup/,/\s+/,RS],className:{1:"keyword",3:"title"},contains:[H],keywords:[...oqe,...xV],end:/}/},Re={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Pe={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},De={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Qc,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[fe,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:RS},...d],relevance:0}]};for(const he of C.variants){const Ee=he.contains.find(Le=>Le.label==="interpol");Ee.keywords=u;const Oe=[...d,...p,...O,x,C,...D];Ee.contains=[...Oe,{begin:/\(/,end:/\)/,contains:["self",...Oe]}]}return{name:"Swift",keywords:u,contains:[...i,K,ee,Re,Pe,De,ye,ve,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},B,...d,...p,...O,x,C,...D,...G,H,ie]}}const VT="[A-Za-z$_][0-9A-Za-z$_]*",Wle=["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"],Zle=["true","false","null","undefined","NaN","Infinity"],Kle=["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"],Jle=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ece=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],tce=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],nce=[].concat(ece,Kle,Jle);function fqe(e){const t=e.regex,n=(F,{after:Q})=>{const M="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(F,Q)=>{const M=F[0].length+F.index,G=F.input[M];if(G==="<"||G===","){Q.ignoreMatch();return}G===">"&&(n(F,{after:M})||Q.ignoreMatch());let H;const U=F.input.substring(M);if(H=U.match(/^\s*=/)){Q.ignoreMatch();return}if((H=U.match(/^\s+extends\s+/))&&H.index===0){Q.ignoreMatch();return}}},o={$pattern:VT,keyword:Wle,literal:Zle,built_in:nce,"variable.language":tce},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:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},b={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"}},O={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},v={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const w=[].concat(v,h.contains),E=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},T={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:{_:[...Kle,...Jle]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},R={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function P(F){return t.concat("(?!",F.join("|"),")")}const B={match:t.concat(/\b/,P([...ece,"super","import"].map(F=>`${F}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},j="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",D={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,v,{match:/\$\d+/},f,T,{scope:"attr",match:i+t.lookahead(":"),relevance:0},D,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:j,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},B,R,k,$,{match:/\$[(.]/}]}}function ice(e){const t=e.regex,n=fqe(e),i=VT,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:VT,keyword:Wle.concat(c),literal:Zle,built_in:nce.concat(r),"variable.language":tce},d={className:"meta",begin:"@"+i},f=(g,O,y)=>{const v=g.contains.findIndex(x=>x.label===O);if(v===-1)throw new Error("can not find mode to replace");g.contains.splice(v,1,y)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(i,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,a,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",o);const b=n.contains.find(g=>g.label==="func.def");return b.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function hqe(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,r),/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(s,r),/ +/,t.either(a,o),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,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 pqe(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},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:i},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,e.QUOTE_STRING_MODE,c,u,o]}}function mqe(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),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:[s,c,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,c,o]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{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 rce(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},b={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},O=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},b,g,s,a],y=[...O];return y.pop(),y.push(o),p.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:O}}const gqe={arduino:aVe,bash:Dle,c:oVe,cpp:lVe,csharp:cVe,css:OVe,diff:yVe,go:xVe,graphql:vVe,ini:Ile,java:wVe,javascript:Qle,json:Ble,kotlin:AVe,less:MVe,lua:LVe,makefile:zle,markdown:Vle,objectivec:$Ve,perl:QVe,php:BVe,"php-template":FVe,plaintext:UVe,python:qle,"python-repl":zVe,r:VVe,ruby:qVe,rust:XVe,scss:tqe,shell:nqe,sql:iqe,swift:dqe,typescript:ice,vbnet:hqe,wasm:pqe,xml:mqe,yaml:rce};function sce(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&sce(n)}),e}let wV=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function ace(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function zf(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const r in i)n[r]=i[r]}),n}const bqe="",SV=e=>!!e.scope,Oqe=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class yqe{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=ace(t)}openNode(t){if(!SV(t))return;const n=Oqe(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){SV(t)&&(this.buffer+=bqe)}value(){return this.buffer}span(t){this.buffer+=``}}const EV=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class U4{constructor(){this.rootNode=EV(),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=EV({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{U4._collapse(n)}))}}class xqe extends U4{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new yqe(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function S1(e){return e?typeof e=="string"?e:e.source:null}function oce(e){return Dm("(?=",e,")")}function vqe(e){return Dm("(?:",e,")*")}function wqe(e){return Dm("(?:",e,")?")}function Dm(...e){return e.map(n=>S1(n)).join("")}function Sqe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function z4(...e){return"("+(Sqe(e).capture?"":"?:")+e.map(i=>S1(i)).join("|")+")"}function lce(e){return new RegExp(e.toString()+"|").exec("").length-1}function Eqe(e,t){const n=e&&e.exec(t);return n&&n.index===0}const kqe=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function V4(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const r=n;let s=S1(i),a="";for(;s.length>0;){const o=kqe.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(t)}const Tqe=/\b\B/,cce="[a-zA-Z]\\w*",q4="[a-zA-Z_]\\w*",uce="\\b\\d+(\\.\\d+)?",dce="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",fce="\\b(0b[01]+)",_qe="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Aqe=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Dm(t,/.*\b/,e.binary,/\b.*/)),zf({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},E1={begin:"\\\\[\\s\\S]",relevance:0},Cqe={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[E1]},Nqe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[E1]},jqe={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/},b2=function(e,t,n={}){const i=zf({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=z4("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Dm(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Rqe=b2("//","$"),Dqe=b2("/\\*","\\*/"),Iqe=b2("#","$"),Pqe={scope:"number",begin:uce,relevance:0},Mqe={scope:"number",begin:dce,relevance:0},Lqe={scope:"number",begin:fce,relevance:0},$qe={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[E1,{begin:/\[/,end:/\]/,relevance:0,contains:[E1]}]},Qqe={scope:"title",begin:cce,relevance:0},Bqe={scope:"title",begin:q4,relevance:0},Fqe={begin:"\\.\\s*"+q4,relevance:0},Uqe=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 DS=Object.freeze({__proto__:null,APOS_STRING_MODE:Cqe,BACKSLASH_ESCAPE:E1,BINARY_NUMBER_MODE:Lqe,BINARY_NUMBER_RE:fce,COMMENT:b2,C_BLOCK_COMMENT_MODE:Dqe,C_LINE_COMMENT_MODE:Rqe,C_NUMBER_MODE:Mqe,C_NUMBER_RE:dce,END_SAME_AS_BEGIN:Uqe,HASH_COMMENT_MODE:Iqe,IDENT_RE:cce,MATCH_NOTHING_RE:Tqe,METHOD_GUARD:Fqe,NUMBER_MODE:Pqe,NUMBER_RE:uce,PHRASAL_WORDS_MODE:jqe,QUOTE_STRING_MODE:Nqe,REGEXP_MODE:$qe,RE_STARTERS_RE:_qe,SHEBANG:Aqe,TITLE_MODE:Qqe,UNDERSCORE_IDENT_RE:q4,UNDERSCORE_TITLE_MODE:Bqe});function zqe(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Vqe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function qqe(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=zqe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Xqe(e,t){Array.isArray(e.illegal)&&(e.illegal=z4(...e.illegal))}function Hqe(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 Yqe(e,t){e.relevance===void 0&&(e.relevance=1)}const Gqe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Dm(n.beforeMatch,oce(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Wqe=["of","and","for","in","not","or","if","then","parent","list","value"],Zqe="keyword";function hce(e,t,n=Zqe){const i=Object.create(null);return typeof e=="string"?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach(function(s){Object.assign(i,hce(e[s],t,s))}),i;function r(s,a){t&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){const c=o.split("|");i[c[0]]=[s,Kqe(c[0],c[1])]})}}function Kqe(e,t){return t?Number(t):Jqe(e)?0:1}function Jqe(e){return Wqe.includes(e.toLowerCase())}const kV={},qp=e=>{console.error(e)},TV=(e,...t)=>{console.log(`WARN: ${e}`,...t)},lg=(e,t)=>{kV[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),kV[`${e}/${t}`]=!0)},qT=new Error;function pce(e,t,{key:n}){let i=0;const r=e[n],s={},a={};for(let o=1;o<=t.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=lce(t[o-1]);e[n]=a,e[n]._emit=s,e[n]._multi=!0}function eXe(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw qp("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),qT;if(typeof e.beginScope!="object"||e.beginScope===null)throw qp("beginScope must be object"),qT;pce(e,e.begin,{key:"beginScope"}),e.begin=V4(e.begin,{joinWith:""})}}function tXe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw qp("skip, excludeEnd, returnEnd not compatible with endScope: {}"),qT;if(typeof e.endScope!="object"||e.endScope===null)throw qp("endScope must be object"),qT;pce(e,e.end,{key:"endScope"}),e.end=V4(e.end,{joinWith:""})}}function nXe(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function iXe(e){nXe(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),eXe(e),tXe(e)}function rXe(e){function t(a,o){return new RegExp(S1(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=lce(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(c=>c[1]);this.matcherRe=t(V4(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(o);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 i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const c=new n;return this.rules.slice(o).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(o);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(o)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(a){const o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){const c=a;if(a.isCompiled)return c;[Vqe,Hqe,iXe,Gqe].forEach(d=>d(a,o)),e.compilerExtensions.forEach(d=>d(a,o)),a.__beforeBegin=null,[qqe,Xqe,Yqe].forEach(d=>d(a,o)),a.isCompiled=!0;let u=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),u=a.keywords.$pattern,delete a.keywords.$pattern),u=u||/\w+/,a.keywords&&(a.keywords=hce(a.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),o&&(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=S1(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return sXe(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,c)}),a.starts&&s(a.starts,o),c.matcher=r(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=zf(e.classNameAliases||{}),s(e)}function mce(e){return e?e.endsWithParent||mce(e.starts):!1}function sXe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return zf(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:mce(e)?zf(e,{starts:e.starts?zf(e.starts):null}):Object.isFrozen(e)?zf(e):e}var aXe="11.11.1";class oXe extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const Vj=ace,_V=zf,AV=Symbol("nomatch"),lXe=7,gce=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:xqe};function c(j){return o.noHighlightRe.test(j)}function u(j){let D=j.className+" ";D+=j.parentNode?j.parentNode.className:"";const F=o.languageDetectRe.exec(D);if(F){const Q=T(F[1]);return Q||(TV(s.replace("{}",F[1])),TV("Falling back to no-highlight mode for this block.",j)),Q?F[1]:"no-highlight"}return D.split(/\s+/).find(Q=>c(Q)||T(Q))}function d(j,D,F){let Q="",M="";typeof D=="object"?(Q=j,F=D.ignoreIllegals,M=D.language):(lg("10.7.0","highlight(lang, code, ...args) has been deprecated."),lg("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),M=j,Q=D),F===void 0&&(F=!0);const G={code:Q,language:M};I("before:highlight",G);const H=G.result?G.result:f(G.language,G.code,F);return H.code=G.code,I("after:highlight",H),H}function f(j,D,F,Q){const M=Object.create(null);function G(Z,ne){return Z.keywords[ne]}function H(){if(!Oe.keywords){Fe.addText(_e);return}let Z=0;Oe.keywordPatternRe.lastIndex=0;let ne=Oe.keywordPatternRe.exec(_e),ue="";for(;ne;){ue+=_e.substring(Z,ne.index);const be=De.case_insensitive?ne[0].toLowerCase():ne[0],V=G(Oe,be);if(V){const[je,He]=V;if(Fe.addText(ue),ue="",M[be]=(M[be]||0)+1,M[be]<=lXe&&(Ye+=He),je.startsWith("_"))ue+=ne[0];else{const et=De.classNameAliases[je]||je;ie(ne[0],et)}}else ue+=ne[0];Z=Oe.keywordPatternRe.lastIndex,ne=Oe.keywordPatternRe.exec(_e)}ue+=_e.substring(Z),Fe.addText(ue)}function U(){if(_e==="")return;let Z=null;if(typeof Oe.subLanguage=="string"){if(!t[Oe.subLanguage]){Fe.addText(_e);return}Z=f(Oe.subLanguage,_e,!0,Le[Oe.subLanguage]),Le[Oe.subLanguage]=Z._top}else Z=p(_e,Oe.subLanguage.length?Oe.subLanguage:null);Oe.relevance>0&&(Ye+=Z.relevance),Fe.__addSublanguage(Z._emitter,Z.language)}function q(){Oe.subLanguage!=null?U():H(),_e=""}function ie(Z,ne){Z!==""&&(Fe.startScope(ne),Fe.addText(Z),Fe.endScope())}function fe(Z,ne){let ue=1;const be=ne.length-1;for(;ue<=be;){if(!Z._emit[ue]){ue++;continue}const V=De.classNameAliases[Z[ue]]||Z[ue],je=ne[ue];V?ie(je,V):(_e=je,H(),_e=""),ue++}}function me(Z,ne){return Z.scope&&typeof Z.scope=="string"&&Fe.openNode(De.classNameAliases[Z.scope]||Z.scope),Z.beginScope&&(Z.beginScope._wrap?(ie(_e,De.classNameAliases[Z.beginScope._wrap]||Z.beginScope._wrap),_e=""):Z.beginScope._multi&&(fe(Z.beginScope,ne),_e="")),Oe=Object.create(Z,{parent:{value:Oe}}),Oe}function ce(Z,ne,ue){let be=Eqe(Z.endRe,ue);if(be){if(Z["on:end"]){const V=new wV(Z);Z["on:end"](ne,V),V.isMatchIgnored&&(be=!1)}if(be){for(;Z.endsParent&&Z.parent;)Z=Z.parent;return Z}}if(Z.endsWithParent)return ce(Z.parent,ne,ue)}function K(Z){return Oe.matcher.regexIndex===0?(_e+=Z[0],1):(Ge=!0,0)}function ee(Z){const ne=Z[0],ue=Z.rule,be=new wV(ue),V=[ue.__beforeBegin,ue["on:begin"]];for(const je of V)if(je&&(je(Z,be),be.isMatchIgnored))return K(ne);return ue.skip?_e+=ne:(ue.excludeBegin&&(_e+=ne),q(),!ue.returnBegin&&!ue.excludeBegin&&(_e=ne)),me(ue,Z),ue.returnBegin?0:ne.length}function ye(Z){const ne=Z[0],ue=D.substring(Z.index),be=ce(Oe,Z,ue);if(!be)return AV;const V=Oe;Oe.endScope&&Oe.endScope._wrap?(q(),ie(ne,Oe.endScope._wrap)):Oe.endScope&&Oe.endScope._multi?(q(),fe(Oe.endScope,Z)):V.skip?_e+=ne:(V.returnEnd||V.excludeEnd||(_e+=ne),q(),V.excludeEnd&&(_e=ne));do Oe.scope&&Fe.closeNode(),!Oe.skip&&!Oe.subLanguage&&(Ye+=Oe.relevance),Oe=Oe.parent;while(Oe!==be.parent);return be.starts&&me(be.starts,Z),V.returnEnd?0:ne.length}function ve(){const Z=[];for(let ne=Oe;ne!==De;ne=ne.parent)ne.scope&&Z.unshift(ne.scope);Z.forEach(ne=>Fe.openNode(ne))}let Re={};function Pe(Z,ne){const ue=ne&&ne[0];if(_e+=Z,ue==null)return q(),0;if(Re.type==="begin"&&ne.type==="end"&&Re.index===ne.index&&ue===""){if(_e+=D.slice(ne.index,ne.index+1),!r){const be=new Error(`0 width match regex (${j})`);throw be.languageName=j,be.badRule=Re.rule,be}return 1}if(Re=ne,ne.type==="begin")return ee(ne);if(ne.type==="illegal"&&!F){const be=new Error('Illegal lexeme "'+ue+'" for mode "'+(Oe.scope||"")+'"');throw be.mode=Oe,be}else if(ne.type==="end"){const be=ye(ne);if(be!==AV)return be}if(ne.type==="illegal"&&ue==="")return _e+=` -`,1;if(It>1e5&&It>ne.index*3)throw new Error("potential infinite loop, way more iterations than matches");return _e+=ue,ue.length}const De=T(j);if(!De)throw qp(s.replace("{}",j)),new Error('Unknown language: "'+j+'"');const he=rXe(De);let Ee="",Oe=Q||he;const Le={},Fe=new o.__emitter(o);ve();let _e="",Ye=0,dt=0,It=0,Ge=!1;try{if(De.__emitTokens)De.__emitTokens(D,Fe);else{for(Oe.matcher.considerAll();;){It++,Ge?Ge=!1:Oe.matcher.considerAll(),Oe.matcher.lastIndex=dt;const Z=Oe.matcher.exec(D);if(!Z)break;const ne=D.substring(dt,Z.index),ue=Pe(ne,Z);dt=Z.index+ue}Pe(D.substring(dt))}return Fe.finalize(),Ee=Fe.toHTML(),{language:j,value:Ee,relevance:Ye,illegal:!1,_emitter:Fe,_top:Oe}}catch(Z){if(Z.message&&Z.message.includes("Illegal"))return{language:j,value:Vj(D),illegal:!0,relevance:0,_illegalBy:{message:Z.message,index:dt,context:D.slice(dt-100,dt+100),mode:Z.mode,resultSoFar:Ee},_emitter:Fe};if(r)return{language:j,value:Vj(D),illegal:!1,relevance:0,errorRaised:Z,_emitter:Fe,_top:Oe};throw Z}}function h(j){const D={value:Vj(j),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return D._emitter.addText(j),D}function p(j,D){D=D||o.languages||Object.keys(t);const F=h(j),Q=D.filter(T).filter(A).map(q=>f(q,j,!1));Q.unshift(F);const M=Q.sort((q,ie)=>{if(q.relevance!==ie.relevance)return ie.relevance-q.relevance;if(q.language&&ie.language){if(T(q.language).supersetOf===ie.language)return 1;if(T(ie.language).supersetOf===q.language)return-1}return 0}),[G,H]=M,U=G;return U.secondBest=H,U}function b(j,D,F){const Q=D&&n[D]||F;j.classList.add("hljs"),j.classList.add(`language-${Q}`)}function g(j){let D=null;const F=u(j);if(c(F))return;if(I("before:highlightElement",{el:j,language:F}),j.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",j);return}if(j.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(j)),o.throwUnescapedHTML))throw new oXe("One of your code blocks includes unescaped HTML.",j.innerHTML);D=j;const Q=D.textContent,M=F?d(Q,{language:F,ignoreIllegals:!0}):p(Q);j.innerHTML=M.value,j.dataset.highlighted="yes",b(j,F,M.language),j.result={language:M.language,re:M.relevance,relevance:M.relevance},M.secondBest&&(j.secondBest={language:M.secondBest.language,relevance:M.secondBest.relevance}),I("after:highlightElement",{el:j,result:M,text:Q})}function O(j){o=_V(o,j)}const y=()=>{w(),lg("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function v(){w(),lg("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function w(){function j(){w()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",j,!1),x=!0;return}document.querySelectorAll(o.cssSelector).forEach(g)}function E(j,D){let F=null;try{F=D(e)}catch(Q){if(qp("Language definition for '{}' could not be registered.".replace("{}",j)),r)qp(Q);else throw Q;F=a}F.name||(F.name=j),t[j]=F,F.rawDefinition=D.bind(null,e),F.aliases&&C(F.aliases,{languageName:j})}function S(j){delete t[j];for(const D of Object.keys(n))n[D]===j&&delete n[D]}function k(){return Object.keys(t)}function T(j){return j=(j||"").toLowerCase(),t[j]||t[n[j]]}function C(j,{languageName:D}){typeof j=="string"&&(j=[j]),j.forEach(F=>{n[F.toLowerCase()]=D})}function A(j){const D=T(j);return D&&!D.disableAutodetect}function R(j){j["before:highlightBlock"]&&!j["before:highlightElement"]&&(j["before:highlightElement"]=D=>{j["before:highlightBlock"](Object.assign({block:D.el},D))}),j["after:highlightBlock"]&&!j["after:highlightElement"]&&(j["after:highlightElement"]=D=>{j["after:highlightBlock"](Object.assign({block:D.el},D))})}function P(j){R(j),i.push(j)}function B(j){const D=i.indexOf(j);D!==-1&&i.splice(D,1)}function I(j,D){const F=j;i.forEach(function(Q){Q[F]&&Q[F](D)})}function $(j){return lg("10.7.0","highlightBlock will be removed entirely in v12.0"),lg("10.7.0","Please use highlightElement now."),g(j)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:w,highlightElement:g,highlightBlock:$,configure:O,initHighlighting:y,initHighlightingOnLoad:v,registerLanguage:E,unregisterLanguage:S,listLanguages:k,getLanguage:T,registerAliases:C,autoDetection:A,inherit:_V,addPlugin:P,removePlugin:B}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=aXe,e.regex={concat:Dm,lookahead:oce,either:z4,optional:wqe,anyNumberOfTimes:vqe};for(const j in DS)typeof DS[j]=="object"&&sce(DS[j]);return Object.assign(e,DS),e},fb=gce({});fb.newInstance=()=>gce({});var cXe=fb;fb.HighlightJS=fb;fb.default=fb;const uo=_b(cXe),CV={},uXe="hljs-";function dXe(e){const t=uo.newInstance();return e&&s(e),{highlight:n,highlightAuto:i,listLanguages:r,register:s,registerAlias:a,registered:o};function n(c,u,d){const f=d||CV,h=typeof f.prefix=="string"?f.prefix:uXe;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:fXe,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:c});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const b=p._emitter.root,g=b.data;return g.language=p.language,g.relevance=p.relevance,b}function i(c,u){const f=(u||CV).subset||r();let h=-1,p=0,b;for(;++hp&&(p=O.data.relevance,b=O)}return b||{type:"root",children:[],data:{language:void 0,relevance:p}}}function r(){return t.listLanguages()}function s(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 o(c){return!!t.getLanguage(c)}}class fXe{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],i=n.children[n.children.length-1];i&&i.type==="text"?i.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const i=this.stack[this.stack.length-1],r=t.root.children;n?i.children.push({type:"element",tagName:"span",properties:{className:[n]},children:r}):i.children.push(...r)}openNode(t){const n=this,i=t.split(".").map(function(a,o){return o?a+"_".repeat(o):n.options.classPrefix+a}),r=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:i},children:[]};r.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const hXe={};function NV(e){const t=e||hXe,n=t.aliases,i=t.detect||!1,r=t.languages||gqe,s=t.plainText,a=t.prefix,o=t.subset;let c="hljs";const u=dXe(r);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");c=d===-1?a:a.slice(0,d)}return function(d,f){Lv(d,"element",function(h,p,b){if(h.tagName!=="code"||!b||b.type!=="element"||b.tagName!=="pre")return;const g=pXe(h);if(g===!1||!g&&!i||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const O=Zze(h,{whitespace:"pre"});let y;try{y=g?u.highlight(g,O,{prefix:a}):u.highlightAuto(O,{prefix:a,subset:o})}catch(v){const x=v;if(g&&/Unknown language/.test(x.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[b,h],cause:x,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw x}!g&&y.data&&y.data.language&&h.properties.className.push("language-"+y.data.language),y.children.length>0&&(h.children=y.children)})}}function pXe(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let i;for(;++n-1&&s<=t.length){let a=0;for(;;){let o=n[a];if(o===void 0){const c=DV(t,n[a-1]);o=c===-1?t.length+1:c+1,n[a]=o}if(o>s)return{line:a+1,column:s-(a>0?n[a-1]:0)+1,offset:s};a++}}}function r(s){if(s&&typeof s.line=="number"&&typeof s.column=="number"&&!Number.isNaN(s.line)&&!Number.isNaN(s.column)){for(;n.length1?n[s.line-2]:0)+s.column-1;if(a=55296&&e<=57343}function BXe(e){return e>=56320&&e<=57343}function FXe(e,t){return(e-55296)*1024+9216+t}function wce(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function Sce(e){return e>=64976&&e<=65007||QXe.has(e)}var Me;(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"})(Me||(Me={}));const UXe=65536;class zXe{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=UXe,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){const{line:i,col:r,offset:s}=this,a=r+n,o=s+n;return{code:t,startLine:i,endLine:i,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const n=this.html.charCodeAt(this.pos+1);if(BXe(n))return this.pos++,this._addGap(),FXe(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,J.EOF;return this._err(Me.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let i=0;i=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,J.EOF;const i=this.html.charCodeAt(n);return i===J.CARRIAGE_RETURN?J.LINE_FEED:i}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,J.EOF;let t=this.html.charCodeAt(this.pos);return t===J.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,J.LINE_FEED):t===J.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,vce(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===J.LINE_FEED||t===J.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){wce(t)?this._err(Me.controlCharacterInInputStream):Sce(t)&&this._err(Me.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 VXe=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))),qXe=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 XXe(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=qXe.get(e))!==null&&t!==void 0?t:e}var Ps;(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"})(Ps||(Ps={}));const HXe=32;var Vf;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Vf||(Vf={}));function EM(e){return e>=Ps.ZERO&&e<=Ps.NINE}function YXe(e){return e>=Ps.UPPER_A&&e<=Ps.UPPER_F||e>=Ps.LOWER_A&&e<=Ps.LOWER_F}function GXe(e){return e>=Ps.UPPER_A&&e<=Ps.UPPER_Z||e>=Ps.LOWER_A&&e<=Ps.LOWER_Z||EM(e)}function WXe(e){return e===Ps.EQUALS||GXe(e)}var _s;(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"})(_s||(_s={}));var id;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(id||(id={}));class ZXe{constructor(t,n,i){this.decodeTree=t,this.emitCodePoint=n,this.errors=i,this.state=_s.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=id.Strict}startEntity(t){this.decodeMode=t,this.state=_s.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case _s.EntityStart:return t.charCodeAt(n)===Ps.NUM?(this.state=_s.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=_s.NamedEntity,this.stateNamedEntity(t,n));case _s.NumericStart:return this.stateNumericStart(t,n);case _s.NumericDecimal:return this.stateNumericDecimal(t,n);case _s.NumericHex:return this.stateNumericHex(t,n);case _s.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|HXe)===Ps.LOWER_X?(this.state=_s.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=_s.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,i,r){if(n!==i){const s=i-n;this.result=this.result*Math.pow(r,s)+Number.parseInt(t.substr(n,s),r),this.consumed+=s}}stateNumericHex(t,n){const i=n;for(;n>14;for(;n>14,s!==0){if(a===Ps.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==id.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:i}=this,r=(i[n]&Vf.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,r,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:r}=this;return this.emitCodePoint(n===1?r[t]&~Vf.VALUE_LENGTH:r[t+1],i),n===3&&this.emitCodePoint(r[t+2],i),i}end(){var t;switch(this.state){case _s.NamedEntity:return this.result!==0&&(this.decodeMode!==id.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case _s.NumericDecimal:return this.emitNumericEntity(0,2);case _s.NumericHex:return this.emitNumericEntity(0,3);case _s.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case _s.EntityStart:return 0}}}function KXe(e,t,n,i){const r=(t&Vf.BRANCH_LENGTH)>>7,s=t&Vf.JUMP_TABLE;if(r===0)return s!==0&&i===s?n:-1;if(s){const c=i-s;return c<0||c>=r?-1:e[n+c]-1}let a=n,o=a+r-1;for(;a<=o;){const c=a+o>>>1,u=e[c];if(ui)o=c-1;else return e[c+r]}return-1}var Ke;(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/"})(Ke||(Ke={}));var Xp;(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"})(Xp||(Xp={}));var hl;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(hl||(hl={}));var ke;(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"})(ke||(ke={}));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 JXe=new Map([[ke.A,_.A],[ke.ADDRESS,_.ADDRESS],[ke.ANNOTATION_XML,_.ANNOTATION_XML],[ke.APPLET,_.APPLET],[ke.AREA,_.AREA],[ke.ARTICLE,_.ARTICLE],[ke.ASIDE,_.ASIDE],[ke.B,_.B],[ke.BASE,_.BASE],[ke.BASEFONT,_.BASEFONT],[ke.BGSOUND,_.BGSOUND],[ke.BIG,_.BIG],[ke.BLOCKQUOTE,_.BLOCKQUOTE],[ke.BODY,_.BODY],[ke.BR,_.BR],[ke.BUTTON,_.BUTTON],[ke.CAPTION,_.CAPTION],[ke.CENTER,_.CENTER],[ke.CODE,_.CODE],[ke.COL,_.COL],[ke.COLGROUP,_.COLGROUP],[ke.DD,_.DD],[ke.DESC,_.DESC],[ke.DETAILS,_.DETAILS],[ke.DIALOG,_.DIALOG],[ke.DIR,_.DIR],[ke.DIV,_.DIV],[ke.DL,_.DL],[ke.DT,_.DT],[ke.EM,_.EM],[ke.EMBED,_.EMBED],[ke.FIELDSET,_.FIELDSET],[ke.FIGCAPTION,_.FIGCAPTION],[ke.FIGURE,_.FIGURE],[ke.FONT,_.FONT],[ke.FOOTER,_.FOOTER],[ke.FOREIGN_OBJECT,_.FOREIGN_OBJECT],[ke.FORM,_.FORM],[ke.FRAME,_.FRAME],[ke.FRAMESET,_.FRAMESET],[ke.H1,_.H1],[ke.H2,_.H2],[ke.H3,_.H3],[ke.H4,_.H4],[ke.H5,_.H5],[ke.H6,_.H6],[ke.HEAD,_.HEAD],[ke.HEADER,_.HEADER],[ke.HGROUP,_.HGROUP],[ke.HR,_.HR],[ke.HTML,_.HTML],[ke.I,_.I],[ke.IMG,_.IMG],[ke.IMAGE,_.IMAGE],[ke.INPUT,_.INPUT],[ke.IFRAME,_.IFRAME],[ke.KEYGEN,_.KEYGEN],[ke.LABEL,_.LABEL],[ke.LI,_.LI],[ke.LINK,_.LINK],[ke.LISTING,_.LISTING],[ke.MAIN,_.MAIN],[ke.MALIGNMARK,_.MALIGNMARK],[ke.MARQUEE,_.MARQUEE],[ke.MATH,_.MATH],[ke.MENU,_.MENU],[ke.META,_.META],[ke.MGLYPH,_.MGLYPH],[ke.MI,_.MI],[ke.MO,_.MO],[ke.MN,_.MN],[ke.MS,_.MS],[ke.MTEXT,_.MTEXT],[ke.NAV,_.NAV],[ke.NOBR,_.NOBR],[ke.NOFRAMES,_.NOFRAMES],[ke.NOEMBED,_.NOEMBED],[ke.NOSCRIPT,_.NOSCRIPT],[ke.OBJECT,_.OBJECT],[ke.OL,_.OL],[ke.OPTGROUP,_.OPTGROUP],[ke.OPTION,_.OPTION],[ke.P,_.P],[ke.PARAM,_.PARAM],[ke.PLAINTEXT,_.PLAINTEXT],[ke.PRE,_.PRE],[ke.RB,_.RB],[ke.RP,_.RP],[ke.RT,_.RT],[ke.RTC,_.RTC],[ke.RUBY,_.RUBY],[ke.S,_.S],[ke.SCRIPT,_.SCRIPT],[ke.SEARCH,_.SEARCH],[ke.SECTION,_.SECTION],[ke.SELECT,_.SELECT],[ke.SOURCE,_.SOURCE],[ke.SMALL,_.SMALL],[ke.SPAN,_.SPAN],[ke.STRIKE,_.STRIKE],[ke.STRONG,_.STRONG],[ke.STYLE,_.STYLE],[ke.SUB,_.SUB],[ke.SUMMARY,_.SUMMARY],[ke.SUP,_.SUP],[ke.TABLE,_.TABLE],[ke.TBODY,_.TBODY],[ke.TEMPLATE,_.TEMPLATE],[ke.TEXTAREA,_.TEXTAREA],[ke.TFOOT,_.TFOOT],[ke.TD,_.TD],[ke.TH,_.TH],[ke.THEAD,_.THEAD],[ke.TITLE,_.TITLE],[ke.TR,_.TR],[ke.TRACK,_.TRACK],[ke.TT,_.TT],[ke.U,_.U],[ke.UL,_.UL],[ke.SVG,_.SVG],[ke.VAR,_.VAR],[ke.WBR,_.WBR],[ke.XMP,_.XMP]]);function nO(e){var t;return(t=JXe.get(e))!==null&&t!==void 0?t:_.UNKNOWN}const rt=_,eHe={[Ke.HTML]:new Set([rt.ADDRESS,rt.APPLET,rt.AREA,rt.ARTICLE,rt.ASIDE,rt.BASE,rt.BASEFONT,rt.BGSOUND,rt.BLOCKQUOTE,rt.BODY,rt.BR,rt.BUTTON,rt.CAPTION,rt.CENTER,rt.COL,rt.COLGROUP,rt.DD,rt.DETAILS,rt.DIR,rt.DIV,rt.DL,rt.DT,rt.EMBED,rt.FIELDSET,rt.FIGCAPTION,rt.FIGURE,rt.FOOTER,rt.FORM,rt.FRAME,rt.FRAMESET,rt.H1,rt.H2,rt.H3,rt.H4,rt.H5,rt.H6,rt.HEAD,rt.HEADER,rt.HGROUP,rt.HR,rt.HTML,rt.IFRAME,rt.IMG,rt.INPUT,rt.LI,rt.LINK,rt.LISTING,rt.MAIN,rt.MARQUEE,rt.MENU,rt.META,rt.NAV,rt.NOEMBED,rt.NOFRAMES,rt.NOSCRIPT,rt.OBJECT,rt.OL,rt.P,rt.PARAM,rt.PLAINTEXT,rt.PRE,rt.SCRIPT,rt.SECTION,rt.SELECT,rt.SOURCE,rt.STYLE,rt.SUMMARY,rt.TABLE,rt.TBODY,rt.TD,rt.TEMPLATE,rt.TEXTAREA,rt.TFOOT,rt.TH,rt.THEAD,rt.TITLE,rt.TR,rt.TRACK,rt.UL,rt.WBR,rt.XMP]),[Ke.MATHML]:new Set([rt.MI,rt.MO,rt.MN,rt.MS,rt.MTEXT,rt.ANNOTATION_XML]),[Ke.SVG]:new Set([rt.TITLE,rt.FOREIGN_OBJECT,rt.DESC]),[Ke.XLINK]:new Set,[Ke.XML]:new Set,[Ke.XMLNS]:new Set},kM=new Set([rt.H1,rt.H2,rt.H3,rt.H4,rt.H5,rt.H6]);ke.STYLE,ke.SCRIPT,ke.XMP,ke.IFRAME,ke.NOEMBED,ke.NOFRAMES,ke.PLAINTEXT;var re;(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"})(re||(re={}));const Xr={DATA:re.DATA,RCDATA:re.RCDATA,RAWTEXT:re.RAWTEXT,SCRIPT_DATA:re.SCRIPT_DATA,PLAINTEXT:re.PLAINTEXT,CDATA_SECTION:re.CDATA_SECTION};function tHe(e){return e>=J.DIGIT_0&&e<=J.DIGIT_9}function Ny(e){return e>=J.LATIN_CAPITAL_A&&e<=J.LATIN_CAPITAL_Z}function nHe(e){return e>=J.LATIN_SMALL_A&&e<=J.LATIN_SMALL_Z}function vf(e){return nHe(e)||Ny(e)}function PV(e){return vf(e)||tHe(e)}function IS(e){return e+32}function kce(e){return e===J.SPACE||e===J.LINE_FEED||e===J.TABULATION||e===J.FORM_FEED}function MV(e){return kce(e)||e===J.SOLIDUS||e===J.GREATER_THAN_SIGN}function iHe(e){return e===J.NULL?Me.nullCharacterReference:e>1114111?Me.characterReferenceOutsideUnicodeRange:vce(e)?Me.surrogateCharacterReference:Sce(e)?Me.noncharacterCharacterReference:wce(e)||e===J.CARRIAGE_RETURN?Me.controlCharacterReference:null}class rHe{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=re.DATA,this.returnState=re.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new zXe(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new ZXe(VXe,(i,r)=>{this.preprocessor.pos=this.entityStartPos+r-1,this._flushCodePointConsumedAsCharacterReference(i)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Me.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:i=>{this._err(Me.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+i)},validateNumericCharacterReference:i=>{const r=iHe(i);r&&this._err(r,1)}}:void 0)}_err(t,n=0){var i,r;(r=(i=this.handler).onParseError)===null||r===void 0||r.call(i,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t==null||t())}write(t,n,i){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||i==null||i()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(Me.endTagWithAttributes),t.selfClosing&&this._err(Me.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 _n.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case _n.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case _n.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:_n.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=kce(t)?_n.WHITESPACE_CHARACTER:t===J.NULL?_n.NULL_CHARACTER:_n.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(_n.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=re.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?id.Attribute:id.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===re.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===re.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===re.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case re.DATA:{this._stateData(t);break}case re.RCDATA:{this._stateRcdata(t);break}case re.RAWTEXT:{this._stateRawtext(t);break}case re.SCRIPT_DATA:{this._stateScriptData(t);break}case re.PLAINTEXT:{this._statePlaintext(t);break}case re.TAG_OPEN:{this._stateTagOpen(t);break}case re.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case re.TAG_NAME:{this._stateTagName(t);break}case re.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case re.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case re.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case re.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case re.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case re.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case re.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case re.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case re.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case re.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case re.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case re.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case re.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case re.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case re.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case re.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case re.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case re.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case re.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case re.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case re.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case re.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case re.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case re.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case re.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case re.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case re.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case re.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case re.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case re.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case re.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case re.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case re.BOGUS_COMMENT:{this._stateBogusComment(t);break}case re.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case re.COMMENT_START:{this._stateCommentStart(t);break}case re.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case re.COMMENT:{this._stateComment(t);break}case re.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case re.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case re.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case re.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case re.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case re.COMMENT_END:{this._stateCommentEnd(t);break}case re.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case re.DOCTYPE:{this._stateDoctype(t);break}case re.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case re.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case re.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case re.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case re.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case re.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case re.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case re.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case re.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case re.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case re.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case re.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case re.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case re.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case re.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case re.CDATA_SECTION:{this._stateCdataSection(t);break}case re.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case re.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case re.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case re.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case J.LESS_THAN_SIGN:{this.state=re.TAG_OPEN;break}case J.AMPERSAND:{this._startCharacterReference();break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitCodePoint(t);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case J.AMPERSAND:{this._startCharacterReference();break}case J.LESS_THAN_SIGN:{this.state=re.RCDATA_LESS_THAN_SIGN;break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(dr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case J.LESS_THAN_SIGN:{this.state=re.RAWTEXT_LESS_THAN_SIGN;break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(dr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case J.LESS_THAN_SIGN:{this.state=re.SCRIPT_DATA_LESS_THAN_SIGN;break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(dr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(dr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(vf(t))this._createStartTagToken(),this.state=re.TAG_NAME,this._stateTagName(t);else switch(t){case J.EXCLAMATION_MARK:{this.state=re.MARKUP_DECLARATION_OPEN;break}case J.SOLIDUS:{this.state=re.END_TAG_OPEN;break}case J.QUESTION_MARK:{this._err(Me.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=re.BOGUS_COMMENT,this._stateBogusComment(t);break}case J.EOF:{this._err(Me.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Me.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=re.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(vf(t))this._createEndTagToken(),this.state=re.TAG_NAME,this._stateTagName(t);else switch(t){case J.GREATER_THAN_SIGN:{this._err(Me.missingEndTagName),this.state=re.DATA;break}case J.EOF:{this._err(Me.eofBeforeTagName),this._emitChars("");break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this.state=re.SCRIPT_DATA_ESCAPED,this._emitChars(dr);break}case J.EOF:{this._err(Me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=re.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===J.SOLIDUS?this.state=re.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:vf(t)?(this._emitChars("<"),this.state=re.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=re.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){vf(t)?(this.state=re.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this.state=re.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(dr);break}case J.EOF:{this._err(Me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=re.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===J.SOLIDUS?(this.state=re.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=re.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Ga.SCRIPT,!1)&&MV(this.preprocessor.peek(Ga.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){const i=this._indexOf(t);this.items[i]=n,i===this.stackTop&&(this.current=n)}insertAfter(t,n,i){const r=this._indexOf(t)+1;this.items.splice(r,0,n),this.tagIDs.splice(r,0,i),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==Ke.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){const n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;i--)if(t.has(this.tagIDs[i])&&this.treeAdapter.getNamespaceURI(this.items[i])===n)return i;return-1}clearBackTo(t,n){const i=this._indexOfTagNames(t,n);this.shortenToLength(i+1)}clearBackToTableContext(){this.clearBackTo(cHe,Ke.HTML)}clearBackToTableBodyContext(){this.clearBackTo(lHe,Ke.HTML)}clearBackToTableRowContext(){this.clearBackTo(oHe,Ke.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 i=this.stackTop;i>=0;i--){const r=this.tagIDs[i];switch(this.treeAdapter.getNamespaceURI(this.items[i])){case Ke.HTML:{if(r===t)return!0;if(n.has(r))return!1;break}case Ke.SVG:{if(QV.has(r))return!1;break}case Ke.MATHML:{if($V.has(r))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,XT)}hasInListItemScope(t){return this.hasInDynamicScope(t,sHe)}hasInButtonScope(t){return this.hasInDynamicScope(t,aHe)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case Ke.HTML:{if(kM.has(n))return!0;if(XT.has(n))return!1;break}case Ke.SVG:{if(QV.has(n))return!1;break}case Ke.MATHML:{if($V.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===Ke.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])===Ke.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])===Ke.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&&Tce.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&LV.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&LV.has(this.currentTagId);)this.pop()}}const qj=3;var zc;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(zc||(zc={}));const BV={type:zc.Marker};class fHe{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const i=[],r=n.length,s=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let o=0;o[a.name,a.value]));let s=0;for(let a=0;ar.get(c.name)===c.value)&&(s+=1,s>=qj&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(BV)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:zc.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const i=this.entries.indexOf(this.bookmark);this.entries.splice(i,0,{type:zc.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(BV);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(i=>i.type===zc.Marker||this.treeAdapter.getTagName(i.element)===t);return n&&n.type===zc.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===zc.Element&&n.element===t)}}const wf={createDocument(){return{nodeName:"#document",mode:hl.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const i=e.childNodes.indexOf(n);e.childNodes.splice(i,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,i){const r=e.childNodes.find(s=>s.nodeName==="#documentType");if(r)r.name=t,r.publicId=n,r.systemId=i;else{const s={nodeName:"#documentType",name:t,publicId:n,systemId:i,parentNode:null};wf.appendChild(e,s)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(wf.isTextNode(n)){n.value+=t;return}}wf.appendChild(e,wf.createTextNode(t))},insertTextBefore(e,t,n){const i=e.childNodes[e.childNodes.indexOf(n)-1];i&&wf.isTextNode(i)?i.value+=t:wf.insertBefore(e,wf.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(i=>i.name));for(let i=0;ie.startsWith(n))}function OHe(e){return e.name===_ce&&e.publicId===null&&(e.systemId===null||e.systemId===hHe)}function yHe(e){if(e.name!==_ce)return hl.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===pHe)return hl.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),gHe.has(n))return hl.QUIRKS;let i=t===null?mHe:Ace;if(FV(n,i))return hl.QUIRKS;if(i=t===null?Cce:bHe,FV(n,i))return hl.LIMITED_QUIRKS}return hl.NO_QUIRKS}const UV={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},xHe="definitionurl",vHe="definitionURL",wHe=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])),SHe=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Ke.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Ke.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Ke.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Ke.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Ke.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Ke.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Ke.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Ke.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Ke.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Ke.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Ke.XMLNS}]]),EHe=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])),kHe=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 THe(e){const t=e.tagID;return t===_.FONT&&e.attrs.some(({name:i})=>i===Xp.COLOR||i===Xp.SIZE||i===Xp.FACE)||kHe.has(t)}function Nce(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var i,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(r=(i=this.treeAdapter).onItemPop)===null||r===void 0||r.call(i,t,this.openElements.current),n){let s,a;this.openElements.stackTop===0&&this.fragmentContext?(s=this.fragmentContext,a=this.fragmentContextID):{current:s,currentTagId:a}=this.openElements,this._setContextModes(s,a)}}_setContextModes(t,n){const i=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===Ke.HTML;this.currentNotInHTML=!i,this.tokenizer.inForeignNode=!i&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,Ke.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=oe.TEXT}switchToPlaintextParsing(){this.insertionMode=oe.TEXT,this.originalInsertionMode=oe.IN_BODY,this.tokenizer.state=Xr.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)===ke.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Ke.HTML))switch(this.fragmentContextID){case _.TITLE:case _.TEXTAREA:{this.tokenizer.state=Xr.RCDATA;break}case _.STYLE:case _.XMP:case _.IFRAME:case _.NOEMBED:case _.NOFRAMES:case _.NOSCRIPT:{this.tokenizer.state=Xr.RAWTEXT;break}case _.SCRIPT:{this.tokenizer.state=Xr.SCRIPT_DATA;break}case _.PLAINTEXT:{this.tokenizer.state=Xr.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",i=t.publicId||"",r=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,i,r),t.location){const a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const i=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,i)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const i=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(i??this.document,t)}}_appendElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location)}_insertElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location),this.openElements.push(i,t.tagID)}_insertFakeElement(t,n){const i=this.treeAdapter.createElement(t,Ke.HTML,[]);this._attachElementToTree(i,null),this.openElements.push(i,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,Ke.HTML,t.attrs),i=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,i),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(ke.HTML,Ke.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 i=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,i),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,t.location)}_insertCharacters(t){let n,i;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:i}=this._findFosterParentingLocation(),i?this.treeAdapter.insertTextBefore(n,t.chars,i):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const r=this.treeAdapter.getChildNodes(n),s=i?r.lastIndexOf(i):r.length,a=r[s-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine: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 i=this.treeAdapter.getFirstChild(t);i;i=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(i),this.treeAdapter.appendChild(n,i)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const i=n.location,r=this.treeAdapter.getTagName(t),s=n.type===_n.END_TAG&&r===n.tagName?{endTag:{...i},endLine:i.endLine,endCol:i.endCol,endOffset:i.endOffset}:{endLine:i.startLine,endCol:i.startCol,endOffset:i.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,s)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,i;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,i=this.fragmentContextID):{current:n,currentTagId:i}=this.openElements,t.tagID===_.SVG&&this.treeAdapter.getTagName(n)===ke.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===Ke.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===_.MGLYPH||t.tagID===_.MALIGNMARK)&&i!==void 0&&!this._isIntegrationPoint(i,n,Ke.HTML)}_processToken(t){switch(t.type){case _n.CHARACTER:{this.onCharacter(t);break}case _n.NULL_CHARACTER:{this.onNullCharacter(t);break}case _n.COMMENT:{this.onComment(t);break}case _n.DOCTYPE:{this.onDoctype(t);break}case _n.START_TAG:{this._processStartTag(t);break}case _n.END_TAG:{this.onEndTag(t);break}case _n.EOF:{this.onEof(t);break}case _n.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,i){const r=this.treeAdapter.getNamespaceURI(n),s=this.treeAdapter.getAttrList(n);return NHe(t,r,s,i)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(r=>r.type===zc.Marker||this.openElements.contains(r.element)),i=n===-1?t-1:n-1;for(let r=i;r>=0;r--){const s=this.activeFormattingElements.entries[r];this._insertElement(s.token,this.treeAdapter.getNamespaceURI(s.element)),s.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=oe.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=oe.IN_ROW;return}case _.TBODY:case _.THEAD:case _.TFOOT:{this.insertionMode=oe.IN_TABLE_BODY;return}case _.CAPTION:{this.insertionMode=oe.IN_CAPTION;return}case _.COLGROUP:{this.insertionMode=oe.IN_COLUMN_GROUP;return}case _.TABLE:{this.insertionMode=oe.IN_TABLE;return}case _.BODY:{this.insertionMode=oe.IN_BODY;return}case _.FRAMESET:{this.insertionMode=oe.IN_FRAMESET;return}case _.SELECT:{this._resetInsertionModeForSelect(t);return}case _.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case _.HTML:{this.insertionMode=this.headElement?oe.AFTER_HEAD:oe.BEFORE_HEAD;return}case _.TD:case _.TH:{if(t>0){this.insertionMode=oe.IN_CELL;return}break}case _.HEAD:{if(t>0){this.insertionMode=oe.IN_HEAD;return}break}}this.insertionMode=oe.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const i=this.openElements.tagIDs[n];if(i===_.TEMPLATE)break;if(i===_.TABLE){this.insertionMode=oe.IN_SELECT_IN_TABLE;return}}this.insertionMode=oe.IN_SELECT}_isElementCausesFosterParenting(t){return Rce.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)===Ke.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case _.TABLE:{const i=this.treeAdapter.getParentNode(n);return i?{parent:i,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){const n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){const i=this.treeAdapter.getNamespaceURI(t);return eHe[i].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){uGe(this,t);return}switch(this.insertionMode){case oe.INITIAL:{KO(this,t);break}case oe.BEFORE_HTML:{px(this,t);break}case oe.BEFORE_HEAD:{mx(this,t);break}case oe.IN_HEAD:{gx(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{bx(this,t);break}case oe.AFTER_HEAD:{Ox(this,t);break}case oe.IN_BODY:case oe.IN_CAPTION:case oe.IN_CELL:case oe.IN_TEMPLATE:{Ice(this,t);break}case oe.TEXT:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case oe.IN_TABLE:case oe.IN_TABLE_BODY:case oe.IN_ROW:{Xj(this,t);break}case oe.IN_TABLE_TEXT:{Bce(this,t);break}case oe.IN_COLUMN_GROUP:{HT(this,t);break}case oe.AFTER_BODY:{YT(this,t);break}case oe.AFTER_AFTER_BODY:{ok(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){cGe(this,t);return}switch(this.insertionMode){case oe.INITIAL:{KO(this,t);break}case oe.BEFORE_HTML:{px(this,t);break}case oe.BEFORE_HEAD:{mx(this,t);break}case oe.IN_HEAD:{gx(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{bx(this,t);break}case oe.AFTER_HEAD:{Ox(this,t);break}case oe.TEXT:{this._insertCharacters(t);break}case oe.IN_TABLE:case oe.IN_TABLE_BODY:case oe.IN_ROW:{Xj(this,t);break}case oe.IN_COLUMN_GROUP:{HT(this,t);break}case oe.AFTER_BODY:{YT(this,t);break}case oe.AFTER_AFTER_BODY:{ok(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){TM(this,t);return}switch(this.insertionMode){case oe.INITIAL:case oe.BEFORE_HTML:case oe.BEFORE_HEAD:case oe.IN_HEAD:case oe.IN_HEAD_NO_SCRIPT:case oe.AFTER_HEAD:case oe.IN_BODY:case oe.IN_TABLE:case oe.IN_CAPTION:case oe.IN_COLUMN_GROUP:case oe.IN_TABLE_BODY:case oe.IN_ROW:case oe.IN_CELL:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:case oe.IN_TEMPLATE:case oe.IN_FRAMESET:case oe.AFTER_FRAMESET:{TM(this,t);break}case oe.IN_TABLE_TEXT:{JO(this,t);break}case oe.AFTER_BODY:{FHe(this,t);break}case oe.AFTER_AFTER_BODY:case oe.AFTER_AFTER_FRAMESET:{UHe(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case oe.INITIAL:{zHe(this,t);break}case oe.BEFORE_HEAD:case oe.IN_HEAD:case oe.IN_HEAD_NO_SCRIPT:case oe.AFTER_HEAD:{this._err(t,Me.misplacedDoctype);break}case oe.IN_TABLE_TEXT:{JO(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Me.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?dGe(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case oe.INITIAL:{KO(this,t);break}case oe.BEFORE_HTML:{VHe(this,t);break}case oe.BEFORE_HEAD:{XHe(this,t);break}case oe.IN_HEAD:{wc(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{GHe(this,t);break}case oe.AFTER_HEAD:{ZHe(this,t);break}case oe.IN_BODY:{Oa(this,t);break}case oe.IN_TABLE:{hb(this,t);break}case oe.IN_TABLE_TEXT:{JO(this,t);break}case oe.IN_CAPTION:{HYe(this,t);break}case oe.IN_COLUMN_GROUP:{Z4(this,t);break}case oe.IN_TABLE_BODY:{x2(this,t);break}case oe.IN_ROW:{v2(this,t);break}case oe.IN_CELL:{WYe(this,t);break}case oe.IN_SELECT:{zce(this,t);break}case oe.IN_SELECT_IN_TABLE:{KYe(this,t);break}case oe.IN_TEMPLATE:{eGe(this,t);break}case oe.AFTER_BODY:{nGe(this,t);break}case oe.IN_FRAMESET:{iGe(this,t);break}case oe.AFTER_FRAMESET:{sGe(this,t);break}case oe.AFTER_AFTER_BODY:{oGe(this,t);break}case oe.AFTER_AFTER_FRAMESET:{lGe(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?fGe(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case oe.INITIAL:{KO(this,t);break}case oe.BEFORE_HTML:{qHe(this,t);break}case oe.BEFORE_HEAD:{HHe(this,t);break}case oe.IN_HEAD:{YHe(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{WHe(this,t);break}case oe.AFTER_HEAD:{KHe(this,t);break}case oe.IN_BODY:{y2(this,t);break}case oe.TEXT:{LYe(this,t);break}case oe.IN_TABLE:{k1(this,t);break}case oe.IN_TABLE_TEXT:{JO(this,t);break}case oe.IN_CAPTION:{YYe(this,t);break}case oe.IN_COLUMN_GROUP:{GYe(this,t);break}case oe.IN_TABLE_BODY:{_M(this,t);break}case oe.IN_ROW:{Uce(this,t);break}case oe.IN_CELL:{ZYe(this,t);break}case oe.IN_SELECT:{Vce(this,t);break}case oe.IN_SELECT_IN_TABLE:{JYe(this,t);break}case oe.IN_TEMPLATE:{tGe(this,t);break}case oe.AFTER_BODY:{Xce(this,t);break}case oe.IN_FRAMESET:{rGe(this,t);break}case oe.AFTER_FRAMESET:{aGe(this,t);break}case oe.AFTER_AFTER_BODY:{ok(this,t);break}}}onEof(t){switch(this.insertionMode){case oe.INITIAL:{KO(this,t);break}case oe.BEFORE_HTML:{px(this,t);break}case oe.BEFORE_HEAD:{mx(this,t);break}case oe.IN_HEAD:{gx(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{bx(this,t);break}case oe.AFTER_HEAD:{Ox(this,t);break}case oe.IN_BODY:case oe.IN_TABLE:case oe.IN_CAPTION:case oe.IN_COLUMN_GROUP:case oe.IN_TABLE_BODY:case oe.IN_ROW:case oe.IN_CELL:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:{$ce(this,t);break}case oe.TEXT:{$Ye(this,t);break}case oe.IN_TABLE_TEXT:{JO(this,t);break}case oe.IN_TEMPLATE:{qce(this,t);break}case oe.AFTER_BODY:case oe.IN_FRAMESET:case oe.AFTER_FRAMESET:case oe.AFTER_AFTER_BODY:case oe.AFTER_AFTER_FRAMESET:{W4(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===J.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 oe.IN_HEAD:case oe.IN_HEAD_NO_SCRIPT:case oe.AFTER_HEAD:case oe.TEXT:case oe.IN_COLUMN_GROUP:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:case oe.IN_FRAMESET:case oe.AFTER_FRAMESET:{this._insertCharacters(t);break}case oe.IN_BODY:case oe.IN_CAPTION:case oe.IN_CELL:case oe.IN_TEMPLATE:case oe.AFTER_BODY:case oe.AFTER_AFTER_BODY:case oe.AFTER_AFTER_FRAMESET:{Dce(this,t);break}case oe.IN_TABLE:case oe.IN_TABLE_BODY:case oe.IN_ROW:{Xj(this,t);break}case oe.IN_TABLE_TEXT:{Qce(this,t);break}}}};function PHe(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):Lce(e,t),n}function MHe(e,t){let n=null,i=e.openElements.stackTop;for(;i>=0;i--){const r=e.openElements.items[i];if(r===t.element)break;e._isSpecialElement(r,e.openElements.tagIDs[i])&&(n=r)}return n||(e.openElements.shortenToLength(Math.max(i,0)),e.activeFormattingElements.removeEntry(t)),n}function LHe(e,t,n){let i=t,r=e.openElements.getCommonAncestor(t);for(let s=0,a=r;a!==n;s++,a=r){r=e.openElements.getCommonAncestor(a);const o=e.activeFormattingElements.getElementEntry(a),c=o&&s>=DHe;!o||c?(c&&e.activeFormattingElements.removeEntry(o),e.openElements.remove(a)):(a=$He(e,o),i===t&&(e.activeFormattingElements.bookmark=o),e.treeAdapter.detachNode(i),e.treeAdapter.appendChild(a,i),i=a)}return i}function $He(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),i=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,i),t.element=i,i}function QHe(e,t,n){const i=e.treeAdapter.getTagName(t),r=nO(i);if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{const s=e.treeAdapter.getNamespaceURI(t);r===_.TEMPLATE&&s===Ke.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function BHe(e,t,n){const i=e.treeAdapter.getNamespaceURI(n.element),{token:r}=n,s=e.treeAdapter.createElement(r.tagName,i,r.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,r),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,r.tagID)}function G4(e,t){for(let n=0;n=n;i--)e._setEndLocation(e.openElements.items[i],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const i=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(i);if(r&&!r.endTag&&(e._setEndLocation(i,t),e.openElements.stackTop>=1)){const s=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(s);a&&!a.endTag&&e._setEndLocation(s,t)}}}}function zHe(e,t){e._setDocumentType(t);const n=t.forceQuirks?hl.QUIRKS:yHe(t);OHe(t)||e._err(t,Me.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=oe.BEFORE_HTML}function KO(e,t){e._err(t,Me.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,hl.QUIRKS),e.insertionMode=oe.BEFORE_HTML,e._processToken(t)}function VHe(e,t){t.tagID===_.HTML?(e._insertElement(t,Ke.HTML),e.insertionMode=oe.BEFORE_HEAD):px(e,t)}function qHe(e,t){const n=t.tagID;(n===_.HTML||n===_.HEAD||n===_.BODY||n===_.BR)&&px(e,t)}function px(e,t){e._insertFakeRootElement(),e.insertionMode=oe.BEFORE_HEAD,e._processToken(t)}function XHe(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.HEAD:{e._insertElement(t,Ke.HTML),e.headElement=e.openElements.current,e.insertionMode=oe.IN_HEAD;break}default:mx(e,t)}}function HHe(e,t){const n=t.tagID;n===_.HEAD||n===_.BODY||n===_.HTML||n===_.BR?mx(e,t):e._err(t,Me.endTagWithoutMatchingOpenElement)}function mx(e,t){e._insertFakeElement(ke.HEAD,_.HEAD),e.headElement=e.openElements.current,e.insertionMode=oe.IN_HEAD,e._processToken(t)}function wc(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:{e._appendElement(t,Ke.HTML),t.ackSelfClosing=!0;break}case _.TITLE:{e._switchToTextParsing(t,Xr.RCDATA);break}case _.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,Xr.RAWTEXT):(e._insertElement(t,Ke.HTML),e.insertionMode=oe.IN_HEAD_NO_SCRIPT);break}case _.NOFRAMES:case _.STYLE:{e._switchToTextParsing(t,Xr.RAWTEXT);break}case _.SCRIPT:{e._switchToTextParsing(t,Xr.SCRIPT_DATA);break}case _.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=oe.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(oe.IN_TEMPLATE);break}case _.HEAD:{e._err(t,Me.misplacedStartTagForHeadElement);break}default:gx(e,t)}}function YHe(e,t){switch(t.tagID){case _.HEAD:{e.openElements.pop(),e.insertionMode=oe.AFTER_HEAD;break}case _.BODY:case _.BR:case _.HTML:{gx(e,t);break}case _.TEMPLATE:{Im(e,t);break}default:e._err(t,Me.endTagWithoutMatchingOpenElement)}}function Im(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==_.TEMPLATE&&e._err(t,Me.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Me.endTagWithoutMatchingOpenElement)}function gx(e,t){e.openElements.pop(),e.insertionMode=oe.AFTER_HEAD,e._processToken(t)}function GHe(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.BASEFONT:case _.BGSOUND:case _.HEAD:case _.LINK:case _.META:case _.NOFRAMES:case _.STYLE:{wc(e,t);break}case _.NOSCRIPT:{e._err(t,Me.nestedNoscriptInHead);break}default:bx(e,t)}}function WHe(e,t){switch(t.tagID){case _.NOSCRIPT:{e.openElements.pop(),e.insertionMode=oe.IN_HEAD;break}case _.BR:{bx(e,t);break}default:e._err(t,Me.endTagWithoutMatchingOpenElement)}}function bx(e,t){const n=t.type===_n.EOF?Me.openElementsLeftAfterEof:Me.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=oe.IN_HEAD,e._processToken(t)}function ZHe(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.BODY:{e._insertElement(t,Ke.HTML),e.framesetOk=!1,e.insertionMode=oe.IN_BODY;break}case _.FRAMESET:{e._insertElement(t,Ke.HTML),e.insertionMode=oe.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,Me.abandonedHeadElementChild),e.openElements.push(e.headElement,_.HEAD),wc(e,t),e.openElements.remove(e.headElement);break}case _.HEAD:{e._err(t,Me.misplacedStartTagForHeadElement);break}default:Ox(e,t)}}function KHe(e,t){switch(t.tagID){case _.BODY:case _.HTML:case _.BR:{Ox(e,t);break}case _.TEMPLATE:{Im(e,t);break}default:e._err(t,Me.endTagWithoutMatchingOpenElement)}}function Ox(e,t){e._insertFakeElement(ke.BODY,_.BODY),e.insertionMode=oe.IN_BODY,O2(e,t)}function O2(e,t){switch(t.type){case _n.CHARACTER:{Ice(e,t);break}case _n.WHITESPACE_CHARACTER:{Dce(e,t);break}case _n.COMMENT:{TM(e,t);break}case _n.START_TAG:{Oa(e,t);break}case _n.END_TAG:{y2(e,t);break}case _n.EOF:{$ce(e,t);break}}}function Dce(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Ice(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function JHe(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function eYe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function tYe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,Ke.HTML),e.insertionMode=oe.IN_FRAMESET)}function nYe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ke.HTML)}function iYe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&kM.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,Ke.HTML)}function rYe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ke.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function sYe(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ke.HTML),n||(e.formElement=e.openElements.current))}function aYe(e,t){e.framesetOk=!1;const n=t.tagID;for(let i=e.openElements.stackTop;i>=0;i--){const r=e.openElements.tagIDs[i];if(n===_.LI&&r===_.LI||(n===_.DD||n===_.DT)&&(r===_.DD||r===_.DT)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r);break}if(r!==_.ADDRESS&&r!==_.DIV&&r!==_.P&&e._isSpecialElement(e.openElements.items[i],r))break}e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ke.HTML)}function oYe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ke.HTML),e.tokenizer.state=Xr.PLAINTEXT}function lYe(e,t){e.openElements.hasInScope(_.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(_.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML),e.framesetOk=!1}function cYe(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(ke.A);n&&(G4(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function uYe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function dYe(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(_.NOBR)&&(G4(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,Ke.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function fYe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function hYe(e,t){e.treeAdapter.getDocumentMode(e.document)!==hl.QUIRKS&&e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ke.HTML),e.framesetOk=!1,e.insertionMode=oe.IN_TABLE}function Pce(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Ke.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Mce(e){const t=Ece(e,Xp.TYPE);return t!=null&&t.toLowerCase()===jHe}function pYe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Ke.HTML),Mce(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function mYe(e,t){e._appendElement(t,Ke.HTML),t.ackSelfClosing=!0}function gYe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._appendElement(t,Ke.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function bYe(e,t){t.tagName=ke.IMG,t.tagID=_.IMG,Pce(e,t)}function OYe(e,t){e._insertElement(t,Ke.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Xr.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=oe.TEXT}function yYe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Xr.RAWTEXT)}function xYe(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Xr.RAWTEXT)}function qV(e,t){e._switchToTextParsing(t,Xr.RAWTEXT)}function vYe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===oe.IN_TABLE||e.insertionMode===oe.IN_CAPTION||e.insertionMode===oe.IN_TABLE_BODY||e.insertionMode===oe.IN_ROW||e.insertionMode===oe.IN_CELL?oe.IN_SELECT_IN_TABLE:oe.IN_SELECT}function wYe(e,t){e.openElements.currentTagId===_.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML)}function SYe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,Ke.HTML)}function EYe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(_.RTC),e._insertElement(t,Ke.HTML)}function kYe(e,t){e._reconstructActiveFormattingElements(),Nce(t),Y4(t),t.selfClosing?e._appendElement(t,Ke.MATHML):e._insertElement(t,Ke.MATHML),t.ackSelfClosing=!0}function TYe(e,t){e._reconstructActiveFormattingElements(),jce(t),Y4(t),t.selfClosing?e._appendElement(t,Ke.SVG):e._insertElement(t,Ke.SVG),t.ackSelfClosing=!0}function XV(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ke.HTML)}function Oa(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:{uYe(e,t);break}case _.A:{cYe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{iYe(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:{nYe(e,t);break}case _.LI:case _.DD:case _.DT:{aYe(e,t);break}case _.BR:case _.IMG:case _.WBR:case _.AREA:case _.EMBED:case _.KEYGEN:{Pce(e,t);break}case _.HR:{gYe(e,t);break}case _.RB:case _.RTC:{SYe(e,t);break}case _.RT:case _.RP:{EYe(e,t);break}case _.PRE:case _.LISTING:{rYe(e,t);break}case _.XMP:{yYe(e,t);break}case _.SVG:{TYe(e,t);break}case _.HTML:{JHe(e,t);break}case _.BASE:case _.LINK:case _.META:case _.STYLE:case _.TITLE:case _.SCRIPT:case _.BGSOUND:case _.BASEFONT:case _.TEMPLATE:{wc(e,t);break}case _.BODY:{eYe(e,t);break}case _.FORM:{sYe(e,t);break}case _.NOBR:{dYe(e,t);break}case _.MATH:{kYe(e,t);break}case _.TABLE:{hYe(e,t);break}case _.INPUT:{pYe(e,t);break}case _.PARAM:case _.TRACK:case _.SOURCE:{mYe(e,t);break}case _.IMAGE:{bYe(e,t);break}case _.BUTTON:{lYe(e,t);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{fYe(e,t);break}case _.IFRAME:{xYe(e,t);break}case _.SELECT:{vYe(e,t);break}case _.OPTION:case _.OPTGROUP:{wYe(e,t);break}case _.NOEMBED:case _.NOFRAMES:{qV(e,t);break}case _.FRAMESET:{tYe(e,t);break}case _.TEXTAREA:{OYe(e,t);break}case _.NOSCRIPT:{e.options.scriptingEnabled?qV(e,t):XV(e,t);break}case _.PLAINTEXT:{oYe(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:XV(e,t)}}function _Ye(e,t){if(e.openElements.hasInScope(_.BODY)&&(e.insertionMode=oe.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function AYe(e,t){e.openElements.hasInScope(_.BODY)&&(e.insertionMode=oe.AFTER_BODY,Xce(e,t))}function CYe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function NYe(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 jYe(e){e.openElements.hasInButtonScope(_.P)||e._insertFakeElement(ke.P,_.P),e._closePElement()}function RYe(e){e.openElements.hasInListItemScope(_.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(_.LI),e.openElements.popUntilTagNamePopped(_.LI))}function DYe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function IYe(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function PYe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function MYe(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(ke.BR,_.BR),e.openElements.pop(),e.framesetOk=!1}function Lce(e,t){const n=t.tagName,i=t.tagID;for(let r=e.openElements.stackTop;r>0;r--){const s=e.openElements.items[r],a=e.openElements.tagIDs[r];if(i===a&&(i!==_.UNKNOWN||e.treeAdapter.getTagName(s)===n)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.stackTop>=r&&e.openElements.shortenToLength(r);break}if(e._isSpecialElement(s,a))break}}function y2(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:{G4(e,t);break}case _.P:{jYe(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:{CYe(e,t);break}case _.LI:{RYe(e);break}case _.DD:case _.DT:{DYe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{IYe(e);break}case _.BR:{MYe(e);break}case _.BODY:{_Ye(e,t);break}case _.HTML:{AYe(e,t);break}case _.FORM:{NYe(e);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{PYe(e,t);break}case _.TEMPLATE:{Im(e,t);break}default:Lce(e,t)}}function $ce(e,t){e.tmplInsertionModeStack.length>0?qce(e,t):W4(e,t)}function LYe(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 $Ye(e,t){e._err(t,Me.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function Xj(e,t){if(e.openElements.currentTagId!==void 0&&Rce.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=oe.IN_TABLE_TEXT,t.type){case _n.CHARACTER:{Bce(e,t);break}case _n.WHITESPACE_CHARACTER:{Qce(e,t);break}}else Qv(e,t)}function QYe(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,Ke.HTML),e.insertionMode=oe.IN_CAPTION}function BYe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Ke.HTML),e.insertionMode=oe.IN_COLUMN_GROUP}function FYe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ke.COLGROUP,_.COLGROUP),e.insertionMode=oe.IN_COLUMN_GROUP,Z4(e,t)}function UYe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Ke.HTML),e.insertionMode=oe.IN_TABLE_BODY}function zYe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ke.TBODY,_.TBODY),e.insertionMode=oe.IN_TABLE_BODY,x2(e,t)}function VYe(e,t){e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function qYe(e,t){Mce(t)?e._appendElement(t,Ke.HTML):Qv(e,t),t.ackSelfClosing=!0}function XYe(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,Ke.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function hb(e,t){switch(t.tagID){case _.TD:case _.TH:case _.TR:{zYe(e,t);break}case _.STYLE:case _.SCRIPT:case _.TEMPLATE:{wc(e,t);break}case _.COL:{FYe(e,t);break}case _.FORM:{XYe(e,t);break}case _.TABLE:{VYe(e,t);break}case _.TBODY:case _.TFOOT:case _.THEAD:{UYe(e,t);break}case _.INPUT:{qYe(e,t);break}case _.CAPTION:{QYe(e,t);break}case _.COLGROUP:{BYe(e,t);break}default:Qv(e,t)}}function k1(e,t){switch(t.tagID){case _.TABLE:{e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode());break}case _.TEMPLATE:{Im(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:Qv(e,t)}}function Qv(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,O2(e,t),e.fosterParentingEnabled=n}function Qce(e,t){e.pendingCharacterTokens.push(t)}function Bce(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function JO(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:{Im(e,t);break}}}function KYe(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)):zce(e,t)}function JYe(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)):Vce(e,t)}function eGe(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:{wc(e,t);break}case _.CAPTION:case _.COLGROUP:case _.TBODY:case _.TFOOT:case _.THEAD:{e.tmplInsertionModeStack[0]=oe.IN_TABLE,e.insertionMode=oe.IN_TABLE,hb(e,t);break}case _.COL:{e.tmplInsertionModeStack[0]=oe.IN_COLUMN_GROUP,e.insertionMode=oe.IN_COLUMN_GROUP,Z4(e,t);break}case _.TR:{e.tmplInsertionModeStack[0]=oe.IN_TABLE_BODY,e.insertionMode=oe.IN_TABLE_BODY,x2(e,t);break}case _.TD:case _.TH:{e.tmplInsertionModeStack[0]=oe.IN_ROW,e.insertionMode=oe.IN_ROW,v2(e,t);break}default:e.tmplInsertionModeStack[0]=oe.IN_BODY,e.insertionMode=oe.IN_BODY,Oa(e,t)}}function tGe(e,t){t.tagID===_.TEMPLATE&&Im(e,t)}function qce(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):W4(e,t)}function nGe(e,t){t.tagID===_.HTML?Oa(e,t):YT(e,t)}function Xce(e,t){var n;if(t.tagID===_.HTML){if(e.fragmentContext||(e.insertionMode=oe.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===_.HTML){e._setEndLocation(e.openElements.items[0],t);const i=e.openElements.items[1];i&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(i))===null||n===void 0)&&n.endTag)&&e._setEndLocation(i,t)}}else YT(e,t)}function YT(e,t){e.insertionMode=oe.IN_BODY,O2(e,t)}function iGe(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.FRAMESET:{e._insertElement(t,Ke.HTML);break}case _.FRAME:{e._appendElement(t,Ke.HTML),t.ackSelfClosing=!0;break}case _.NOFRAMES:{wc(e,t);break}}}function rGe(e,t){t.tagID===_.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==_.FRAMESET&&(e.insertionMode=oe.AFTER_FRAMESET))}function sGe(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.NOFRAMES:{wc(e,t);break}}}function aGe(e,t){t.tagID===_.HTML&&(e.insertionMode=oe.AFTER_AFTER_FRAMESET)}function oGe(e,t){t.tagID===_.HTML?Oa(e,t):ok(e,t)}function ok(e,t){e.insertionMode=oe.IN_BODY,O2(e,t)}function lGe(e,t){switch(t.tagID){case _.HTML:{Oa(e,t);break}case _.NOFRAMES:{wc(e,t);break}}}function cGe(e,t){t.chars=dr,e._insertCharacters(t)}function uGe(e,t){e._insertCharacters(t),e.framesetOk=!1}function Hce(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==Ke.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function dGe(e,t){if(THe(t))Hce(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),i=e.treeAdapter.getNamespaceURI(n);i===Ke.MATHML?Nce(t):i===Ke.SVG&&(_He(t),jce(t)),Y4(t),t.selfClosing?e._appendElement(t,i):e._insertElement(t,i),t.ackSelfClosing=!0}}function fGe(e,t){if(t.tagID===_.P||t.tagID===_.BR){Hce(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const i=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(i)===Ke.HTML){e._endTagOutsideForeignContent(t);break}const r=e.treeAdapter.getTagName(i);if(r.toLowerCase()===t.tagName){t.tagName=r,e.openElements.shortenToLength(n);break}}}ke.AREA,ke.BASE,ke.BASEFONT,ke.BGSOUND,ke.BR,ke.COL,ke.EMBED,ke.FRAME,ke.HR,ke.IMG,ke.INPUT,ke.KEYGEN,ke.LINK,ke.META,ke.PARAM,ke.SOURCE,ke.TRACK,ke.WBR;const hGe=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,pGe=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),HV={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function Yce(e,t){const n=EGe(e),i=cle("type",{handlers:{root:mGe,element:gGe,text:bGe,comment:Wce,doctype:OGe,raw:xGe},unknown:vGe}),r={parser:n?new VV(HV):VV.getFragmentParser(void 0,HV),handle(o){i(o,r)},stitches:!1,options:t||{}};i(e,r),iO(r,wu());const s=n?r.parser.document:r.parser.getFragment(),a=kXe(s,{file:r.options.file});return r.stitches&&Lv(a,"comment",function(o,c,u){const d=o;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 Gce(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:_n.CHARACTER,chars:e.value,location:Bv(e)};iO(t,wu(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function OGe(e,t){const n={type:_n.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:Bv(e)};iO(t,wu(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function yGe(e,t){t.stitches=!0;const n=kGe(e);if("children"in e&&"children"in n){const i=Yce({type:"root",children:e.children},t.options);n.children=i.children}Wce({type:"comment",value:{stitch:n}},t)}function Wce(e,t){const n=e.value,i={type:_n.COMMENT,data:n,location:Bv(e)};iO(t,wu(e)),t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken)}function xGe(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,Zce(t,wu(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(hGe,"<$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 vGe(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))yGe(n,t);else{let i="";throw pGe.has(n.type)&&(i=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+i)}}function iO(e,t){Zce(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=Xr.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 Zce(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 wGe(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===Xr.PLAINTEXT)return;iO(t,wu(e));const i=t.parser.openElements.current;let r="namespaceURI"in i?i.namespaceURI:Tp.html;r===Tp.html&&n==="svg"&&(r=Tp.svg);const s=NXe({...e,children:[]},{space:r===Tp.svg?"svg":"html"}),a={type:_n.START_TAG,tagName:n,tagID:nO(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in s?s.attrs:[],location:Bv(e)};t.parser.currentToken=a,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function SGe(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&$Xe.includes(n)||t.parser.tokenizer.state===Xr.PLAINTEXT)return;iO(t,f2(e));const i={type:_n.END_TAG,tagName:n,tagID:nO(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:Bv(e)};t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===Xr.RCDATA||t.parser.tokenizer.state===Xr.RAWTEXT||t.parser.tokenizer.state===Xr.SCRIPT_DATA)&&(t.parser.tokenizer.state=Xr.DATA)}function EGe(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function Bv(e){const t=wu(e)||{line:void 0,column:void 0,offset:void 0},n=f2(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 kGe(e){return"children"in e?db({...e,children:[]}):db(e)}function TGe(e){return function(t,n){return Yce(t,{...e,file:n})}}const _Ge="modulepreload",AGe=function(e){return"/"+e},YV={},xd=function(t,n,i){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=AGe(c),c in YV)return;YV[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":_Ge,u||(f.as="script"),f.crossOrigin="",f.href=c,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return r.then(a=>{for(const o of a||[])o.status==="rejected"&&s(o.reason);return t().catch(s)})};var CGe=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,NGe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,jGe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Hj={Space_Separator:CGe,ID_Start:NGe,ID_Continue:jGe},zr={isSpaceSeparator(e){return typeof e=="string"&&Hj.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||Hj.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||Hj.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}};let AM,Na,rd,GT,wh,dc,As,K4,yx;var RGe=function(t,n){AM=String(t),Na="start",rd=[],GT=0,wh=1,dc=0,As=void 0,K4=void 0,yx=void 0;do As=DGe(),MGe[Na]();while(As.type!=="eof");return typeof n=="function"?CM({"":yx},"",n):yx};function CM(e,t,n){const i=e[t];if(i!=null&&typeof i=="object")if(Array.isArray(i))for(let r=0;r0;){const n=vd();if(!zr.isHexDigit(n))throw rr(Xe());e+=Xe()}return String.fromCodePoint(parseInt(e,16))}const MGe={start(){if(As.type==="eof")throw Zh();Yj()},beforePropertyName(){switch(As.type){case"identifier":case"string":K4=As.value,Na="afterPropertyName";return;case"punctuator":PS();return;case"eof":throw Zh()}},afterPropertyName(){if(As.type==="eof")throw Zh();Na="beforePropertyValue"},beforePropertyValue(){if(As.type==="eof")throw Zh();Yj()},beforeArrayValue(){if(As.type==="eof")throw Zh();if(As.type==="punctuator"&&As.value==="]"){PS();return}Yj()},afterPropertyValue(){if(As.type==="eof")throw Zh();switch(As.value){case",":Na="beforePropertyName";return;case"}":PS()}},afterArrayValue(){if(As.type==="eof")throw Zh();switch(As.value){case",":Na="beforeArrayValue";return;case"]":PS()}},end(){}};function Yj(){let e;switch(As.type){case"punctuator":switch(As.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=As.value;break}if(yx===void 0)yx=e;else{const t=rd[rd.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,K4,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")rd.push(e),Array.isArray(e)?Na="beforeArrayValue":Na="beforePropertyName";else{const t=rd[rd.length-1];t==null?Na="end":Array.isArray(t)?Na="afterArrayValue":Na="afterPropertyValue"}}function PS(){rd.pop();const e=rd[rd.length-1];e==null?Na="end":Array.isArray(e)?Na="afterArrayValue":Na="afterPropertyValue"}function rr(e){return WT(e===void 0?`JSON5: invalid end of input at ${wh}:${dc}`:`JSON5: invalid character '${Jce(e)}' at ${wh}:${dc}`)}function Zh(){return WT(`JSON5: invalid end of input at ${wh}:${dc}`)}function GV(){return dc-=5,WT(`JSON5: invalid identifier character at ${wh}:${dc}`)}function LGe(e){console.warn(`JSON5: '${Jce(e)}' in strings is not valid ECMAScript; consider escaping`)}function Jce(e){const t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){const n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function WT(e){const t=new SyntaxError(e);return t.lineNumber=wh,t.columnNumber=dc,t}var $Ge=function(t,n,i){const r=[];let s="",a,o,c="",u;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(i=n.space,u=n.quote,n=n.replacer),typeof n=="function")o=n;else if(Array.isArray(n)){a=[];for(const g of n){let O;typeof g=="string"?O=g:(typeof g=="number"||g instanceof String||g instanceof Number)&&(O=String(g)),O!==void 0&&a.indexOf(O)<0&&a.push(O)}}return i instanceof Number?i=Number(i):i instanceof String&&(i=String(i)),typeof i=="number"?i>0&&(i=Math.min(10,Math.floor(i)),c=" ".substr(0,i)):typeof i=="string"&&(c=i.substr(0,10)),d("",{"":t});function d(g,O){let y=O[g];switch(y!=null&&(typeof y.toJSON5=="function"?y=y.toJSON5(g):typeof y.toJSON=="function"&&(y=y.toJSON(g))),o&&(y=o.call(O,g,y)),y instanceof Number?y=Number(y):y instanceof String?y=String(y):y instanceof Boolean&&(y=y.valueOf()),y){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof y=="string")return f(y);if(typeof y=="number")return String(y);if(typeof y=="object")return Array.isArray(y)?b(y):h(y)}function f(g){const O={"'":.1,'"':.2},y={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let v="";for(let w=0;wO[w]=0)throw TypeError("Converting circular structure to JSON5");r.push(g);let O=s;s=s+c;let y=a||Object.keys(g),v=[];for(const w of y){const E=d(w,g);if(E!==void 0){let S=p(w)+":";c!==""&&(S+=" "),S+=E,v.push(S)}}let x;if(v.length===0)x="{}";else{let w;if(c==="")w=v.join(","),x="{"+w+"}";else{let E=`, +`))}function c(p,b,g,O){const y=g.enter("tableCell"),v=g.enter("phrasing"),x=g.containerPhrasing(p,{...O,before:s,after:s});return v(),y(),x}function u(p,b){return PUe(p,{align:b,alignDelimiters:i,padding:n,stringLength:r})}function d(p,b,g){const O=p.children;let y=-1;const v=[],x=b.enter("table");for(;++y0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const Qze={tokenize:Hze,partial:!0};function Bze(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Vze,continuation:{tokenize:qze},exit:Xze}},text:{91:{name:"gfmFootnoteCall",tokenize:zze},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Fze,resolveTo:Uze}}}}function Fze(e,t,n){const i=this;let r=i.events.length;const s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a;for(;r--;){const c=i.events[r][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 o;function o(c){if(!a||!a._balanced)return n(c);const u=xc(i.sliceSerialize({start:a.end,end:i.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function Uze(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function zze(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s=0,a;return o;function o(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),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(s>999||f===93&&!a||f===null||f===91||Hi(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return r.includes(xc(i.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return Hi(f)||(a=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function Vze(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let s,a=0,o;return c;function c(b){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(b){return b===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(b)}function d(b){if(a>999||b===93&&!o||b===null||b===91||Hi(b))return n(b);if(b===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=xc(i.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return Hi(b)||(o=!0),a++,e.consume(b),b===92?f:d}function f(b){return b===91||b===92||b===93?(e.consume(b),a++,d):d(b)}function h(b){return b===58?(e.enter("definitionMarker"),e.consume(b),e.exit("definitionMarker"),r.includes(s)||r.push(s),ai(e,p,"gfmFootnoteDefinitionWhitespace")):n(b)}function p(b){return t(b)}}function qze(e,t,n){return e.check(zv,t,e.attempt(Qze,t,n))}function Xze(e){e.exit("gfmFootnoteDefinition")}function Hze(e,t,n){const i=this;return ai(e,r,"gfmFootnoteDefinitionIndent",5);function r(s){const a=i.events[i.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):n(s)}}function Gze(e){let n=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:s,resolveAll:r};return n==null&&(n=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function r(a,o){let c=-1;for(;++c1?c(b):(a.consume(b),f++,p);if(f<2&&!n)return c(b);const O=a.exit("strikethroughSequenceTemporary"),y=Ob(b);return O._open=!y||y===2&&!!g,O._close=!g||g===2&&!!y,o(b)}}}class Yze{constructor(){this.map=[]}add(t,n,i){Wze(this,t,n,i)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const i=[];for(;n>0;)n-=1,i.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];i.push(t.slice()),t.length=0;let r=i.pop();for(;r;){for(const s of r)t.push(s);r=i.pop()}this.map.length=0}}function Wze(e,t,n,i){let r=0;if(!(n===0&&i.length===0)){for(;r-1;){const D=i.events[N][1].type;if(D==="lineEnding"||D==="linePrefix")N--;else break}const P=N>-1?i.events[N][1].type:null,Q=P==="tableHead"||P==="tableRow"?S:c;return Q===S&&i.parser.lazy[i.now().line]?n(A):Q(A)}function c(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(a=!0,s+=1),d(A)}function d(A){return A===null?n(A):Kt(A)?s>1?(s=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),p):n(A):Bn(A)?ai(e,d,"whitespace")(A):(s+=1,a&&(a=!1,r+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(A)))}function f(A){return A===null||A===124||Hi(A)?(e.exit("data"),d(A)):(e.consume(A),A===92?h:f)}function h(A){return A===92||A===124?(e.consume(A),f):f(A)}function p(A){return i.interrupt=!1,i.parser.lazy[i.now().line]?n(A):(e.enter("tableDelimiterRow"),a=!1,Bn(A)?ai(e,b,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):b(A))}function b(A){return A===45||A===58?O(A):A===124?(a=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),g):E(A)}function g(A){return Bn(A)?ai(e,O,"whitespace")(A):O(A)}function O(A){return A===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),y):A===45?(s+=1,y(A)):A===null||Kt(A)?w(A):E(A)}function y(A){return A===45?(e.enter("tableDelimiterFiller"),v(A)):E(A)}function v(A){return A===45?(e.consume(A),v):A===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(A))}function x(A){return Bn(A)?ai(e,w,"whitespace")(A):w(A)}function w(A){return A===124?b(A):A===null||Kt(A)?!a||r!==s?E(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):E(A)}function E(A){return n(A)}function S(A){return e.enter("tableRow"),k(A)}function k(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),k):A===null||Kt(A)?(e.exit("tableRow"),t(A)):Bn(A)?ai(e,k,"whitespace")(A):(e.enter("data"),T(A))}function T(A){return A===null||A===124||Hi(A)?(e.exit("data"),k(A)):(e.consume(A),A===92?C:T)}function C(A){return A===92||A===124?(e.consume(A),T):T(A)}}function eVe(e,t){let n=-1,i=!0,r=0,s=[0,0,0,0],a=[0,0,0,0],o=!1,c=0,u,d,f;const h=new Yze;for(;++nn[2]+1){const b=n[2]+1,g=n[3]-n[2]-1;e.add(b,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return r!==void 0&&(s.end=Object.assign({},Ig(t.events,r)),e.add(r,0,[["exit",s,t]]),s=void 0),s}function xV(e,t,n,i,r){const s=[],a=Ig(t.events,n);r&&(r.end=Object.assign({},a),s.push(["exit",r,t])),i.end=Object.assign({},a),s.push(["exit",i,t]),e.add(n+1,0,s)}function Ig(e,t){const n=e[t],i=n[0]==="enter"?"start":"end";return n[1][i]}const tVe={name:"tasklistCheck",tokenize:iVe};function nVe(){return{text:{91:tVe}}}function iVe(e,t,n){const i=this;return r;function r(c){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),s)}function s(c){return Hi(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"),o):n(c)}function o(c){return Kt(c)?t(c):Bn(c)?e.check({tokenize:rVe},t,n)(c):n(c)}}function rVe(e,t,n){return ai(e,i,"whitespace");function i(r){return r===null?n(r):t(r)}}function sVe(e){return tle([Nze(),Bze(),Gze(e),Kze(),nVe()])}const aVe={};function oVe(e){const t=this,n=e||aVe,i=t.data(),r=i.micromarkExtensions||(i.micromarkExtensions=[]),s=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),a=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);r.push(sVe(n)),s.push(Tze()),a.push(_ze(n))}const vV=function(e,t,n){const i=Vv(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 Gle(e,t,n){return e.type==="element"?mVe(e,t,n):e.type==="text"?n.whitespace==="normal"?Yle(e,n):gVe(e):[]}function mVe(e,t,n){const i=Wle(e,n),r=e.children||[];let s=-1,a=[];if(hVe(e))return a;let o,c;for(jM(e)||kV(e)&&vV(t,e,kV)?c=` +`:fVe(e)?(o=2,c=2):Hle(e)&&(o=1,c=1);++s]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",b=["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"],O=["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:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:O},E={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[E,f,o,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},T={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:w,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function SVe(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=wVe(e),i=n.keywords;return i.type=[...i.type,...t.type],i.literal=[...i.literal,...t.literal],i.built_in=[...i.built_in,...t.built_in],i._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function Zle(e){const t=e.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(o);const 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"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),b={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"],O=["true","false"],y={match:/(\/[a-z._-]+)+/},v=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],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"],E=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:O,built_in:[...v,...x,"set","shopt",...w,...E]},contains:[p,e.SHEBANG(),b,f,s,a,y,o,c,u,d,n]}}function EVe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",O={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,o,n,e.C_BLOCK_COMMENT_MODE,d,u],v={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:O,contains:y.concat([{begin:/\(/,end:/\)/,keywords:O,contains:y.concat(["self"]),relevance:0}]),relevance:0},x={begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:O,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:O,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:O,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:O,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:O,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:O}}}function kVe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="(?!struct)("+i+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0},p=t.optional(r)+e.IDENT_RE+"\\s*\\(",b=["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"],O=["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:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:O},E={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[E,f,o,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},T={className:"function",begin:"("+a+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:w,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,o,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function TVe(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:t,literal:i},o=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),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},p=e.inherit(h,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},O=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,b,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],p.contains=[O,b,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const y={variants:[u,g,b,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},v={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},x=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"},o,v,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,v,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+x+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,v],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 _Ve=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_-]*/}}),AVe=["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"],CVe=["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"],NVe=[...AVe,...CVe],jVe=["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(),RVe=["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(),IVe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),DVe=["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 PVe(e){const t=e.regex,n=_Ve(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+RVe.join("|")+")"},{begin:":(:)?("+IVe.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+DVe.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:jVe.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+NVe.join("|")+")\\b"}]}}function MVe(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 LVe(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"Jle(e,t,n-1))}function QVe(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",i=n+Jle("(?:<"+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:["(?:"+i+"\\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,TV,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},TV,u]}}const _V="[A-Za-z$_][0-9A-Za-z$_]*",BVe=["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"],FVe=["true","false","null","undefined","NaN","Infinity"],ece=["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"],tce=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],nce=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],UVe=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],zVe=[].concat(nce,ece,tce);function ice(e){const t=e.regex,n=(F,{after:B})=>{const M="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(F,B)=>{const M=F[0].length+F.index,Y=F.input[M];if(Y==="<"||Y===","){B.ignoreMatch();return}Y===">"&&(n(F,{after:M})||B.ignoreMatch());let q;const U=F.input.substring(M);if(q=U.match(/^\s*=/)){B.ignoreMatch();return}if((q=U.match(/^\s+extends\s+/))&&q.index===0){B.ignoreMatch();return}}},o={$pattern:_V,keyword:BVe,literal:FVe,built_in:zVe,"variable.language":UVe},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:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},b={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"}},O={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},v={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const w=[].concat(v,h.contains),E=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},T={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:{_:[...ece,...tce]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function P(F){return t.concat("(?!",F.join("|"),")")}const Q={match:t.concat(/\b/,P([...nce,"super","import"].map(F=>`${F}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},j="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",I={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,v,{match:/\$\d+/},f,T,{scope:"attr",match:i+t.lookahead(":"),relevance:0},I,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:j,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},Q,N,k,$,{match:/\$[(.]/}]}}function rce(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var Pg="[0-9](_*[0-9])*",DS=`\\.(${Pg})`,PS="[0-9a-fA-F](_*[0-9a-fA-F])*",VVe={className:"number",variants:[{begin:`(\\b(${Pg})((${DS})|\\.)?|(${DS}))[eE][+-]?(${Pg})[fFdD]?\\b`},{begin:`\\b(${Pg})((${DS})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${DS})[fFdD]?\\b`},{begin:`\\b(${Pg})[fFdD]\\b`},{begin:`\\b0[xX]((${PS})\\.?|(${PS})?\\.(${PS}))[pP][+-]?(${Pg})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${PS})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function qVe(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);const o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=VVe,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,i,o,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,o,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},o,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},u]}}const XVe=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_-]*/}}),HVe=["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"],GVe=["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"],YVe=[...HVe,...GVe],WVe=["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(),sce=["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(),ace=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),ZVe=["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(),KVe=sce.concat(ace).sort().reverse();function JVe(e){const t=XVe(e),n=KVe,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],c=function(x){return{className:"string",begin:"~?"+x+".*?"+x}},u=function(x,w,E){return{className:x,begin:w,relevance:E}},d={$pattern:/[a-z-]+/,keyword:i,attribute:WVe.join(" ")},f={begin:"\\(",end:"\\)",contains:o,keywords:d,relevance:0};o.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","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=o.concat({begin:/\{/,end:/\}/,contains:a}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ZVe.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:o,relevance:0}},O={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:h}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+YVe.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+sce.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+ace.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},v={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,O,v,b,y,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function eqe(e){const t="\\[=*\\[",n="\\]=*\\]",i={begin:t,end:n,contains:["self"]},r=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[i],relevance:5}])}}function oce(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(y=>{y.contains=y.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,i,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function tqe(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function nqe(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},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:[o]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,O,y="\\1")=>{const v=y==="\\1"?y:t.concat(y,O);return t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,v,/(?:\\.|[^\\\/])*?/,y,i)},p=(g,O,y)=>t.concat(t.concat("(?:",g,")"),O,/(?:\\.|[^\\\/])*?/,y,i),b=[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:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=b,a.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}function iqe(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,i=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+i},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},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,$)=>{$.data._beginMatch=D[1]||D[2]},"on:end":(D,$)=>{$.data._beginMatch!==D[1]&&$.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ +]`,b={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},O=["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"],v=["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 $=[];return D.forEach(j=>{$.push(j),j.toLowerCase()===j?$.push(j.toUpperCase()):$.push(j.toLowerCase())}),$})(O),built_in:v},E=D=>D.map($=>$.replace(/\|\d+$/,"")),S={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",E(v).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(i,"\\b(?!\\()"),T={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(i,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:w,contains:[C,a,T,e.C_BLOCK_COMMENT_MODE,b,g,S]},N={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",E(y).join("\\b|"),"|",E(v).join("\\b|"),"\\b)"),i,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(N);const P=[C,T,e.C_BLOCK_COMMENT_MODE,b,g,S],Q={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:O,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:O,keyword:["new","array"]},contains:["self",...P]},...P,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:w,contains:[Q,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},a,N,T,{match:[/const/,/\s/,i],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",Q,a,T,e.C_BLOCK_COMMENT_MODE,b,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]},b,g]}}function rqe(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 sqe(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function cce(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,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])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,b=`\\b|${i.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${b})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${h})[jJ](?=${b})`}]},O={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,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:o,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,O,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 aqe(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function oqe(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function lqe(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=t.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:a},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},S=[f,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},b,{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 A=[{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(A).concat(u).concat(S)}}function cqe(e){const t=e.regex,n=/(r#)?/,i=t.concat(n,e.UNDERSCORE_IDENT_RE),r=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],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:o,literal:c,built_in:u},illegal:""},s]}}const uqe=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_-]*/}}),dqe=["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"],fqe=["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"],hqe=[...dqe,...fqe],pqe=["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(),mqe=["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(),gqe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),bqe=["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 Oqe(e){const t=uqe(e),n=gqe,i=mqe,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+hqe.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+bqe.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,o,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:pqe.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function yqe(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function xqe(e){const t=e.regex,n=e.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],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"],p=d,b=[...u,...c].filter(E=>!d.includes(E)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},O={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function v(E){return t.concat(/\b/,t.either(...E.map(S=>S.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:v(h),relevance:0};function w(E,{exceptions:S,when:k}={}){const T=k;return S=S||[],E.map(C=>C.match(/\|\d+$/)||S.includes(C)?C:T(C)?`${C}|0`:C)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:w(b,{when:E=>E.length<3}),literal:s,type:o,built_in:f},contains:[{scope:"type",match:v(a)},x,y,g,i,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,O]}}function uce(e){return e?typeof e=="string"?e:e.source:null}function sy(e){return Pi("(?=",e,")")}function Pi(...e){return e.map(n=>uce(n)).join("")}function vqe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Ra(...e){return"("+(vqe(e).capture?"":"?:")+e.map(i=>uce(i)).join("|")+")"}const Z4=e=>Pi(/\b/,e,/\w$/.test(e)?/\b/:/\B/),wqe=["Protocol","Type"].map(Z4),AV=["init","self"].map(Z4),Sqe=["Any","Self"],Zj=["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"],CV=["false","nil","true"],Eqe=["assignment","associativity","higherThan","left","lowerThan","none","right"],kqe=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],NV=["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"],dce=Ra(/[/=\-+!*%<>&|^~?]/,/[\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]/),fce=Ra(dce,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Kj=Pi(dce,fce,"*"),hce=Ra(/[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]/),YT=Ra(hce,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Wc=Pi(hce,YT,"*"),MS=Pi(/[A-Z]/,YT,"*"),Tqe=["attached","autoclosure",Pi(/convention\(/,Ra("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Pi(/objc\(/,Wc,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],_qe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Aqe(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[e.C_LINE_COMMENT_MODE,n],r={match:[/\./,Ra(...wqe,...AV)],className:{2:"keyword"}},s={match:Pi(/\./,Ra(...Zj)),relevance:0},a=Zj.filter(pe=>typeof pe=="string").concat(["_|0"]),o=Zj.filter(pe=>typeof pe!="string").concat(Sqe).map(Z4),c={variants:[{className:"keyword",match:Ra(...o,...AV)}]},u={$pattern:Ra(/\b\w+/,/#\w+/),keyword:a.concat(kqe),literal:CV},d=[r,s,c],f={match:Pi(/\./,Ra(...NV)),relevance:0},h={className:"built_in",match:Pi(/\b/,Ra(...NV),/(?=\()/)},p=[f,h],b={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:Kj},{match:`\\.(\\.|${fce})+`}]},O=[b,g],y="([0-9]_*)+",v="([0-9a-fA-F]_*)+",x={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${v})(\\.(${v}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},w=(pe="")=>({className:"subst",variants:[{match:Pi(/\\/,pe,/[0\\tnr"']/)},{match:Pi(/\\/,pe,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(pe="")=>({className:"subst",match:Pi(/\\/,pe,/[\t ]*(?:[\r\n]|\r\n)/)}),S=(pe="")=>({className:"subst",label:"interpol",begin:Pi(/\\/,pe,/\(/),end:/\)/}),k=(pe="")=>({begin:Pi(pe,/"""/),end:Pi(/"""/,pe),contains:[w(pe),E(pe),S(pe)]}),T=(pe="")=>({begin:Pi(pe,/"/),end:Pi(/"/,pe),contains:[w(pe),S(pe)]}),C={className:"string",variants:[k(),k("#"),k("##"),k("###"),T(),T("#"),T("##"),T("###")]},A=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],N={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:A},P=pe=>{const Se=Pi(pe,/\//),Oe=Pi(/\//,pe);return{begin:Se,end:Oe,contains:[...A,{scope:"comment",begin:`#(?!.*${Oe})`,end:/$/}]}},Q={scope:"regexp",variants:[P("###"),P("##"),P("#"),N]},D={match:Pi(/`/,Wc,/`/)},$={className:"variable",match:/\$\d+/},j={className:"variable",match:`\\$${YT}+`},I=[D,$,j],F={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:_qe,contains:[...O,x,C]}]}},B={scope:"keyword",match:Pi(/@/,Ra(...Tqe),sy(Ra(/\(/,/\s+/)))},M={scope:"meta",match:Pi(/@/,Wc)},Y=[F,B,M],q={match:sy(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Pi(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,YT,"+")},{className:"type",match:MS,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Pi(/\s+&\s+/,sy(MS)),relevance:0}]},U={begin://,keywords:u,contains:[...i,...d,...Y,b,q]};q.contains.push(U);const V={match:Pi(Wc,/\s*:/),keywords:"_|0",relevance:0},re={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",V,...i,Q,...d,...p,...O,x,C,...I,...Y,q]},de={begin://,keywords:"repeat each",contains:[...i,q]},be={begin:Ra(sy(Pi(Wc,/\s*:/)),sy(Pi(Wc,/\s+/,Wc,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Wc}]},ce={begin:/\(/,end:/\)/,keywords:u,contains:[be,...i,...d,...O,x,C,...Y,q,re],endsParent:!0,illegal:/["']/},K={match:[/(func|macro)/,/\s+/,Ra(D.match,Wc,Kj)],className:{1:"keyword",3:"title.function"},contains:[de,ce,t],illegal:[/\[/,/%/]},ee={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[de,ce,t],illegal:/\[|%/},me={match:[/operator/,/\s+/,Kj],className:{1:"keyword",3:"title"}},ve={begin:[/precedencegroup/,/\s+/,MS],className:{1:"keyword",3:"title"},contains:[q],keywords:[...Eqe,...CV],end:/}/},Ne={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Ie={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},De={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Wc,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[de,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:MS},...d],relevance:0}]};for(const pe of C.variants){const Se=pe.contains.find(Le=>Le.label==="interpol");Se.keywords=u;const Oe=[...d,...p,...O,x,C,...I];Se.contains=[...Oe,{begin:/\(/,end:/\)/,contains:["self",...Oe]}]}return{name:"Swift",keywords:u,contains:[...i,K,ee,Ne,Ie,De,me,ve,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},Q,...d,...p,...O,x,C,...I,...Y,q,re]}}const WT="[A-Za-z$_][0-9A-Za-z$_]*",pce=["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"],mce=["true","false","null","undefined","NaN","Infinity"],gce=["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"],bce=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Oce=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],yce=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],xce=[].concat(Oce,gce,bce);function Cqe(e){const t=e.regex,n=(F,{after:B})=>{const M="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(F,B)=>{const M=F[0].length+F.index,Y=F.input[M];if(Y==="<"||Y===","){B.ignoreMatch();return}Y===">"&&(n(F,{after:M})||B.ignoreMatch());let q;const U=F.input.substring(M);if(q=U.match(/^\s*=/)){B.ignoreMatch();return}if((q=U.match(/^\s+extends\s+/))&&q.index===0){B.ignoreMatch();return}}},o={$pattern:WT,keyword:pce,literal:mce,built_in:xce,"variable.language":yce},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:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},b={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"}},O={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},v={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,{match:/\$\d+/},f];h.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const w=[].concat(v,h.contains),E=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E},k={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,t.concat(i,"(",t.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},T={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:{_:[...gce,...bce]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function P(F){return t.concat("(?!",F.join("|"),")")}const Q={match:t.concat(/\b/,P([...Oce,"super","import"].map(F=>`${F}\\s*\\(`)),i,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},$={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},j="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",I={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(j)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:E,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,b,g,O,v,{match:/\$\d+/},f,T,{scope:"attr",match:i+t.lookahead(":"),relevance:0},I,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,e.REGEXP_MODE,{className:"function",begin:j,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:E}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},Q,N,k,$,{match:/\$[(.]/}]}}function vce(e){const t=e.regex,n=Cqe(e),i=WT,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:WT,keyword:pce.concat(c),literal:mce,built_in:xce.concat(r),"variable.language":yce},d={className:"meta",begin:"@"+i},f=(g,O,y)=>{const v=g.contains.findIndex(x=>x.label===O);if(v===-1)throw new Error("can not find mode to replace");g.contains.splice(v,1,y)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(i,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,a,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",o);const b=n.contains.find(g=>g.label==="func.def");return b.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function Nqe(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,r),/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(s,r),/ +/,t.either(a,o),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,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 jqe(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),i=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},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:i},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,e.QUOTE_STRING_MODE,c,u,o]}}function Rqe(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),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:[s,c,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,c,o]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{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 wce(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},b={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},O=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},b,g,s,a],y=[...O];return y.pop(),y.push(o),p.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:O}}const Iqe={arduino:SVe,bash:Zle,c:EVe,cpp:kVe,csharp:TVe,css:PVe,diff:MVe,go:LVe,graphql:$Ve,ini:Kle,java:QVe,javascript:ice,json:rce,kotlin:qVe,less:JVe,lua:eqe,makefile:oce,markdown:lce,objectivec:tqe,perl:nqe,php:iqe,"php-template":rqe,plaintext:sqe,python:cce,"python-repl":aqe,r:oqe,ruby:lqe,rust:cqe,scss:Oqe,shell:yqe,sql:xqe,swift:Aqe,typescript:vce,vbnet:Nqe,wasm:jqe,xml:Rqe,yaml:wce};function Sce(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Sce(n)}),e}let jV=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Ece(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Gf(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(i){for(const r in i)n[r]=i[r]}),n}const Dqe="",RV=e=>!!e.scope,Pqe=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class Mqe{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Ece(t)}openNode(t){if(!RV(t))return;const n=Pqe(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){RV(t)&&(this.buffer+=Dqe)}value(){return this.buffer}span(t){this.buffer+=``}}const IV=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class K4{constructor(){this.rootNode=IV(),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=IV({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(i=>this._walk(t,i)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{K4._collapse(n)}))}}class Lqe extends K4{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const i=t.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new Mqe(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function j1(e){return e?typeof e=="string"?e:e.source:null}function kce(e){return Um("(?=",e,")")}function $qe(e){return Um("(?:",e,")*")}function Qqe(e){return Um("(?:",e,")?")}function Um(...e){return e.map(n=>j1(n)).join("")}function Bqe(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function J4(...e){return"("+(Bqe(e).capture?"":"?:")+e.map(i=>j1(i)).join("|")+")"}function Tce(e){return new RegExp(e.toString()+"|").exec("").length-1}function Fqe(e,t){const n=e&&e.exec(t);return n&&n.index===0}const Uqe=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function e6(e,{joinWith:t}){let n=0;return e.map(i=>{n+=1;const r=n;let s=j1(i),a="";for(;s.length>0;){const o=Uqe.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(t)}const zqe=/\b\B/,_ce="[a-zA-Z]\\w*",t6="[a-zA-Z_]\\w*",Ace="\\b\\d+(\\.\\d+)?",Cce="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Nce="\\b(0b[01]+)",Vqe="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",qqe=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Um(t,/.*\b/,e.binary,/\b.*/)),Gf({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},e)},R1={begin:"\\\\[\\s\\S]",relevance:0},Xqe={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[R1]},Hqe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[R1]},Gqe={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/},S2=function(e,t,n={}){const i=Gf({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=J4("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Um(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Yqe=S2("//","$"),Wqe=S2("/\\*","\\*/"),Zqe=S2("#","$"),Kqe={scope:"number",begin:Ace,relevance:0},Jqe={scope:"number",begin:Cce,relevance:0},eXe={scope:"number",begin:Nce,relevance:0},tXe={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[R1,{begin:/\[/,end:/\]/,relevance:0,contains:[R1]}]},nXe={scope:"title",begin:_ce,relevance:0},iXe={scope:"title",begin:t6,relevance:0},rXe={begin:"\\.\\s*"+t6,relevance:0},sXe=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 LS=Object.freeze({__proto__:null,APOS_STRING_MODE:Xqe,BACKSLASH_ESCAPE:R1,BINARY_NUMBER_MODE:eXe,BINARY_NUMBER_RE:Nce,COMMENT:S2,C_BLOCK_COMMENT_MODE:Wqe,C_LINE_COMMENT_MODE:Yqe,C_NUMBER_MODE:Jqe,C_NUMBER_RE:Cce,END_SAME_AS_BEGIN:sXe,HASH_COMMENT_MODE:Zqe,IDENT_RE:_ce,MATCH_NOTHING_RE:zqe,METHOD_GUARD:rXe,NUMBER_MODE:Kqe,NUMBER_RE:Ace,PHRASAL_WORDS_MODE:Gqe,QUOTE_STRING_MODE:Hqe,REGEXP_MODE:tXe,RE_STARTERS_RE:Vqe,SHEBANG:qqe,TITLE_MODE:nXe,UNDERSCORE_IDENT_RE:t6,UNDERSCORE_TITLE_MODE:iXe});function aXe(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function oXe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function lXe(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=aXe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function cXe(e,t){Array.isArray(e.illegal)&&(e.illegal=J4(...e.illegal))}function uXe(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 dXe(e,t){e.relevance===void 0&&(e.relevance=1)}const fXe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=n.keywords,e.begin=Um(n.beforeMatch,kce(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},hXe=["of","and","for","in","not","or","if","then","parent","list","value"],pXe="keyword";function jce(e,t,n=pXe){const i=Object.create(null);return typeof e=="string"?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach(function(s){Object.assign(i,jce(e[s],t,s))}),i;function r(s,a){t&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){const c=o.split("|");i[c[0]]=[s,mXe(c[0],c[1])]})}}function mXe(e,t){return t?Number(t):gXe(e)?0:1}function gXe(e){return hXe.includes(e.toLowerCase())}const DV={},em=e=>{console.error(e)},PV=(e,...t)=>{console.log(`WARN: ${e}`,...t)},mg=(e,t)=>{DV[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),DV[`${e}/${t}`]=!0)},ZT=new Error;function Rce(e,t,{key:n}){let i=0;const r=e[n],s={},a={};for(let o=1;o<=t.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=Tce(t[o-1]);e[n]=a,e[n]._emit=s,e[n]._multi=!0}function bXe(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw em("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ZT;if(typeof e.beginScope!="object"||e.beginScope===null)throw em("beginScope must be object"),ZT;Rce(e,e.begin,{key:"beginScope"}),e.begin=e6(e.begin,{joinWith:""})}}function OXe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw em("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ZT;if(typeof e.endScope!="object"||e.endScope===null)throw em("endScope must be object"),ZT;Rce(e,e.end,{key:"endScope"}),e.end=e6(e.end,{joinWith:""})}}function yXe(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function xXe(e){yXe(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),bXe(e),OXe(e)}function vXe(e){function t(a,o){return new RegExp(j1(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=Tce(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(c=>c[1]);this.matcherRe=t(e6(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(o);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 i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const c=new n;return this.rules.slice(o).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(o);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(o)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(a){const o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){const c=a;if(a.isCompiled)return c;[oXe,uXe,xXe,fXe].forEach(d=>d(a,o)),e.compilerExtensions.forEach(d=>d(a,o)),a.__beforeBegin=null,[lXe,cXe,dXe].forEach(d=>d(a,o)),a.isCompiled=!0;let u=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),u=a.keywords.$pattern,delete a.keywords.$pattern),u=u||/\w+/,a.keywords&&(a.keywords=jce(a.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),o&&(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=j1(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return wXe(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,c)}),a.starts&&s(a.starts,o),c.matcher=r(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=Gf(e.classNameAliases||{}),s(e)}function Ice(e){return e?e.endsWithParent||Ice(e.starts):!1}function wXe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Gf(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Ice(e)?Gf(e,{starts:e.starts?Gf(e.starts):null}):Object.isFrozen(e)?Gf(e):e}var SXe="11.11.1";class EXe extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const Jj=Ece,MV=Gf,LV=Symbol("nomatch"),kXe=7,Dce=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Lqe};function c(j){return o.noHighlightRe.test(j)}function u(j){let I=j.className+" ";I+=j.parentNode?j.parentNode.className:"";const F=o.languageDetectRe.exec(I);if(F){const B=T(F[1]);return B||(PV(s.replace("{}",F[1])),PV("Falling back to no-highlight mode for this block.",j)),B?F[1]:"no-highlight"}return I.split(/\s+/).find(B=>c(B)||T(B))}function d(j,I,F){let B="",M="";typeof I=="object"?(B=j,F=I.ignoreIllegals,M=I.language):(mg("10.7.0","highlight(lang, code, ...args) has been deprecated."),mg("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),M=j,B=I),F===void 0&&(F=!0);const Y={code:B,language:M};D("before:highlight",Y);const q=Y.result?Y.result:f(Y.language,Y.code,F);return q.code=Y.code,D("after:highlight",q),q}function f(j,I,F,B){const M=Object.create(null);function Y(Z,ie){return Z.keywords[ie]}function q(){if(!Oe.keywords){Fe.addText(Te);return}let Z=0;Oe.keywordPatternRe.lastIndex=0;let ie=Oe.keywordPatternRe.exec(Te),ue="";for(;ie;){ue+=Te.substring(Z,ie.index);const ye=De.case_insensitive?ie[0].toLowerCase():ie[0],z=Y(Oe,ye);if(z){const[je,We]=z;if(Fe.addText(ue),ue="",M[ye]=(M[ye]||0)+1,M[ye]<=kXe&&(Ue+=We),je.startsWith("_"))ue+=ie[0];else{const et=De.classNameAliases[je]||je;re(ie[0],et)}}else ue+=ie[0];Z=Oe.keywordPatternRe.lastIndex,ie=Oe.keywordPatternRe.exec(Te)}ue+=Te.substring(Z),Fe.addText(ue)}function U(){if(Te==="")return;let Z=null;if(typeof Oe.subLanguage=="string"){if(!t[Oe.subLanguage]){Fe.addText(Te);return}Z=f(Oe.subLanguage,Te,!0,Le[Oe.subLanguage]),Le[Oe.subLanguage]=Z._top}else Z=p(Te,Oe.subLanguage.length?Oe.subLanguage:null);Oe.relevance>0&&(Ue+=Z.relevance),Fe.__addSublanguage(Z._emitter,Z.language)}function V(){Oe.subLanguage!=null?U():q(),Te=""}function re(Z,ie){Z!==""&&(Fe.startScope(ie),Fe.addText(Z),Fe.endScope())}function de(Z,ie){let ue=1;const ye=ie.length-1;for(;ue<=ye;){if(!Z._emit[ue]){ue++;continue}const z=De.classNameAliases[Z[ue]]||Z[ue],je=ie[ue];z?re(je,z):(Te=je,q(),Te=""),ue++}}function be(Z,ie){return Z.scope&&typeof Z.scope=="string"&&Fe.openNode(De.classNameAliases[Z.scope]||Z.scope),Z.beginScope&&(Z.beginScope._wrap?(re(Te,De.classNameAliases[Z.beginScope._wrap]||Z.beginScope._wrap),Te=""):Z.beginScope._multi&&(de(Z.beginScope,ie),Te="")),Oe=Object.create(Z,{parent:{value:Oe}}),Oe}function ce(Z,ie,ue){let ye=Fqe(Z.endRe,ue);if(ye){if(Z["on:end"]){const z=new jV(Z);Z["on:end"](ie,z),z.isMatchIgnored&&(ye=!1)}if(ye){for(;Z.endsParent&&Z.parent;)Z=Z.parent;return Z}}if(Z.endsWithParent)return ce(Z.parent,ie,ue)}function K(Z){return Oe.matcher.regexIndex===0?(Te+=Z[0],1):(Ye=!0,0)}function ee(Z){const ie=Z[0],ue=Z.rule,ye=new jV(ue),z=[ue.__beforeBegin,ue["on:begin"]];for(const je of z)if(je&&(je(Z,ye),ye.isMatchIgnored))return K(ie);return ue.skip?Te+=ie:(ue.excludeBegin&&(Te+=ie),V(),!ue.returnBegin&&!ue.excludeBegin&&(Te=ie)),be(ue,Z),ue.returnBegin?0:ie.length}function me(Z){const ie=Z[0],ue=I.substring(Z.index),ye=ce(Oe,Z,ue);if(!ye)return LV;const z=Oe;Oe.endScope&&Oe.endScope._wrap?(V(),re(ie,Oe.endScope._wrap)):Oe.endScope&&Oe.endScope._multi?(V(),de(Oe.endScope,Z)):z.skip?Te+=ie:(z.returnEnd||z.excludeEnd||(Te+=ie),V(),z.excludeEnd&&(Te=ie));do Oe.scope&&Fe.closeNode(),!Oe.skip&&!Oe.subLanguage&&(Ue+=Oe.relevance),Oe=Oe.parent;while(Oe!==ye.parent);return ye.starts&&be(ye.starts,Z),z.returnEnd?0:ie.length}function ve(){const Z=[];for(let ie=Oe;ie!==De;ie=ie.parent)ie.scope&&Z.unshift(ie.scope);Z.forEach(ie=>Fe.openNode(ie))}let Ne={};function Ie(Z,ie){const ue=ie&&ie[0];if(Te+=Z,ue==null)return V(),0;if(Ne.type==="begin"&&ie.type==="end"&&Ne.index===ie.index&&ue===""){if(Te+=I.slice(ie.index,ie.index+1),!r){const ye=new Error(`0 width match regex (${j})`);throw ye.languageName=j,ye.badRule=Ne.rule,ye}return 1}if(Ne=ie,ie.type==="begin")return ee(ie);if(ie.type==="illegal"&&!F){const ye=new Error('Illegal lexeme "'+ue+'" for mode "'+(Oe.scope||"")+'"');throw ye.mode=Oe,ye}else if(ie.type==="end"){const ye=me(ie);if(ye!==LV)return ye}if(ie.type==="illegal"&&ue==="")return Te+=` +`,1;if(Bt>1e5&&Bt>ie.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Te+=ue,ue.length}const De=T(j);if(!De)throw em(s.replace("{}",j)),new Error('Unknown language: "'+j+'"');const pe=vXe(De);let Se="",Oe=B||pe;const Le={},Fe=new o.__emitter(o);ve();let Te="",Ue=0,ot=0,Bt=0,Ye=!1;try{if(De.__emitTokens)De.__emitTokens(I,Fe);else{for(Oe.matcher.considerAll();;){Bt++,Ye?Ye=!1:Oe.matcher.considerAll(),Oe.matcher.lastIndex=ot;const Z=Oe.matcher.exec(I);if(!Z)break;const ie=I.substring(ot,Z.index),ue=Ie(ie,Z);ot=Z.index+ue}Ie(I.substring(ot))}return Fe.finalize(),Se=Fe.toHTML(),{language:j,value:Se,relevance:Ue,illegal:!1,_emitter:Fe,_top:Oe}}catch(Z){if(Z.message&&Z.message.includes("Illegal"))return{language:j,value:Jj(I),illegal:!0,relevance:0,_illegalBy:{message:Z.message,index:ot,context:I.slice(ot-100,ot+100),mode:Z.mode,resultSoFar:Se},_emitter:Fe};if(r)return{language:j,value:Jj(I),illegal:!1,relevance:0,errorRaised:Z,_emitter:Fe,_top:Oe};throw Z}}function h(j){const I={value:Jj(j),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return I._emitter.addText(j),I}function p(j,I){I=I||o.languages||Object.keys(t);const F=h(j),B=I.filter(T).filter(A).map(V=>f(V,j,!1));B.unshift(F);const M=B.sort((V,re)=>{if(V.relevance!==re.relevance)return re.relevance-V.relevance;if(V.language&&re.language){if(T(V.language).supersetOf===re.language)return 1;if(T(re.language).supersetOf===V.language)return-1}return 0}),[Y,q]=M,U=Y;return U.secondBest=q,U}function b(j,I,F){const B=I&&n[I]||F;j.classList.add("hljs"),j.classList.add(`language-${B}`)}function g(j){let I=null;const F=u(j);if(c(F))return;if(D("before:highlightElement",{el:j,language:F}),j.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",j);return}if(j.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(j)),o.throwUnescapedHTML))throw new EXe("One of your code blocks includes unescaped HTML.",j.innerHTML);I=j;const B=I.textContent,M=F?d(B,{language:F,ignoreIllegals:!0}):p(B);j.innerHTML=M.value,j.dataset.highlighted="yes",b(j,F,M.language),j.result={language:M.language,re:M.relevance,relevance:M.relevance},M.secondBest&&(j.secondBest={language:M.secondBest.language,relevance:M.secondBest.relevance}),D("after:highlightElement",{el:j,result:M,text:B})}function O(j){o=MV(o,j)}const y=()=>{w(),mg("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function v(){w(),mg("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function w(){function j(){w()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",j,!1),x=!0;return}document.querySelectorAll(o.cssSelector).forEach(g)}function E(j,I){let F=null;try{F=I(e)}catch(B){if(em("Language definition for '{}' could not be registered.".replace("{}",j)),r)em(B);else throw B;F=a}F.name||(F.name=j),t[j]=F,F.rawDefinition=I.bind(null,e),F.aliases&&C(F.aliases,{languageName:j})}function S(j){delete t[j];for(const I of Object.keys(n))n[I]===j&&delete n[I]}function k(){return Object.keys(t)}function T(j){return j=(j||"").toLowerCase(),t[j]||t[n[j]]}function C(j,{languageName:I}){typeof j=="string"&&(j=[j]),j.forEach(F=>{n[F.toLowerCase()]=I})}function A(j){const I=T(j);return I&&!I.disableAutodetect}function N(j){j["before:highlightBlock"]&&!j["before:highlightElement"]&&(j["before:highlightElement"]=I=>{j["before:highlightBlock"](Object.assign({block:I.el},I))}),j["after:highlightBlock"]&&!j["after:highlightElement"]&&(j["after:highlightElement"]=I=>{j["after:highlightBlock"](Object.assign({block:I.el},I))})}function P(j){N(j),i.push(j)}function Q(j){const I=i.indexOf(j);I!==-1&&i.splice(I,1)}function D(j,I){const F=j;i.forEach(function(B){B[F]&&B[F](I)})}function $(j){return mg("10.7.0","highlightBlock will be removed entirely in v12.0"),mg("10.7.0","Please use highlightElement now."),g(j)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:w,highlightElement:g,highlightBlock:$,configure:O,initHighlighting:y,initHighlightingOnLoad:v,registerLanguage:E,unregisterLanguage:S,listLanguages:k,getLanguage:T,registerAliases:C,autoDetection:A,inherit:MV,addPlugin:P,removePlugin:Q}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=SXe,e.regex={concat:Um,lookahead:kce,either:J4,optional:Qqe,anyNumberOfTimes:$qe};for(const j in LS)typeof LS[j]=="object"&&Sce(LS[j]);return Object.assign(e,LS),e},xb=Dce({});xb.newInstance=()=>Dce({});var TXe=xb;xb.HighlightJS=xb;xb.default=xb;const bo=Pb(TXe),$V={},_Xe="hljs-";function AXe(e){const t=bo.newInstance();return e&&s(e),{highlight:n,highlightAuto:i,listLanguages:r,register:s,registerAlias:a,registered:o};function n(c,u,d){const f=d||$V,h=typeof f.prefix=="string"?f.prefix:_Xe;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:CXe,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:c});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const b=p._emitter.root,g=b.data;return g.language=p.language,g.relevance=p.relevance,b}function i(c,u){const f=(u||$V).subset||r();let h=-1,p=0,b;for(;++hp&&(p=O.data.relevance,b=O)}return b||{type:"root",children:[],data:{language:void 0,relevance:p}}}function r(){return t.listLanguages()}function s(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 o(c){return!!t.getLanguage(c)}}class CXe{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],i=n.children[n.children.length-1];i&&i.type==="text"?i.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const i=this.stack[this.stack.length-1],r=t.root.children;n?i.children.push({type:"element",tagName:"span",properties:{className:[n]},children:r}):i.children.push(...r)}openNode(t){const n=this,i=t.split(".").map(function(a,o){return o?a+"_".repeat(o):n.options.classPrefix+a}),r=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:i},children:[]};r.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const NXe={};function QV(e){const t=e||NXe,n=t.aliases,i=t.detect||!1,r=t.languages||Iqe,s=t.plainText,a=t.prefix,o=t.subset;let c="hljs";const u=AXe(r);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");c=d===-1?a:a.slice(0,d)}return function(d,f){qv(d,"element",function(h,p,b){if(h.tagName!=="code"||!b||b.type!=="element"||b.tagName!=="pre")return;const g=jXe(h);if(g===!1||!g&&!i||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const O=pVe(h,{whitespace:"pre"});let y;try{y=g?u.highlight(g,O,{prefix:a}):u.highlightAuto(O,{prefix:a,subset:o})}catch(v){const x=v;if(g&&/Unknown language/.test(x.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[b,h],cause:x,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw x}!g&&y.data&&y.data.language&&h.properties.className.push("language-"+y.data.language),y.children.length>0&&(h.children=y.children)})}}function jXe(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let i;for(;++n-1&&s<=t.length){let a=0;for(;;){let o=n[a];if(o===void 0){const c=UV(t,n[a-1]);o=c===-1?t.length+1:c+1,n[a]=o}if(o>s)return{line:a+1,column:s-(a>0?n[a-1]:0)+1,offset:s};a++}}}function r(s){if(s&&typeof s.line=="number"&&typeof s.column=="number"&&!Number.isNaN(s.line)&&!Number.isNaN(s.column)){for(;n.length1?n[s.line-2]:0)+s.column-1;if(a=55296&&e<=57343}function iHe(e){return e>=56320&&e<=57343}function rHe(e,t){return(e-55296)*1024+9216+t}function Bce(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function Fce(e){return e>=64976&&e<=65007||nHe.has(e)}var Me;(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"})(Me||(Me={}));const sHe=65536;class aHe{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=sHe,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){const{line:i,col:r,offset:s}=this,a=r+n,o=s+n;return{code:t,startLine:i,endLine:i,startCol:a,endCol:a,startOffset:o,endOffset:o}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const n=this.html.charCodeAt(this.pos+1);if(iHe(n))return this.pos++,this._addGap(),rHe(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,J.EOF;return this._err(Me.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let i=0;i=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,J.EOF;const i=this.html.charCodeAt(n);return i===J.CARRIAGE_RETURN?J.LINE_FEED:i}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,J.EOF;let t=this.html.charCodeAt(this.pos);return t===J.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,J.LINE_FEED):t===J.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Qce(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===J.LINE_FEED||t===J.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Bce(t)?this._err(Me.controlCharacterInInputStream):Fce(t)&&this._err(Me.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 oHe=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))),lHe=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 cHe(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=lHe.get(e))!==null&&t!==void 0?t:e}var Fs;(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"})(Fs||(Fs={}));const uHe=32;var Yf;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Yf||(Yf={}));function IM(e){return e>=Fs.ZERO&&e<=Fs.NINE}function dHe(e){return e>=Fs.UPPER_A&&e<=Fs.UPPER_F||e>=Fs.LOWER_A&&e<=Fs.LOWER_F}function fHe(e){return e>=Fs.UPPER_A&&e<=Fs.UPPER_Z||e>=Fs.LOWER_A&&e<=Fs.LOWER_Z||IM(e)}function hHe(e){return e===Fs.EQUALS||fHe(e)}var Is;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Is||(Is={}));var cd;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(cd||(cd={}));class pHe{constructor(t,n,i){this.decodeTree=t,this.emitCodePoint=n,this.errors=i,this.state=Is.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=cd.Strict}startEntity(t){this.decodeMode=t,this.state=Is.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case Is.EntityStart:return t.charCodeAt(n)===Fs.NUM?(this.state=Is.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=Is.NamedEntity,this.stateNamedEntity(t,n));case Is.NumericStart:return this.stateNumericStart(t,n);case Is.NumericDecimal:return this.stateNumericDecimal(t,n);case Is.NumericHex:return this.stateNumericHex(t,n);case Is.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|uHe)===Fs.LOWER_X?(this.state=Is.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=Is.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,i,r){if(n!==i){const s=i-n;this.result=this.result*Math.pow(r,s)+Number.parseInt(t.substr(n,s),r),this.consumed+=s}}stateNumericHex(t,n){const i=n;for(;n>14;for(;n>14,s!==0){if(a===Fs.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==cd.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:i}=this,r=(i[n]&Yf.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,r,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,i){const{decodeTree:r}=this;return this.emitCodePoint(n===1?r[t]&~Yf.VALUE_LENGTH:r[t+1],i),n===3&&this.emitCodePoint(r[t+2],i),i}end(){var t;switch(this.state){case Is.NamedEntity:return this.result!==0&&(this.decodeMode!==cd.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Is.NumericDecimal:return this.emitNumericEntity(0,2);case Is.NumericHex:return this.emitNumericEntity(0,3);case Is.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Is.EntityStart:return 0}}}function mHe(e,t,n,i){const r=(t&Yf.BRANCH_LENGTH)>>7,s=t&Yf.JUMP_TABLE;if(r===0)return s!==0&&i===s?n:-1;if(s){const c=i-s;return c<0||c>=r?-1:e[n+c]-1}let a=n,o=a+r-1;for(;a<=o;){const c=a+o>>>1,u=e[c];if(ui)o=c-1;else return e[c+r]}return-1}var Je;(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/"})(Je||(Je={}));var tm;(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"})(tm||(tm={}));var Sl;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(Sl||(Sl={}));var ke;(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"})(ke||(ke={}));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 gHe=new Map([[ke.A,_.A],[ke.ADDRESS,_.ADDRESS],[ke.ANNOTATION_XML,_.ANNOTATION_XML],[ke.APPLET,_.APPLET],[ke.AREA,_.AREA],[ke.ARTICLE,_.ARTICLE],[ke.ASIDE,_.ASIDE],[ke.B,_.B],[ke.BASE,_.BASE],[ke.BASEFONT,_.BASEFONT],[ke.BGSOUND,_.BGSOUND],[ke.BIG,_.BIG],[ke.BLOCKQUOTE,_.BLOCKQUOTE],[ke.BODY,_.BODY],[ke.BR,_.BR],[ke.BUTTON,_.BUTTON],[ke.CAPTION,_.CAPTION],[ke.CENTER,_.CENTER],[ke.CODE,_.CODE],[ke.COL,_.COL],[ke.COLGROUP,_.COLGROUP],[ke.DD,_.DD],[ke.DESC,_.DESC],[ke.DETAILS,_.DETAILS],[ke.DIALOG,_.DIALOG],[ke.DIR,_.DIR],[ke.DIV,_.DIV],[ke.DL,_.DL],[ke.DT,_.DT],[ke.EM,_.EM],[ke.EMBED,_.EMBED],[ke.FIELDSET,_.FIELDSET],[ke.FIGCAPTION,_.FIGCAPTION],[ke.FIGURE,_.FIGURE],[ke.FONT,_.FONT],[ke.FOOTER,_.FOOTER],[ke.FOREIGN_OBJECT,_.FOREIGN_OBJECT],[ke.FORM,_.FORM],[ke.FRAME,_.FRAME],[ke.FRAMESET,_.FRAMESET],[ke.H1,_.H1],[ke.H2,_.H2],[ke.H3,_.H3],[ke.H4,_.H4],[ke.H5,_.H5],[ke.H6,_.H6],[ke.HEAD,_.HEAD],[ke.HEADER,_.HEADER],[ke.HGROUP,_.HGROUP],[ke.HR,_.HR],[ke.HTML,_.HTML],[ke.I,_.I],[ke.IMG,_.IMG],[ke.IMAGE,_.IMAGE],[ke.INPUT,_.INPUT],[ke.IFRAME,_.IFRAME],[ke.KEYGEN,_.KEYGEN],[ke.LABEL,_.LABEL],[ke.LI,_.LI],[ke.LINK,_.LINK],[ke.LISTING,_.LISTING],[ke.MAIN,_.MAIN],[ke.MALIGNMARK,_.MALIGNMARK],[ke.MARQUEE,_.MARQUEE],[ke.MATH,_.MATH],[ke.MENU,_.MENU],[ke.META,_.META],[ke.MGLYPH,_.MGLYPH],[ke.MI,_.MI],[ke.MO,_.MO],[ke.MN,_.MN],[ke.MS,_.MS],[ke.MTEXT,_.MTEXT],[ke.NAV,_.NAV],[ke.NOBR,_.NOBR],[ke.NOFRAMES,_.NOFRAMES],[ke.NOEMBED,_.NOEMBED],[ke.NOSCRIPT,_.NOSCRIPT],[ke.OBJECT,_.OBJECT],[ke.OL,_.OL],[ke.OPTGROUP,_.OPTGROUP],[ke.OPTION,_.OPTION],[ke.P,_.P],[ke.PARAM,_.PARAM],[ke.PLAINTEXT,_.PLAINTEXT],[ke.PRE,_.PRE],[ke.RB,_.RB],[ke.RP,_.RP],[ke.RT,_.RT],[ke.RTC,_.RTC],[ke.RUBY,_.RUBY],[ke.S,_.S],[ke.SCRIPT,_.SCRIPT],[ke.SEARCH,_.SEARCH],[ke.SECTION,_.SECTION],[ke.SELECT,_.SELECT],[ke.SOURCE,_.SOURCE],[ke.SMALL,_.SMALL],[ke.SPAN,_.SPAN],[ke.STRIKE,_.STRIKE],[ke.STRONG,_.STRONG],[ke.STYLE,_.STYLE],[ke.SUB,_.SUB],[ke.SUMMARY,_.SUMMARY],[ke.SUP,_.SUP],[ke.TABLE,_.TABLE],[ke.TBODY,_.TBODY],[ke.TEMPLATE,_.TEMPLATE],[ke.TEXTAREA,_.TEXTAREA],[ke.TFOOT,_.TFOOT],[ke.TD,_.TD],[ke.TH,_.TH],[ke.THEAD,_.THEAD],[ke.TITLE,_.TITLE],[ke.TR,_.TR],[ke.TRACK,_.TRACK],[ke.TT,_.TT],[ke.U,_.U],[ke.UL,_.UL],[ke.SVG,_.SVG],[ke.VAR,_.VAR],[ke.WBR,_.WBR],[ke.XMP,_.XMP]]);function uO(e){var t;return(t=gHe.get(e))!==null&&t!==void 0?t:_.UNKNOWN}const it=_,bHe={[Je.HTML]:new Set([it.ADDRESS,it.APPLET,it.AREA,it.ARTICLE,it.ASIDE,it.BASE,it.BASEFONT,it.BGSOUND,it.BLOCKQUOTE,it.BODY,it.BR,it.BUTTON,it.CAPTION,it.CENTER,it.COL,it.COLGROUP,it.DD,it.DETAILS,it.DIR,it.DIV,it.DL,it.DT,it.EMBED,it.FIELDSET,it.FIGCAPTION,it.FIGURE,it.FOOTER,it.FORM,it.FRAME,it.FRAMESET,it.H1,it.H2,it.H3,it.H4,it.H5,it.H6,it.HEAD,it.HEADER,it.HGROUP,it.HR,it.HTML,it.IFRAME,it.IMG,it.INPUT,it.LI,it.LINK,it.LISTING,it.MAIN,it.MARQUEE,it.MENU,it.META,it.NAV,it.NOEMBED,it.NOFRAMES,it.NOSCRIPT,it.OBJECT,it.OL,it.P,it.PARAM,it.PLAINTEXT,it.PRE,it.SCRIPT,it.SECTION,it.SELECT,it.SOURCE,it.STYLE,it.SUMMARY,it.TABLE,it.TBODY,it.TD,it.TEMPLATE,it.TEXTAREA,it.TFOOT,it.TH,it.THEAD,it.TITLE,it.TR,it.TRACK,it.UL,it.WBR,it.XMP]),[Je.MATHML]:new Set([it.MI,it.MO,it.MN,it.MS,it.MTEXT,it.ANNOTATION_XML]),[Je.SVG]:new Set([it.TITLE,it.FOREIGN_OBJECT,it.DESC]),[Je.XLINK]:new Set,[Je.XML]:new Set,[Je.XMLNS]:new Set},DM=new Set([it.H1,it.H2,it.H3,it.H4,it.H5,it.H6]);ke.STYLE,ke.SCRIPT,ke.XMP,ke.IFRAME,ke.NOEMBED,ke.NOFRAMES,ke.PLAINTEXT;var se;(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"})(se||(se={}));const Jr={DATA:se.DATA,RCDATA:se.RCDATA,RAWTEXT:se.RAWTEXT,SCRIPT_DATA:se.SCRIPT_DATA,PLAINTEXT:se.PLAINTEXT,CDATA_SECTION:se.CDATA_SECTION};function OHe(e){return e>=J.DIGIT_0&&e<=J.DIGIT_9}function $y(e){return e>=J.LATIN_CAPITAL_A&&e<=J.LATIN_CAPITAL_Z}function yHe(e){return e>=J.LATIN_SMALL_A&&e<=J.LATIN_SMALL_Z}function Tf(e){return yHe(e)||$y(e)}function VV(e){return Tf(e)||OHe(e)}function $S(e){return e+32}function zce(e){return e===J.SPACE||e===J.LINE_FEED||e===J.TABULATION||e===J.FORM_FEED}function qV(e){return zce(e)||e===J.SOLIDUS||e===J.GREATER_THAN_SIGN}function xHe(e){return e===J.NULL?Me.nullCharacterReference:e>1114111?Me.characterReferenceOutsideUnicodeRange:Qce(e)?Me.surrogateCharacterReference:Fce(e)?Me.noncharacterCharacterReference:Bce(e)||e===J.CARRIAGE_RETURN?Me.controlCharacterReference:null}class vHe{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=se.DATA,this.returnState=se.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new aHe(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new pHe(oHe,(i,r)=>{this.preprocessor.pos=this.entityStartPos+r-1,this._flushCodePointConsumedAsCharacterReference(i)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Me.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:i=>{this._err(Me.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+i)},validateNumericCharacterReference:i=>{const r=xHe(i);r&&this._err(r,1)}}:void 0)}_err(t,n=0){var i,r;(r=(i=this.handler).onParseError)===null||r===void 0||r.call(i,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t==null||t())}write(t,n,i){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||i==null||i()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(Me.endTagWithAttributes),t.selfClosing&&this._err(Me.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 In.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case In.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case In.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:In.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=zce(t)?In.WHITESPACE_CHARACTER:t===J.NULL?In.NULL_CHARACTER:In.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(In.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=se.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?cd.Attribute:cd.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===se.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===se.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===se.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case se.DATA:{this._stateData(t);break}case se.RCDATA:{this._stateRcdata(t);break}case se.RAWTEXT:{this._stateRawtext(t);break}case se.SCRIPT_DATA:{this._stateScriptData(t);break}case se.PLAINTEXT:{this._statePlaintext(t);break}case se.TAG_OPEN:{this._stateTagOpen(t);break}case se.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case se.TAG_NAME:{this._stateTagName(t);break}case se.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case se.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case se.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case se.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case se.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case se.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case se.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case se.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case se.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case se.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case se.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case se.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case se.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case se.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case se.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case se.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case se.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case se.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case se.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case se.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case se.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case se.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case se.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case se.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case se.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case se.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case se.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case se.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case se.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case se.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case se.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case se.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case se.BOGUS_COMMENT:{this._stateBogusComment(t);break}case se.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case se.COMMENT_START:{this._stateCommentStart(t);break}case se.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case se.COMMENT:{this._stateComment(t);break}case se.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case se.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case se.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case se.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case se.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case se.COMMENT_END:{this._stateCommentEnd(t);break}case se.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case se.DOCTYPE:{this._stateDoctype(t);break}case se.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case se.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case se.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case se.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case se.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case se.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case se.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case se.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case se.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case se.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case se.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case se.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case se.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case se.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case se.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case se.CDATA_SECTION:{this._stateCdataSection(t);break}case se.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case se.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case se.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case se.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case J.LESS_THAN_SIGN:{this.state=se.TAG_OPEN;break}case J.AMPERSAND:{this._startCharacterReference();break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitCodePoint(t);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case J.AMPERSAND:{this._startCharacterReference();break}case J.LESS_THAN_SIGN:{this.state=se.RCDATA_LESS_THAN_SIGN;break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(xr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case J.LESS_THAN_SIGN:{this.state=se.RAWTEXT_LESS_THAN_SIGN;break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(xr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case J.LESS_THAN_SIGN:{this.state=se.SCRIPT_DATA_LESS_THAN_SIGN;break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(xr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case J.NULL:{this._err(Me.unexpectedNullCharacter),this._emitChars(xr);break}case J.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(Tf(t))this._createStartTagToken(),this.state=se.TAG_NAME,this._stateTagName(t);else switch(t){case J.EXCLAMATION_MARK:{this.state=se.MARKUP_DECLARATION_OPEN;break}case J.SOLIDUS:{this.state=se.END_TAG_OPEN;break}case J.QUESTION_MARK:{this._err(Me.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=se.BOGUS_COMMENT,this._stateBogusComment(t);break}case J.EOF:{this._err(Me.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Me.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=se.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(Tf(t))this._createEndTagToken(),this.state=se.TAG_NAME,this._stateTagName(t);else switch(t){case J.GREATER_THAN_SIGN:{this._err(Me.missingEndTagName),this.state=se.DATA;break}case J.EOF:{this._err(Me.eofBeforeTagName),this._emitChars("");break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this.state=se.SCRIPT_DATA_ESCAPED,this._emitChars(xr);break}case J.EOF:{this._err(Me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=se.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===J.SOLIDUS?this.state=se.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:Tf(t)?(this._emitChars("<"),this.state=se.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=se.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){Tf(t)?(this.state=se.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case J.NULL:{this._err(Me.unexpectedNullCharacter),this.state=se.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(xr);break}case J.EOF:{this._err(Me.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=se.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===J.SOLIDUS?(this.state=se.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=se.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(to.SCRIPT,!1)&&qV(this.preprocessor.peek(to.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){const i=this._indexOf(t);this.items[i]=n,i===this.stackTop&&(this.current=n)}insertAfter(t,n,i){const r=this._indexOf(t)+1;this.items.splice(r,0,n),this.tagIDs.splice(r,0,i),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==Je.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){const n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;i--)if(t.has(this.tagIDs[i])&&this.treeAdapter.getNamespaceURI(this.items[i])===n)return i;return-1}clearBackTo(t,n){const i=this._indexOfTagNames(t,n);this.shortenToLength(i+1)}clearBackToTableContext(){this.clearBackTo(THe,Je.HTML)}clearBackToTableBodyContext(){this.clearBackTo(kHe,Je.HTML)}clearBackToTableRowContext(){this.clearBackTo(EHe,Je.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 i=this.stackTop;i>=0;i--){const r=this.tagIDs[i];switch(this.treeAdapter.getNamespaceURI(this.items[i])){case Je.HTML:{if(r===t)return!0;if(n.has(r))return!1;break}case Je.SVG:{if(GV.has(r))return!1;break}case Je.MATHML:{if(HV.has(r))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,KT)}hasInListItemScope(t){return this.hasInDynamicScope(t,wHe)}hasInButtonScope(t){return this.hasInDynamicScope(t,SHe)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case Je.HTML:{if(DM.has(n))return!0;if(KT.has(n))return!1;break}case Je.SVG:{if(GV.has(n))return!1;break}case Je.MATHML:{if(HV.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===Je.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])===Je.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])===Je.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&&Vce.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&XV.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&XV.has(this.currentTagId);)this.pop()}}const eR=3;var eu;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(eu||(eu={}));const YV={type:eu.Marker};class CHe{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const i=[],r=n.length,s=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let o=0;o[a.name,a.value]));let s=0;for(let a=0;ar.get(c.name)===c.value)&&(s+=1,s>=eR&&this.entries.splice(o.idx,1))}}insertMarker(){this.entries.unshift(YV)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:eu.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const i=this.entries.indexOf(this.bookmark);this.entries.splice(i,0,{type:eu.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(YV);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(i=>i.type===eu.Marker||this.treeAdapter.getTagName(i.element)===t);return n&&n.type===eu.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===eu.Element&&n.element===t)}}const _f={createDocument(){return{nodeName:"#document",mode:Sl.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const i=e.childNodes.indexOf(n);e.childNodes.splice(i,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,i){const r=e.childNodes.find(s=>s.nodeName==="#documentType");if(r)r.name=t,r.publicId=n,r.systemId=i;else{const s={nodeName:"#documentType",name:t,publicId:n,systemId:i,parentNode:null};_f.appendChild(e,s)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(_f.isTextNode(n)){n.value+=t;return}}_f.appendChild(e,_f.createTextNode(t))},insertTextBefore(e,t,n){const i=e.childNodes[e.childNodes.indexOf(n)-1];i&&_f.isTextNode(i)?i.value+=t:_f.insertBefore(e,_f.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(i=>i.name));for(let i=0;ie.startsWith(n))}function PHe(e){return e.name===qce&&e.publicId===null&&(e.systemId===null||e.systemId===NHe)}function MHe(e){if(e.name!==qce)return Sl.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===jHe)return Sl.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),IHe.has(n))return Sl.QUIRKS;let i=t===null?RHe:Xce;if(WV(n,i))return Sl.QUIRKS;if(i=t===null?Hce:DHe,WV(n,i))return Sl.LIMITED_QUIRKS}return Sl.NO_QUIRKS}const ZV={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},LHe="definitionurl",$He="definitionURL",QHe=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])),BHe=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Je.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Je.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Je.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Je.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Je.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Je.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Je.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Je.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Je.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Je.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Je.XMLNS}]]),FHe=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])),UHe=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 zHe(e){const t=e.tagID;return t===_.FONT&&e.attrs.some(({name:i})=>i===tm.COLOR||i===tm.SIZE||i===tm.FACE)||UHe.has(t)}function Gce(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var i,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(r=(i=this.treeAdapter).onItemPop)===null||r===void 0||r.call(i,t,this.openElements.current),n){let s,a;this.openElements.stackTop===0&&this.fragmentContext?(s=this.fragmentContext,a=this.fragmentContextID):{current:s,currentTagId:a}=this.openElements,this._setContextModes(s,a)}}_setContextModes(t,n){const i=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===Je.HTML;this.currentNotInHTML=!i,this.tokenizer.inForeignNode=!i&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,Je.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=oe.TEXT}switchToPlaintextParsing(){this.insertionMode=oe.TEXT,this.originalInsertionMode=oe.IN_BODY,this.tokenizer.state=Jr.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)===ke.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Je.HTML))switch(this.fragmentContextID){case _.TITLE:case _.TEXTAREA:{this.tokenizer.state=Jr.RCDATA;break}case _.STYLE:case _.XMP:case _.IFRAME:case _.NOEMBED:case _.NOFRAMES:case _.NOSCRIPT:{this.tokenizer.state=Jr.RAWTEXT;break}case _.SCRIPT:{this.tokenizer.state=Jr.SCRIPT_DATA;break}case _.PLAINTEXT:{this.tokenizer.state=Jr.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",i=t.publicId||"",r=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,i,r),t.location){const a=this.treeAdapter.getChildNodes(this.document).find(o=>this.treeAdapter.isDocumentTypeNode(o));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const i=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,i)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const i=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(i??this.document,t)}}_appendElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location)}_insertElement(t,n){const i=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(i,t.location),this.openElements.push(i,t.tagID)}_insertFakeElement(t,n){const i=this.treeAdapter.createElement(t,Je.HTML,[]);this._attachElementToTree(i,null),this.openElements.push(i,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,Je.HTML,t.attrs),i=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,i),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(ke.HTML,Je.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 i=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,i),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(i,t.location)}_insertCharacters(t){let n,i;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:i}=this._findFosterParentingLocation(),i?this.treeAdapter.insertTextBefore(n,t.chars,i):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const r=this.treeAdapter.getChildNodes(n),s=i?r.lastIndexOf(i):r.length,a=r[s-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine: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 i=this.treeAdapter.getFirstChild(t);i;i=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(i),this.treeAdapter.appendChild(n,i)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const i=n.location,r=this.treeAdapter.getTagName(t),s=n.type===In.END_TAG&&r===n.tagName?{endTag:{...i},endLine:i.endLine,endCol:i.endCol,endOffset:i.endOffset}:{endLine:i.startLine,endCol:i.startCol,endOffset:i.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,s)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,i;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,i=this.fragmentContextID):{current:n,currentTagId:i}=this.openElements,t.tagID===_.SVG&&this.treeAdapter.getTagName(n)===ke.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===Je.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===_.MGLYPH||t.tagID===_.MALIGNMARK)&&i!==void 0&&!this._isIntegrationPoint(i,n,Je.HTML)}_processToken(t){switch(t.type){case In.CHARACTER:{this.onCharacter(t);break}case In.NULL_CHARACTER:{this.onNullCharacter(t);break}case In.COMMENT:{this.onComment(t);break}case In.DOCTYPE:{this.onDoctype(t);break}case In.START_TAG:{this._processStartTag(t);break}case In.END_TAG:{this.onEndTag(t);break}case In.EOF:{this.onEof(t);break}case In.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,i){const r=this.treeAdapter.getNamespaceURI(n),s=this.treeAdapter.getAttrList(n);return HHe(t,r,s,i)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(r=>r.type===eu.Marker||this.openElements.contains(r.element)),i=n===-1?t-1:n-1;for(let r=i;r>=0;r--){const s=this.activeFormattingElements.entries[r];this._insertElement(s.token,this.treeAdapter.getNamespaceURI(s.element)),s.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=oe.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=oe.IN_ROW;return}case _.TBODY:case _.THEAD:case _.TFOOT:{this.insertionMode=oe.IN_TABLE_BODY;return}case _.CAPTION:{this.insertionMode=oe.IN_CAPTION;return}case _.COLGROUP:{this.insertionMode=oe.IN_COLUMN_GROUP;return}case _.TABLE:{this.insertionMode=oe.IN_TABLE;return}case _.BODY:{this.insertionMode=oe.IN_BODY;return}case _.FRAMESET:{this.insertionMode=oe.IN_FRAMESET;return}case _.SELECT:{this._resetInsertionModeForSelect(t);return}case _.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case _.HTML:{this.insertionMode=this.headElement?oe.AFTER_HEAD:oe.BEFORE_HEAD;return}case _.TD:case _.TH:{if(t>0){this.insertionMode=oe.IN_CELL;return}break}case _.HEAD:{if(t>0){this.insertionMode=oe.IN_HEAD;return}break}}this.insertionMode=oe.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const i=this.openElements.tagIDs[n];if(i===_.TEMPLATE)break;if(i===_.TABLE){this.insertionMode=oe.IN_SELECT_IN_TABLE;return}}this.insertionMode=oe.IN_SELECT}_isElementCausesFosterParenting(t){return Wce.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)===Je.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case _.TABLE:{const i=this.treeAdapter.getParentNode(n);return i?{parent:i,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){const n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){const i=this.treeAdapter.getNamespaceURI(t);return bHe[i].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){_Ye(this,t);return}switch(this.insertionMode){case oe.INITIAL:{ay(this,t);break}case oe.BEFORE_HTML:{wx(this,t);break}case oe.BEFORE_HEAD:{Sx(this,t);break}case oe.IN_HEAD:{Ex(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{kx(this,t);break}case oe.AFTER_HEAD:{Tx(this,t);break}case oe.IN_BODY:case oe.IN_CAPTION:case oe.IN_CELL:case oe.IN_TEMPLATE:{Kce(this,t);break}case oe.TEXT:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case oe.IN_TABLE:case oe.IN_TABLE_BODY:case oe.IN_ROW:{tR(this,t);break}case oe.IN_TABLE_TEXT:{rue(this,t);break}case oe.IN_COLUMN_GROUP:{JT(this,t);break}case oe.AFTER_BODY:{e_(this,t);break}case oe.AFTER_AFTER_BODY:{fk(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){TYe(this,t);return}switch(this.insertionMode){case oe.INITIAL:{ay(this,t);break}case oe.BEFORE_HTML:{wx(this,t);break}case oe.BEFORE_HEAD:{Sx(this,t);break}case oe.IN_HEAD:{Ex(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{kx(this,t);break}case oe.AFTER_HEAD:{Tx(this,t);break}case oe.TEXT:{this._insertCharacters(t);break}case oe.IN_TABLE:case oe.IN_TABLE_BODY:case oe.IN_ROW:{tR(this,t);break}case oe.IN_COLUMN_GROUP:{JT(this,t);break}case oe.AFTER_BODY:{e_(this,t);break}case oe.AFTER_AFTER_BODY:{fk(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){PM(this,t);return}switch(this.insertionMode){case oe.INITIAL:case oe.BEFORE_HTML:case oe.BEFORE_HEAD:case oe.IN_HEAD:case oe.IN_HEAD_NO_SCRIPT:case oe.AFTER_HEAD:case oe.IN_BODY:case oe.IN_TABLE:case oe.IN_CAPTION:case oe.IN_COLUMN_GROUP:case oe.IN_TABLE_BODY:case oe.IN_ROW:case oe.IN_CELL:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:case oe.IN_TEMPLATE:case oe.IN_FRAMESET:case oe.AFTER_FRAMESET:{PM(this,t);break}case oe.IN_TABLE_TEXT:{oy(this,t);break}case oe.AFTER_BODY:{rGe(this,t);break}case oe.AFTER_AFTER_BODY:case oe.AFTER_AFTER_FRAMESET:{sGe(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case oe.INITIAL:{aGe(this,t);break}case oe.BEFORE_HEAD:case oe.IN_HEAD:case oe.IN_HEAD_NO_SCRIPT:case oe.AFTER_HEAD:{this._err(t,Me.misplacedDoctype);break}case oe.IN_TABLE_TEXT:{oy(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Me.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?AYe(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case oe.INITIAL:{ay(this,t);break}case oe.BEFORE_HTML:{oGe(this,t);break}case oe.BEFORE_HEAD:{cGe(this,t);break}case oe.IN_HEAD:{Rc(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{fGe(this,t);break}case oe.AFTER_HEAD:{pGe(this,t);break}case oe.IN_BODY:{_a(this,t);break}case oe.IN_TABLE:{vb(this,t);break}case oe.IN_TABLE_TEXT:{oy(this,t);break}case oe.IN_CAPTION:{uYe(this,t);break}case oe.IN_COLUMN_GROUP:{o6(this,t);break}case oe.IN_TABLE_BODY:{T2(this,t);break}case oe.IN_ROW:{_2(this,t);break}case oe.IN_CELL:{hYe(this,t);break}case oe.IN_SELECT:{oue(this,t);break}case oe.IN_SELECT_IN_TABLE:{mYe(this,t);break}case oe.IN_TEMPLATE:{bYe(this,t);break}case oe.AFTER_BODY:{yYe(this,t);break}case oe.IN_FRAMESET:{xYe(this,t);break}case oe.AFTER_FRAMESET:{wYe(this,t);break}case oe.AFTER_AFTER_BODY:{EYe(this,t);break}case oe.AFTER_AFTER_FRAMESET:{kYe(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?CYe(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case oe.INITIAL:{ay(this,t);break}case oe.BEFORE_HTML:{lGe(this,t);break}case oe.BEFORE_HEAD:{uGe(this,t);break}case oe.IN_HEAD:{dGe(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{hGe(this,t);break}case oe.AFTER_HEAD:{mGe(this,t);break}case oe.IN_BODY:{k2(this,t);break}case oe.TEXT:{eYe(this,t);break}case oe.IN_TABLE:{I1(this,t);break}case oe.IN_TABLE_TEXT:{oy(this,t);break}case oe.IN_CAPTION:{dYe(this,t);break}case oe.IN_COLUMN_GROUP:{fYe(this,t);break}case oe.IN_TABLE_BODY:{MM(this,t);break}case oe.IN_ROW:{aue(this,t);break}case oe.IN_CELL:{pYe(this,t);break}case oe.IN_SELECT:{lue(this,t);break}case oe.IN_SELECT_IN_TABLE:{gYe(this,t);break}case oe.IN_TEMPLATE:{OYe(this,t);break}case oe.AFTER_BODY:{uue(this,t);break}case oe.IN_FRAMESET:{vYe(this,t);break}case oe.AFTER_FRAMESET:{SYe(this,t);break}case oe.AFTER_AFTER_BODY:{fk(this,t);break}}}onEof(t){switch(this.insertionMode){case oe.INITIAL:{ay(this,t);break}case oe.BEFORE_HTML:{wx(this,t);break}case oe.BEFORE_HEAD:{Sx(this,t);break}case oe.IN_HEAD:{Ex(this,t);break}case oe.IN_HEAD_NO_SCRIPT:{kx(this,t);break}case oe.AFTER_HEAD:{Tx(this,t);break}case oe.IN_BODY:case oe.IN_TABLE:case oe.IN_CAPTION:case oe.IN_COLUMN_GROUP:case oe.IN_TABLE_BODY:case oe.IN_ROW:case oe.IN_CELL:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:{nue(this,t);break}case oe.TEXT:{tYe(this,t);break}case oe.IN_TABLE_TEXT:{oy(this,t);break}case oe.IN_TEMPLATE:{cue(this,t);break}case oe.AFTER_BODY:case oe.IN_FRAMESET:case oe.AFTER_FRAMESET:case oe.AFTER_AFTER_BODY:case oe.AFTER_AFTER_FRAMESET:{a6(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===J.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 oe.IN_HEAD:case oe.IN_HEAD_NO_SCRIPT:case oe.AFTER_HEAD:case oe.TEXT:case oe.IN_COLUMN_GROUP:case oe.IN_SELECT:case oe.IN_SELECT_IN_TABLE:case oe.IN_FRAMESET:case oe.AFTER_FRAMESET:{this._insertCharacters(t);break}case oe.IN_BODY:case oe.IN_CAPTION:case oe.IN_CELL:case oe.IN_TEMPLATE:case oe.AFTER_BODY:case oe.AFTER_AFTER_BODY:case oe.AFTER_AFTER_FRAMESET:{Zce(this,t);break}case oe.IN_TABLE:case oe.IN_TABLE_BODY:case oe.IN_ROW:{tR(this,t);break}case oe.IN_TABLE_TEXT:{iue(this,t);break}}}};function KHe(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):tue(e,t),n}function JHe(e,t){let n=null,i=e.openElements.stackTop;for(;i>=0;i--){const r=e.openElements.items[i];if(r===t.element)break;e._isSpecialElement(r,e.openElements.tagIDs[i])&&(n=r)}return n||(e.openElements.shortenToLength(Math.max(i,0)),e.activeFormattingElements.removeEntry(t)),n}function eGe(e,t,n){let i=t,r=e.openElements.getCommonAncestor(t);for(let s=0,a=r;a!==n;s++,a=r){r=e.openElements.getCommonAncestor(a);const o=e.activeFormattingElements.getElementEntry(a),c=o&&s>=WHe;!o||c?(c&&e.activeFormattingElements.removeEntry(o),e.openElements.remove(a)):(a=tGe(e,o),i===t&&(e.activeFormattingElements.bookmark=o),e.treeAdapter.detachNode(i),e.treeAdapter.appendChild(a,i),i=a)}return i}function tGe(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),i=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,i),t.element=i,i}function nGe(e,t,n){const i=e.treeAdapter.getTagName(t),r=uO(i);if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{const s=e.treeAdapter.getNamespaceURI(t);r===_.TEMPLATE&&s===Je.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function iGe(e,t,n){const i=e.treeAdapter.getNamespaceURI(n.element),{token:r}=n,s=e.treeAdapter.createElement(r.tagName,i,r.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,r),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,r.tagID)}function s6(e,t){for(let n=0;n=n;i--)e._setEndLocation(e.openElements.items[i],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const i=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(i);if(r&&!r.endTag&&(e._setEndLocation(i,t),e.openElements.stackTop>=1)){const s=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(s);a&&!a.endTag&&e._setEndLocation(s,t)}}}}function aGe(e,t){e._setDocumentType(t);const n=t.forceQuirks?Sl.QUIRKS:MHe(t);PHe(t)||e._err(t,Me.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=oe.BEFORE_HTML}function ay(e,t){e._err(t,Me.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,Sl.QUIRKS),e.insertionMode=oe.BEFORE_HTML,e._processToken(t)}function oGe(e,t){t.tagID===_.HTML?(e._insertElement(t,Je.HTML),e.insertionMode=oe.BEFORE_HEAD):wx(e,t)}function lGe(e,t){const n=t.tagID;(n===_.HTML||n===_.HEAD||n===_.BODY||n===_.BR)&&wx(e,t)}function wx(e,t){e._insertFakeRootElement(),e.insertionMode=oe.BEFORE_HEAD,e._processToken(t)}function cGe(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.HEAD:{e._insertElement(t,Je.HTML),e.headElement=e.openElements.current,e.insertionMode=oe.IN_HEAD;break}default:Sx(e,t)}}function uGe(e,t){const n=t.tagID;n===_.HEAD||n===_.BODY||n===_.HTML||n===_.BR?Sx(e,t):e._err(t,Me.endTagWithoutMatchingOpenElement)}function Sx(e,t){e._insertFakeElement(ke.HEAD,_.HEAD),e.headElement=e.openElements.current,e.insertionMode=oe.IN_HEAD,e._processToken(t)}function Rc(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:{e._appendElement(t,Je.HTML),t.ackSelfClosing=!0;break}case _.TITLE:{e._switchToTextParsing(t,Jr.RCDATA);break}case _.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,Jr.RAWTEXT):(e._insertElement(t,Je.HTML),e.insertionMode=oe.IN_HEAD_NO_SCRIPT);break}case _.NOFRAMES:case _.STYLE:{e._switchToTextParsing(t,Jr.RAWTEXT);break}case _.SCRIPT:{e._switchToTextParsing(t,Jr.SCRIPT_DATA);break}case _.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=oe.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(oe.IN_TEMPLATE);break}case _.HEAD:{e._err(t,Me.misplacedStartTagForHeadElement);break}default:Ex(e,t)}}function dGe(e,t){switch(t.tagID){case _.HEAD:{e.openElements.pop(),e.insertionMode=oe.AFTER_HEAD;break}case _.BODY:case _.BR:case _.HTML:{Ex(e,t);break}case _.TEMPLATE:{zm(e,t);break}default:e._err(t,Me.endTagWithoutMatchingOpenElement)}}function zm(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==_.TEMPLATE&&e._err(t,Me.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Me.endTagWithoutMatchingOpenElement)}function Ex(e,t){e.openElements.pop(),e.insertionMode=oe.AFTER_HEAD,e._processToken(t)}function fGe(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.BASEFONT:case _.BGSOUND:case _.HEAD:case _.LINK:case _.META:case _.NOFRAMES:case _.STYLE:{Rc(e,t);break}case _.NOSCRIPT:{e._err(t,Me.nestedNoscriptInHead);break}default:kx(e,t)}}function hGe(e,t){switch(t.tagID){case _.NOSCRIPT:{e.openElements.pop(),e.insertionMode=oe.IN_HEAD;break}case _.BR:{kx(e,t);break}default:e._err(t,Me.endTagWithoutMatchingOpenElement)}}function kx(e,t){const n=t.type===In.EOF?Me.openElementsLeftAfterEof:Me.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=oe.IN_HEAD,e._processToken(t)}function pGe(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.BODY:{e._insertElement(t,Je.HTML),e.framesetOk=!1,e.insertionMode=oe.IN_BODY;break}case _.FRAMESET:{e._insertElement(t,Je.HTML),e.insertionMode=oe.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,Me.abandonedHeadElementChild),e.openElements.push(e.headElement,_.HEAD),Rc(e,t),e.openElements.remove(e.headElement);break}case _.HEAD:{e._err(t,Me.misplacedStartTagForHeadElement);break}default:Tx(e,t)}}function mGe(e,t){switch(t.tagID){case _.BODY:case _.HTML:case _.BR:{Tx(e,t);break}case _.TEMPLATE:{zm(e,t);break}default:e._err(t,Me.endTagWithoutMatchingOpenElement)}}function Tx(e,t){e._insertFakeElement(ke.BODY,_.BODY),e.insertionMode=oe.IN_BODY,E2(e,t)}function E2(e,t){switch(t.type){case In.CHARACTER:{Kce(e,t);break}case In.WHITESPACE_CHARACTER:{Zce(e,t);break}case In.COMMENT:{PM(e,t);break}case In.START_TAG:{_a(e,t);break}case In.END_TAG:{k2(e,t);break}case In.EOF:{nue(e,t);break}}}function Zce(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Kce(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function gGe(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function bGe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function OGe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,Je.HTML),e.insertionMode=oe.IN_FRAMESET)}function yGe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Je.HTML)}function xGe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&DM.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,Je.HTML)}function vGe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Je.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function wGe(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Je.HTML),n||(e.formElement=e.openElements.current))}function SGe(e,t){e.framesetOk=!1;const n=t.tagID;for(let i=e.openElements.stackTop;i>=0;i--){const r=e.openElements.tagIDs[i];if(n===_.LI&&r===_.LI||(n===_.DD||n===_.DT)&&(r===_.DD||r===_.DT)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r);break}if(r!==_.ADDRESS&&r!==_.DIV&&r!==_.P&&e._isSpecialElement(e.openElements.items[i],r))break}e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Je.HTML)}function EGe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Je.HTML),e.tokenizer.state=Jr.PLAINTEXT}function kGe(e,t){e.openElements.hasInScope(_.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(_.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML),e.framesetOk=!1}function TGe(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(ke.A);n&&(s6(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function _Ge(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function AGe(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(_.NOBR)&&(s6(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,Je.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function CGe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function NGe(e,t){e.treeAdapter.getDocumentMode(e.document)!==Sl.QUIRKS&&e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Je.HTML),e.framesetOk=!1,e.insertionMode=oe.IN_TABLE}function Jce(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Je.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function eue(e){const t=Uce(e,tm.TYPE);return t!=null&&t.toLowerCase()===GHe}function jGe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Je.HTML),eue(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function RGe(e,t){e._appendElement(t,Je.HTML),t.ackSelfClosing=!0}function IGe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._appendElement(t,Je.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function DGe(e,t){t.tagName=ke.IMG,t.tagID=_.IMG,Jce(e,t)}function PGe(e,t){e._insertElement(t,Je.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Jr.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=oe.TEXT}function MGe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Jr.RAWTEXT)}function LGe(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Jr.RAWTEXT)}function eq(e,t){e._switchToTextParsing(t,Jr.RAWTEXT)}function $Ge(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===oe.IN_TABLE||e.insertionMode===oe.IN_CAPTION||e.insertionMode===oe.IN_TABLE_BODY||e.insertionMode===oe.IN_ROW||e.insertionMode===oe.IN_CELL?oe.IN_SELECT_IN_TABLE:oe.IN_SELECT}function QGe(e,t){e.openElements.currentTagId===_.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML)}function BGe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,Je.HTML)}function FGe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(_.RTC),e._insertElement(t,Je.HTML)}function UGe(e,t){e._reconstructActiveFormattingElements(),Gce(t),r6(t),t.selfClosing?e._appendElement(t,Je.MATHML):e._insertElement(t,Je.MATHML),t.ackSelfClosing=!0}function zGe(e,t){e._reconstructActiveFormattingElements(),Yce(t),r6(t),t.selfClosing?e._appendElement(t,Je.SVG):e._insertElement(t,Je.SVG),t.ackSelfClosing=!0}function tq(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Je.HTML)}function _a(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:{_Ge(e,t);break}case _.A:{TGe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{xGe(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:{yGe(e,t);break}case _.LI:case _.DD:case _.DT:{SGe(e,t);break}case _.BR:case _.IMG:case _.WBR:case _.AREA:case _.EMBED:case _.KEYGEN:{Jce(e,t);break}case _.HR:{IGe(e,t);break}case _.RB:case _.RTC:{BGe(e,t);break}case _.RT:case _.RP:{FGe(e,t);break}case _.PRE:case _.LISTING:{vGe(e,t);break}case _.XMP:{MGe(e,t);break}case _.SVG:{zGe(e,t);break}case _.HTML:{gGe(e,t);break}case _.BASE:case _.LINK:case _.META:case _.STYLE:case _.TITLE:case _.SCRIPT:case _.BGSOUND:case _.BASEFONT:case _.TEMPLATE:{Rc(e,t);break}case _.BODY:{bGe(e,t);break}case _.FORM:{wGe(e,t);break}case _.NOBR:{AGe(e,t);break}case _.MATH:{UGe(e,t);break}case _.TABLE:{NGe(e,t);break}case _.INPUT:{jGe(e,t);break}case _.PARAM:case _.TRACK:case _.SOURCE:{RGe(e,t);break}case _.IMAGE:{DGe(e,t);break}case _.BUTTON:{kGe(e,t);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{CGe(e,t);break}case _.IFRAME:{LGe(e,t);break}case _.SELECT:{$Ge(e,t);break}case _.OPTION:case _.OPTGROUP:{QGe(e,t);break}case _.NOEMBED:case _.NOFRAMES:{eq(e,t);break}case _.FRAMESET:{OGe(e,t);break}case _.TEXTAREA:{PGe(e,t);break}case _.NOSCRIPT:{e.options.scriptingEnabled?eq(e,t):tq(e,t);break}case _.PLAINTEXT:{EGe(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:tq(e,t)}}function VGe(e,t){if(e.openElements.hasInScope(_.BODY)&&(e.insertionMode=oe.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function qGe(e,t){e.openElements.hasInScope(_.BODY)&&(e.insertionMode=oe.AFTER_BODY,uue(e,t))}function XGe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function HGe(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 GGe(e){e.openElements.hasInButtonScope(_.P)||e._insertFakeElement(ke.P,_.P),e._closePElement()}function YGe(e){e.openElements.hasInListItemScope(_.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(_.LI),e.openElements.popUntilTagNamePopped(_.LI))}function WGe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function ZGe(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function KGe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function JGe(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(ke.BR,_.BR),e.openElements.pop(),e.framesetOk=!1}function tue(e,t){const n=t.tagName,i=t.tagID;for(let r=e.openElements.stackTop;r>0;r--){const s=e.openElements.items[r],a=e.openElements.tagIDs[r];if(i===a&&(i!==_.UNKNOWN||e.treeAdapter.getTagName(s)===n)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.stackTop>=r&&e.openElements.shortenToLength(r);break}if(e._isSpecialElement(s,a))break}}function k2(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:{s6(e,t);break}case _.P:{GGe(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:{XGe(e,t);break}case _.LI:{YGe(e);break}case _.DD:case _.DT:{WGe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{ZGe(e);break}case _.BR:{JGe(e);break}case _.BODY:{VGe(e,t);break}case _.HTML:{qGe(e,t);break}case _.FORM:{HGe(e);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{KGe(e,t);break}case _.TEMPLATE:{zm(e,t);break}default:tue(e,t)}}function nue(e,t){e.tmplInsertionModeStack.length>0?cue(e,t):a6(e,t)}function eYe(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 tYe(e,t){e._err(t,Me.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function tR(e,t){if(e.openElements.currentTagId!==void 0&&Wce.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=oe.IN_TABLE_TEXT,t.type){case In.CHARACTER:{rue(e,t);break}case In.WHITESPACE_CHARACTER:{iue(e,t);break}}else Hv(e,t)}function nYe(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,Je.HTML),e.insertionMode=oe.IN_CAPTION}function iYe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Je.HTML),e.insertionMode=oe.IN_COLUMN_GROUP}function rYe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ke.COLGROUP,_.COLGROUP),e.insertionMode=oe.IN_COLUMN_GROUP,o6(e,t)}function sYe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Je.HTML),e.insertionMode=oe.IN_TABLE_BODY}function aYe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ke.TBODY,_.TBODY),e.insertionMode=oe.IN_TABLE_BODY,T2(e,t)}function oYe(e,t){e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function lYe(e,t){eue(t)?e._appendElement(t,Je.HTML):Hv(e,t),t.ackSelfClosing=!0}function cYe(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,Je.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function vb(e,t){switch(t.tagID){case _.TD:case _.TH:case _.TR:{aYe(e,t);break}case _.STYLE:case _.SCRIPT:case _.TEMPLATE:{Rc(e,t);break}case _.COL:{rYe(e,t);break}case _.FORM:{cYe(e,t);break}case _.TABLE:{oYe(e,t);break}case _.TBODY:case _.TFOOT:case _.THEAD:{sYe(e,t);break}case _.INPUT:{lYe(e,t);break}case _.CAPTION:{nYe(e,t);break}case _.COLGROUP:{iYe(e,t);break}default:Hv(e,t)}}function I1(e,t){switch(t.tagID){case _.TABLE:{e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode());break}case _.TEMPLATE:{zm(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:Hv(e,t)}}function Hv(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,E2(e,t),e.fosterParentingEnabled=n}function iue(e,t){e.pendingCharacterTokens.push(t)}function rue(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function oy(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:{zm(e,t);break}}}function mYe(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)):oue(e,t)}function gYe(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)):lue(e,t)}function bYe(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:{Rc(e,t);break}case _.CAPTION:case _.COLGROUP:case _.TBODY:case _.TFOOT:case _.THEAD:{e.tmplInsertionModeStack[0]=oe.IN_TABLE,e.insertionMode=oe.IN_TABLE,vb(e,t);break}case _.COL:{e.tmplInsertionModeStack[0]=oe.IN_COLUMN_GROUP,e.insertionMode=oe.IN_COLUMN_GROUP,o6(e,t);break}case _.TR:{e.tmplInsertionModeStack[0]=oe.IN_TABLE_BODY,e.insertionMode=oe.IN_TABLE_BODY,T2(e,t);break}case _.TD:case _.TH:{e.tmplInsertionModeStack[0]=oe.IN_ROW,e.insertionMode=oe.IN_ROW,_2(e,t);break}default:e.tmplInsertionModeStack[0]=oe.IN_BODY,e.insertionMode=oe.IN_BODY,_a(e,t)}}function OYe(e,t){t.tagID===_.TEMPLATE&&zm(e,t)}function cue(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):a6(e,t)}function yYe(e,t){t.tagID===_.HTML?_a(e,t):e_(e,t)}function uue(e,t){var n;if(t.tagID===_.HTML){if(e.fragmentContext||(e.insertionMode=oe.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===_.HTML){e._setEndLocation(e.openElements.items[0],t);const i=e.openElements.items[1];i&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(i))===null||n===void 0)&&n.endTag)&&e._setEndLocation(i,t)}}else e_(e,t)}function e_(e,t){e.insertionMode=oe.IN_BODY,E2(e,t)}function xYe(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.FRAMESET:{e._insertElement(t,Je.HTML);break}case _.FRAME:{e._appendElement(t,Je.HTML),t.ackSelfClosing=!0;break}case _.NOFRAMES:{Rc(e,t);break}}}function vYe(e,t){t.tagID===_.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==_.FRAMESET&&(e.insertionMode=oe.AFTER_FRAMESET))}function wYe(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.NOFRAMES:{Rc(e,t);break}}}function SYe(e,t){t.tagID===_.HTML&&(e.insertionMode=oe.AFTER_AFTER_FRAMESET)}function EYe(e,t){t.tagID===_.HTML?_a(e,t):fk(e,t)}function fk(e,t){e.insertionMode=oe.IN_BODY,E2(e,t)}function kYe(e,t){switch(t.tagID){case _.HTML:{_a(e,t);break}case _.NOFRAMES:{Rc(e,t);break}}}function TYe(e,t){t.chars=xr,e._insertCharacters(t)}function _Ye(e,t){e._insertCharacters(t),e.framesetOk=!1}function due(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==Je.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function AYe(e,t){if(zHe(t))due(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),i=e.treeAdapter.getNamespaceURI(n);i===Je.MATHML?Gce(t):i===Je.SVG&&(VHe(t),Yce(t)),r6(t),t.selfClosing?e._appendElement(t,i):e._insertElement(t,i),t.ackSelfClosing=!0}}function CYe(e,t){if(t.tagID===_.P||t.tagID===_.BR){due(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const i=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(i)===Je.HTML){e._endTagOutsideForeignContent(t);break}const r=e.treeAdapter.getTagName(i);if(r.toLowerCase()===t.tagName){t.tagName=r,e.openElements.shortenToLength(n);break}}}ke.AREA,ke.BASE,ke.BASEFONT,ke.BGSOUND,ke.BR,ke.COL,ke.EMBED,ke.FRAME,ke.HR,ke.IMG,ke.INPUT,ke.KEYGEN,ke.LINK,ke.META,ke.PARAM,ke.SOURCE,ke.TRACK,ke.WBR;const NYe=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,jYe=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),nq={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function fue(e,t){const n=FYe(e),i=_le("type",{handlers:{root:RYe,element:IYe,text:DYe,comment:pue,doctype:PYe,raw:LYe},unknown:$Ye}),r={parser:n?new JV(nq):JV.getFragmentParser(void 0,nq),handle(o){i(o,r)},stitches:!1,options:t||{}};i(e,r),dO(r,Iu());const s=n?r.parser.document:r.parser.getFragment(),a=UXe(s,{file:r.options.file});return r.stitches&&qv(a,"comment",function(o,c,u){const d=o;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 hue(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:In.CHARACTER,chars:e.value,location:Gv(e)};dO(t,Iu(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function PYe(e,t){const n={type:In.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:Gv(e)};dO(t,Iu(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function MYe(e,t){t.stitches=!0;const n=UYe(e);if("children"in e&&"children"in n){const i=fue({type:"root",children:e.children},t.options);n.children=i.children}pue({type:"comment",value:{stitch:n}},t)}function pue(e,t){const n=e.value,i={type:In.COMMENT,data:n,location:Gv(e)};dO(t,Iu(e)),t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken)}function LYe(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,mue(t,Iu(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(NYe,"<$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 $Ye(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))MYe(n,t);else{let i="";throw jYe.has(n.type)&&(i=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+i)}}function dO(e,t){mue(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=Jr.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 mue(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 QYe(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===Jr.PLAINTEXT)return;dO(t,Iu(e));const i=t.parser.openElements.current;let r="namespaceURI"in i?i.namespaceURI:Pp.html;r===Pp.html&&n==="svg"&&(r=Pp.svg);const s=HXe({...e,children:[]},{space:r===Pp.svg?"svg":"html"}),a={type:In.START_TAG,tagName:n,tagID:uO(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in s?s.attrs:[],location:Gv(e)};t.parser.currentToken=a,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function BYe(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&tHe.includes(n)||t.parser.tokenizer.state===Jr.PLAINTEXT)return;dO(t,O2(e));const i={type:In.END_TAG,tagName:n,tagID:uO(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:Gv(e)};t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===Jr.RCDATA||t.parser.tokenizer.state===Jr.RAWTEXT||t.parser.tokenizer.state===Jr.SCRIPT_DATA)&&(t.parser.tokenizer.state=Jr.DATA)}function FYe(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function Gv(e){const t=Iu(e)||{line:void 0,column:void 0,offset:void 0},n=O2(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 UYe(e){return"children"in e?yb({...e,children:[]}):yb(e)}function zYe(e){return function(t,n){return fue(t,{...e,file:n})}}const VYe="modulepreload",qYe=function(e){return"/"+e},iq={},Td=function(t,n,i){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=qYe(c),c in iq)return;iq[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":VYe,u||(f.as="script"),f.crossOrigin="",f.href=c,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return r.then(a=>{for(const o of a||[])o.status==="rejected"&&s(o.reason);return t().catch(s)})};var XYe=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,HYe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,GYe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,nR={Space_Separator:XYe,ID_Start:HYe,ID_Continue:GYe},Wr={isSpaceSeparator(e){return typeof e=="string"&&nR.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||nR.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||nR.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}};let LM,La,ud,t_,_h,vc,Ds,l6,_x;var YYe=function(t,n){LM=String(t),La="start",ud=[],t_=0,_h=1,vc=0,Ds=void 0,l6=void 0,_x=void 0;do Ds=WYe(),JYe[La]();while(Ds.type!=="eof");return typeof n=="function"?$M({"":_x},"",n):_x};function $M(e,t,n){const i=e[t];if(i!=null&&typeof i=="object")if(Array.isArray(i))for(let r=0;r0;){const n=_d();if(!Wr.isHexDigit(n))throw dr(He());e+=He()}return String.fromCodePoint(parseInt(e,16))}const JYe={start(){if(Ds.type==="eof")throw ap();iR()},beforePropertyName(){switch(Ds.type){case"identifier":case"string":l6=Ds.value,La="afterPropertyName";return;case"punctuator":QS();return;case"eof":throw ap()}},afterPropertyName(){if(Ds.type==="eof")throw ap();La="beforePropertyValue"},beforePropertyValue(){if(Ds.type==="eof")throw ap();iR()},beforeArrayValue(){if(Ds.type==="eof")throw ap();if(Ds.type==="punctuator"&&Ds.value==="]"){QS();return}iR()},afterPropertyValue(){if(Ds.type==="eof")throw ap();switch(Ds.value){case",":La="beforePropertyName";return;case"}":QS()}},afterArrayValue(){if(Ds.type==="eof")throw ap();switch(Ds.value){case",":La="beforeArrayValue";return;case"]":QS()}},end(){}};function iR(){let e;switch(Ds.type){case"punctuator":switch(Ds.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=Ds.value;break}if(_x===void 0)_x=e;else{const t=ud[ud.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,l6,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")ud.push(e),Array.isArray(e)?La="beforeArrayValue":La="beforePropertyName";else{const t=ud[ud.length-1];t==null?La="end":Array.isArray(t)?La="afterArrayValue":La="afterPropertyValue"}}function QS(){ud.pop();const e=ud[ud.length-1];e==null?La="end":Array.isArray(e)?La="afterArrayValue":La="afterPropertyValue"}function dr(e){return n_(e===void 0?`JSON5: invalid end of input at ${_h}:${vc}`:`JSON5: invalid character '${bue(e)}' at ${_h}:${vc}`)}function ap(){return n_(`JSON5: invalid end of input at ${_h}:${vc}`)}function rq(){return vc-=5,n_(`JSON5: invalid identifier character at ${_h}:${vc}`)}function eWe(e){console.warn(`JSON5: '${bue(e)}' in strings is not valid ECMAScript; consider escaping`)}function bue(e){const t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){const n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function n_(e){const t=new SyntaxError(e);return t.lineNumber=_h,t.columnNumber=vc,t}var tWe=function(t,n,i){const r=[];let s="",a,o,c="",u;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(i=n.space,u=n.quote,n=n.replacer),typeof n=="function")o=n;else if(Array.isArray(n)){a=[];for(const g of n){let O;typeof g=="string"?O=g:(typeof g=="number"||g instanceof String||g instanceof Number)&&(O=String(g)),O!==void 0&&a.indexOf(O)<0&&a.push(O)}}return i instanceof Number?i=Number(i):i instanceof String&&(i=String(i)),typeof i=="number"?i>0&&(i=Math.min(10,Math.floor(i)),c=" ".substr(0,i)):typeof i=="string"&&(c=i.substr(0,10)),d("",{"":t});function d(g,O){let y=O[g];switch(y!=null&&(typeof y.toJSON5=="function"?y=y.toJSON5(g):typeof y.toJSON=="function"&&(y=y.toJSON(g))),o&&(y=o.call(O,g,y)),y instanceof Number?y=Number(y):y instanceof String?y=String(y):y instanceof Boolean&&(y=y.valueOf()),y){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof y=="string")return f(y);if(typeof y=="number")return String(y);if(typeof y=="object")return Array.isArray(y)?b(y):h(y)}function f(g){const O={"'":.1,'"':.2},y={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let v="";for(let w=0;wO[w]=0)throw TypeError("Converting circular structure to JSON5");r.push(g);let O=s;s=s+c;let y=a||Object.keys(g),v=[];for(const w of y){const E=d(w,g);if(E!==void 0){let S=p(w)+":";c!==""&&(S+=" "),S+=E,v.push(S)}}let x;if(v.length===0)x="{}";else{let w;if(c==="")w=v.join(","),x="{"+w+"}";else{let E=`, `+s;w=v.join(E),x=`{ `+s+w+`, -`+O+"}"}}return r.pop(),s=O,x}function p(g){if(g.length===0)return f(g);const O=String.fromCodePoint(g.codePointAt(0));if(!zr.isIdStartChar(O))return f(g);for(let y=O.length;y=0)throw TypeError("Converting circular structure to JSON5");r.push(g);let O=s;s=s+c;let y=[];for(let x=0;x=0)throw TypeError("Converting circular structure to JSON5");r.push(g);let O=s;s=s+c;let y=[];for(let x=0;x30)throw new Error("ECharts option nesting is too deep");if(typeof e=="number"&&!Number.isFinite(e))throw new Error("ECharts option contains a non-finite number");if(typeof e=="string"&&UGe.test(e.trim()))throw new Error("ECharts option contains an external resource");if(Array.isArray(e)){for(const n of e)ZT(n,t+1);return}if(Ry(e))for(const[n,i]of Object.entries(e)){if(FGe.has(n))throw new Error("ECharts option contains an unsafe key");ZT(i,t+1)}}function zGe(e){var i;const t=e.trim(),n=t.match(/^(?:(?:const|let|var)\s+)?option\s*=\s*([\s\S]*?)\s*;?$/);return((i=n==null?void 0:n[1])==null?void 0:i.trim())||t}function VGe(e,t){let n=1,i="",r=!1,s=!1,a=!1;for(let o=t+1;oi+2)throw new Error("Invalid ECharts gradient argument count");const r=n.slice(0,i).map(qGe),s=n[i],a=n[i+1]??!1;if(!Array.isArray(s)||typeof a!="boolean")throw new Error("Invalid ECharts gradient data");return e==="linear"?{type:e,x:r[0],y:r[1],x2:r[2],y2:r[3],colorStops:s,global:a}:{type:e,x:r[0],y:r[1],r:r[2],colorStops:s,global:a}}function HGe(e,t){const n=/^(?:new\s+)?echarts\.graphic\.(LinearGradient|RadialGradient)\s*\(/;let i="",r=!1,s=!1,a=!1;for(let o=t;oBGe)throw new Error("ECharts option is too large");const n=YGe(zGe(e));let i;try{i=eue.parse(n)}catch(a){throw/\bfunction\s*\(|=>/.test(n)?new Error("ECharts function callbacks are not supported"):a}if(!Ry(i))throw new Error("ECharts option must be a data object");ZT(i);const r={...i};r.aria={...Ry(r.aria)?r.aria:{},enabled:!0};const s=r.tooltip;return Ry(s)?r.tooltip={...s,renderMode:"richText"}:Array.isArray(s)&&(r.tooltip=s.map(a=>Ry(a)?{...a,renderMode:"richText"}:a)),t&&(r.animation=!1),r}let Gj;function WGe(){return Gj??(Gj=xd(()=>import("../visualizations/echarts/index-CGT341lL.js"),[]).catch(e=>{throw Gj=void 0,e})),Gj}function ZGe({source:e}){const t=m.useRef(null),[n,i]=m.useState(!1),[r,s]=m.useState("");return m.useEffect(()=>{let a=!1,o,c,u;i(!1);try{u=GGe(e,window.matchMedia("(prefers-reduced-motion: reduce)").matches),s("")}catch{s("ECharts 配置不是有效且安全的数据对象,请切换到代码检查内容。");return}return WGe().then(d=>{const f=t.current;a||!f||(o=d.init(f,void 0,{renderer:"svg"}),o.setOption(u,{notMerge:!0}),typeof ResizeObserver<"u"&&(c=new ResizeObserver(()=>o==null?void 0:o.resize()),c.observe(f)),i(!0))}).catch(()=>{o==null||o.dispose(),o=void 0,a||s("图表暂时无法渲染,请切换到代码检查内容。")}),()=>{a=!0,c==null||c.disconnect(),o==null||o.dispose()}},[e]),l.jsxs("div",{className:`echarts-diagram${r?" echarts-diagram--error":""}`,role:"img","aria-label":"ECharts 图表预览","aria-busy":!n&&!r,children:[l.jsx("div",{ref:t,className:"echarts-diagram__canvas",hidden:!!r}),!n&&!r?l.jsx("div",{className:"echarts-diagram__state","aria-live":"polite",children:l.jsx(Ln,{duration:2.2,spread:15,children:"正在渲染图表…"})}):null,r?l.jsx("p",{className:"echarts-diagram__error",role:"alert",children:r}):null]})}const KGe=m.memo(ZGe);let WV,ZV=Promise.resolve(),JGe=0;function eWe(){return WV??(WV=xd(async()=>{const{default:e}=await import("../visualizations/mermaid/mermaid.core-OQ-NoIeH.js").then(t=>t.ay);return{default:e}},[]).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0,theme:"neutral"}),e))),WV}function tWe(e){const t=ZV.then(async()=>{const n=await eWe(),i=`mermaid-diagram-${JGe+=1}`;return n.render(i,e)});return ZV=t.then(()=>{},()=>{}),t}function nWe({source:e}){const t=m.useRef(null),[n,i]=m.useState(null),[r,s]=m.useState(!1);return m.useEffect(()=>{let a=!1;return i(null),s(!1),tWe(e).then(o=>{a||i(o)}).catch(()=>{a||s(!0)}),()=>{a=!0}},[e]),m.useEffect(()=>{!(n!=null&&n.bindFunctions)||!t.current||n.bindFunctions(t.current)},[n]),r?l.jsx("div",{className:"mermaid-diagram mermaid-diagram--error",children:l.jsx("p",{className:"mermaid-diagram__error",role:"alert",children:"图表暂时无法渲染,请切换到代码查看 Mermaid 内容。"})}):n?l.jsx("div",{ref:t,className:"mermaid-diagram",role:"img","aria-label":"Mermaid 图表预览",dangerouslySetInnerHTML:{__html:n.svg}}):l.jsx("div",{className:"mermaid-diagram mermaid-diagram--loading","aria-live":"polite",children:l.jsx(Ln,{duration:2.2,spread:15,children:"正在渲染图表…"})})}const iWe=m.memo(nWe),rWe="_SegmentedControl_1sl7d_1",sWe="_SegmentedControlOption_1sl7d_140",aWe="_SegmentedControlThumb_1sl7d_219",jM={SegmentedControl:rWe,SegmentedControlOption:sWe,SegmentedControlThumb:aWe},Hp=({value:e,onChange:t,children:n,block:i,pill:r=!0,size:s="md",gutterSize:a,className:o,onClick:c,...u})=>{const d=m.useRef(null),f=m.useRef(null),h=m.useCallback(b=>{const g=d.current,O=f.current;if(!g||!O)return;const y=g==null?void 0:g.querySelector('[data-state="on"]');if(!y)return;const v=g.clientWidth;let x=Math.floor(y.clientWidth);const w=y.offsetLeft;if(v-(x+w)<2&&(x=x-1),O.style.width=`${Math.floor(x)}px`,O.style.transform=`translateX(${w}px)`,g.scrollWidth>v){const E=v*.15,S=g.scrollLeft,k=y.offsetLeft,T=k+x;(kS+v-E)&&b&&y.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);$Le({ref:d,onResize:()=>{const b=f.current;if(!b)return;const g=b.style.transition;b.style.transition="",h(!1),b.style.transition=g}}),m.useLayoutEffect(()=>{const b=d.current,g=f.current;!b||!g||(h(!!g.style.transition),g.style.transition||qP(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,s,a,r]);const p=b=>{b&&t&&t(b)};return l.jsxs(iQe,{ref:d,className:ia(jM.SegmentedControl,o),type:"single",value:e,loop:!1,onValueChange:p,onClick:c,"data-block":i?"":void 0,"data-pill":r?"":void 0,"data-size":s,"data-gutter-size":a,...u,children:[l.jsx("div",{className:jM.SegmentedControlThumb,ref:f}),n]})},oWe=({children:e,...t})=>l.jsx(lQe,{className:jM.SegmentedControlOption,...t,onPointerEnter:gse,children:l.jsx("span",{className:"relative",children:e})});Hp.Option=oWe;function lWe({children:e,label:t,language:n,source:i,streaming:r=!1}){const[s,a]=m.useState("preview"),o=r?"code":s;return l.jsxs("section",{className:"visualization-card","aria-label":`${t} 图表`,children:[l.jsx("div",{className:"visualization-card__toolbar",children:l.jsxs(Hp,{className:"visualization-card__tabs",value:o,size:"sm",gutterSize:"sm",pill:!1,"aria-label":`${t} 显示方式`,onChange:c=>{r||a(c)},children:[l.jsx(Hp.Option,{value:"preview",disabled:r,children:"预览"}),l.jsx(Hp.Option,{value:"code",children:"代码"})]})}),l.jsx("div",{className:"visualization-card__body",children:o==="code"?l.jsx("pre",{className:"visualization-card__code",children:l.jsx("code",{className:`language-${n}`,children:i})}):e})]})}const cWe=m.memo(lWe);function uWe(e){const t=e==null?void 0:e.trim().toLowerCase();if(t==="mermaid")return"mermaid";if(t==="echart"||t==="echarts")return"echarts"}const tue=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function RM(e){return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(RM).join(""):m.isValidElement(e)?RM(e.props.children):""}function dWe(e){var i;const t=m.Children.toArray(e)[0];if(!m.isValidElement(t))return;const n=(i=t.props.className)==null?void 0:i.split(/\s+/).find(r=>r.startsWith("language-"));return uWe(n==null?void 0:n.slice(9))}function nue(e){if(!e)return!1;try{const t=e.toLowerCase();return tue.some(n=>t.includes(n))}catch{return!1}}function fWe(e){var i;const t=(i=e==null?void 0:e.properties)==null?void 0:i.href;if(!t)return!1;if(nue(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const r=n.map(s=>(s==null?void 0:s.value)||"").join("").toLowerCase();return tue.some(s=>r.includes(s))}return!1}function hWe({text:e,className:t,allowRawHtml:n=!0,streaming:i=!1}){const[r,s]=m.useState(null),a=(u,d)=>{if(u.src)return u.src;if(d){const f=p=>{var b;if(!p)return null;if(p.type==="source"&&((b=p.properties)!=null&&b.src))return p.properties.src;if(p.children)for(const g of p.children){const O=f(g);if(O)return O}return null},h=f({children:d});if(h)return h}return""},o=u=>{try{const f=new URL(u).pathname.split("/");return f[f.length-1]||"video.mp4"}catch{return"video.mp4"}},c=u=>u?Array.isArray(u)?u.map(d=>(d==null?void 0:d.value)||"").join("")||"video":(u==null?void 0:u.value)||"video":"video";return l.jsxs("div",{className:t?`md ${t}`:"md",children:[l.jsx(jFe,{remarkPlugins:[Vze],rehypePlugins:n?[TGe,NV]:[NV],components:{pre:({node:u,children:d,...f})=>{const h=dWe(d);if(h==="mermaid"||h==="echarts"){const p=RM(d).replace(/\n$/,"");return l.jsx(cWe,{label:h==="mermaid"?"Mermaid":"ECharts",language:h,source:p,streaming:i,children:h==="mermaid"?l.jsx(iWe,{source:p}):l.jsx(KGe,{source:p})})}return l.jsx("pre",{...f,children:d})},a:({node:u,...d})=>{const f=d.href;if(f&&(nue(f)||fWe(u))){const h=f,p=c(u==null?void 0:u.children);return l.jsxs("div",{className:"video-container",children:[l.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${p}`,onClick:()=>s({src:h,title:p}),children:[l.jsx("video",{src:h,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),l.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:l.jsx(Fp,{})})]}),l.jsx("div",{className:"video-caption",children:l.jsx("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:p})})]})}return l.jsx("a",{...d,target:"_blank",rel:"noopener noreferrer"})},img:({node:u,src:d,alt:f,...h})=>{const p=l.jsx("img",{...h,src:d,alt:f??"",loading:"lazy"});return d?l.jsx(cte,{src:d,children:l.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${f||"图片"}`,children:[p,l.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:l.jsx(Fp,{})})]})}):p},video:({node:u,src:d,children:f,...h})=>{const p=a({src:d},f);return p?l.jsx("div",{className:"video-container",children:l.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>s({src:p}),children:[l.jsx("video",{src:p,...h,playsInline:!0,className:"video-thumbnail",children:f}),l.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:l.jsx(Fp,{})})]})}):l.jsx("video",{src:d,controls:!0,playsInline:!0,className:"video-inline",...h,children:f})}},children:e}),r&&l.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>s(null),children:l.jsxs("div",{className:"video-viewer",onClick:u=>u.stopPropagation(),children:[l.jsxs("div",{className:"video-viewer-header",children:[l.jsx("div",{className:"video-viewer-title",children:r.title||o(r.src)}),l.jsxs("nav",{className:"video-viewer-nav",children:[l.jsx("a",{href:r.src,download:r.title||o(r.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:l.jsx(yA,{})}),l.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>s(null),children:l.jsx(Ma,{})})]})]}),l.jsx("div",{className:"video-viewer-body",children:l.jsx("video",{src:r.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const pu=m.memo(hWe);function pWe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M5 5.5A2.5 2.5 0 0 1 7.5 3H19v16H7.5A2.5 2.5 0 0 0 5 21.5v-16Z"}),l.jsx("path",{d:"M5 18.5A2.5 2.5 0 0 1 7.5 16H19"}),l.jsx("path",{d:"M9 7h6M9 10h4"})]})}function mWe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6 3h8l4 4v14H6V3Z"}),l.jsx("path",{d:"M14 3v5h5M9 12h6M9 16h6"})]})}function gWe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.3"}),l.jsx("path",{d:"m15.5 15.5 4 4"})]})}function bWe(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function KV(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 5v14M5 12h14"})})}function OWe(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m15 18-6-6 6-6"})})}function Fv({title:e,children:t,onClose:n,busy:i=!1,className:r=""}){const s=m.useId(),a=m.useRef(null),o=m.useRef(null),c=m.useRef(i),u=m.useRef(n);return m.useEffect(()=>{c.current=i,u.current=n},[i,n]),m.useEffect(()=>{var p;const d=document.activeElement instanceof HTMLElement?document.activeElement:null,f=document.body.style.overflow;document.body.style.overflow="hidden",(p=a.current)==null||p.focus();const h=b=>{if(b.key==="Escape"&&!c.current){u.current();return}if(b.key!=="Tab")return;const g=o.current;if(!g)return;const O=Array.from(g.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], audio[controls], video[controls], iframe, [tabindex]:not([tabindex="-1"])')).filter(x=>x.getClientRects().length>0);if(O.length===0){b.preventDefault();return}const y=O[0],v=O[O.length-1];b.shiftKey&&(document.activeElement===y||!g.contains(document.activeElement))?(b.preventDefault(),v.focus()):!b.shiftKey&&(document.activeElement===v||!g.contains(document.activeElement))&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h),document.body.style.overflow=f,d!=null&&d.isConnected&&d.focus()}},[]),zi.createPortal(l.jsx("div",{className:"knowledge-dialog-backdrop",onMouseDown:d=>{d.target===d.currentTarget&&!i&&n()},children:l.jsxs("section",{ref:o,className:`knowledge-dialog${r?` ${r}`:""}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":i||void 0,children:[l.jsxs("header",{className:"knowledge-dialog__header",children:[l.jsx("h2",{id:s,children:e}),l.jsx("button",{ref:a,type:"button",onClick:n,disabled:i,"aria-label":"关闭",children:l.jsx(bWe,{})})]}),t]})}),document.body)}function T1({message:e}){return e?l.jsx("div",{className:"knowledge-form-error",role:"alert",children:e}):null}function DM(e){return e instanceof DOMException&&e.name==="AbortError"}function yWe(e){if(!e)return"";const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(t):e}function xWe(e){const t=e.trim().toLowerCase();return["ready","active","available","success"].includes(t)?"可用":["creating","pending","processing","indexing"].includes(t)?"处理中":["failed","error","unavailable"].includes(t)?"异常":e||"未知"}const iue=[".jpg",".jpeg",".png"].join(","),vWe=new Set(iue.split(",")),rue=[".pdf",".pptx",".docx",".xlsx",".txt"].join(","),wWe=new Set(rue.split(",")),SWe=200*1024*1024;function IM(e){const t=e.lastIndexOf(".");return t<0?"":e.slice(t).toLocaleLowerCase()}function EWe(e,t){return e.size>SWe?"单个文件不能超过 200 MB":t==="image"?vWe.has(IM(e.name))?"":"请选择 PNG、JPG 或 JPEG 图片":wWe.has(IM(e.name))?"":"请选择 PDF、PPTX、DOCX、XLSX 或 TXT 文件"}function J4(e){return e<=0?"-":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function sue(e){var r;const t=e.type.trim().replace(/^\./,"");if(t)return t.toUpperCase();const n=e.name.trim(),i=n.includes(".")?(r=n.split(".").pop())==null?void 0:r.trim():"";return i?i.toUpperCase():"-"}function kWe({onClose:e,onCreated:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,o]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim(),p=!!(h&&!/^[A-Za-z][A-Za-z0-9_]{0,47}$/.test(h)),b=async g=>{if(g.preventDefault(),o(!0),!h||p)return;u(!0),f("");const O={name:h,description:r.trim()||void 0};try{t(await VQe(O))}catch(y){f(da(y,"创建知识库失败"))}finally{u(!1)}};return l.jsx(Fv,{title:"新建知识库",onClose:e,busy:c,children:l.jsxs("form",{onSubmit:g=>void b(g),children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{autoFocus:!0,value:n,maxLength:48,"aria-invalid":a&&p||void 0,"aria-describedby":"knowledge-name-help",onBlur:()=>o(!0),onChange:g=>i(g.target.value)})]}),l.jsx("p",{id:"knowledge-name-help",className:`knowledge-dialog__note${a&&p?" is-error":""}`,role:a&&p?"alert":void 0,children:a&&p?"名称必须以字母开头,且只能包含字母、数字和下划线。":"以字母开头,仅支持字母、数字和下划线,最多 48 个字符。"}),l.jsxs("label",{children:[l.jsx("span",{children:"描述(可选)"}),l.jsx("textarea",{value:r,maxLength:80,onChange:g=>s(g.target.value)})]}),l.jsx(T1,{message:d})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:e,disabled:c,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:c||!h||p,children:c?"创建中":"创建"})]})]})})}function TWe({item:e,onClose:t,onUpdated:n}){const[i,r]=m.useState(e.description),[s,a]=m.useState(!1),[o,c]=m.useState(""),u=async d=>{d.preventDefault(),a(!0),c("");try{n(await qQe(e.id,e.region,{description:i.trim()}))}catch(f){c(da(f,"更新知识库失败"))}finally{a(!1)}};return l.jsx(Fv,{title:"编辑知识库",onClose:t,busy:s,children:l.jsxs("form",{onSubmit:d=>void u(d),children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{value:e.name,disabled:!0})]}),l.jsxs("label",{children:[l.jsx("span",{children:"描述"}),l.jsx("textarea",{autoFocus:!0,value:i,maxLength:80,onChange:d=>r(d.target.value)})]}),l.jsx("p",{className:"knowledge-dialog__note",children:"AgentKit 当前仅支持更新知识库描述。"}),l.jsx(T1,{message:o})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:t,disabled:s,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:s,children:s?"保存中":"保存"})]})]})})}function aue(e){if(!e.trim())return{};const t=JSON.parse(e);if(!t||Array.isArray(t)||typeof t!="object")throw new Error("Metadata 必须是 JSON 对象");return t}function _We({base:e,onClose:t,onCreated:n,onAssociationInvalid:i}){const[r,s]=m.useState("document"),[a,o]=m.useState(""),[c,u]=m.useState(""),[d,f]=m.useState(""),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState("{}"),[v,x]=m.useState(""),[w,E]=m.useState(""),[S,k]=m.useState(null),T=m.useRef(null),C=m.useRef(null),A=m.useRef(null),R=m.useRef(0),P=!!v;m.useEffect(()=>{var D;S&&!P&&((D=A.current)==null||D.focus())},[P,S]);const B=D=>{P||D===r||(s(D),p(null),f(""),o(""),u(""),E(""),k(null),g(!1),R.current=0,T.current&&(T.current.value=""))},I=D=>{if(!D||r==="web")return;const F=EWe(D,r);if(F){p(null),o(""),u(""),E(F);return}p(D),E(""),o(D.name.replace(/\.[^.]+$/,"")),u(IM(D.name).slice(1))},$=async D=>{if(D.preventDefault(),r==="web"?!d.trim():!h)return;let F;try{F=aue(O)}catch(Q){E(da(Q,"Metadata 格式错误"));return}x(r==="web"?S?"save":"preview":"upload"),E("");try{if(r==="web")if(S){const Q={sourceType:"url",metadata:S.metadata,url:S.preview.url,sourceTitle:S.preview.name,sourceMarkdown:S.preview.sourceMarkdown};await GQe(e.id,e.region,Q),n()}else{const Q=await WQe(e.id,e.region,{url:d.trim()});if(!Q.sourceMarkdown.trim())throw new Error("网页没有可预览的 Markdown 内容");k({preview:Q,metadata:F})}else h&&(await ZQe(e.id,e.region,{file:h,name:a.trim()||void 0,documentType:c.trim()||void 0,metadata:F}),n())}catch(Q){Q instanceof c2&&Q.errorCode===boe?i(Q):E(da(Q,r==="web"?S?"添加网页失败":"生成网页预览失败":"上传文件失败"))}finally{x("")}},j=()=>{P||(k(null),E(""),requestAnimationFrame(()=>{var D;return(D=C.current)==null?void 0:D.focus()}))};return l.jsx(Fv,{title:S?"预览网页内容":"添加数据",onClose:t,busy:P,className:S?"knowledge-dialog--preview knowledge-dialog--web-confirm":"",children:l.jsx("form",{onSubmit:D=>void $(D),children:S?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"knowledge-preview knowledge-web-preview",children:[l.jsxs("div",{className:"knowledge-preview__meta",children:[l.jsx("strong",{title:S.preview.name,children:S.preview.name}),l.jsx("a",{href:S.preview.url,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"})]}),l.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:l.jsx("div",{className:"knowledge-preview__markdown-shell",children:l.jsx(pu,{text:S.preview.sourceMarkdown,allowRawHtml:!1,className:"knowledge-preview__markdown"})})}),w?l.jsx("div",{className:"knowledge-web-preview__error",children:l.jsx(T1,{message:w})}):null]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",className:"is-back",onClick:j,disabled:P,children:"返回修改"}),l.jsx("button",{type:"button",onClick:t,disabled:P,children:"取消"}),l.jsx("button",{ref:A,type:"submit",className:"is-primary",disabled:P,children:v==="save"?"添加中":"确认添加"})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsx("div",{className:"knowledge-source-tabs",role:"tablist","aria-label":"知识来源",children:[["image","图片"],["document","文档文件"],["web","在线网页"]].map(([D,F])=>l.jsx("button",{type:"button",role:"tab",id:`knowledge-source-${D}-tab`,"aria-controls":`knowledge-source-${D}-panel`,"aria-selected":r===D,tabIndex:r===D?0:-1,className:r===D?"is-active":"",disabled:P,onClick:()=>B(D),onKeyDown:Q=>{const M=["image","document","web"];if(!["ArrowLeft","ArrowRight","Home","End"].includes(Q.key))return;Q.preventDefault();const G=M.indexOf(D),H=Q.key==="Home"?M[0]:Q.key==="End"?M[M.length-1]:M[(G+(Q.key==="ArrowRight"?1:-1)+M.length)%M.length];B(H),requestAnimationFrame(()=>{var U;return(U=document.getElementById(`knowledge-source-${H}-tab`))==null?void 0:U.focus()})},children:F},D))}),l.jsx("div",{id:`knowledge-source-${r}-panel`,className:"knowledge-source-panel",role:"tabpanel","aria-labelledby":`knowledge-source-${r}-tab`,children:r==="web"?l.jsxs(l.Fragment,{children:[l.jsxs("label",{children:[l.jsx("span",{children:"网页 URL"}),l.jsx("input",{ref:C,autoFocus:!0,type:"url",value:d,disabled:P,onChange:D=>{f(D.target.value),E("")},placeholder:"https://example.com/article"})]}),l.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:v==="preview"?l.jsx(Ln,{children:"正在抓取网页并生成 Markdown 预览"}):null})]}):l.jsxs(l.Fragment,{children:[l.jsx("input",{ref:T,className:"knowledge-upload-input",type:"file","aria-label":"选择知识文件",accept:r==="image"?iue:rue,disabled:P,onChange:D=>{var F;I(((F=D.currentTarget.files)==null?void 0:F[0])??null),D.currentTarget.value=""}}),l.jsxs("button",{type:"button",className:`knowledge-upload-dropzone${b?" is-dragging":""}${h?" is-ready":""}`,disabled:P,onClick:()=>{var D;return(D=T.current)==null?void 0:D.click()},onDragEnter:D=>{D.preventDefault(),!P&&(R.current+=1,g(!0))},onDragOver:D=>{D.preventDefault(),P||(D.dataTransfer.dropEffect="copy")},onDragLeave:D=>{D.preventDefault(),R.current=Math.max(0,R.current-1),R.current===0&&g(!1)},onDrop:D=>{var F;D.preventDefault(),R.current=0,g(!1),P||I(((F=D.dataTransfer.files)==null?void 0:F[0])??null)},children:[l.jsx("strong",{children:h?h.name:"选择文件或拖拽到这里"}),l.jsx("span",{children:h?`${J4(h.size)} · 点击可重新选择`:r==="image"?"支持 PNG、JPG 和 JPEG,单个文件不超过 200 MB":"支持 PDF、PPTX、DOCX、XLSX 和 TXT,单个文件不超过 200 MB"})]}),l.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:P?l.jsx(Ln,{children:"正在上传文件并添加到知识库"}):null})]})}),r!=="web"?l.jsxs("div",{className:"knowledge-dialog__fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称(可选)"}),l.jsx("input",{value:a,disabled:P,maxLength:256,onChange:D=>o(D.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"类型(可选)"}),l.jsx("input",{value:c,disabled:P,maxLength:64,onChange:D=>u(D.target.value),placeholder:"pdf、docx、png"})]})]}):null,l.jsxs("label",{children:[l.jsx("span",{children:"Metadata(JSON)"}),l.jsx("textarea",{className:"is-code",value:O,disabled:P,onChange:D=>y(D.target.value),spellCheck:!1})]}),l.jsx(T1,{message:w})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:t,disabled:P,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:P||(r==="web"?!d.trim():!h),children:P?r==="web"?"生成中":"上传中":r==="web"?"生成预览":"上传文件"})]})]})})})}function AWe({base:e,item:t,onClose:n,onUpdated:i}){const[r,s]=m.useState(()=>JSON.stringify(t.metadata??{},null,2)),[a,o]=m.useState(!1),[c,u]=m.useState(""),d=async f=>{f.preventDefault();let h;try{h=aue(r)}catch(p){u(da(p,"Metadata 格式错误"));return}o(!0),u("");try{i(await KQe(e.id,t.id,e.region,{metadata:h}))}catch(p){u(da(p,"更新知识失败"))}finally{o(!1)}};return l.jsx(Fv,{title:"编辑知识 Metadata",onClose:n,busy:a,children:l.jsxs("form",{onSubmit:f=>void d(f),children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"知识"}),l.jsx("input",{value:t.name||t.id,disabled:!0})]}),l.jsxs("label",{children:[l.jsx("span",{children:"Metadata(JSON)"}),l.jsx("textarea",{autoFocus:!0,className:"is-code knowledge-metadata-editor",value:r,onChange:f=>s(f.target.value),spellCheck:!1})]}),l.jsx(T1,{message:c})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:n,disabled:a,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:a,children:a?"保存中":"保存"})]})]})})}const oue=new Set(["avif","bmp","gif","jpeg","jpg","png","svg","webp"]),lue=new Set(["aac","flac","m4a","mp3","ogg","wav","webm"]),cue=new Set(["m4v","mov","mp4","mpeg","mpg","ogg","webm"]),CWe=new Set(["pdf"]),NWe=new Set(["doc","docx","ppt","pptx","xls","xlsx"]),jWe=new Set(["creating","indexing","pending","processing","queued","submitted"]),RWe=new Set(["error","failed","unavailable"]);function JV(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}function MS(e){if(e==null||e==="")return"-";if(["string","number","boolean"].includes(typeof e))return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function DWe(e){if(Array.isArray(e)){if(e.length===0)return null;const i=e.map(JV);if(i.some(r=>Object.keys(r).length>0)){const r=[...new Set(i.flatMap(s=>Object.keys(s)))];return{columns:r,rows:i.map(s=>r.map(a=>MS(s[a])))}}return{columns:["值"],rows:e.map(r=>[MS(r)])}}const t=JV(e),n=Object.entries(t);if(n.length===0)return null;if(n.every(([,i])=>Array.isArray(i))){const i=n.map(([s])=>s),r=Math.max(...n.map(([,s])=>s.length));return{columns:i,rows:Array.from({length:r},(s,a)=>n.map(([,o])=>MS(o[a])))}}return{columns:["字段","值"],rows:n.map(([i,r])=>[i,MS(r)])}}function uue(e){const t=e.trim();if(!t||t.startsWith("//"))return"";if(t.startsWith("/"))return t;try{const n=new URL(t);return["http:","https:"].includes(n.protocol)?n.href:""}catch{return""}}function IWe(e){const t=uue(e);return t.startsWith("http://")||t.startsWith("https://")?t:""}function PWe(e){var r;const t=e.attachmentType.trim().toLocaleLowerCase();if(t==="image"||t==="doc-image"||t.startsWith("image/"))return"image";if(t==="audio"||t.startsWith("audio/"))return"audio";if(t==="video"||t.startsWith("video/"))return"video";if(t==="pdf"||t==="application/pdf")return"pdf";const n=e.attachmentUrl.split(/[?#]/,1)[0],i=n.includes(".")?((r=n.split(".").pop())==null?void 0:r.toLocaleLowerCase())??"":"";return oue.has(i)?"image":lue.has(i)?"audio":cue.has(i)?"video":CWe.has(i)?"pdf":t||i?"file":"none"}function MWe(e){const t=e.status.trim().toLocaleLowerCase();if(jWe.has(t))return{title:"数据正在处理中",detail:"知识库完成解析后即可预览,请稍后重新加载。"};if(RWe.has(t))return{title:"数据解析失败",detail:"请检查源文件或网页地址后重新添加,也可以重新加载最新状态。"};const n=sue(e).toLocaleLowerCase();return n==="pdf"||NWe.has(n)?{title:"暂时没有可预览的解析内容",detail:"此类文件会在知识库完成解析后显示文本、表格或页面图片。"}:oue.has(n)||lue.has(n)||cue.has(n)?{title:"暂时没有可预览的媒体内容",detail:"知识库尚未返回可访问的媒体预览,请稍后重新加载。"}:{title:"暂无可预览的数据内容",detail:"知识库尚未返回解析结果,请稍后重新加载。"}}function LWe({chunk:e}){const[t,n]=m.useState(!1),i=uue(e.attachmentUrl),r=PWe(e);return!i||r==="none"?null:t?l.jsx("div",{className:"knowledge-preview__attachment-error",children:"附件无法预览,请稍后重试。"}):r==="image"?l.jsx("img",{className:"knowledge-preview__image",src:i,alt:e.title||"知识数据图片",loading:"lazy",onError:()=>n(!0)}):r==="audio"?l.jsx("audio",{className:"knowledge-preview__audio",src:i,controls:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持音频预览。"}):r==="video"?l.jsx("video",{className:"knowledge-preview__video",src:i,controls:!0,playsInline:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持视频预览。"}):r==="pdf"?l.jsxs("div",{className:"knowledge-preview__pdf",children:[l.jsx("iframe",{src:i,title:e.title?`${e.title} PDF 预览`:"PDF 预览",sandbox:"",referrerPolicy:"no-referrer",onError:()=>n(!0)}),l.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"无法显示时,在新窗口打开 PDF"})]}):l.jsxs("div",{className:"knowledge-preview__file-fallback",children:[l.jsx("p",{children:"当前格式暂不支持直接在线预览,已优先显示解析后的内容。"}),l.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"打开原文件"})]})}function $We({base:e,item:t,onClose:n}){const[i,r]=m.useState([]),[s,a]=m.useState(t),[o,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(0),v=m.useRef(null),x=m.useCallback(async(k=0)=>{var A;(A=v.current)==null||A.abort();const T=new AbortController;v.current=T;const C=y.current+1;y.current=C,k>0?h(!0):d(!0),O(""),k===0&&(r([]),b(!1));try{const R=await YQe(e.id,t.id,{region:e.region,offset:k,signal:T.signal});if(y.current!==C)return;a(R.document.id?R.document:t),c(R.sourceMarkdown||R.document.sourceMarkdown),r(P=>k>0?[...P,...R.chunks]:R.chunks),b(R.hasMore)}catch(R){!DM(R)&&y.current===C&&O(da(R,"加载数据预览失败"))}finally{y.current===C&&(d(!1),h(!1))}},[e.id,e.region,t]);m.useEffect(()=>(x(),()=>{var k;(k=v.current)==null||k.abort(),y.current+=1}),[x]);const w=IWe(s.url||t.url),E=MWe(s),S=s.metadata._veadk_content_format==="markdown";return l.jsx(Fv,{title:s.name||t.name||t.id,onClose:n,className:"knowledge-dialog--preview",children:l.jsxs("div",{className:"knowledge-preview",children:[s.sizeBytes>0||w?l.jsxs("div",{className:"knowledge-preview__meta",children:[s.sizeBytes>0?l.jsx("span",{children:J4(s.sizeBytes)}):null,w?l.jsx("a",{href:w,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"}):null]}):null,l.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:o?l.jsx("div",{className:"knowledge-preview__markdown-shell",children:l.jsx(pu,{text:o,allowRawHtml:!1,className:"knowledge-preview__markdown"})}):u?l.jsx("div",{className:"knowledge-preview__state",role:"status",children:l.jsx(Ln,{as:"span",duration:2.4,children:"正在加载数据预览"})}):g&&i.length===0?l.jsxs("div",{className:"knowledge-preview__state is-error",role:"alert",children:[l.jsx("p",{children:g}),l.jsx("button",{type:"button",onClick:()=>void x(),children:"重试"})]}):i.length===0?l.jsxs("div",{className:"knowledge-preview__state",children:[l.jsx("p",{children:E.title}),l.jsx("span",{children:w?"您可以打开原网页查看来源内容。":E.detail}),l.jsx("button",{type:"button",onClick:()=>void x(),children:"重新加载"})]}):l.jsxs("div",{className:"knowledge-preview__chunks",children:[i.map((k,T)=>{const C=DWe(k.tableFields),A=k.id||`${T}:${k.title}`;return l.jsxs("article",{className:"knowledge-preview__chunk",children:[l.jsx("header",{children:l.jsx("h3",{children:k.title||`片段 ${T+1}`})}),k.content?S?l.jsx(pu,{text:k.content,allowRawHtml:!1,className:"knowledge-preview__markdown"}):l.jsx("p",{className:"knowledge-preview__content",children:k.content}):null,C?l.jsx("div",{className:"knowledge-preview__table-wrap",children:l.jsxs("table",{children:[l.jsx("thead",{children:l.jsx("tr",{children:C.columns.map((R,P)=>l.jsx("th",{scope:"col",children:R},`${R}:${P}`))})}),l.jsx("tbody",{children:C.rows.map((R,P)=>l.jsx("tr",{children:R.map((B,I)=>l.jsx("td",{children:B},I))},P))})]})}):null,l.jsx(LWe,{chunk:k})]},A)}),g?l.jsx("div",{className:"knowledge-preview__more-error",role:"alert",children:g}):null,p?l.jsx("button",{type:"button",className:"knowledge-preview__load-more",disabled:f,onClick:()=>void x(i.length),children:f?l.jsx(Ln,{as:"span",duration:2.4,children:"正在加载更多"}):"加载更多"}):null]})})]})})}function QWe({cloudProvider:e,active:t=!0,activationRevision:n=0}){const[i,r]=m.useState([]),[s,a]=m.useState({}),[o,c]=m.useState([]),[u,d]=m.useState(""),[f,h]=m.useState(""),[p,b]=m.useState(!0),[g,O]=m.useState(!1),[y,v]=m.useState(""),[x,w]=m.useState([]),[E,S]=m.useState(!1),[k,T]=m.useState(""),[C,A]=m.useState(""),[R,P]=m.useState(""),[B,I]=m.useState(!1),[$,j]=m.useState(!1),[D,F]=m.useState(!1),[Q,M]=m.useState(null),[G,H]=m.useState(null),[U,q]=m.useState(null),[ie,fe]=m.useState(null),[me,ce]=m.useState(null),[K,ee]=m.useState(!1),ye=m.useRef(0),ve=m.useRef(0),Re=m.useRef([]),Pe=m.useRef(!1),De=m.useRef(!1),he=m.useRef(null),Ee=m.useRef(null),Oe=m.useRef({}),Le=m.useRef(!1),Fe=m.useRef(null),_e=m.useRef(null),Ye=m.useRef(null),dt=m.useRef(null),It=m.useMemo(()=>J0(e).map(xe=>xe.value),[e]),Ge=m.useCallback(xe=>`${xe.region}\0${xe.id}`,[]),Z=i.find(xe=>Ge(xe)===u)??null,ne=!!(Z&&R===Ge(Z)),ue=m.useMemo(()=>{const xe=f.trim().toLocaleLowerCase();return xe?i.filter(Ue=>[Ue.name,Ue.description,Ue.ownerLabel,Ue.providerKnowledgeId].some(Qe=>Qe.toLocaleLowerCase().includes(xe))):i},[i,f]);m.useEffect(()=>{H(null)},[Z==null?void 0:Z.id,Z==null?void 0:Z.region]);const be=m.useCallback(async(xe=!1)=>{var Ot;if(xe&&(Le.current||Object.keys(Oe.current).length===0))return;(Ot=he.current)==null||Ot.abort();const Ue=new AbortController;he.current=Ue;const Qe=ye.current+1;ye.current=Qe,Le.current=!0,xe?O(!0):b(!0),v(""),xe||c([]);try{const Et=await zQe({regions:It,nextTokens:xe?Oe.current:void 0,signal:Ue.signal});if(ye.current!==Qe)return;r(Ce=>xe?[...Ce,...Et.items.filter(We=>!Ce.some(mt=>Ge(mt)===Ge(We)))]:Et.items),Oe.current=Et.nextTokens,a(Et.nextTokens);const Rt=Et.failures.map(({region:Ce,error:We})=>`${du(Ce,e)}:${da(We,"加载失败")}`);c(Ce=>xe?[...new Set([...Ce,...Rt])]:Rt),xe||d(Ce=>Et.items.some(We=>Ge(We)===Ce)?Ce:"")}catch(Et){if(DM(Et))return;ye.current===Qe&&(xe?c(Rt=>[...new Set([...Rt,da(Et,"加载更多知识库失败")])]):v(da(Et,"加载知识库失败")))}finally{ye.current===Qe&&(Le.current=!1,b(!1),O(!1))}},[Ge,e,It]),V=m.useCallback(async(xe,Ue=!1)=>{var Et;if(Ue&&Pe.current)return;(Et=Ee.current)==null||Et.abort();const Qe=new AbortController;Ee.current=Qe;const Ot=ve.current+1;ve.current=Ot,Ue||(Re.current=[],De.current=!1,w([]),I(!1),A("")),Pe.current=!0,S(!0),Ue?A(""):T("");try{const Rt=await HQe(xe.id,{region:xe.region,offset:Ue?Re.current.length:0,signal:Qe.signal});if(ve.current!==Ot)return;P(tn=>tn===Ge(xe)?"":tn);const Ce=Re.current,We=Ue?[...Ce,...Rt.items.filter(tn=>!tn.id||!Ce.some(st=>st.id===tn.id))]:Rt.items,mt=Rt.hasMore&&(!Ue||We.length>Ce.length);Re.current=We,De.current=mt,w(We),I(mt)}catch(Rt){if(DM(Rt))return;ve.current===Ot&&(Rt instanceof c2&&Rt.errorCode===boe&&(P(Ge(xe)),M(We=>We&&Ge(We)===Ge(xe)?null:We)),Ue?A(da(Rt,"加载更多数据失败")):T(da(Rt,"加载数据失败")))}finally{ve.current===Ot&&(Pe.current=!1,S(!1))}},[Ge]);m.useEffect(()=>{var xe;(xe=he.current)==null||xe.abort(),ye.current+=1,Le.current=!1,Oe.current={},r([]),a({}),c([]),d(""),P(""),v(""),b(!0)},[e]),m.useEffect(()=>{if(t)return be(),()=>{var xe;(xe=he.current)==null||xe.abort(),ye.current+=1,Le.current=!1}},[t,n,be]),m.useEffect(()=>{var xe,Ue;if(!t){(xe=Ee.current)==null||xe.abort(),ve.current+=1,Pe.current=!1;return}if(!Z){(Ue=Ee.current)==null||Ue.abort(),ve.current+=1,Re.current=[],Pe.current=!1,De.current=!1,w([]),I(!1),A("");return}return V(Z),()=>{var Qe;(Qe=Ee.current)==null||Qe.abort(),ve.current+=1,Pe.current=!1}},[t,n,Z==null?void 0:Z.id,Z==null?void 0:Z.region]);const je=t&&!Z&&!f.trim()&&!p&&!g&&!y&&Object.keys(s).length>0;m.useEffect(()=>{const xe=_e.current,Ue=Fe.current;if(!xe||!Ue||!je)return;const Qe=new IntersectionObserver(([Ot])=>{Ot.isIntersecting&&be(!0)},{root:Ue,rootMargin:"240px 0px",threshold:.01});return Qe.observe(xe),()=>Qe.disconnect()},[je,be]);const He=()=>{const xe=Fe.current;!xe||!je||xe.scrollHeight-xe.scrollTop-xe.clientHeight<=240&&be(!0)},et=!!(Z&&x.length>0&&B&&!E&&!C);m.useEffect(()=>{const xe=dt.current,Ue=Ye.current;if(!Z||!xe||!Ue||!et)return;const Qe=new IntersectionObserver(([Ot])=>{Ot.isIntersecting&&V(Z,!0)},{root:Ye.current,rootMargin:"240px 0px",threshold:.01});return Qe.observe(xe),()=>Qe.disconnect()},[et,V,Z==null?void 0:Z.id,Z==null?void 0:Z.region]);const qt=()=>{const xe=Ye.current;if(!Z||!xe||!De.current||Pe.current||C)return;const{scrollHeight:Ue,scrollTop:Qe,clientHeight:Ot}=xe;Ue-Qe-Ot<=240&&V(Z,!0)},Ft=xe=>{r(Ue=>Ue.map(Qe=>Ge(Qe)===Ge(xe)?xe:Qe))},At=async()=>{if(ie){ee(!0);try{await XQe(ie.id,ie.region),r(xe=>xe.filter(Ue=>Ge(Ue)!==Ge(ie))),P(xe=>xe===Ge(ie)?"":xe),u===Ge(ie)&&d(""),fe(null)}catch(xe){v(da(xe,"删除知识库失败")),fe(null)}finally{ee(!1)}}},xt=async()=>{if(!(!Z||!me)){ee(!0);try{await JQe(Z.id,me.id,Z.region);const xe=Re.current.filter(Ue=>Ue.id!==me.id);Re.current=xe,w(xe),ce(null)}catch(xe){T(da(xe,"删除知识失败")),ce(null)}finally{ee(!1)}}};return l.jsxs("section",{className:`knowledge-library${Z?" is-detail":" my-agents-page"}`,"aria-label":"知识库",children:[Z?l.jsxs("div",{className:"knowledge-library__detail",children:[l.jsxs("header",{className:"knowledge-detail-head",children:[l.jsxs("div",{className:"knowledge-detail-head__title",children:[l.jsx("button",{type:"button",className:"knowledge-back-button",onClick:()=>d(""),"aria-label":"返回知识库列表",children:l.jsx(OWe,{})}),l.jsxs("div",{children:[l.jsx("h2",{title:Z.name,children:Z.name}),l.jsx("p",{children:Z.description||"暂无描述"})]})]}),Z.canManage&&l.jsxs("div",{className:"knowledge-detail-head__actions",children:[l.jsx("button",{type:"button",onClick:()=>F(!0),children:"编辑"}),l.jsx("button",{type:"button",className:"is-danger",onClick:()=>fe(Z),children:"删除"})]})]}),l.jsxs("dl",{className:"knowledge-detail-meta",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"Provider"}),l.jsx("dd",{children:Z.providerType||"-"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"Knowledge ID"}),l.jsx("dd",{className:"knowledge-keyboard-reveal",tabIndex:0,title:Z.providerKnowledgeId,children:Z.providerKnowledgeId||"-"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"项目"}),l.jsx("dd",{children:Z.projectName||"default"})]}),Z.ownerLabel&&l.jsxs("div",{children:[l.jsx("dt",{children:"创建者"}),l.jsx("dd",{children:Z.ownerLabel})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"更新时间"}),l.jsx("dd",{children:yWe(Z.updatedAt)||"-"})]})]}),l.jsxs("section",{className:"knowledge-documents",children:[l.jsxs("header",{className:"knowledge-documents__head",children:[l.jsx("h3",{children:"数据"}),Z.canManage&&l.jsxs("button",{type:"button",className:"knowledge-primary-button",disabled:ne,title:ne?"底层 Provider 知识库已不存在":void 0,onClick:()=>M(Z),children:[l.jsx(KV,{}),l.jsx("span",{children:ne?"关联已失效":"添加数据"})]})]}),l.jsx("div",{className:`knowledge-documents__body${x.length>0?" is-table":""}`,"aria-live":"polite",children:E&&x.length===0?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载数据"})]}):k&&x.length===0?l.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[l.jsx("p",{children:k}),ne&&Z.canManage?l.jsx("button",{type:"button",onClick:()=>fe(Z),children:"删除失效关联"}):l.jsx("button",{type:"button",onClick:()=>void V(Z),children:"重试"})]}):x.length===0?l.jsxs("div",{className:"knowledge-library__state",children:[l.jsx(mWe,{}),l.jsx("p",{children:"这个知识库还没有数据"}),Z.canManage&&l.jsx("button",{type:"button",onClick:()=>M(Z),children:"添加第一项数据"})]}):l.jsxs("div",{ref:Ye,className:"knowledge-document-table-wrap","aria-busy":E||void 0,onScroll:qt,children:[l.jsxs("table",{className:"knowledge-document-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"名称"}),l.jsx("th",{scope:"col",children:"格式"}),l.jsx("th",{scope:"col",children:"大小"}),l.jsx("th",{scope:"col",className:"knowledge-document-table__actions-heading",children:"操作"})]})}),l.jsx("tbody",{children:x.map(xe=>l.jsxs("tr",{children:[l.jsx("td",{className:"knowledge-document-table__name",title:xe.name||xe.id,children:xe.name||xe.id}),l.jsx("td",{children:sue(xe)}),l.jsx("td",{children:J4(xe.sizeBytes)}),l.jsx("td",{children:l.jsxs("div",{className:"knowledge-document-table__actions",children:[l.jsx(Vp,{content:"预览",compact:!0,children:l.jsx(kl,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`预览 ${xe.name||xe.id}`,onClick:()=>H(xe),children:l.jsx(Tke,{"aria-hidden":"true"})})}),Z.canManage?l.jsxs(l.Fragment,{children:[l.jsx(Vp,{content:"编辑",compact:!0,children:l.jsx(kl,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`编辑 ${xe.name||xe.id}`,onClick:()=>q(xe),children:l.jsx(Eke,{"aria-hidden":"true"})})}),l.jsx(Vp,{content:"删除",compact:!0,children:l.jsx(kl,{type:"button",className:"knowledge-document-action-button",color:"danger",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`删除 ${xe.name||xe.id}`,onClick:()=>ce(xe),children:l.jsx(Ske,{"aria-hidden":"true"})})})]}):null]})})]},xe.id))})]}),E?l.jsxs("div",{className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多数据"})]}):C?l.jsxs("div",{className:"knowledge-document-pagination is-error",role:"alert",children:[l.jsx("span",{children:C}),l.jsx("button",{type:"button",onClick:()=>void V(Z,!0),children:"重试加载"})]}):B?l.jsx("div",{ref:dt,className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:"继续下滑加载更多"}):null]})})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"knowledge-library__toolbar my-agent-type-bar library-resource-toolbar",children:[l.jsx("div",{className:"knowledge-library__toolbar-actions library-resource-toolbar__controls",children:l.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>j(!0),children:[l.jsx(KV,{}),l.jsx("span",{children:"新建知识库"})]})}),l.jsxs("label",{className:"knowledge-library__search my-agent-search",children:[l.jsx(gWe,{}),l.jsx("input",{type:"search",value:f,onChange:xe=>h(xe.target.value),placeholder:"搜索知识库","aria-label":"搜索知识库"})]})]}),l.jsxs("div",{ref:Fe,className:"knowledge-library__results my-agent-results","aria-live":"polite",onScroll:He,children:[o.length>0&&!p&&l.jsxs("div",{className:"knowledge-region-warning",role:"status",children:[l.jsx("span",{children:"部分知识库暂时无法加载,已展示其余可用内容。"}),l.jsx("button",{type:"button",onClick:()=>void be(),children:"重试"})]}),p&&i.length===0?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载知识库"})]}):y?l.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[l.jsx("p",{children:y}),l.jsx("button",{type:"button",onClick:()=>void be(),children:"重试"})]}):ue.length===0?l.jsxs("div",{className:"knowledge-library__state",children:[l.jsx(pWe,{}),l.jsx("p",{children:f.trim()?"没有匹配的知识库":"您还没有任何知识库"})]}):l.jsx("div",{className:"knowledge-library__grid my-agent-grid",children:ue.map(xe=>l.jsx(xoe,{className:"knowledge-card",title:xe.name,status:l.jsx("span",{className:`knowledge-status is-${xe.status.toLowerCase()}`,children:xWe(xe.status)}),description:xe.description||"暂无描述",metadata:[{label:"创建者",value:xe.ownerLabel||"—",title:xe.ownerLabel||"—"},{label:"项目",value:xe.projectName||"default",title:xe.projectName||"default"}],secondaryAction:{label:R===Ge(xe)?"关联已失效":"添加数据",disabled:!xe.canManage||R===Ge(xe),title:xe.canManage?R===Ge(xe)?"底层 Provider 知识库已不存在":void 0:"您没有管理此知识库的权限",onClick:()=>M(xe)},primaryAction:{label:"查看详情",onClick:()=>d(Ge(xe))},menuLabel:`更多知识库操作:${xe.name}`,menuAriaLabel:`${xe.name}知识库操作`,menuActions:[{label:"编辑知识库",disabled:!xe.canManage,title:xe.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>{d(Ge(xe)),F(!0)}},{label:"删除知识库",danger:!0,disabled:!xe.canManage||K,title:xe.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>fe(xe)}]},Ge(xe)))}),je||g?l.jsx("div",{ref:_e,className:"my-agent-load-more",role:"status","aria-live":"polite",children:g?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多知识库"})]}):je?l.jsx("span",{children:"继续下滑加载更多"}):null}):null]})]}),$&&l.jsx(kWe,{onClose:()=>j(!1),onCreated:xe=>{r(Ue=>[xe,...Ue]),d(Ge(xe)),j(!1)}}),Z&&D&&l.jsx(TWe,{item:Z,onClose:()=>F(!1),onUpdated:xe=>{Ft(xe),F(!1)}}),Z&&G&&l.jsx($We,{base:Z,item:G,onClose:()=>H(null)}),Q&&l.jsx(_We,{base:Q,onClose:()=>M(null),onAssociationInvalid:xe=>{P(Ge(Q)),Z&&Ge(Z)===Ge(Q)&&T(da(xe,"知识库关联已失效")),M(null)},onCreated:()=>{Z&&Ge(Z)===Ge(Q)&&V(Z),M(null)}}),Z&&U&&l.jsx(AWe,{base:Z,item:U,onClose:()=>q(null),onUpdated:xe=>{const Ue=Re.current.map(Qe=>Qe.id===xe.id?xe:Qe);Re.current=Ue,w(Ue),q(null)}}),ie&&l.jsx(cc,{title:"删除知识库?",description:`将删除 ${ie.name} 的 AgentKit 关联;如果它由 Studio 创建,也会同时删除 Provider 资源。此操作无法撤销。`,confirmLabel:K?"删除中":"删除",variant:"danger",busy:K,onCancel:()=>fe(null),onConfirm:()=>void At()}),me&&l.jsx(cc,{title:"删除知识?",description:`将从 Provider 知识库中删除 ${me.name||me.id},此操作无法撤销。`,confirmLabel:K?"删除中":"删除",variant:"danger",busy:K,onCancel:()=>ce(null),onConfirm:()=>void xt()})]})}const BWe="_EmptyMessage_1r5gu_1",FWe="_IconBadge_1r5gu_16",UWe="_Title_1r5gu_54",zWe="_Description_1r5gu_69",VWe="_ActionRow_1r5gu_77",Uv={EmptyMessage:BWe,IconBadge:FWe,Title:UWe,Description:zWe,ActionRow:VWe},Ti=({children:e,className:t,fill:n="static"})=>l.jsx("div",{className:ia(Uv.EmptyMessage,t),"data-fill":n,children:e}),qWe=({size:e="md",color:t="secondary",children:n,className:i})=>l.jsx("div",{className:ia(Uv.IconBadge,i),"data-size":e,"data-color":t,children:n}),XWe=({children:e,className:t,color:n="secondary"})=>l.jsx("div",{className:ia(Uv.Title,t),"data-color":n,children:e}),HWe=({children:e,className:t})=>l.jsx("div",{className:ia(Uv.Description,t),children:e}),YWe=({children:e,className:t})=>l.jsx("div",{className:ia(Uv.ActionRow,t),children:e});Ti.Icon=qWe;Ti.Title=XWe;Ti.Description=HWe;Ti.ActionRow=YWe;const GWe="/web/skill-workbench";class PM extends Error{constructor(t,n,i="SKILL_WORKBENCH_ERROR",r=!1,s="",a,o=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.originalError=a,this.rawResponse=o,this.name="SkillWorkbenchApiError"}}function _l(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function eq(e,t){if(e!=null){if(typeof e!="string"||!e.trim()||e.trim().length>256)throw new Error(`${t}格式错误。`);return e.trim()}}function WWe(e){if(e!=null){if(e==="pending"||e==="ready"||e==="failed"||e==="unknown")return e;throw new Error("Skill 恢复点状态格式错误。")}}async function mu(e,t={},n=mo){return fetch(lo(`${GWe}${e}`),{...t,headers:Ph(t.headers),signal:go(t.signal,n)})}async function e6(e,t){var i;const n=await e.text().catch(()=>"");try{const r=_l(JSON.parse(n),"错误响应"),s=r.detail&&typeof r.detail=="object"?_l(r.detail,"错误详情"):r;return new PM(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"SKILL_WORKBENCH_ERROR",s.retryable===!0,e.statusText,s.originalError&&typeof s.originalError=="object"?s.originalError:void 0,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new PM(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"SKILL_WORKBENCH_ERROR",!1,e.statusText,void 0,n)}}async function Sh(e,t){if(!e.ok)throw await e6(e,t);const n=e.headers.get("content-type")??"";if(!n.includes("application/json")){const i=n.split(";",1)[0]||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},Content-Type: ${i}),请检查代理或网关配置。`)}return e.json()}function ZWe(e){return Array.isArray(e)?e.map(t=>{const n=_l(t,"Skill 会话活动"),i=n.kind,r=n.status;if(typeof n.id!="string"||!["status","thinking","message","tool"].includes(String(i))||!["running","done"].includes(String(r)))throw new Error("Skill 会话活动格式错误。");if(i==="tool"){if(typeof n.name!="string")throw new Error("Skill 工具活动格式错误。");return{id:n.id,kind:i,status:r,name:n.name,...n.input!==void 0?{args:n.input}:{},...n.output!==void 0?{response:n.output}:{}}}if(typeof n.text!="string")throw new Error("Skill 文本活动格式错误。");return{id:n.id,kind:i,status:r,text:n.text}}):[]}function KWe(e){if(e==null)return;const t=_l(e,"Skill 发布结果");if(typeof t.revision!="number"||typeof t.skillId!="string"||typeof t.version!="string"||!Array.isArray(t.skillSpaceIds)||!t.skillSpaceIds.every(n=>typeof n=="string")||t.disposition!=="create-new"&&t.disposition!=="update-source"||!t$(t.region)||typeof t.projectName!="string")throw new Error("Skill 发布结果格式错误。");return{revision:t.revision,skillId:t.skillId,version:t.version,skillSpaceIds:t.skillSpaceIds,disposition:t.disposition,region:t.region,projectName:t.projectName}}function _1(e){const t=_l(e,"Skill 会话");if(typeof t.jobId!="string"||t.operation!=="create"&&t.operation!=="optimize"||typeof t.intent!="string"||typeof t.revision!="number"||typeof t.state!="string")throw new Error("Skill 会话格式错误。");const n=Array.isArray(t.files)?t.files.flatMap(o=>{const c=_l(o,"Skill 文件");return typeof c.path=="string"&&typeof c.size=="number"?[{path:c.path,size:c.size}]:[]}):[];if(!["running","ready","failed","cancelled","expired","published"].includes(t.state))throw new Error("Skill 会话状态无法识别。");const r=eq(t.toolId,"Tool ID"),s=eq(t.sessionId,"Session ID"),a=WWe(t.recoveryStatus);return{jobId:t.jobId,operation:t.operation,intent:t.intent,...typeof t.model=="string"?{model:t.model}:{},...typeof t.style=="string"?{style:t.style}:{},...typeof t.requestedName=="string"?{requestedName:t.requestedName}:{},revision:t.revision,...r?{toolId:r}:{},...s?{sessionId:s}:{},...typeof t.sessionTtlSeconds=="number"?{sessionTtlSeconds:t.sessionTtlSeconds}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{},...typeof t.recoveryAvailable=="boolean"?{recoveryAvailable:t.recoveryAvailable}:{},...a?{recoveryStatus:a}:{},...typeof t.recoveredFromSnapshot=="boolean"?{recoveredFromSnapshot:t.recoveredFromSnapshot}:{},state:t.state,stage:typeof t.stage=="string"?t.stage:"generating",activities:ZWe(t.activities),files:n,...t.source&&typeof t.source=="object"?{source:t.source}:{},...typeof t.name=="string"?{name:t.name}:{},...typeof t.description=="string"?{description:t.description}:{},...typeof t.skillMd=="string"?{skillMd:t.skillMd}:{},...typeof t.error=="string"?{error:t.error}:{},...t.validation&&typeof t.validation=="object"?{validation:t.validation}:{},...t.publication?{publication:KWe(t.publication)}:{}}}async function w2(e){const t=_l(await Sh(await mu("/capabilities",{signal:e}),"读取 Skill 工作台能力失败"),"Skill 工作台能力");return{enabled:t.enabled===!0,reason:typeof t.reason=="string"?t.reason:"",operations:Array.isArray(t.operations)?t.operations.filter(n=>n==="create"||n==="optimize"):[],models:Array.isArray(t.models)?t.models.flatMap(n=>{if(!n||typeof n!="object")return[];const i=n;return typeof i.id=="string"&&typeof i.label=="string"?[{id:i.id,label:i.label}]:[]}):[],styles:t.styles&&typeof t.styles=="object"&&!Array.isArray(t.styles)?Object.fromEntries(Object.entries(t.styles).filter(n=>typeof n[1]=="string")):{},...typeof t.maxUploadBytes=="number"?{maxUploadBytes:t.maxUploadBytes}:{}}}async function JWe(e){if(e.file){const n=new URLSearchParams({operation:"optimize",intent:e.intent});e.jobId&&n.set("job_id",e.jobId),e.model&&n.set("model",e.model),e.style&&n.set("style",e.style),e.name&&n.set("name",e.name);const i=await mu(`/tasks/from-upload?${n}`,{method:"POST",body:e.file,headers:{"Content-Type":"application/zip"},signal:e.signal},gr);return _1(await Sh(i,"开始优化 Skill 失败"))}const t=await mu("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operation:e.operation,intent:e.intent,...e.model?{model:e.model}:{},...e.style?{style:e.style}:{},...e.name?{name:e.name}:{},...e.jobId?{jobId:e.jobId}:{},...e.source?{source:{kind:"skill-center",skillId:e.source.skillId,skillName:e.source.name,version:e.source.version,region:e.source.region,projectName:e.source.projectName,skillSpaceId:e.source.skillSpaceId,skillSpaceName:e.source.skillSpaceName}}:{}}),signal:e.signal},gr);return _1(await Sh(t,"开始 Skill 会话失败"))}async function eZe(e,t){return _1(await Sh(await mu(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取 Skill 会话失败"))}async function Wj(e,t,n){const i=new URLSearchParams;i.set("expected_revision",String(t));const r=_l(await Sh(await mu(`/tasks/${encodeURIComponent(e)}/artifact?${i.toString()}`,{signal:n}),"读取 Skill 产物失败"),"Skill 产物");if(r.jobId!==e||r.revision!==t||!Number.isSafeInteger(r.revision)||r.revision<1||typeof r.sha256!="string"||!/^[0-9a-f]{64}$/.test(r.sha256)||typeof r.name!="string"||typeof r.description!="string"||!Array.isArray(r.files))throw new Error("Skill 产物格式错误。");const s=r.files.map(a=>{const o=_l(a,"Skill 产物文件");if(typeof o.path!="string"||typeof o.size!="number"||typeof o.content!="string")throw new Error("Skill 产物文件格式错误。");return{path:o.path,size:o.size,content:o.content}});return{jobId:r.jobId,revision:r.revision,sha256:r.sha256,name:r.name,description:r.description,files:s}}async function Zj(e){const t=await mu(`/tasks/${encodeURIComponent(e.jobId)}/refinements`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({intent:e.intent,expectedRevision:e.expectedRevision})},gr);return _1(await Sh(t,"继续调整 Skill 失败"))}async function tZe(e){const t=await mu(`/tasks/${encodeURIComponent(e.jobId)}/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expectedRevision:e.expectedRevision})});return _1(await Sh(t,"停止当前 Skill 任务失败"))}async function nZe(e){const t=await mu(`/tasks/${encodeURIComponent(e.jobId)}/publish-stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson"},body:JSON.stringify({disposition:e.disposition,expectedRevision:e.expectedRevision,expectedArtifactSha256:e.expectedArtifactSha256,skillSpaceIds:e.skillSpaceIds??[],projectName:e.projectName,region:e.region}),signal:e.signal},0);if(!t.ok)throw await e6(t,"发布 Skill 失败");if(!(t.headers.get("content-type")??"").includes("application/x-ndjson"))throw new Error("发布 Skill 失败:服务端返回了非 NDJSON 响应。");if(!t.body)throw new Error("发布 Skill 失败:服务端没有返回进度流。");const i=new Set(["preparing","uploading","registering","activating","publishing"]);let r=null,s="";const a=new TextDecoder,o=t.body.getReader(),c=u=>{var h;if(!u.trim())return;const d=_l(JSON.parse(u),"发布进度");if(d.type==="progress"){if(typeof d.phase!="string"||!i.has(d.phase)||typeof d.message!="string")throw new Error("发布进度格式错误。");(h=e.onProgress)==null||h.call(e,{phase:d.phase,message:d.message});return}if(d.type==="error"){const p=_l(d.error,"发布错误");throw new PM(typeof p.message=="string"?p.message:"发布 Skill 失败",500,typeof p.code=="string"?p.code:"SKILL_PUBLISH_FAILED",p.retryable===!0,"",p.originalError&&typeof p.originalError=="object"?p.originalError:void 0,JSON.stringify(d.error))}if(d.type!=="complete")throw new Error("未知的发布进度事件。");const f=_l(d.result,"发布结果");if(typeof f.skillId!="string"||typeof f.version!="string"||!Array.isArray(f.skillSpaceIds)||!f.skillSpaceIds.every(p=>typeof p=="string")||f.disposition!=="create-new"&&f.disposition!=="update-source"||!t$(f.region)||typeof f.projectName!="string")throw new Error("发布结果格式错误。");r={skillId:f.skillId,version:f.version,skillSpaceIds:f.skillSpaceIds,disposition:f.disposition,region:f.region,projectName:f.projectName}};for(;;){const{value:u,done:d}=await o.read();s+=a.decode(u,{stream:!d});const f=s.split(` -`);if(s=f.pop()??"",f.forEach(c),d)break}if(c(s),!r)throw new Error("发布进度流提前结束,无法确认发布结果。请刷新技能中心确认状态。");return r}async function iZe(e){await Sh(await mu(`/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),"删除 Skill 会话失败")}async function rZe(e,t,n){var c;const i=new URLSearchParams;i.set("expected_revision",String(t)),i.set("expected_sha256",n);const r=await mu(`/tasks/${encodeURIComponent(e)}/download?${i.toString()}`,{},gr);if(!r.ok)throw await e6(r,"下载 Skill 失败");const a=((c=(r.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:c[1])??"skill.zip",o=URL.createObjectURL(await r.blob());try{const u=document.createElement("a");u.href=o,u.download=a,u.click()}finally{URL.revokeObjectURL(o)}}const sZe={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 aZe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(const r of n){if(i==null||typeof i!="object")return;i=i[r]}return i}function oZe(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function lZe(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function t6(e,t){if(oZe(e))return aZe(t,e.path);if(lZe(e)){const n=sZe[e.call],i={};for(const[r,s]of Object.entries(e.args??{}))i[r]=t6(s,t);return n?n(i):`[unknown fn: ${e.call}]`}return e}function cZe(e,t){const n=t6(e,t);return n==null?"":typeof n=="string"?n:String(n)}const due=new Map;function Pm(e,t){due.set(e,t)}function uZe(e){return due.get(e)}function dZe(e,t,n){const i=t.replace(/^\//,"").split("/").map(s=>s.replace(/~1/g,"/").replace(/~0/g,"~"));let r=e;for(let s=0;st6(i,e.dataModel),resolveString:i=>cZe(i,e.dataModel),dispatchAction:t,render:i=>{if(!i)return null;const r=e.components[i];if(!r)return null;const s=uZe(r.component)??fZe;return l.jsx(s,{node:r,ctx:n},i)}};return l.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function hue(e){const t=m.useRef(null),n=m.useRef(!0),i=28,r=m.useCallback(()=>{const s=t.current;s&&(n.current=s.scrollHeight-s.scrollTop-s.clientHeight{const s=t.current;s&&n.current&&(s.scrollTop=s.scrollHeight)},[e]),{ref:t,onScroll:r}}function S2({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:i}){return e.skills.length===0&&!e.targetAgent?null:l.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(r=>l.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:r.description,children:[l.jsx(t1,{"aria-hidden":!0}),l.jsxs("span",{children:[t,r.name]}),n?l.jsx("button",{type:"button",onClick:()=>n(r.name),"aria-label":`移除技能 ${r.name}`,children:l.jsx(Ma,{})}):null]},r.name)),e.targetAgent?l.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[l.jsx(fte,{"aria-hidden":!0}),l.jsx("span",{children:e.targetAgent.name}),i?l.jsx("button",{type:"button",onClick:i,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:l.jsx(Ma,{})}):null]}):null]})}function n6(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function pue(e){var n,i,r,s;const t=n6(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((i=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:i.toUpperCase())??"VIDEO":t==="image"?((s=(r=e.mimeType)==null?void 0:r.split("/")[1])==null?void 0:s.toUpperCase())??"IMAGE":"TXT"}function mue(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function gue(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?Gte(t,e.uri):""}function pZe({kind:e}){return e==="image"?l.jsx(Z3,{}):e==="video"?l.jsx(gte,{}):e==="pdf"?l.jsx(Vke,{}):l.jsx(G3,{})}function E2({appName:e,items:t,compact:n=!1,onRemove:i}){const[r,s]=m.useState(null);return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const o=n6(a.mimeType),c=gue(a,e),u=a.status==="uploading"||a.status==="error"||!c,d=l.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:o==="image"?void 0:()=>s(a),"aria-label":`预览 ${a.name??"附件"}`,children:[o==="image"&&c?l.jsx("img",{className:"media-card-image",src:c,alt:a.name??"图片",loading:"lazy"}):o==="video"&&c?l.jsxs("div",{className:"media-card-video-container",children:[l.jsx("video",{className:"media-card-video",src:c,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),l.jsx("span",{className:"media-card-video-play",children:l.jsx(rTe,{})})]}):l.jsx("span",{className:"media-card-icon",children:l.jsx(pZe,{kind:o})}),l.jsxs("span",{className:"media-card-copy",children:[l.jsx("span",{className:"media-card-name",children:a.name??"附件"}),l.jsxs("span",{className:"media-card-meta",children:[l.jsx("span",{className:"media-card-type",children:pue(a)}),a.status==="uploading"?l.jsxs(l.Fragment,{children:[l.jsx(qn,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":mue(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?l.jsx(Fp,{className:"media-card-open"}):null]});return l.jsxs(Mr.div,{className:`media-card media-card--${o}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[o==="image"&&!u?l.jsx(cte,{src:c,children:d}):d,i?l.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>i(a.id),children:l.jsx(Ma,{})}):null]},a.id)})}),l.jsx(nh,{children:r?l.jsx(mZe,{appName:e,item:r,onClose:()=>s(null)}):null})]})}function mZe({appName:e,item:t,onClose:n}){const i=m.useMemo(()=>gue(t,e),[e,t]),r=n6(t.mimeType),[s,a]=m.useState(""),[o,c]=m.useState(r==="text"||r==="markdown"),[u,d]=m.useState("");return m.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),m.useEffect(()=>{if(r!=="text"&&r!=="markdown")return;const f=new AbortController;return c(!0),d(""),fetch(i,{signal:f.signal}).then(h=>{if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.text()}).then(a).catch(h=>{f.signal.aborted||d(h instanceof Error?h.message:String(h))}).finally(()=>{f.signal.aborted||c(!1)}),()=>f.abort()},[r,i]),l.jsx(Mr.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:l.jsxs(Mr.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:[l.jsxs("header",{className:"media-viewer-header",children:[l.jsxs("div",{children:[l.jsx("strong",{children:t.name??"附件"}),l.jsxs("span",{children:[pue(t),t.sizeBytes?` · ${mue(t.sizeBytes)}`:""]})]}),l.jsxs("nav",{children:[l.jsx("a",{href:i,download:t.name,"aria-label":"下载",children:l.jsx(yA,{})}),l.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:l.jsx(Ma,{})})]})]}),l.jsxs("div",{className:`media-viewer-body media-viewer-body--${r}`,children:[r==="image"?l.jsx("img",{src:i,alt:t.name??"图片"}):null,r==="video"?l.jsx("div",{className:"media-viewer-video-wrapper",children:l.jsx("video",{src:i,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,r==="pdf"?l.jsx("iframe",{src:i,title:t.name??"PDF"}):null,o?l.jsxs("div",{className:"media-viewer-loading",children:[l.jsx(qn,{})," 正在读取文档…"]}):null,!o&&u?l.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!o&&r==="markdown"?l.jsx("div",{className:"media-document",children:l.jsx(pu,{text:s})}):null,!o&&r==="text"?l.jsx("pre",{className:"media-document media-document--plain",children:s}):null]})]})})}function gZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),l.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 bZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),l.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),l.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),l.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 i6(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{className:"video-generate-icon__body",d:"M3.25 9h17.5v7.35a2.4 2.4 0 0 1-2.4 2.4H5.65a2.4 2.4 0 0 1-2.4-2.4V9Z"}),l.jsxs("g",{className:"video-generate-icon__clapper",children:[l.jsx("path",{d:"M3.25 9V7.65a2.4 2.4 0 0 1 2.4-2.4h12.7a2.4 2.4 0 0 1 2.4 2.4V9H3.25Z"}),l.jsx("path",{d:"M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"})]}),l.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function OZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),l.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),l.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function yZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function xZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),l.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),l.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),l.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function vZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.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 wZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),l.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),l.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"}),l.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function r6(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function SZe({definition:e,label:t,done:n,open:i,onToggle:r}){const s=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return l.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:r,"aria-expanded":i,children:[l.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:l.jsx(s,{})}),n?l.jsx("span",{className:"builtin-tool-label",children:a}):l.jsx(Ln,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),l.jsx(r6,{className:`builtin-tool-chevron${i?" is-open":""}`})]})}const EZe={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:gZe},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:wZe},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:bZe},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:i6},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:OZe},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:yZe},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:xZe},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:vZe}};function kZe(e){return EZe[e]}function bue(e){return l.jsx("svg",{viewBox:"0 0 111 117",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M0 5.6016C7.82288e-05 0.621244 6.02226 -1.87314 9.54395 1.64847L40.1289 32.2334L68.5732 3.7891C69.5834 2.77903 70.9533 2.21099 72.3818 2.21097H82.7031C82.7917 2.20658 82.8806 2.20414 82.9697 2.20414H104.775C109.574 2.20427 111.977 8.00691 108.584 11.4004L64.916 55.0664C64.3075 55.8528 63.9436 56.7647 63.8242 57.6993C63.7142 56.4884 63.1964 55.3069 62.2695 54.3799L45.4082 37.5186H45.4072L40.124 32.2354L17.832 54.5284C16.7671 55.5933 16.2416 56.993 16.2549 58.3887C16.2417 59.7843 16.7672 61.1842 17.832 62.2491L39.9287 84.3467L9.54395 114.733C6.0223 118.255 0.000223474 115.761 0 110.78V5.6016ZM63.8018 58.8702C63.8962 59.9086 64.2936 60.9229 64.9961 61.7735L108.591 105.368C111.984 108.762 109.58 114.564 104.781 114.564H94.4336C94.3543 114.568 94.274 114.569 94.1934 114.569H72.3877C70.9592 114.569 69.5892 114.002 68.5791 112.992L39.9336 84.3467L58.4531 65.8282L58.4453 65.8203L62.2695 61.9981C63.1476 61.12 63.6567 60.0136 63.8018 58.8702Z",fill:"currentColor"})})}function TZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6 3h8l4 4v14H6Z"}),l.jsx("path",{d:"M14 3v5h5"}),l.jsx("path",{d:"m10 12-2 2 2 2M14 12l2 2-2 2"})]})}function _Ze(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M12 3 19 6v5c0 4.6-2.8 7.8-7 10-4.2-2.2-7-5.4-7-10V6l7-3Z"}),l.jsx("path",{d:"m9 12 2 2 4-4"})]})}const AZe=m.lazy(()=>xd(()=>Promise.resolve().then(()=>CQ),void 0));function CZe(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function NZe(e,t=!1){return[...e.children.values()].sort((n,i)=>{const r=n.children.size>0&&n.path===void 0,s=i.children.size>0&&i.path===void 0;return r!==s?t?r?1:-1:r?-1:1:n.name.localeCompare(i.name)})}function s6({project:e,open:t,onClose:n,onChange:i,readOnly:r=!1}){var g;const[s,a]=m.useState(((g=e.files[0])==null?void 0:g.path)??null),[o,c]=m.useState(new Set),u=m.useRef(null),d=m.useMemo(()=>CZe(e.files),[e.files]),f=e.files.find(O=>O.path===s)??null;if(m.useEffect(()=>{var v;if(!t)return;const O=document.body.style.overflow;document.body.style.overflow="hidden",(v=u.current)==null||v.focus();const y=x=>{x.key==="Escape"&&n()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=O,window.removeEventListener("keydown",y)}},[n,t]),m.useEffect(()=>{f||e.files.length===0||a(e.files[0].path)},[e.files,f]),!t)return null;function h(O){c(y=>{const v=new Set(y);return v.has(O)?v.delete(O):v.add(O),v})}function p(O,y,v){return NZe(O,y===0).map(x=>{const w=v?`${v}/${x.name}`:x.name;if(!(x.children.size>0&&x.path===void 0)&&x.path)return l.jsxs("button",{type:"button",className:`code-browser-file${s===x.path?" is-active":""}`,style:{paddingLeft:`${12+y*16}px`},onClick:()=>a(x.path??null),title:x.path,children:[l.jsx(F7,{"aria-hidden":"true"}),l.jsx("span",{children:x.name})]},w);const S=o.has(w);return l.jsxs("div",{children:[l.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+y*16}px`},onClick:()=>h(w),"aria-expanded":!S,children:[l.jsx(Qb,{className:S?"":"is-open","aria-hidden":"true"}),l.jsx(bte,{"aria-hidden":"true"}),l.jsx("span",{children:x.name})]}),!S&&p(x,y+1,w)]},w)})}function b(O){f&&i({...e,files:e.files.map(y=>y.path===f.path?{...y,content:O}:y)})}return zi.createPortal(l.jsx("div",{className:"code-browser-backdrop",onMouseDown:O=>{O.target===O.currentTarget&&n()},children:l.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[l.jsxs("header",{className:"code-browser-head",children:[l.jsxs("div",{className:"code-browser-title-wrap",children:[l.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:l.jsx(mte,{})}),l.jsxs("div",{children:[l.jsx("h2",{id:"code-browser-title",children:"项目代码"}),l.jsx("p",{children:e.name||"Agent 项目"})]})]}),l.jsx("button",{ref:u,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:l.jsx(Ma,{"aria-hidden":"true"})})]}),l.jsxs("div",{className:"code-browser-workspace",children:[l.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[l.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",l.jsx("span",{children:e.files.length})]}),l.jsx("div",{className:"code-browser-tree",children:e.files.length>0?p(d,0,""):l.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),l.jsxs("main",{className:"code-browser-main",children:[l.jsxs("div",{className:"code-browser-path",children:[l.jsx(F7,{"aria-hidden":"true"}),l.jsx("span",{children:(f==null?void 0:f.path)??"未选择文件"})]}),l.jsx("div",{className:"code-browser-editor",children:f?l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:l.jsx(AZe,{value:f.content,path:f.path,onChange:b,readOnly:r})}):l.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function jZe({project:e,onChange:t,className:n="",label:i="查看源码"}){const[r,s]=m.useState(!1);return l.jsxs(l.Fragment,{children:[l.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>s(!0),"aria-label":"查看和编辑项目源码",title:i,children:[l.jsx(mte,{"aria-hidden":"true"}),l.jsx("span",{children:i})]}),l.jsx(s6,{project:e,open:r,onClose:()=>s(!1),onChange:t})]})}const Oue="send_a2ui_json_to_client",RZe=28,DZe=3e3;function IZe(e,t,n){let i=t;for(let r=0;r65535?2:1}return i}function PZe(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function yue(e,t,n,i){const[r,s]=m.useState(()=>t?"":e),a=m.useRef(r),o=m.useRef(e),c=m.useRef(null),u=m.useRef(0),d=m.useRef(n);return o.current=e,d.current=n,m.useEffect(()=>{const f=a.current,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||h||!e.startsWith(f)){c.current!==null&&window.cancelAnimationFrame(c.current),c.current=null,f!==e&&(a.current=e,s(e));return}if(f===e||c.current!==null)return;const p=b=>{const g=o.current,O=a.current;if(!g.startsWith(O)){a.current=g,s(g),c.current=null;return}if(b-u.current{var f;(f=d.current)==null||f.call(d)},[r]),m.useEffect(()=>{r===e&&(i==null||i())},[r,i,e]),m.useEffect(()=>()=>{c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null)},[]),r}function MZe(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:l.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 LZe(){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"m4.5 7 1.8 1.8L9.5 5.5"}),l.jsx("path",{d:"M12 7h7.5"}),l.jsx("path",{d:"m4.5 13 1.8 1.8 3.2-3.3"}),l.jsx("path",{d:"M12 13h7.5"}),l.jsx("path",{d:"M5 19h4"}),l.jsx("path",{d:"M12 19h7.5"})]})}function $Ze(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 xue({text:e,done:t,answerStarted:n=!1,streaming:i=!1,onStreamFrame:r}){const[s,a]=m.useState(!(t||n)),o=m.useRef(!1);m.useEffect(()=>{o.current||a(!(t||n))},[n,t]);const c=()=>{o.current=!0,a(p=>!p)},u=e.replace(/^\s+/,""),d=yue(u,!t||i,r),{ref:f,onScroll:h}=hue(d);return l.jsxs("div",{className:"block-thinking",children:[l.jsxs("button",{className:"think-head",onClick:c,type:"button",children:[l.jsx("span",{className:"think-icon","aria-hidden":"true",children:l.jsx(bue,{className:`thinking-logo ${t?"":"is-active"}`})}),t?l.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):l.jsx(Ln,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),l.jsx(Qb,{className:`chev ${s?"open":""}`})]}),l.jsx("div",{className:`think-collapse ${s&&d?"open":""}`,children:l.jsx("div",{className:"think-collapse-inner",children:l.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function QZe({text:e}){return l.jsx("div",{className:"block-progress",role:"status","aria-live":"polite","aria-atomic":"true",children:l.jsxs("div",{className:"think-head progress-head",children:[l.jsx("span",{className:"think-icon","aria-hidden":"true",children:l.jsx(bue,{className:"thinking-logo is-active"})}),l.jsx(Ln,{className:"think-label",duration:2.4,spread:18,children:e})]})})}function BZe({value:e,onResolve:t,onDownload:n,onDeploy:i}){const[r,s]=m.useState(e.files?e:null),[a,o]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(""),[h,p]=m.useState(null),b=new Date(e.validatedAt),g=e.validatedAt?Number.isNaN(b.getTime())?e.validatedAt:b.toLocaleString("zh-CN",{hour12:!1}):"刚刚";m.useEffect(()=>{if(!h)return;const w=window.setTimeout(()=>p(null),DZe);return()=>window.clearTimeout(w)},[h]);async function O(){if(r)return r;if(!t)throw new Error("暂时无法读取生成的源码,请稍后重试。");const w=await t(e);return s(w),w}async function y(){u("source"),f(""),p(null);try{await O(),o(!0)}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}async function v(){if(n){u("download"),f(""),p(null);try{await n(e),p({message:"已开始下载"})}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}}async function x(){u("deploy"),f(""),p(null);try{i==null||i(await O())}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}return l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:`delivery-card${e.verified?" is-verified":" is-unverified"}`,"aria-label":e.verified?"已验证交付物":"生成的 Agent 源码",children:[l.jsxs("header",{className:"delivery-card-header",children:[l.jsx("span",{className:"delivery-card-icon",children:e.verified?l.jsx(_Ze,{}):l.jsx(TZe,{})}),l.jsxs("div",{children:[l.jsx("strong",{children:e.verified?"已验证交付物":"生成的 Agent 源码"}),l.jsx("span",{children:e.agentName})]})]}),l.jsxs("dl",{className:"delivery-card-grid",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"入口"}),l.jsx("dd",{children:l.jsx("code",{children:e.entryPoint})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"文件数"}),l.jsx("dd",{children:e.fileCount})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"大小"}),l.jsxs("dd",{children:[(e.artifactSize/1024).toFixed(1)," KiB"]})]}),l.jsxs("div",{children:[l.jsx("dt",{children:e.verified?"验证时间":"生成时间"}),l.jsx("dd",{children:g})]})]}),l.jsxs("p",{className:"delivery-card-gates",children:[e.verified?`${e.gateSummary.length} 项检查通过`:"源码已准备好,可部署"," ·"," ",l.jsx("code",{children:e.artifactSha256.slice(0,12)})]}),e.verified?null:l.jsx("p",{className:"delivery-card-guidance",children:"源码已准备好,可查看、下载或部署;部署前请确认 Runtime 配置。"}),l.jsxs("div",{className:"delivery-card-actions",children:[l.jsxs("button",{type:"button",className:"delivery-card-secondary",onClick:()=>void y(),disabled:!t||c!==null,children:[c==="source"?l.jsx(qn,{className:"spin","aria-hidden":"true"}):null,"查看源码"]}),l.jsxs("button",{type:"button",className:"delivery-card-secondary",onClick:()=>void v(),disabled:!n||c!==null,"aria-busy":c==="download",children:[c==="download"?l.jsx(qn,{className:"spin","aria-hidden":"true"}):null,c==="download"?"正在准备…":"下载源码"]}),l.jsxs("button",{type:"button",onClick:()=>void x(),disabled:!e.deployable||!i||!t||c!==null,title:e.deployable?void 0:"源码尚未准备好",children:[c==="deploy"?l.jsx(qn,{className:"spin","aria-hidden":"true"}):null,"手动部署到 Runtime"]})]}),d?l.jsx("p",{className:"delivery-card-error",role:"alert",children:d}):null,h?l.jsx("p",{className:"delivery-card-status",role:"status","aria-live":"polite",children:h.message}):null]}),l.jsx(s6,{project:{name:e.agentName,files:(r==null?void 0:r.files)??[]},open:a,onClose:()=>o(!1),onChange:()=>{},readOnly:!0})]})}function vue(){return l.jsx(xue,{text:"",done:!1})}const FZe=m.memo(function({text:t,streaming:n,onStreamFrame:i,onStreamComplete:r}){const s=yue(t,n,i,r);return s?l.jsx("div",{className:"bubble",children:l.jsx(pu,{text:s,streaming:n})}):null}),UZe={pending:"待处理",in_progress:"进行中",completed:"已完成",failed:"未完成"};function zZe({title:e,summary:t,items:n,done:i}){const[r,s]=m.useState(!i),a=m.useRef(!1);m.useEffect(()=>{a.current||s(!i)},[i]);const o=()=>{a.current=!0,s(c=>!c)};return l.jsxs("div",{className:"block-plan",children:[l.jsxs("button",{className:"plan-head",type:"button",onClick:o,"aria-expanded":n.length>0?r:void 0,disabled:n.length===0,children:[l.jsx("span",{className:"plan-icon","aria-hidden":"true",children:l.jsx(LZe,{})}),i?l.jsx("span",{className:"plan-title",children:e}):l.jsx(Ln,{className:"plan-title",duration:2.2,spread:15,children:e}),t?l.jsx("span",{className:"plan-summary",children:t}):null,n.length>0?l.jsx(r6,{className:`plan-chevron${r?" is-open":""}`}):null]}),l.jsx("div",{className:`think-collapse ${r&&n.length>0?"open":""}`,children:l.jsx("div",{className:"think-collapse-inner",children:n.length>0?l.jsx("ol",{className:"plan-items",children:n.map((c,u)=>l.jsxs("li",{"data-status":c.status,children:[l.jsx("span",{className:"plan-item-marker","aria-hidden":"true"}),l.jsx("span",{className:"plan-item-text",children:c.text}),l.jsx("small",{children:UZe[c.status]})]},`${u}:${c.text}`))}):null})})]})}function VZe({name:e,args:t,response:n,done:i,status:r}){const[s,a]=m.useState(!1),o=e===Oue?"渲染 UI":e,c=r??(i?"completed":"running"),u=c==="failed"?void 0:kZe(e),d=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),f=d&&d.length>2e3?d.slice(0,2e3)+` -…(已截断)`:d;return l.jsxs(Mr.div,{className:`block-tool${u?" block-tool--builtin":""}`,"data-status":c,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[u?l.jsx(SZe,{definition:u,label:$Ze(e,t),done:i,open:s,onToggle:()=>a(h=>!h)}):l.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>a(h=>!h),type:"button","aria-expanded":s,children:[l.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:l.jsx(MZe,{})}),i?l.jsx("span",{className:"tool-name",children:o}):l.jsx(Ln,{className:"tool-name",duration:2.2,spread:15,children:o}),l.jsx(r6,{className:`tool-chevron${s?" is-open":""}`})]}),l.jsx("div",{className:`think-collapse ${s?"open":""}`,children:l.jsx("div",{className:"think-collapse-inner",children:l.jsxs("div",{className:"tool-detail",children:[t!=null&&l.jsxs("div",{className:"tool-section",children:[l.jsx("div",{className:"tool-section-label",children:"参数"}),l.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),f!=null&&l.jsxs("div",{className:"tool-section",children:[l.jsx("div",{className:"tool-section-label",children:"返回"}),l.jsx("pre",{className:"tool-args tool-result",children:f})]})]})})})]})}function qZe({block:e,onDownload:t,onPreview:n}){const[i,r]=m.useState(""),[s,a]=m.useState(""),[o,c]=m.useState(null);m.useEffect(()=>()=>{o&&URL.revokeObjectURL(o.url)},[o]);const u=()=>c(null),d=async(p,b)=>{if(t){r(`download:${p}`),a("");try{await t(p,b)}catch(g){a(g instanceof Error?g.message:String(g))}finally{r("")}}},f=async(p,b,g)=>{if(n){r(`preview:${g}`),a("");try{const O=await n(p,b);c({name:g,url:O})}catch(O){a(O instanceof Error?O.message:String(O))}finally{r("")}}},h=e.files.filter(p=>!p.filename.endsWith(".preview.webp"));return l.jsxs("div",{className:"artifact-list",children:[h.map(p=>{const b=`${p.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(O=>O.filename===b);return l.jsxs("div",{className:"artifact-card",children:[l.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:l.jsx(G3,{})}),l.jsxs("span",{className:"artifact-card__copy",children:[l.jsx("span",{className:"artifact-card__name",children:p.filename}),l.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),l.jsxs("span",{className:"artifact-card__actions",children:[g&&l.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||i!=="",onClick:()=>void f(g.filename,g.version,p.filename),children:[i===`preview:${p.filename}`?l.jsx(qn,{className:"spin"}):l.jsx(Fke,{}),"预览"]}),l.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||i!=="",onClick:()=>void d(p.filename,p.version),children:[i===`download:${p.filename}`?l.jsx(qn,{className:"spin"}):l.jsx(yA,{}),"下载"]})]})]},`${p.filename}:${p.version}`)}),s&&l.jsx("div",{className:"artifact-card__error",children:s}),o&&l.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${o.name} 预览`,children:[l.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),l.jsxs("div",{className:"artifact-preview__panel",children:[l.jsxs("div",{className:"artifact-preview__header",children:[l.jsx("span",{children:o.name}),l.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:l.jsx(Ma,{})})]}),l.jsx("div",{className:"artifact-preview__canvas",children:l.jsx("img",{src:o.url,alt:`${o.name} 幻灯片预览`})})]})]})]})}function XZe({block:e,onAuth:t}){const[n,i]=m.useState(e.done?"done":"idle"),[r,s]=m.useState(""),a=e.label||"MCP 工具集",o=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),c=async()=>{if(t){s(""),i("authorizing");try{await t(e),i("done")}catch(d){s(d instanceof Error?d.message:String(d)),i("idle")}}};return e.done||n==="done"?l.jsxs(Mr.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[l.jsx(U7,{className:"auth-card-icon auth-card-icon--done"}),l.jsxs("span",{children:["已授权 · ",a]})]}):l.jsxs(Mr.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[l.jsxs("div",{className:"auth-card-head",children:[l.jsx(U7,{className:"auth-card-icon"}),l.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),l.jsxs("p",{className:"auth-card-desc",children:["工具集 ",l.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",o&&l.jsxs(l.Fragment,{children:[" ","将跳转至 ",l.jsx("code",{className:"auth-card-code",children:o})," 完成登录,"]}),"授权完成后对话自动继续。"]}),l.jsx("button",{className:"auth-card-btn",onClick:c,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?l.jsxs(l.Fragment,{children:[l.jsx(qn,{className:"cw-i spin"})," 等待授权…"]}):l.jsx(l.Fragment,{children:"去授权"})}),!e.authUri&&l.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),r&&l.jsx("div",{className:"auth-card-err",children:r})]})}function k2({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:i,onStreamComplete:r,onAction:s,onAuth:a,onArtifactDownload:o,onArtifactPreview:c,onResolveDelivery:u,onDownloadDelivery:d,onDeployDelivery:f}){const h=e.reduce((p,b,g)=>b.kind==="text"?g:p,-1);return l.jsx(l.Fragment,{children:e.map((p,b)=>{switch(p.kind){case"progress":return l.jsx(QZe,{text:p.text},"build-progress");case"thinking":{const g=e.slice(b+1).some(O=>O.kind==="text"&&!!O.text.trim());return l.jsx(xue,{text:p.text,done:p.done,answerStarted:g,streaming:n,onStreamFrame:i},b)}case"text":{const g=p.text.replace(/^\s+/,"");return g?l.jsx(FZe,{text:g,streaming:n,onStreamFrame:i,onStreamComplete:b===h?r:void 0},b):null}case"plan":return l.jsx(zZe,{title:p.title,summary:p.summary,items:p.items,done:p.done},b);case"attachment":return l.jsx(E2,{appName:t,items:p.files},b);case"artifact":return l.jsx(qZe,{block:p,onDownload:o,onPreview:c},b);case"delivery":return l.jsx(BZe,{value:p.value,onResolve:u,onDownload:d,onDeploy:f},b);case"invocation":return l.jsx(S2,{value:p.value},b);case"tool":return p.name===Oue&&p.done?null:l.jsx(VZe,{name:p.name,args:p.args,response:p.response,done:p.done,status:p.status},b);case"agent-transfer":return null;case"auth":return l.jsx(XZe,{block:p,onAuth:a},b);case"a2ui":return fue(p.messages).filter(g=>g.components[g.rootId]).map(g=>l.jsx(Mr.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:l.jsx(hZe,{surface:g,onAction:s})},`${b}-${g.surfaceId}`));default:return null}})})}const HZe=()=>{};function YZe(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 GZe({activities:e}){const t=m.useMemo(()=>e.filter(n=>n.kind!=="status").map(YZe),[e]);return t.length===0?null:l.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:l.jsx(k2,{blocks:t,onAction:HZe})})}function tq(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m7 9 5 5 5-5",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function lk({label:e,value:t,options:n,onChange:i,disabled:r=!1,allowCustom:s=!1,required:a=!1,placeholder:o="请选择",error:c}){const u=m.useId(),d=m.useId(),f=m.useId(),h=m.useRef(null),p=m.useRef(null),b=m.useRef(null),g=m.useRef(null),O=m.useRef([]),y=n.findIndex(B=>B.value===t),v=t.trim().toLocaleLowerCase(),x=s&&v?n.filter(B=>B.value.toLocaleLowerCase().includes(v)||B.label.toLocaleLowerCase().includes(v)):n,[w,E]=m.useState(!1),[S,k]=m.useState(Math.max(0,y)),T=y>=0?n[y]:void 0,C=r||!s&&n.length===0,A=(B=!1)=>{E(!1),B&&window.requestAnimationFrame(()=>{var I,$;return s?(I=b.current)==null?void 0:I.focus():($=p.current)==null?void 0:$.focus()})},R=B=>{C||x.length!==0&&(k(Math.min(Math.max(B,0),x.length-1)),E(!0))};m.useEffect(()=>{if(!w)return;const B=g.current,I=s?void 0:window.requestAnimationFrame(()=>{var F;(F=O.current[S])==null||F.focus()}),$=F=>{if(!B)return;const Q=B.scrollTop<=0,M=B.scrollTop+B.clientHeight>=B.scrollHeight-1;(B.scrollHeight<=B.clientHeight||F.deltaY<0&&Q||F.deltaY>0&&M)&&F.preventDefault(),F.stopPropagation()},j=F=>{var Q;F.target instanceof Node&&!((Q=h.current)!=null&&Q.contains(F.target))&&A()},D=F=>{F.key==="Escape"&&A(!0)};return B==null||B.addEventListener("wheel",$,{passive:!1}),window.addEventListener("pointerdown",j),window.addEventListener("keydown",D),()=>{I!==void 0&&window.cancelAnimationFrame(I),B==null||B.removeEventListener("wheel",$),window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",D)}},[S,s,w]);const P=B=>{var $;if(x.length===0)return;const I=(B+x.length)%x.length;k(I),($=O.current[I])==null||$.focus()};return l.jsxs("div",{ref:h,className:`skill-config-select${w?" is-open":""}`,onBlur:B=>{var I;(!B.relatedTarget||!((I=h.current)!=null&&I.contains(B.relatedTarget)))&&A()},children:[l.jsxs("span",{id:d,className:"skill-config-select__label",children:[e,a?l.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"}):null]}),s?l.jsxs("div",{className:`skill-config-select__trigger is-editable${r?" is-disabled":""}`,"aria-expanded":w,children:[l.jsx("input",{ref:b,value:t,disabled:r,role:"combobox","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?u:void 0,"aria-labelledby":d,"aria-required":a,"aria-invalid":!!c,"aria-describedby":c?f:void 0,placeholder:o,onChange:B=>{i(B.target.value),k(0),n.length>0&&E(!0)},onClick:()=>{!w&&x.length>0&&R(0)},onKeyDown:B=>{var I,$;if(!(B.nativeEvent.isComposing||B.keyCode===229))if(B.key==="ArrowDown")B.preventDefault(),w?(I=O.current[S])==null||I.focus():R(0);else if(B.key==="ArrowUp")B.preventDefault(),w?($=O.current[x.length-1])==null||$.focus():R(x.length-1);else if(B.key==="Enter"&&w){B.preventDefault();const j=x[S];j&&i(j.value),A()}else B.key==="Escape"&&(B.preventDefault(),A())}}),l.jsx("button",{type:"button",className:"skill-config-select__toggle",disabled:r||n.length===0,"aria-label":w?"收起模型选项":"展开模型选项",onClick:()=>{w?A():R(0)},children:l.jsx(tq,{})})]}):l.jsxs("button",{ref:p,type:"button",className:"skill-config-select__trigger",disabled:C,"aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?u:void 0,"aria-labelledby":d,"aria-required":a,onClick:()=>{w?A():R(y>=0?y:0)},onKeyDown:B=>{B.key==="ArrowDown"?(B.preventDefault(),R(y>=0?y:0)):B.key==="ArrowUp"&&(B.preventDefault(),R(y>=0?y:n.length-1))},children:[l.jsx("span",{className:T?void 0:"is-placeholder",title:T==null?void 0:T.label,children:(T==null?void 0:T.label)||(n.length===0?"暂无可用选项":o)}),l.jsx(tq,{})]}),w?l.jsxs("div",{ref:g,id:u,className:"skill-config-select__menu",role:"listbox","aria-labelledby":d,children:[x.length===0?l.jsx("div",{className:"skill-config-select__empty",role:"status",children:"没有匹配项,可直接使用当前模型 ID"}):null,x.map((B,I)=>{const $=B.value===t;return l.jsx("button",{ref:j=>{O.current[I]=j},type:"button",role:"option","aria-selected":$,tabIndex:I===S?0:-1,className:`skill-config-select__option${$?" is-selected":""}`,title:B.label,onFocus:()=>k(I),onClick:()=>{i(B.value),A(!0)},onKeyDown:j=>{j.key==="Enter"||j.key===" "?(j.preventDefault(),i(B.value),A(!0)):j.key==="ArrowDown"?(j.preventDefault(),P(I+1)):j.key==="ArrowUp"?(j.preventDefault(),P(I-1)):j.key==="Home"?(j.preventDefault(),P(0)):j.key==="End"&&(j.preventDefault(),P(n.length-1))},children:B.label},B.value)})]}):null,c?l.jsx("span",{id:f,className:"skill-config-select__error",role:"alert",children:c}):null]})}function js(e,t){return e instanceof Error?e:typeof e=="string"&&e.trim()?new Error(e.trim()):new Error(t)}function Qo({error:e}){var r,s,a,o,c;const t=e,n=(s=(r=t.originalError)==null?void 0:r.message)==null?void 0:s.trim(),i=[typeof t.status=="number"?`HTTP ${t.status}${t.statusText?` ${t.statusText}`:""}`:"",t.code?`错误码:${t.code}`:"",(a=t.originalError)!=null&&a.type?`错误类型:${t.originalError.type}`:"",(o=t.originalError)!=null&&o.repr&&t.originalError.repr!==n?`异常表示:${t.originalError.repr}`:"",(c=t.rawResponse)!=null&&c.trim()?`服务端原始响应: +`+O+"]"}return r.pop(),s=O,v}};const nWe={parse:YYe,stringify:tWe};var Oue=nWe;const iWe=2e5,rWe=new Set(["__proto__","constructor","prototype"]),sWe=/^(?:https?:|data:|blob:|file:|javascript:|image:\/\/)/i;function By(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function i_(e,t=0){if(t>30)throw new Error("ECharts option nesting is too deep");if(typeof e=="number"&&!Number.isFinite(e))throw new Error("ECharts option contains a non-finite number");if(typeof e=="string"&&sWe.test(e.trim()))throw new Error("ECharts option contains an external resource");if(Array.isArray(e)){for(const n of e)i_(n,t+1);return}if(By(e))for(const[n,i]of Object.entries(e)){if(rWe.has(n))throw new Error("ECharts option contains an unsafe key");i_(i,t+1)}}function aWe(e){var i;const t=e.trim(),n=t.match(/^(?:(?:const|let|var)\s+)?option\s*=\s*([\s\S]*?)\s*;?$/);return((i=n==null?void 0:n[1])==null?void 0:i.trim())||t}function oWe(e,t){let n=1,i="",r=!1,s=!1,a=!1;for(let o=t+1;oi+2)throw new Error("Invalid ECharts gradient argument count");const r=n.slice(0,i).map(lWe),s=n[i],a=n[i+1]??!1;if(!Array.isArray(s)||typeof a!="boolean")throw new Error("Invalid ECharts gradient data");return e==="linear"?{type:e,x:r[0],y:r[1],x2:r[2],y2:r[3],colorStops:s,global:a}:{type:e,x:r[0],y:r[1],r:r[2],colorStops:s,global:a}}function uWe(e,t){const n=/^(?:new\s+)?echarts\.graphic\.(LinearGradient|RadialGradient)\s*\(/;let i="",r=!1,s=!1,a=!1;for(let o=t;oiWe)throw new Error("ECharts option is too large");const n=dWe(aWe(e));let i;try{i=Oue.parse(n)}catch(a){throw/\bfunction\s*\(|=>/.test(n)?new Error("ECharts function callbacks are not supported"):a}if(!By(i))throw new Error("ECharts option must be a data object");i_(i);const r={...i};r.aria={...By(r.aria)?r.aria:{},enabled:!0};const s=r.tooltip;return By(s)?r.tooltip={...s,renderMode:"richText"}:Array.isArray(s)&&(r.tooltip=s.map(a=>By(a)?{...a,renderMode:"richText"}:a)),t&&(r.animation=!1),r}let rR;function hWe(){return rR??(rR=Td(()=>import("../visualizations/echarts/index-CGT341lL.js"),[]).catch(e=>{throw rR=void 0,e})),rR}function pWe({source:e}){const t=m.useRef(null),[n,i]=m.useState(!1),[r,s]=m.useState("");return m.useEffect(()=>{let a=!1,o,c,u;i(!1);try{u=fWe(e,window.matchMedia("(prefers-reduced-motion: reduce)").matches),s("")}catch{s("ECharts 配置不是有效且安全的数据对象,请切换到代码检查内容。");return}return hWe().then(d=>{const f=t.current;a||!f||(o=d.init(f,void 0,{renderer:"svg"}),o.setOption(u,{notMerge:!0}),typeof ResizeObserver<"u"&&(c=new ResizeObserver(()=>o==null?void 0:o.resize()),c.observe(f)),i(!0))}).catch(()=>{o==null||o.dispose(),o=void 0,a||s("图表暂时无法渲染,请切换到代码检查内容。")}),()=>{a=!0,c==null||c.disconnect(),o==null||o.dispose()}},[e]),l.jsxs("div",{className:`echarts-diagram${r?" echarts-diagram--error":""}`,role:"img","aria-label":"ECharts 图表预览","aria-busy":!n&&!r,children:[l.jsx("div",{ref:t,className:"echarts-diagram__canvas",hidden:!!r}),!n&&!r?l.jsx("div",{className:"echarts-diagram__state","aria-live":"polite",children:l.jsx(Fn,{duration:2.2,spread:15,children:"正在渲染图表…"})}):null,r?l.jsx("p",{className:"echarts-diagram__error",role:"alert",children:r}):null]})}const mWe=m.memo(pWe);let sq,aq=Promise.resolve(),gWe=0;function bWe(){return sq??(sq=Td(async()=>{const{default:e}=await import("../visualizations/mermaid/mermaid.core-DAX2QfGO.js").then(t=>t.ay);return{default:e}},[]).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0,theme:"neutral"}),e))),sq}function OWe(e){const t=aq.then(async()=>{const n=await bWe(),i=`mermaid-diagram-${gWe+=1}`;return n.render(i,e)});return aq=t.then(()=>{},()=>{}),t}function yWe({source:e}){const t=m.useRef(null),[n,i]=m.useState(null),[r,s]=m.useState(!1);return m.useEffect(()=>{let a=!1;return i(null),s(!1),OWe(e).then(o=>{a||i(o)}).catch(()=>{a||s(!0)}),()=>{a=!0}},[e]),m.useEffect(()=>{!(n!=null&&n.bindFunctions)||!t.current||n.bindFunctions(t.current)},[n]),r?l.jsx("div",{className:"mermaid-diagram mermaid-diagram--error",children:l.jsx("p",{className:"mermaid-diagram__error",role:"alert",children:"图表暂时无法渲染,请切换到代码查看 Mermaid 内容。"})}):n?l.jsx("div",{ref:t,className:"mermaid-diagram",role:"img","aria-label":"Mermaid 图表预览",dangerouslySetInnerHTML:{__html:n.svg}}):l.jsx("div",{className:"mermaid-diagram mermaid-diagram--loading","aria-live":"polite",children:l.jsx(Fn,{duration:2.2,spread:15,children:"正在渲染图表…"})})}const xWe=m.memo(yWe),vWe="_SegmentedControl_1sl7d_1",wWe="_SegmentedControlOption_1sl7d_140",SWe="_SegmentedControlThumb_1sl7d_219",BM={SegmentedControl:vWe,SegmentedControlOption:wWe,SegmentedControlThumb:SWe},nm=({value:e,onChange:t,children:n,block:i,pill:r=!0,size:s="md",gutterSize:a,className:o,onClick:c,...u})=>{const d=m.useRef(null),f=m.useRef(null),h=m.useCallback(b=>{const g=d.current,O=f.current;if(!g||!O)return;const y=g==null?void 0:g.querySelector('[data-state="on"]');if(!y)return;const v=g.clientWidth;let x=Math.floor(y.clientWidth);const w=y.offsetLeft;if(v-(x+w)<2&&(x=x-1),O.style.width=`${Math.floor(x)}px`,O.style.transform=`translateX(${w}px)`,g.scrollWidth>v){const E=v*.15,S=g.scrollLeft,k=y.offsetLeft,T=k+x;(kS+v-E)&&b&&y.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);t3e({ref:d,onResize:()=>{const b=f.current;if(!b)return;const g=b.style.transition;b.style.transition="",h(!1),b.style.transition=g}}),m.useLayoutEffect(()=>{const b=d.current,g=f.current;!b||!g||(h(!!g.style.transition),g.style.transition||eM(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,s,a,r]);const p=b=>{b&&t&&t(b)};return l.jsxs(xQe,{ref:d,className:la(BM.SegmentedControl,o),type:"single",value:e,loop:!1,onValueChange:p,onClick:c,"data-block":i?"":void 0,"data-pill":r?"":void 0,"data-size":s,"data-gutter-size":a,...u,children:[l.jsx("div",{className:BM.SegmentedControlThumb,ref:f}),n]})},EWe=({children:e,...t})=>l.jsx(kQe,{className:BM.SegmentedControlOption,...t,onPointerEnter:Dse,children:l.jsx("span",{className:"relative",children:e})});nm.Option=EWe;function kWe({children:e,label:t,language:n,source:i,streaming:r=!1}){const[s,a]=m.useState("preview"),o=r?"code":s;return l.jsxs("section",{className:"visualization-card","aria-label":`${t} 图表`,children:[l.jsx("div",{className:"visualization-card__toolbar",children:l.jsxs(nm,{className:"visualization-card__tabs",value:o,size:"sm",gutterSize:"sm",pill:!1,"aria-label":`${t} 显示方式`,onChange:c=>{r||a(c)},children:[l.jsx(nm.Option,{value:"preview",disabled:r,children:"预览"}),l.jsx(nm.Option,{value:"code",children:"代码"})]})}),l.jsx("div",{className:"visualization-card__body",children:o==="code"?l.jsx("pre",{className:"visualization-card__code",children:l.jsx("code",{className:`language-${n}`,children:i})}):e})]})}const TWe=m.memo(kWe);function _We(e){const t=e==null?void 0:e.trim().toLowerCase();if(t==="mermaid")return"mermaid";if(t==="echart"||t==="echarts")return"echarts"}const yue=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function FM(e){return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(FM).join(""):m.isValidElement(e)?FM(e.props.children):""}function AWe(e){var i;const t=m.Children.toArray(e)[0];if(!m.isValidElement(t))return;const n=(i=t.props.className)==null?void 0:i.split(/\s+/).find(r=>r.startsWith("language-"));return _We(n==null?void 0:n.slice(9))}function xue(e){if(!e)return!1;try{const t=e.toLowerCase();return yue.some(n=>t.includes(n))}catch{return!1}}function CWe(e){var i;const t=(i=e==null?void 0:e.properties)==null?void 0:i.href;if(!t)return!1;if(xue(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const r=n.map(s=>(s==null?void 0:s.value)||"").join("").toLowerCase();return yue.some(s=>r.includes(s))}return!1}function NWe({text:e,className:t,allowRawHtml:n=!0,streaming:i=!1}){const[r,s]=m.useState(null),a=(u,d)=>{if(u.src)return u.src;if(d){const f=p=>{var b;if(!p)return null;if(p.type==="source"&&((b=p.properties)!=null&&b.src))return p.properties.src;if(p.children)for(const g of p.children){const O=f(g);if(O)return O}return null},h=f({children:d});if(h)return h}return""},o=u=>{try{const f=new URL(u).pathname.split("/");return f[f.length-1]||"video.mp4"}catch{return"video.mp4"}},c=u=>u?Array.isArray(u)?u.map(d=>(d==null?void 0:d.value)||"").join("")||"video":(u==null?void 0:u.value)||"video":"video";return l.jsxs("div",{className:t?`md ${t}`:"md",children:[l.jsx(GFe,{remarkPlugins:[oVe],rehypePlugins:n?[zYe,QV]:[QV],components:{pre:({node:u,children:d,...f})=>{const h=AWe(d);if(h==="mermaid"||h==="echarts"){const p=FM(d).replace(/\n$/,"");return l.jsx(TWe,{label:h==="mermaid"?"Mermaid":"ECharts",language:h,source:p,streaming:i,children:h==="mermaid"?l.jsx(xWe,{source:p}):l.jsx(mWe,{source:p})})}return l.jsx("pre",{...f,children:d})},a:({node:u,...d})=>{const f=d.href;if(f&&(xue(f)||CWe(u))){const h=f,p=c(u==null?void 0:u.children);return l.jsxs("div",{className:"video-container",children:[l.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${p}`,onClick:()=>s({src:h,title:p}),children:[l.jsx("video",{src:h,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),l.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:l.jsx(Wp,{})})]}),l.jsx("div",{className:"video-caption",children:l.jsx("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:p})})]})}return l.jsx("a",{...d,target:"_blank",rel:"noopener noreferrer"})},img:({node:u,src:d,alt:f,...h})=>{const p=l.jsx("img",{...h,src:d,alt:f??"",loading:"lazy"});return d?l.jsx(vte,{src:d,children:l.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${f||"图片"}`,children:[p,l.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:l.jsx(Wp,{})})]})}):p},video:({node:u,src:d,children:f,...h})=>{const p=a({src:d},f);return p?l.jsx("div",{className:"video-container",children:l.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>s({src:p}),children:[l.jsx("video",{src:p,...h,playsInline:!0,className:"video-thumbnail",children:f}),l.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:l.jsx(Wp,{})})]})}):l.jsx("video",{src:d,controls:!0,playsInline:!0,className:"video-inline",...h,children:f})}},children:e}),r&&l.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>s(null),children:l.jsxs("div",{className:"video-viewer",onClick:u=>u.stopPropagation(),children:[l.jsxs("div",{className:"video-viewer-header",children:[l.jsx("div",{className:"video-viewer-title",children:r.title||o(r.src)}),l.jsxs("nav",{className:"video-viewer-nav",children:[l.jsx("a",{href:r.src,download:r.title||o(r.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:l.jsx(kA,{})}),l.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>s(null),children:l.jsx(za,{})})]})]}),l.jsx("div",{className:"video-viewer-body",children:l.jsx("video",{src:r.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const ku=m.memo(NWe);function jWe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M5 5.5A2.5 2.5 0 0 1 7.5 3H19v16H7.5A2.5 2.5 0 0 0 5 21.5v-16Z"}),l.jsx("path",{d:"M5 18.5A2.5 2.5 0 0 1 7.5 16H19"}),l.jsx("path",{d:"M9 7h6M9 10h4"})]})}function RWe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6 3h8l4 4v14H6V3Z"}),l.jsx("path",{d:"M14 3v5h5M9 12h6M9 16h6"})]})}function IWe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.3"}),l.jsx("path",{d:"m15.5 15.5 4 4"})]})}function DWe(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function oq(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 5v14M5 12h14"})})}function PWe(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m15 18-6-6 6-6"})})}function Yv({title:e,children:t,onClose:n,busy:i=!1,className:r=""}){const s=m.useId(),a=m.useRef(null),o=m.useRef(null),c=m.useRef(i),u=m.useRef(n);return m.useEffect(()=>{c.current=i,u.current=n},[i,n]),m.useEffect(()=>{var p;const d=document.activeElement instanceof HTMLElement?document.activeElement:null,f=document.body.style.overflow;document.body.style.overflow="hidden",(p=a.current)==null||p.focus();const h=b=>{if(b.key==="Escape"&&!c.current){u.current();return}if(b.key!=="Tab")return;const g=o.current;if(!g)return;const O=Array.from(g.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], audio[controls], video[controls], iframe, [tabindex]:not([tabindex="-1"])')).filter(x=>x.getClientRects().length>0);if(O.length===0){b.preventDefault();return}const y=O[0],v=O[O.length-1];b.shiftKey&&(document.activeElement===y||!g.contains(document.activeElement))?(b.preventDefault(),v.focus()):!b.shiftKey&&(document.activeElement===v||!g.contains(document.activeElement))&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h),document.body.style.overflow=f,d!=null&&d.isConnected&&d.focus()}},[]),Gi.createPortal(l.jsx("div",{className:"knowledge-dialog-backdrop",onMouseDown:d=>{d.target===d.currentTarget&&!i&&n()},children:l.jsxs("section",{ref:o,className:`knowledge-dialog${r?` ${r}`:""}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":i||void 0,children:[l.jsxs("header",{className:"knowledge-dialog__header",children:[l.jsx("h2",{id:s,children:e}),l.jsx("button",{ref:a,type:"button",onClick:n,disabled:i,"aria-label":"关闭",children:l.jsx(DWe,{})})]}),t]})}),document.body)}function D1({message:e}){return e?l.jsx("div",{className:"knowledge-form-error",role:"alert",children:e}):null}function UM(e){return e instanceof DOMException&&e.name==="AbortError"}function MWe(e){if(!e)return"";const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(t):e}function LWe(e){const t=e.trim().toLowerCase();return["ready","active","available","success"].includes(t)?"可用":["creating","pending","processing","indexing"].includes(t)?"处理中":["failed","error","unavailable"].includes(t)?"异常":e||"未知"}const vue=[".jpg",".jpeg",".png"].join(","),$We=new Set(vue.split(",")),wue=[".pdf",".pptx",".docx",".xlsx",".txt"].join(","),QWe=new Set(wue.split(",")),BWe=200*1024*1024;function zM(e){const t=e.lastIndexOf(".");return t<0?"":e.slice(t).toLocaleLowerCase()}function FWe(e,t){return e.size>BWe?"单个文件不能超过 200 MB":t==="image"?$We.has(zM(e.name))?"":"请选择 PNG、JPG 或 JPEG 图片":QWe.has(zM(e.name))?"":"请选择 PDF、PPTX、DOCX、XLSX 或 TXT 文件"}function c6(e){return e<=0?"-":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Sue(e){var r;const t=e.type.trim().replace(/^\./,"");if(t)return t.toUpperCase();const n=e.name.trim(),i=n.includes(".")?(r=n.split(".").pop())==null?void 0:r.trim():"";return i?i.toUpperCase():"-"}function UWe({onClose:e,onCreated:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,o]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim(),p=!!(h&&!/^[A-Za-z][A-Za-z0-9_]{0,47}$/.test(h)),b=async g=>{if(g.preventDefault(),o(!0),!h||p)return;u(!0),f("");const O={name:h,description:r.trim()||void 0};try{t(await oBe(O))}catch(y){f(ya(y,"创建知识库失败"))}finally{u(!1)}};return l.jsx(Yv,{title:"新建知识库",onClose:e,busy:c,children:l.jsxs("form",{onSubmit:g=>void b(g),children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{autoFocus:!0,value:n,maxLength:48,"aria-invalid":a&&p||void 0,"aria-describedby":"knowledge-name-help",onBlur:()=>o(!0),onChange:g=>i(g.target.value)})]}),l.jsx("p",{id:"knowledge-name-help",className:`knowledge-dialog__note${a&&p?" is-error":""}`,role:a&&p?"alert":void 0,children:a&&p?"名称必须以字母开头,且只能包含字母、数字和下划线。":"以字母开头,仅支持字母、数字和下划线,最多 48 个字符。"}),l.jsxs("label",{children:[l.jsx("span",{children:"描述(可选)"}),l.jsx("textarea",{value:r,maxLength:80,onChange:g=>s(g.target.value)})]}),l.jsx(D1,{message:d})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:e,disabled:c,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:c||!h||p,children:c?"创建中":"创建"})]})]})})}function zWe({item:e,onClose:t,onUpdated:n}){const[i,r]=m.useState(e.description),[s,a]=m.useState(!1),[o,c]=m.useState(""),u=async d=>{d.preventDefault(),a(!0),c("");try{n(await lBe(e.id,e.region,{description:i.trim()}))}catch(f){c(ya(f,"更新知识库失败"))}finally{a(!1)}};return l.jsx(Yv,{title:"编辑知识库",onClose:t,busy:s,children:l.jsxs("form",{onSubmit:d=>void u(d),children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{value:e.name,disabled:!0})]}),l.jsxs("label",{children:[l.jsx("span",{children:"描述"}),l.jsx("textarea",{autoFocus:!0,value:i,maxLength:80,onChange:d=>r(d.target.value)})]}),l.jsx("p",{className:"knowledge-dialog__note",children:"AgentKit 当前仅支持更新知识库描述。"}),l.jsx(D1,{message:o})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:t,disabled:s,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:s,children:s?"保存中":"保存"})]})]})})}function Eue(e){if(!e.trim())return{};const t=JSON.parse(e);if(!t||Array.isArray(t)||typeof t!="object")throw new Error("Metadata 必须是 JSON 对象");return t}function VWe({base:e,onClose:t,onCreated:n,onAssociationInvalid:i}){const[r,s]=m.useState("document"),[a,o]=m.useState(""),[c,u]=m.useState(""),[d,f]=m.useState(""),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState("{}"),[v,x]=m.useState(""),[w,E]=m.useState(""),[S,k]=m.useState(null),T=m.useRef(null),C=m.useRef(null),A=m.useRef(null),N=m.useRef(0),P=!!v;m.useEffect(()=>{var I;S&&!P&&((I=A.current)==null||I.focus())},[P,S]);const Q=I=>{P||I===r||(s(I),p(null),f(""),o(""),u(""),E(""),k(null),g(!1),N.current=0,T.current&&(T.current.value=""))},D=I=>{if(!I||r==="web")return;const F=FWe(I,r);if(F){p(null),o(""),u(""),E(F);return}p(I),E(""),o(I.name.replace(/\.[^.]+$/,"")),u(zM(I.name).slice(1))},$=async I=>{if(I.preventDefault(),r==="web"?!d.trim():!h)return;let F;try{F=Eue(O)}catch(B){E(ya(B,"Metadata 格式错误"));return}x(r==="web"?S?"save":"preview":"upload"),E("");try{if(r==="web")if(S){const B={sourceType:"url",metadata:S.metadata,url:S.preview.url,sourceTitle:S.preview.name,sourceMarkdown:S.preview.sourceMarkdown};await fBe(e.id,e.region,B),n()}else{const B=await hBe(e.id,e.region,{url:d.trim()});if(!B.sourceMarkdown.trim())throw new Error("网页没有可预览的 Markdown 内容");k({preview:B,metadata:F})}else h&&(await pBe(e.id,e.region,{file:h,name:a.trim()||void 0,documentType:c.trim()||void 0,metadata:F}),n())}catch(B){B instanceof m2&&B.errorCode===Poe?i(B):E(ya(B,r==="web"?S?"添加网页失败":"生成网页预览失败":"上传文件失败"))}finally{x("")}},j=()=>{P||(k(null),E(""),requestAnimationFrame(()=>{var I;return(I=C.current)==null?void 0:I.focus()}))};return l.jsx(Yv,{title:S?"预览网页内容":"添加数据",onClose:t,busy:P,className:S?"knowledge-dialog--preview knowledge-dialog--web-confirm":"",children:l.jsx("form",{onSubmit:I=>void $(I),children:S?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"knowledge-preview knowledge-web-preview",children:[l.jsxs("div",{className:"knowledge-preview__meta",children:[l.jsx("strong",{title:S.preview.name,children:S.preview.name}),l.jsx("a",{href:S.preview.url,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"})]}),l.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:l.jsx("div",{className:"knowledge-preview__markdown-shell",children:l.jsx(ku,{text:S.preview.sourceMarkdown,allowRawHtml:!1,className:"knowledge-preview__markdown"})})}),w?l.jsx("div",{className:"knowledge-web-preview__error",children:l.jsx(D1,{message:w})}):null]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",className:"is-back",onClick:j,disabled:P,children:"返回修改"}),l.jsx("button",{type:"button",onClick:t,disabled:P,children:"取消"}),l.jsx("button",{ref:A,type:"submit",className:"is-primary",disabled:P,children:v==="save"?"添加中":"确认添加"})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsx("div",{className:"knowledge-source-tabs",role:"tablist","aria-label":"知识来源",children:[["image","图片"],["document","文档文件"],["web","在线网页"]].map(([I,F])=>l.jsx("button",{type:"button",role:"tab",id:`knowledge-source-${I}-tab`,"aria-controls":`knowledge-source-${I}-panel`,"aria-selected":r===I,tabIndex:r===I?0:-1,className:r===I?"is-active":"",disabled:P,onClick:()=>Q(I),onKeyDown:B=>{const M=["image","document","web"];if(!["ArrowLeft","ArrowRight","Home","End"].includes(B.key))return;B.preventDefault();const Y=M.indexOf(I),q=B.key==="Home"?M[0]:B.key==="End"?M[M.length-1]:M[(Y+(B.key==="ArrowRight"?1:-1)+M.length)%M.length];Q(q),requestAnimationFrame(()=>{var U;return(U=document.getElementById(`knowledge-source-${q}-tab`))==null?void 0:U.focus()})},children:F},I))}),l.jsx("div",{id:`knowledge-source-${r}-panel`,className:"knowledge-source-panel",role:"tabpanel","aria-labelledby":`knowledge-source-${r}-tab`,children:r==="web"?l.jsxs(l.Fragment,{children:[l.jsxs("label",{children:[l.jsx("span",{children:"网页 URL"}),l.jsx("input",{ref:C,autoFocus:!0,type:"url",value:d,disabled:P,onChange:I=>{f(I.target.value),E("")},placeholder:"https://example.com/article"})]}),l.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:v==="preview"?l.jsx(Fn,{children:"正在抓取网页并生成 Markdown 预览"}):null})]}):l.jsxs(l.Fragment,{children:[l.jsx("input",{ref:T,className:"knowledge-upload-input",type:"file","aria-label":"选择知识文件",accept:r==="image"?vue:wue,disabled:P,onChange:I=>{var F;D(((F=I.currentTarget.files)==null?void 0:F[0])??null),I.currentTarget.value=""}}),l.jsxs("button",{type:"button",className:`knowledge-upload-dropzone${b?" is-dragging":""}${h?" is-ready":""}`,disabled:P,onClick:()=>{var I;return(I=T.current)==null?void 0:I.click()},onDragEnter:I=>{I.preventDefault(),!P&&(N.current+=1,g(!0))},onDragOver:I=>{I.preventDefault(),P||(I.dataTransfer.dropEffect="copy")},onDragLeave:I=>{I.preventDefault(),N.current=Math.max(0,N.current-1),N.current===0&&g(!1)},onDrop:I=>{var F;I.preventDefault(),N.current=0,g(!1),P||D(((F=I.dataTransfer.files)==null?void 0:F[0])??null)},children:[l.jsx("strong",{children:h?h.name:"选择文件或拖拽到这里"}),l.jsx("span",{children:h?`${c6(h.size)} · 点击可重新选择`:r==="image"?"支持 PNG、JPG 和 JPEG,单个文件不超过 200 MB":"支持 PDF、PPTX、DOCX、XLSX 和 TXT,单个文件不超过 200 MB"})]}),l.jsx("div",{className:"knowledge-upload-status",role:"status","aria-live":"polite",children:P?l.jsx(Fn,{children:"正在上传文件并添加到知识库"}):null})]})}),r!=="web"?l.jsxs("div",{className:"knowledge-dialog__fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称(可选)"}),l.jsx("input",{value:a,disabled:P,maxLength:256,onChange:I=>o(I.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"类型(可选)"}),l.jsx("input",{value:c,disabled:P,maxLength:64,onChange:I=>u(I.target.value),placeholder:"pdf、docx、png"})]})]}):null,l.jsxs("label",{children:[l.jsx("span",{children:"Metadata(JSON)"}),l.jsx("textarea",{className:"is-code",value:O,disabled:P,onChange:I=>y(I.target.value),spellCheck:!1})]}),l.jsx(D1,{message:w})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:t,disabled:P,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:P||(r==="web"?!d.trim():!h),children:P?r==="web"?"生成中":"上传中":r==="web"?"生成预览":"上传文件"})]})]})})})}function qWe({base:e,item:t,onClose:n,onUpdated:i}){const[r,s]=m.useState(()=>JSON.stringify(t.metadata??{},null,2)),[a,o]=m.useState(!1),[c,u]=m.useState(""),d=async f=>{f.preventDefault();let h;try{h=Eue(r)}catch(p){u(ya(p,"Metadata 格式错误"));return}o(!0),u("");try{i(await mBe(e.id,t.id,e.region,{metadata:h}))}catch(p){u(ya(p,"更新知识失败"))}finally{o(!1)}};return l.jsx(Yv,{title:"编辑知识 Metadata",onClose:n,busy:a,children:l.jsxs("form",{onSubmit:f=>void d(f),children:[l.jsxs("div",{className:"knowledge-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"知识"}),l.jsx("input",{value:t.name||t.id,disabled:!0})]}),l.jsxs("label",{children:[l.jsx("span",{children:"Metadata(JSON)"}),l.jsx("textarea",{autoFocus:!0,className:"is-code knowledge-metadata-editor",value:r,onChange:f=>s(f.target.value),spellCheck:!1})]}),l.jsx(D1,{message:c})]}),l.jsxs("footer",{className:"knowledge-dialog__actions",children:[l.jsx("button",{type:"button",onClick:n,disabled:a,children:"取消"}),l.jsx("button",{type:"submit",className:"is-primary",disabled:a,children:a?"保存中":"保存"})]})]})})}const kue=new Set(["avif","bmp","gif","jpeg","jpg","png","svg","webp"]),Tue=new Set(["aac","flac","m4a","mp3","ogg","wav","webm"]),_ue=new Set(["m4v","mov","mp4","mpeg","mpg","ogg","webm"]),XWe=new Set(["pdf"]),HWe=new Set(["doc","docx","ppt","pptx","xls","xlsx"]),GWe=new Set(["creating","indexing","pending","processing","queued","submitted"]),YWe=new Set(["error","failed","unavailable"]);function lq(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}function BS(e){if(e==null||e==="")return"-";if(["string","number","boolean"].includes(typeof e))return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function WWe(e){if(Array.isArray(e)){if(e.length===0)return null;const i=e.map(lq);if(i.some(r=>Object.keys(r).length>0)){const r=[...new Set(i.flatMap(s=>Object.keys(s)))];return{columns:r,rows:i.map(s=>r.map(a=>BS(s[a])))}}return{columns:["值"],rows:e.map(r=>[BS(r)])}}const t=lq(e),n=Object.entries(t);if(n.length===0)return null;if(n.every(([,i])=>Array.isArray(i))){const i=n.map(([s])=>s),r=Math.max(...n.map(([,s])=>s.length));return{columns:i,rows:Array.from({length:r},(s,a)=>n.map(([,o])=>BS(o[a])))}}return{columns:["字段","值"],rows:n.map(([i,r])=>[i,BS(r)])}}function Aue(e){const t=e.trim();if(!t||t.startsWith("//"))return"";if(t.startsWith("/"))return t;try{const n=new URL(t);return["http:","https:"].includes(n.protocol)?n.href:""}catch{return""}}function ZWe(e){const t=Aue(e);return t.startsWith("http://")||t.startsWith("https://")?t:""}function KWe(e){var r;const t=e.attachmentType.trim().toLocaleLowerCase();if(t==="image"||t==="doc-image"||t.startsWith("image/"))return"image";if(t==="audio"||t.startsWith("audio/"))return"audio";if(t==="video"||t.startsWith("video/"))return"video";if(t==="pdf"||t==="application/pdf")return"pdf";const n=e.attachmentUrl.split(/[?#]/,1)[0],i=n.includes(".")?((r=n.split(".").pop())==null?void 0:r.toLocaleLowerCase())??"":"";return kue.has(i)?"image":Tue.has(i)?"audio":_ue.has(i)?"video":XWe.has(i)?"pdf":t||i?"file":"none"}function JWe(e){const t=e.status.trim().toLocaleLowerCase();if(GWe.has(t))return{title:"数据正在处理中",detail:"知识库完成解析后即可预览,请稍后重新加载。"};if(YWe.has(t))return{title:"数据解析失败",detail:"请检查源文件或网页地址后重新添加,也可以重新加载最新状态。"};const n=Sue(e).toLocaleLowerCase();return n==="pdf"||HWe.has(n)?{title:"暂时没有可预览的解析内容",detail:"此类文件会在知识库完成解析后显示文本、表格或页面图片。"}:kue.has(n)||Tue.has(n)||_ue.has(n)?{title:"暂时没有可预览的媒体内容",detail:"知识库尚未返回可访问的媒体预览,请稍后重新加载。"}:{title:"暂无可预览的数据内容",detail:"知识库尚未返回解析结果,请稍后重新加载。"}}function eZe({chunk:e}){const[t,n]=m.useState(!1),i=Aue(e.attachmentUrl),r=KWe(e);return!i||r==="none"?null:t?l.jsx("div",{className:"knowledge-preview__attachment-error",children:"附件无法预览,请稍后重试。"}):r==="image"?l.jsx("img",{className:"knowledge-preview__image",src:i,alt:e.title||"知识数据图片",loading:"lazy",onError:()=>n(!0)}):r==="audio"?l.jsx("audio",{className:"knowledge-preview__audio",src:i,controls:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持音频预览。"}):r==="video"?l.jsx("video",{className:"knowledge-preview__video",src:i,controls:!0,playsInline:!0,preload:"metadata",onError:()=>n(!0),children:"当前浏览器不支持视频预览。"}):r==="pdf"?l.jsxs("div",{className:"knowledge-preview__pdf",children:[l.jsx("iframe",{src:i,title:e.title?`${e.title} PDF 预览`:"PDF 预览",sandbox:"",referrerPolicy:"no-referrer",onError:()=>n(!0)}),l.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"无法显示时,在新窗口打开 PDF"})]}):l.jsxs("div",{className:"knowledge-preview__file-fallback",children:[l.jsx("p",{children:"当前格式暂不支持直接在线预览,已优先显示解析后的内容。"}),l.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:"打开原文件"})]})}function tZe({base:e,item:t,onClose:n}){const[i,r]=m.useState([]),[s,a]=m.useState(t),[o,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(0),v=m.useRef(null),x=m.useCallback(async(k=0)=>{var A;(A=v.current)==null||A.abort();const T=new AbortController;v.current=T;const C=y.current+1;y.current=C,k>0?h(!0):d(!0),O(""),k===0&&(r([]),b(!1));try{const N=await dBe(e.id,t.id,{region:e.region,offset:k,signal:T.signal});if(y.current!==C)return;a(N.document.id?N.document:t),c(N.sourceMarkdown||N.document.sourceMarkdown),r(P=>k>0?[...P,...N.chunks]:N.chunks),b(N.hasMore)}catch(N){!UM(N)&&y.current===C&&O(ya(N,"加载数据预览失败"))}finally{y.current===C&&(d(!1),h(!1))}},[e.id,e.region,t]);m.useEffect(()=>(x(),()=>{var k;(k=v.current)==null||k.abort(),y.current+=1}),[x]);const w=ZWe(s.url||t.url),E=JWe(s),S=s.metadata._veadk_content_format==="markdown";return l.jsx(Yv,{title:s.name||t.name||t.id,onClose:n,className:"knowledge-dialog--preview",children:l.jsxs("div",{className:"knowledge-preview",children:[s.sizeBytes>0||w?l.jsxs("div",{className:"knowledge-preview__meta",children:[s.sizeBytes>0?l.jsx("span",{children:c6(s.sizeBytes)}):null,w?l.jsx("a",{href:w,target:"_blank",rel:"noopener noreferrer",children:"打开原网页"}):null]}):null,l.jsx("div",{className:"knowledge-preview__body","aria-live":"polite",children:o?l.jsx("div",{className:"knowledge-preview__markdown-shell",children:l.jsx(ku,{text:o,allowRawHtml:!1,className:"knowledge-preview__markdown"})}):u?l.jsx("div",{className:"knowledge-preview__state",role:"status",children:l.jsx(Fn,{as:"span",duration:2.4,children:"正在加载数据预览"})}):g&&i.length===0?l.jsxs("div",{className:"knowledge-preview__state is-error",role:"alert",children:[l.jsx("p",{children:g}),l.jsx("button",{type:"button",onClick:()=>void x(),children:"重试"})]}):i.length===0?l.jsxs("div",{className:"knowledge-preview__state",children:[l.jsx("p",{children:E.title}),l.jsx("span",{children:w?"您可以打开原网页查看来源内容。":E.detail}),l.jsx("button",{type:"button",onClick:()=>void x(),children:"重新加载"})]}):l.jsxs("div",{className:"knowledge-preview__chunks",children:[i.map((k,T)=>{const C=WWe(k.tableFields),A=k.id||`${T}:${k.title}`;return l.jsxs("article",{className:"knowledge-preview__chunk",children:[l.jsx("header",{children:l.jsx("h3",{children:k.title||`片段 ${T+1}`})}),k.content?S?l.jsx(ku,{text:k.content,allowRawHtml:!1,className:"knowledge-preview__markdown"}):l.jsx("p",{className:"knowledge-preview__content",children:k.content}):null,C?l.jsx("div",{className:"knowledge-preview__table-wrap",children:l.jsxs("table",{children:[l.jsx("thead",{children:l.jsx("tr",{children:C.columns.map((N,P)=>l.jsx("th",{scope:"col",children:N},`${N}:${P}`))})}),l.jsx("tbody",{children:C.rows.map((N,P)=>l.jsx("tr",{children:N.map((Q,D)=>l.jsx("td",{children:Q},D))},P))})]})}):null,l.jsx(eZe,{chunk:k})]},A)}),g?l.jsx("div",{className:"knowledge-preview__more-error",role:"alert",children:g}):null,p?l.jsx("button",{type:"button",className:"knowledge-preview__load-more",disabled:f,onClick:()=>void x(i.length),children:f?l.jsx(Fn,{as:"span",duration:2.4,children:"正在加载更多"}):"加载更多"}):null]})})]})})}function nZe({cloudProvider:e,active:t=!0,activationRevision:n=0}){const[i,r]=m.useState([]),[s,a]=m.useState({}),[o,c]=m.useState([]),[u,d]=m.useState(""),[f,h]=m.useState(""),[p,b]=m.useState(!0),[g,O]=m.useState(!1),[y,v]=m.useState(""),[x,w]=m.useState([]),[E,S]=m.useState(!1),[k,T]=m.useState(""),[C,A]=m.useState(""),[N,P]=m.useState(""),[Q,D]=m.useState(!1),[$,j]=m.useState(!1),[I,F]=m.useState(!1),[B,M]=m.useState(null),[Y,q]=m.useState(null),[U,V]=m.useState(null),[re,de]=m.useState(null),[be,ce]=m.useState(null),[K,ee]=m.useState(!1),me=m.useRef(0),ve=m.useRef(0),Ne=m.useRef([]),Ie=m.useRef(!1),De=m.useRef(!1),pe=m.useRef(null),Se=m.useRef(null),Oe=m.useRef({}),Le=m.useRef(!1),Fe=m.useRef(null),Te=m.useRef(null),Ue=m.useRef(null),ot=m.useRef(null),Bt=m.useMemo(()=>ob(e).map(xe=>xe.value),[e]),Ye=m.useCallback(xe=>`${xe.region}\0${xe.id}`,[]),Z=i.find(xe=>Ye(xe)===u)??null,ie=!!(Z&&N===Ye(Z)),ue=m.useMemo(()=>{const xe=f.trim().toLocaleLowerCase();return xe?i.filter(ze=>[ze.name,ze.description,ze.ownerLabel,ze.providerKnowledgeId].some(Be=>Be.toLocaleLowerCase().includes(xe))):i},[i,f]);m.useEffect(()=>{q(null)},[Z==null?void 0:Z.id,Z==null?void 0:Z.region]);const ye=m.useCallback(async(xe=!1)=>{var bt;if(xe&&(Le.current||Object.keys(Oe.current).length===0))return;(bt=pe.current)==null||bt.abort();const ze=new AbortController;pe.current=ze;const Be=me.current+1;me.current=Be,Le.current=!0,xe?O(!0):b(!0),v(""),xe||c([]);try{const mt=await aBe({regions:Bt,nextTokens:xe?Oe.current:void 0,signal:ze.signal});if(me.current!==Be)return;r(_e=>xe?[..._e,...mt.items.filter(Ze=>!_e.some(Ct=>Ye(Ct)===Ye(Ze)))]:mt.items),Oe.current=mt.nextTokens,a(mt.nextTokens);const At=mt.failures.map(({region:_e,error:Ze})=>`${wu(_e,e)}:${ya(Ze,"加载失败")}`);c(_e=>xe?[...new Set([..._e,...At])]:At),xe||d(_e=>mt.items.some(Ze=>Ye(Ze)===_e)?_e:"")}catch(mt){if(UM(mt))return;me.current===Be&&(xe?c(At=>[...new Set([...At,ya(mt,"加载更多知识库失败")])]):v(ya(mt,"加载知识库失败")))}finally{me.current===Be&&(Le.current=!1,b(!1),O(!1))}},[Ye,e,Bt]),z=m.useCallback(async(xe,ze=!1)=>{var mt;if(ze&&Ie.current)return;(mt=Se.current)==null||mt.abort();const Be=new AbortController;Se.current=Be;const bt=ve.current+1;ve.current=bt,ze||(Ne.current=[],De.current=!1,w([]),D(!1),A("")),Ie.current=!0,S(!0),ze?A(""):T("");try{const At=await uBe(xe.id,{region:xe.region,offset:ze?Ne.current.length:0,signal:Be.signal});if(ve.current!==bt)return;P(an=>an===Ye(xe)?"":an);const _e=Ne.current,Ze=ze?[..._e,...At.items.filter(an=>!an.id||!_e.some(tt=>tt.id===an.id))]:At.items,Ct=At.hasMore&&(!ze||Ze.length>_e.length);Ne.current=Ze,De.current=Ct,w(Ze),D(Ct)}catch(At){if(UM(At))return;ve.current===bt&&(At instanceof m2&&At.errorCode===Poe&&(P(Ye(xe)),M(Ze=>Ze&&Ye(Ze)===Ye(xe)?null:Ze)),ze?A(ya(At,"加载更多数据失败")):T(ya(At,"加载数据失败")))}finally{ve.current===bt&&(Ie.current=!1,S(!1))}},[Ye]);m.useEffect(()=>{var xe;(xe=pe.current)==null||xe.abort(),me.current+=1,Le.current=!1,Oe.current={},r([]),a({}),c([]),d(""),P(""),v(""),b(!0)},[e]),m.useEffect(()=>{if(t)return ye(),()=>{var xe;(xe=pe.current)==null||xe.abort(),me.current+=1,Le.current=!1}},[t,n,ye]),m.useEffect(()=>{var xe,ze;if(!t){(xe=Se.current)==null||xe.abort(),ve.current+=1,Ie.current=!1;return}if(!Z){(ze=Se.current)==null||ze.abort(),ve.current+=1,Ne.current=[],Ie.current=!1,De.current=!1,w([]),D(!1),A("");return}return z(Z),()=>{var Be;(Be=Se.current)==null||Be.abort(),ve.current+=1,Ie.current=!1}},[t,n,Z==null?void 0:Z.id,Z==null?void 0:Z.region]);const je=t&&!Z&&!f.trim()&&!p&&!g&&!y&&Object.keys(s).length>0;m.useEffect(()=>{const xe=Te.current,ze=Fe.current;if(!xe||!ze||!je)return;const Be=new IntersectionObserver(([bt])=>{bt.isIntersecting&&ye(!0)},{root:ze,rootMargin:"240px 0px",threshold:.01});return Be.observe(xe),()=>Be.disconnect()},[je,ye]);const We=()=>{const xe=Fe.current;!xe||!je||xe.scrollHeight-xe.scrollTop-xe.clientHeight<=240&&ye(!0)},et=!!(Z&&x.length>0&&Q&&!E&&!C);m.useEffect(()=>{const xe=ot.current,ze=Ue.current;if(!Z||!xe||!ze||!et)return;const Be=new IntersectionObserver(([bt])=>{bt.isIntersecting&&z(Z,!0)},{root:Ue.current,rootMargin:"240px 0px",threshold:.01});return Be.observe(xe),()=>Be.disconnect()},[et,z,Z==null?void 0:Z.id,Z==null?void 0:Z.region]);const Jt=()=>{const xe=Ue.current;if(!Z||!xe||!De.current||Ie.current||C)return;const{scrollHeight:ze,scrollTop:Be,clientHeight:bt}=xe;ze-Be-bt<=240&&z(Z,!0)},Xt=xe=>{r(ze=>ze.map(Be=>Ye(Be)===Ye(xe)?xe:Be))},Tt=async()=>{if(re){ee(!0);try{await cBe(re.id,re.region),r(xe=>xe.filter(ze=>Ye(ze)!==Ye(re))),P(xe=>xe===Ye(re)?"":xe),u===Ye(re)&&d(""),de(null)}catch(xe){v(ya(xe,"删除知识库失败")),de(null)}finally{ee(!1)}}},vt=async()=>{if(!(!Z||!be)){ee(!0);try{await gBe(Z.id,be.id,Z.region);const xe=Ne.current.filter(ze=>ze.id!==be.id);Ne.current=xe,w(xe),ce(null)}catch(xe){T(ya(xe,"删除知识失败")),ce(null)}finally{ee(!1)}}};return l.jsxs("section",{className:`knowledge-library${Z?" is-detail":" my-agents-page"}`,"aria-label":"知识库",children:[Z?l.jsxs("div",{className:"knowledge-library__detail",children:[l.jsxs("header",{className:"knowledge-detail-head",children:[l.jsxs("div",{className:"knowledge-detail-head__title",children:[l.jsx("button",{type:"button",className:"knowledge-back-button",onClick:()=>d(""),"aria-label":"返回知识库列表",children:l.jsx(PWe,{})}),l.jsxs("div",{children:[l.jsx("h2",{title:Z.name,children:Z.name}),l.jsx("p",{children:Z.description||"暂无描述"})]})]}),Z.canManage&&l.jsxs("div",{className:"knowledge-detail-head__actions",children:[l.jsx("button",{type:"button",onClick:()=>F(!0),children:"编辑"}),l.jsx("button",{type:"button",className:"is-danger",onClick:()=>de(Z),children:"删除"})]})]}),l.jsxs("dl",{className:"knowledge-detail-meta",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"Provider"}),l.jsx("dd",{children:Z.providerType||"-"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"Knowledge ID"}),l.jsx("dd",{className:"knowledge-keyboard-reveal",tabIndex:0,title:Z.providerKnowledgeId,children:Z.providerKnowledgeId||"-"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"项目"}),l.jsx("dd",{children:Z.projectName||"default"})]}),Z.ownerLabel&&l.jsxs("div",{children:[l.jsx("dt",{children:"创建者"}),l.jsx("dd",{children:Z.ownerLabel})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"更新时间"}),l.jsx("dd",{children:MWe(Z.updatedAt)||"-"})]})]}),l.jsxs("section",{className:"knowledge-documents",children:[l.jsxs("header",{className:"knowledge-documents__head",children:[l.jsx("h3",{children:"数据"}),Z.canManage&&l.jsxs("button",{type:"button",className:"knowledge-primary-button",disabled:ie,title:ie?"底层 Provider 知识库已不存在":void 0,onClick:()=>M(Z),children:[l.jsx(oq,{}),l.jsx("span",{children:ie?"关联已失效":"添加数据"})]})]}),l.jsx("div",{className:`knowledge-documents__body${x.length>0?" is-table":""}`,"aria-live":"polite",children:E&&x.length===0?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载数据"})]}):k&&x.length===0?l.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[l.jsx("p",{children:k}),ie&&Z.canManage?l.jsx("button",{type:"button",onClick:()=>de(Z),children:"删除失效关联"}):l.jsx("button",{type:"button",onClick:()=>void z(Z),children:"重试"})]}):x.length===0?l.jsxs("div",{className:"knowledge-library__state",children:[l.jsx(RWe,{}),l.jsx("p",{children:"这个知识库还没有数据"}),Z.canManage&&l.jsx("button",{type:"button",onClick:()=>M(Z),children:"添加第一项数据"})]}):l.jsxs("div",{ref:Ue,className:"knowledge-document-table-wrap","aria-busy":E||void 0,onScroll:Jt,children:[l.jsxs("table",{className:"knowledge-document-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"名称"}),l.jsx("th",{scope:"col",children:"格式"}),l.jsx("th",{scope:"col",children:"大小"}),l.jsx("th",{scope:"col",className:"knowledge-document-table__actions-heading",children:"操作"})]})}),l.jsx("tbody",{children:x.map(xe=>l.jsxs("tr",{children:[l.jsx("td",{className:"knowledge-document-table__name",title:xe.name||xe.id,children:xe.name||xe.id}),l.jsx("td",{children:Sue(xe)}),l.jsx("td",{children:c6(xe.sizeBytes)}),l.jsx("td",{children:l.jsxs("div",{className:"knowledge-document-table__actions",children:[l.jsx(Jp,{content:"预览",compact:!0,children:l.jsx(Pl,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`预览 ${xe.name||xe.id}`,onClick:()=>q(xe),children:l.jsx(Fke,{"aria-hidden":"true"})})}),Z.canManage?l.jsxs(l.Fragment,{children:[l.jsx(Jp,{content:"编辑",compact:!0,children:l.jsx(Pl,{type:"button",className:"knowledge-document-action-button",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`编辑 ${xe.name||xe.id}`,onClick:()=>V(xe),children:l.jsx(Qke,{"aria-hidden":"true"})})}),l.jsx(Jp,{content:"删除",compact:!0,children:l.jsx(Pl,{type:"button",className:"knowledge-document-action-button",color:"danger",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":`删除 ${xe.name||xe.id}`,onClick:()=>ce(xe),children:l.jsx($ke,{"aria-hidden":"true"})})})]}):null]})})]},xe.id))})]}),E?l.jsxs("div",{className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多数据"})]}):C?l.jsxs("div",{className:"knowledge-document-pagination is-error",role:"alert",children:[l.jsx("span",{children:C}),l.jsx("button",{type:"button",onClick:()=>void z(Z,!0),children:"重试加载"})]}):Q?l.jsx("div",{ref:ot,className:"knowledge-document-pagination",role:"status","aria-live":"polite",children:"继续下滑加载更多"}):null]})})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"knowledge-library__toolbar my-agent-type-bar library-resource-toolbar",children:[l.jsx("div",{className:"knowledge-library__toolbar-actions library-resource-toolbar__controls",children:l.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>j(!0),children:[l.jsx(oq,{}),l.jsx("span",{children:"新建知识库"})]})}),l.jsxs("label",{className:"knowledge-library__search my-agent-search",children:[l.jsx(IWe,{}),l.jsx("input",{type:"search",value:f,onChange:xe=>h(xe.target.value),placeholder:"搜索知识库","aria-label":"搜索知识库"})]})]}),l.jsxs("div",{ref:Fe,className:"knowledge-library__results my-agent-results","aria-live":"polite",onScroll:We,children:[o.length>0&&!p&&l.jsxs("div",{className:"knowledge-region-warning",role:"status",children:[l.jsx("span",{children:"部分知识库暂时无法加载,已展示其余可用内容。"}),l.jsx("button",{type:"button",onClick:()=>void ye(),children:"重试"})]}),p&&i.length===0?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载知识库"})]}):y?l.jsxs("div",{className:"knowledge-library__state is-error",role:"alert",children:[l.jsx("p",{children:y}),l.jsx("button",{type:"button",onClick:()=>void ye(),children:"重试"})]}):ue.length===0?l.jsxs("div",{className:"knowledge-library__state",children:[l.jsx(jWe,{}),l.jsx("p",{children:f.trim()?"没有匹配的知识库":"您还没有任何知识库"})]}):l.jsx("div",{className:"knowledge-library__grid my-agent-grid",children:ue.map(xe=>l.jsx($oe,{className:"knowledge-card",title:xe.name,status:l.jsx("span",{className:`knowledge-status is-${xe.status.toLowerCase()}`,children:LWe(xe.status)}),description:xe.description||"暂无描述",metadata:[{label:"创建者",value:xe.ownerLabel||"—",title:xe.ownerLabel||"—"},{label:"项目",value:xe.projectName||"default",title:xe.projectName||"default"}],secondaryAction:{label:N===Ye(xe)?"关联已失效":"添加数据",disabled:!xe.canManage||N===Ye(xe),title:xe.canManage?N===Ye(xe)?"底层 Provider 知识库已不存在":void 0:"您没有管理此知识库的权限",onClick:()=>M(xe)},primaryAction:{label:"查看详情",onClick:()=>d(Ye(xe))},menuLabel:`更多知识库操作:${xe.name}`,menuAriaLabel:`${xe.name}知识库操作`,menuActions:[{label:"编辑知识库",disabled:!xe.canManage,title:xe.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>{d(Ye(xe)),F(!0)}},{label:"删除知识库",danger:!0,disabled:!xe.canManage||K,title:xe.canManage?void 0:"您没有管理此知识库的权限",onClick:()=>de(xe)}]},Ye(xe)))}),je||g?l.jsx("div",{ref:Te,className:"my-agent-load-more",role:"status","aria-live":"polite",children:g?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多知识库"})]}):je?l.jsx("span",{children:"继续下滑加载更多"}):null}):null]})]}),$&&l.jsx(UWe,{onClose:()=>j(!1),onCreated:xe=>{r(ze=>[xe,...ze]),d(Ye(xe)),j(!1)}}),Z&&I&&l.jsx(zWe,{item:Z,onClose:()=>F(!1),onUpdated:xe=>{Xt(xe),F(!1)}}),Z&&Y&&l.jsx(tZe,{base:Z,item:Y,onClose:()=>q(null)}),B&&l.jsx(VWe,{base:B,onClose:()=>M(null),onAssociationInvalid:xe=>{P(Ye(B)),Z&&Ye(Z)===Ye(B)&&T(ya(xe,"知识库关联已失效")),M(null)},onCreated:()=>{Z&&Ye(Z)===Ye(B)&&z(Z),M(null)}}),Z&&U&&l.jsx(qWe,{base:Z,item:U,onClose:()=>V(null),onUpdated:xe=>{const ze=Ne.current.map(Be=>Be.id===xe.id?xe:Be);Ne.current=ze,w(ze),V(null)}}),re&&l.jsx(yc,{title:"删除知识库?",description:`将删除 ${re.name} 的 AgentKit 关联;如果它由 Studio 创建,也会同时删除 Provider 资源。此操作无法撤销。`,confirmLabel:K?"删除中":"删除",variant:"danger",busy:K,onCancel:()=>de(null),onConfirm:()=>void Tt()}),be&&l.jsx(yc,{title:"删除知识?",description:`将从 Provider 知识库中删除 ${be.name||be.id},此操作无法撤销。`,confirmLabel:K?"删除中":"删除",variant:"danger",busy:K,onCancel:()=>ce(null),onConfirm:()=>void vt()})]})}const iZe="_EmptyMessage_1r5gu_1",rZe="_IconBadge_1r5gu_16",sZe="_Title_1r5gu_54",aZe="_Description_1r5gu_69",oZe="_ActionRow_1r5gu_77",Wv={EmptyMessage:iZe,IconBadge:rZe,Title:sZe,Description:aZe,ActionRow:oZe},Ci=({children:e,className:t,fill:n="static"})=>l.jsx("div",{className:la(Wv.EmptyMessage,t),"data-fill":n,children:e}),lZe=({size:e="md",color:t="secondary",children:n,className:i})=>l.jsx("div",{className:la(Wv.IconBadge,i),"data-size":e,"data-color":t,children:n}),cZe=({children:e,className:t,color:n="secondary"})=>l.jsx("div",{className:la(Wv.Title,t),"data-color":n,children:e}),uZe=({children:e,className:t})=>l.jsx("div",{className:la(Wv.Description,t),children:e}),dZe=({children:e,className:t})=>l.jsx("div",{className:la(Wv.ActionRow,t),children:e});Ci.Icon=lZe;Ci.Title=cZe;Ci.Description=uZe;Ci.ActionRow=dZe;const fZe="/web/skill-workbench";class VM extends Error{constructor(t,n,i="SKILL_WORKBENCH_ERROR",r=!1,s="",a,o=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.originalError=a,this.rawResponse=o,this.name="SkillWorkbenchApiError"}}function Ll(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function cq(e,t){if(e!=null){if(typeof e!="string"||!e.trim()||e.trim().length>256)throw new Error(`${t}格式错误。`);return e.trim()}}function hZe(e){if(e!=null){if(e==="pending"||e==="ready"||e==="failed"||e==="unknown")return e;throw new Error("Skill 恢复点状态格式错误。")}}async function Tu(e,t={},n=vo){return fetch(mo(`${fZe}${e}`),{...t,headers:Bh(t.headers),signal:wo(t.signal,n)})}async function u6(e,t){var i;const n=await e.text().catch(()=>"");try{const r=Ll(JSON.parse(n),"错误响应"),s=r.detail&&typeof r.detail=="object"?Ll(r.detail,"错误详情"):r;return new VM(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"SKILL_WORKBENCH_ERROR",s.retryable===!0,e.statusText,s.originalError&&typeof s.originalError=="object"?s.originalError:void 0,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new VM(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"SKILL_WORKBENCH_ERROR",!1,e.statusText,void 0,n)}}async function Ah(e,t){if(!e.ok)throw await u6(e,t);const n=e.headers.get("content-type")??"";if(!n.includes("application/json")){const i=n.split(";",1)[0]||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},Content-Type: ${i}),请检查代理或网关配置。`)}return e.json()}function pZe(e){return Array.isArray(e)?e.map(t=>{const n=Ll(t,"Skill 会话活动"),i=n.kind,r=n.status;if(typeof n.id!="string"||!["status","thinking","message","tool"].includes(String(i))||!["running","done"].includes(String(r)))throw new Error("Skill 会话活动格式错误。");if(i==="tool"){if(typeof n.name!="string")throw new Error("Skill 工具活动格式错误。");return{id:n.id,kind:i,status:r,name:n.name,...n.input!==void 0?{args:n.input}:{},...n.output!==void 0?{response:n.output}:{}}}if(typeof n.text!="string")throw new Error("Skill 文本活动格式错误。");return{id:n.id,kind:i,status:r,text:n.text}}):[]}function mZe(e){if(e==null)return;const t=Ll(e,"Skill 发布结果");if(typeof t.revision!="number"||typeof t.skillId!="string"||typeof t.version!="string"||!Array.isArray(t.skillSpaceIds)||!t.skillSpaceIds.every(n=>typeof n=="string")||t.disposition!=="create-new"&&t.disposition!=="update-source"||!u$(t.region)||typeof t.projectName!="string")throw new Error("Skill 发布结果格式错误。");return{revision:t.revision,skillId:t.skillId,version:t.version,skillSpaceIds:t.skillSpaceIds,disposition:t.disposition,region:t.region,projectName:t.projectName}}function P1(e){const t=Ll(e,"Skill 会话");if(typeof t.jobId!="string"||t.operation!=="create"&&t.operation!=="optimize"||typeof t.intent!="string"||typeof t.revision!="number"||typeof t.state!="string")throw new Error("Skill 会话格式错误。");const n=Array.isArray(t.files)?t.files.flatMap(o=>{const c=Ll(o,"Skill 文件");return typeof c.path=="string"&&typeof c.size=="number"?[{path:c.path,size:c.size}]:[]}):[];if(!["running","ready","failed","cancelled","expired","published"].includes(t.state))throw new Error("Skill 会话状态无法识别。");const r=cq(t.toolId,"Tool ID"),s=cq(t.sessionId,"Session ID"),a=hZe(t.recoveryStatus);return{jobId:t.jobId,operation:t.operation,intent:t.intent,...typeof t.model=="string"?{model:t.model}:{},...typeof t.style=="string"?{style:t.style}:{},...typeof t.requestedName=="string"?{requestedName:t.requestedName}:{},revision:t.revision,...r?{toolId:r}:{},...s?{sessionId:s}:{},...typeof t.sessionTtlSeconds=="number"?{sessionTtlSeconds:t.sessionTtlSeconds}:{},...typeof t.expiresAt=="string"?{expiresAt:t.expiresAt}:{},...typeof t.recoveryAvailable=="boolean"?{recoveryAvailable:t.recoveryAvailable}:{},...a?{recoveryStatus:a}:{},...typeof t.recoveredFromSnapshot=="boolean"?{recoveredFromSnapshot:t.recoveredFromSnapshot}:{},state:t.state,stage:typeof t.stage=="string"?t.stage:"generating",activities:pZe(t.activities),files:n,...t.source&&typeof t.source=="object"?{source:t.source}:{},...typeof t.name=="string"?{name:t.name}:{},...typeof t.description=="string"?{description:t.description}:{},...typeof t.skillMd=="string"?{skillMd:t.skillMd}:{},...typeof t.error=="string"?{error:t.error}:{},...t.validation&&typeof t.validation=="object"?{validation:t.validation}:{},...t.publication?{publication:mZe(t.publication)}:{}}}async function A2(e){const t=Ll(await Ah(await Tu("/capabilities",{signal:e}),"读取 Skill 工作台能力失败"),"Skill 工作台能力");return{enabled:t.enabled===!0,reason:typeof t.reason=="string"?t.reason:"",operations:Array.isArray(t.operations)?t.operations.filter(n=>n==="create"||n==="optimize"):[],models:Array.isArray(t.models)?t.models.flatMap(n=>{if(!n||typeof n!="object")return[];const i=n;return typeof i.id=="string"&&typeof i.label=="string"?[{id:i.id,label:i.label}]:[]}):[],styles:t.styles&&typeof t.styles=="object"&&!Array.isArray(t.styles)?Object.fromEntries(Object.entries(t.styles).filter(n=>typeof n[1]=="string")):{},...typeof t.maxUploadBytes=="number"?{maxUploadBytes:t.maxUploadBytes}:{}}}async function gZe(e){if(e.file){const n=new URLSearchParams({operation:"optimize",intent:e.intent});e.jobId&&n.set("job_id",e.jobId),e.model&&n.set("model",e.model),e.style&&n.set("style",e.style),e.name&&n.set("name",e.name);const i=await Tu(`/tasks/from-upload?${n}`,{method:"POST",body:e.file,headers:{"Content-Type":"application/zip"},signal:e.signal},kr);return P1(await Ah(i,"开始优化 Skill 失败"))}const t=await Tu("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operation:e.operation,intent:e.intent,...e.model?{model:e.model}:{},...e.style?{style:e.style}:{},...e.name?{name:e.name}:{},...e.jobId?{jobId:e.jobId}:{},...e.source?{source:{kind:"skill-center",skillId:e.source.skillId,skillName:e.source.name,version:e.source.version,region:e.source.region,projectName:e.source.projectName,skillSpaceId:e.source.skillSpaceId,skillSpaceName:e.source.skillSpaceName}}:{}}),signal:e.signal},kr);return P1(await Ah(t,"开始 Skill 会话失败"))}async function bZe(e,t){return P1(await Ah(await Tu(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取 Skill 会话失败"))}async function sR(e,t,n){const i=new URLSearchParams;i.set("expected_revision",String(t));const r=Ll(await Ah(await Tu(`/tasks/${encodeURIComponent(e)}/artifact?${i.toString()}`,{signal:n}),"读取 Skill 产物失败"),"Skill 产物");if(r.jobId!==e||r.revision!==t||!Number.isSafeInteger(r.revision)||r.revision<1||typeof r.sha256!="string"||!/^[0-9a-f]{64}$/.test(r.sha256)||typeof r.name!="string"||typeof r.description!="string"||!Array.isArray(r.files))throw new Error("Skill 产物格式错误。");const s=r.files.map(a=>{const o=Ll(a,"Skill 产物文件");if(typeof o.path!="string"||typeof o.size!="number"||typeof o.content!="string")throw new Error("Skill 产物文件格式错误。");return{path:o.path,size:o.size,content:o.content}});return{jobId:r.jobId,revision:r.revision,sha256:r.sha256,name:r.name,description:r.description,files:s}}async function aR(e){const t=await Tu(`/tasks/${encodeURIComponent(e.jobId)}/refinements`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({intent:e.intent,expectedRevision:e.expectedRevision})},kr);return P1(await Ah(t,"继续调整 Skill 失败"))}async function OZe(e){const t=await Tu(`/tasks/${encodeURIComponent(e.jobId)}/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expectedRevision:e.expectedRevision})});return P1(await Ah(t,"停止当前 Skill 任务失败"))}async function yZe(e){const t=await Tu(`/tasks/${encodeURIComponent(e.jobId)}/publish-stream`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/x-ndjson"},body:JSON.stringify({disposition:e.disposition,expectedRevision:e.expectedRevision,expectedArtifactSha256:e.expectedArtifactSha256,skillSpaceIds:e.skillSpaceIds??[],projectName:e.projectName,region:e.region}),signal:e.signal},0);if(!t.ok)throw await u6(t,"发布 Skill 失败");if(!(t.headers.get("content-type")??"").includes("application/x-ndjson"))throw new Error("发布 Skill 失败:服务端返回了非 NDJSON 响应。");if(!t.body)throw new Error("发布 Skill 失败:服务端没有返回进度流。");const i=new Set(["preparing","uploading","registering","activating","publishing"]);let r=null,s="";const a=new TextDecoder,o=t.body.getReader(),c=u=>{var h;if(!u.trim())return;const d=Ll(JSON.parse(u),"发布进度");if(d.type==="progress"){if(typeof d.phase!="string"||!i.has(d.phase)||typeof d.message!="string")throw new Error("发布进度格式错误。");(h=e.onProgress)==null||h.call(e,{phase:d.phase,message:d.message});return}if(d.type==="error"){const p=Ll(d.error,"发布错误");throw new VM(typeof p.message=="string"?p.message:"发布 Skill 失败",500,typeof p.code=="string"?p.code:"SKILL_PUBLISH_FAILED",p.retryable===!0,"",p.originalError&&typeof p.originalError=="object"?p.originalError:void 0,JSON.stringify(d.error))}if(d.type!=="complete")throw new Error("未知的发布进度事件。");const f=Ll(d.result,"发布结果");if(typeof f.skillId!="string"||typeof f.version!="string"||!Array.isArray(f.skillSpaceIds)||!f.skillSpaceIds.every(p=>typeof p=="string")||f.disposition!=="create-new"&&f.disposition!=="update-source"||!u$(f.region)||typeof f.projectName!="string")throw new Error("发布结果格式错误。");r={skillId:f.skillId,version:f.version,skillSpaceIds:f.skillSpaceIds,disposition:f.disposition,region:f.region,projectName:f.projectName}};for(;;){const{value:u,done:d}=await o.read();s+=a.decode(u,{stream:!d});const f=s.split(` +`);if(s=f.pop()??"",f.forEach(c),d)break}if(c(s),!r)throw new Error("发布进度流提前结束,无法确认发布结果。请刷新技能中心确认状态。");return r}async function xZe(e){await Ah(await Tu(`/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),"删除 Skill 会话失败")}async function vZe(e,t,n){var c;const i=new URLSearchParams;i.set("expected_revision",String(t)),i.set("expected_sha256",n);const r=await Tu(`/tasks/${encodeURIComponent(e)}/download?${i.toString()}`,{},kr);if(!r.ok)throw await u6(r,"下载 Skill 失败");const a=((c=(r.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:c[1])??"skill.zip",o=URL.createObjectURL(await r.blob());try{const u=document.createElement("a");u.href=o,u.download=a,u.click()}finally{URL.revokeObjectURL(o)}}const wZe={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 SZe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(const r of n){if(i==null||typeof i!="object")return;i=i[r]}return i}function EZe(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function kZe(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function d6(e,t){if(EZe(e))return SZe(t,e.path);if(kZe(e)){const n=wZe[e.call],i={};for(const[r,s]of Object.entries(e.args??{}))i[r]=d6(s,t);return n?n(i):`[unknown fn: ${e.call}]`}return e}function TZe(e,t){const n=d6(e,t);return n==null?"":typeof n=="string"?n:String(n)}const Cue=new Map;function Vm(e,t){Cue.set(e,t)}function _Ze(e){return Cue.get(e)}function AZe(e,t,n){const i=t.replace(/^\//,"").split("/").map(s=>s.replace(/~1/g,"/").replace(/~0/g,"~"));let r=e;for(let s=0;sd6(i,e.dataModel),resolveString:i=>TZe(i,e.dataModel),dispatchAction:t,render:i=>{if(!i)return null;const r=e.components[i];if(!r)return null;const s=_Ze(r.component)??CZe;return l.jsx(s,{node:r,ctx:n},i)}};return l.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function jue(e){const t=m.useRef(null),n=m.useRef(!0),i=28,r=m.useCallback(()=>{const s=t.current;s&&(n.current=s.scrollHeight-s.scrollTop-s.clientHeight{const s=t.current;s&&n.current&&(s.scrollTop=s.scrollHeight)},[e]),{ref:t,onScroll:r}}function C2({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:i}){return e.skills.length===0&&!e.targetAgent?null:l.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(r=>l.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:r.description,children:[l.jsx(c1,{"aria-hidden":!0}),l.jsxs("span",{children:[t,r.name]}),n?l.jsx("button",{type:"button",onClick:()=>n(r.name),"aria-label":`移除技能 ${r.name}`,children:l.jsx(za,{})}):null]},r.name)),e.targetAgent?l.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[l.jsx(Ete,{"aria-hidden":!0}),l.jsx("span",{children:e.targetAgent.name}),i?l.jsx("button",{type:"button",onClick:i,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:l.jsx(za,{})}):null]}):null]})}function f6(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function Rue(e){var n,i,r,s;const t=f6(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((i=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:i.toUpperCase())??"VIDEO":t==="image"?((s=(r=e.mimeType)==null?void 0:r.split("/")[1])==null?void 0:s.toUpperCase())??"IMAGE":"TXT"}function Iue(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function Due(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?one(t,e.uri):""}function jZe({kind:e}){return e==="image"?l.jsx(a$,{}):e==="video"?l.jsx(Ate,{}):e==="pdf"?l.jsx(sTe,{}):l.jsx(r$,{})}function N2({appName:e,items:t,compact:n=!1,onRemove:i}){const[r,s]=m.useState(null);return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const o=f6(a.mimeType),c=Due(a,e),u=a.status==="uploading"||a.status==="error"||!c,d=l.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:o==="image"?void 0:()=>s(a),"aria-label":`预览 ${a.name??"附件"}`,children:[o==="image"&&c?l.jsx("img",{className:"media-card-image",src:c,alt:a.name??"图片",loading:"lazy"}):o==="video"&&c?l.jsxs("div",{className:"media-card-video-container",children:[l.jsx("video",{className:"media-card-video",src:c,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),l.jsx("span",{className:"media-card-video-play",children:l.jsx(yTe,{})})]}):l.jsx("span",{className:"media-card-icon",children:l.jsx(jZe,{kind:o})}),l.jsxs("span",{className:"media-card-copy",children:[l.jsx("span",{className:"media-card-name",children:a.name??"附件"}),l.jsxs("span",{className:"media-card-meta",children:[l.jsx("span",{className:"media-card-type",children:Rue(a)}),a.status==="uploading"?l.jsxs(l.Fragment,{children:[l.jsx(Hn,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":Iue(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?l.jsx(Wp,{className:"media-card-open"}):null]});return l.jsxs(Fr.div,{className:`media-card media-card--${o}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[o==="image"&&!u?l.jsx(vte,{src:c,children:d}):d,i?l.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>i(a.id),children:l.jsx(za,{})}):null]},a.id)})}),l.jsx(oh,{children:r?l.jsx(RZe,{appName:e,item:r,onClose:()=>s(null)}):null})]})}function RZe({appName:e,item:t,onClose:n}){const i=m.useMemo(()=>Due(t,e),[e,t]),r=f6(t.mimeType),[s,a]=m.useState(""),[o,c]=m.useState(r==="text"||r==="markdown"),[u,d]=m.useState("");return m.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),m.useEffect(()=>{if(r!=="text"&&r!=="markdown")return;const f=new AbortController;return c(!0),d(""),fetch(i,{signal:f.signal}).then(h=>{if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.text()}).then(a).catch(h=>{f.signal.aborted||d(h instanceof Error?h.message:String(h))}).finally(()=>{f.signal.aborted||c(!1)}),()=>f.abort()},[r,i]),l.jsx(Fr.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:l.jsxs(Fr.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:[l.jsxs("header",{className:"media-viewer-header",children:[l.jsxs("div",{children:[l.jsx("strong",{children:t.name??"附件"}),l.jsxs("span",{children:[Rue(t),t.sizeBytes?` · ${Iue(t.sizeBytes)}`:""]})]}),l.jsxs("nav",{children:[l.jsx("a",{href:i,download:t.name,"aria-label":"下载",children:l.jsx(kA,{})}),l.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:l.jsx(za,{})})]})]}),l.jsxs("div",{className:`media-viewer-body media-viewer-body--${r}`,children:[r==="image"?l.jsx("img",{src:i,alt:t.name??"图片"}):null,r==="video"?l.jsx("div",{className:"media-viewer-video-wrapper",children:l.jsx("video",{src:i,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,r==="pdf"?l.jsx("iframe",{src:i,title:t.name??"PDF"}):null,o?l.jsxs("div",{className:"media-viewer-loading",children:[l.jsx(Hn,{})," 正在读取文档…"]}):null,!o&&u?l.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!o&&r==="markdown"?l.jsx("div",{className:"media-document",children:l.jsx(ku,{text:s})}):null,!o&&r==="text"?l.jsx("pre",{className:"media-document media-document--plain",children:s}):null]})]})})}function IZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),l.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 DZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),l.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),l.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),l.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 h6(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{className:"video-generate-icon__body",d:"M3.25 9h17.5v7.35a2.4 2.4 0 0 1-2.4 2.4H5.65a2.4 2.4 0 0 1-2.4-2.4V9Z"}),l.jsxs("g",{className:"video-generate-icon__clapper",children:[l.jsx("path",{d:"M3.25 9V7.65a2.4 2.4 0 0 1 2.4-2.4h12.7a2.4 2.4 0 0 1 2.4 2.4V9H3.25Z"}),l.jsx("path",{d:"M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"})]}),l.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function PZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),l.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),l.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function MZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function LZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),l.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),l.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),l.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function $Ze(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.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 QZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),l.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),l.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"}),l.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function p6(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function BZe({definition:e,label:t,done:n,open:i,onToggle:r}){const s=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return l.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:r,"aria-expanded":i,children:[l.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:l.jsx(s,{})}),n?l.jsx("span",{className:"builtin-tool-label",children:a}):l.jsx(Fn,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),l.jsx(p6,{className:`builtin-tool-chevron${i?" is-open":""}`})]})}const FZe={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:IZe},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:QZe},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:DZe},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:h6},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:PZe},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:MZe},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:LZe},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:$Ze}};function UZe(e){return FZe[e]}function Pue(e){return l.jsx("svg",{viewBox:"0 0 111 117",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M0 5.6016C7.82288e-05 0.621244 6.02226 -1.87314 9.54395 1.64847L40.1289 32.2334L68.5732 3.7891C69.5834 2.77903 70.9533 2.21099 72.3818 2.21097H82.7031C82.7917 2.20658 82.8806 2.20414 82.9697 2.20414H104.775C109.574 2.20427 111.977 8.00691 108.584 11.4004L64.916 55.0664C64.3075 55.8528 63.9436 56.7647 63.8242 57.6993C63.7142 56.4884 63.1964 55.3069 62.2695 54.3799L45.4082 37.5186H45.4072L40.124 32.2354L17.832 54.5284C16.7671 55.5933 16.2416 56.993 16.2549 58.3887C16.2417 59.7843 16.7672 61.1842 17.832 62.2491L39.9287 84.3467L9.54395 114.733C6.0223 118.255 0.000223474 115.761 0 110.78V5.6016ZM63.8018 58.8702C63.8962 59.9086 64.2936 60.9229 64.9961 61.7735L108.591 105.368C111.984 108.762 109.58 114.564 104.781 114.564H94.4336C94.3543 114.568 94.274 114.569 94.1934 114.569H72.3877C70.9592 114.569 69.5892 114.002 68.5791 112.992L39.9336 84.3467L58.4531 65.8282L58.4453 65.8203L62.2695 61.9981C63.1476 61.12 63.6567 60.0136 63.8018 58.8702Z",fill:"currentColor"})})}function zZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6 3h8l4 4v14H6Z"}),l.jsx("path",{d:"M14 3v5h5"}),l.jsx("path",{d:"m10 12-2 2 2 2M14 12l2 2-2 2"})]})}function VZe(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M12 3 19 6v5c0 4.6-2.8 7.8-7 10-4.2-2.2-7-5.4-7-10V6l7-3Z"}),l.jsx("path",{d:"m9 12 2 2 4-4"})]})}const qZe=m.lazy(()=>Td(()=>Promise.resolve().then(()=>QQ),void 0));function XZe(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function HZe(e,t=!1){return[...e.children.values()].sort((n,i)=>{const r=n.children.size>0&&n.path===void 0,s=i.children.size>0&&i.path===void 0;return r!==s?t?r?1:-1:r?-1:1:n.name.localeCompare(i.name)})}function m6({project:e,open:t,onClose:n,onChange:i,readOnly:r=!1}){var g;const[s,a]=m.useState(((g=e.files[0])==null?void 0:g.path)??null),[o,c]=m.useState(new Set),u=m.useRef(null),d=m.useMemo(()=>XZe(e.files),[e.files]),f=e.files.find(O=>O.path===s)??null;if(m.useEffect(()=>{var v;if(!t)return;const O=document.body.style.overflow;document.body.style.overflow="hidden",(v=u.current)==null||v.focus();const y=x=>{x.key==="Escape"&&n()};return window.addEventListener("keydown",y),()=>{document.body.style.overflow=O,window.removeEventListener("keydown",y)}},[n,t]),m.useEffect(()=>{f||e.files.length===0||a(e.files[0].path)},[e.files,f]),!t)return null;function h(O){c(y=>{const v=new Set(y);return v.has(O)?v.delete(O):v.add(O),v})}function p(O,y,v){return HZe(O,y===0).map(x=>{const w=v?`${v}/${x.name}`:x.name;if(!(x.children.size>0&&x.path===void 0)&&x.path)return l.jsxs("button",{type:"button",className:`code-browser-file${s===x.path?" is-active":""}`,style:{paddingLeft:`${12+y*16}px`},onClick:()=>a(x.path??null),title:x.path,children:[l.jsx(W7,{"aria-hidden":"true"}),l.jsx("span",{children:x.name})]},w);const S=o.has(w);return l.jsxs("div",{children:[l.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+y*16}px`},onClick:()=>h(w),"aria-expanded":!S,children:[l.jsx(Hb,{className:S?"":"is-open","aria-hidden":"true"}),l.jsx(Cte,{"aria-hidden":"true"}),l.jsx("span",{children:x.name})]}),!S&&p(x,y+1,w)]},w)})}function b(O){f&&i({...e,files:e.files.map(y=>y.path===f.path?{...y,content:O}:y)})}return Gi.createPortal(l.jsx("div",{className:"code-browser-backdrop",onMouseDown:O=>{O.target===O.currentTarget&&n()},children:l.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[l.jsxs("header",{className:"code-browser-head",children:[l.jsxs("div",{className:"code-browser-title-wrap",children:[l.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:l.jsx(_te,{})}),l.jsxs("div",{children:[l.jsx("h2",{id:"code-browser-title",children:"项目代码"}),l.jsx("p",{children:e.name||"Agent 项目"})]})]}),l.jsx("button",{ref:u,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:l.jsx(za,{"aria-hidden":"true"})})]}),l.jsxs("div",{className:"code-browser-workspace",children:[l.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[l.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",l.jsx("span",{children:e.files.length})]}),l.jsx("div",{className:"code-browser-tree",children:e.files.length>0?p(d,0,""):l.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),l.jsxs("main",{className:"code-browser-main",children:[l.jsxs("div",{className:"code-browser-path",children:[l.jsx(W7,{"aria-hidden":"true"}),l.jsx("span",{children:(f==null?void 0:f.path)??"未选择文件"})]}),l.jsx("div",{className:"code-browser-editor",children:f?l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:l.jsx(qZe,{value:f.content,path:f.path,onChange:b,readOnly:r})}):l.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function GZe({project:e,onChange:t,className:n="",label:i="查看源码"}){const[r,s]=m.useState(!1);return l.jsxs(l.Fragment,{children:[l.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>s(!0),"aria-label":"查看和编辑项目源码",title:i,children:[l.jsx(_te,{"aria-hidden":"true"}),l.jsx("span",{children:i})]}),l.jsx(m6,{project:e,open:r,onClose:()=>s(!1),onChange:t})]})}const Mue="send_a2ui_json_to_client",YZe=28,WZe=3e3;function ZZe(e,t,n){let i=t;for(let r=0;r65535?2:1}return i}function KZe(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function Lue(e,t,n,i){const[r,s]=m.useState(()=>t?"":e),a=m.useRef(r),o=m.useRef(e),c=m.useRef(null),u=m.useRef(0),d=m.useRef(n);return o.current=e,d.current=n,m.useEffect(()=>{const f=a.current,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||h||!e.startsWith(f)){c.current!==null&&window.cancelAnimationFrame(c.current),c.current=null,f!==e&&(a.current=e,s(e));return}if(f===e||c.current!==null)return;const p=b=>{const g=o.current,O=a.current;if(!g.startsWith(O)){a.current=g,s(g),c.current=null;return}if(b-u.current{var f;(f=d.current)==null||f.call(d)},[r]),m.useEffect(()=>{r===e&&(i==null||i())},[r,i,e]),m.useEffect(()=>()=>{c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null)},[]),r}function JZe(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:l.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 eKe(){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"m4.5 7 1.8 1.8L9.5 5.5"}),l.jsx("path",{d:"M12 7h7.5"}),l.jsx("path",{d:"m4.5 13 1.8 1.8 3.2-3.3"}),l.jsx("path",{d:"M12 13h7.5"}),l.jsx("path",{d:"M5 19h4"}),l.jsx("path",{d:"M12 19h7.5"})]})}function tKe(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 $ue({text:e,done:t,answerStarted:n=!1,streaming:i=!1,onStreamFrame:r}){const[s,a]=m.useState(!(t||n)),o=m.useRef(!1);m.useEffect(()=>{o.current||a(!(t||n))},[n,t]);const c=()=>{o.current=!0,a(p=>!p)},u=e.replace(/^\s+/,""),d=Lue(u,!t||i,r),{ref:f,onScroll:h}=jue(d);return l.jsxs("div",{className:"block-thinking",children:[l.jsxs("button",{className:"think-head",onClick:c,type:"button",children:[l.jsx("span",{className:"think-icon","aria-hidden":"true",children:l.jsx(Pue,{className:`thinking-logo ${t?"":"is-active"}`})}),t?l.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):l.jsx(Fn,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),l.jsx(Hb,{className:`chev ${s?"open":""}`})]}),l.jsx("div",{className:`think-collapse ${s&&d?"open":""}`,children:l.jsx("div",{className:"think-collapse-inner",children:l.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function nKe({text:e}){return l.jsx("div",{className:"block-progress",role:"status","aria-live":"polite","aria-atomic":"true",children:l.jsxs("div",{className:"think-head progress-head",children:[l.jsx("span",{className:"think-icon","aria-hidden":"true",children:l.jsx(Pue,{className:"thinking-logo is-active"})}),l.jsx(Fn,{className:"think-label",duration:2.4,spread:18,children:e})]})})}function iKe({value:e,onResolve:t,onDownload:n,onDeploy:i}){const[r,s]=m.useState(e.files?e:null),[a,o]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(""),[h,p]=m.useState(null),b=new Date(e.validatedAt),g=e.validatedAt?Number.isNaN(b.getTime())?e.validatedAt:b.toLocaleString("zh-CN",{hour12:!1}):"刚刚";m.useEffect(()=>{if(!h)return;const w=window.setTimeout(()=>p(null),WZe);return()=>window.clearTimeout(w)},[h]);async function O(){if(r)return r;if(!t)throw new Error("暂时无法读取生成的源码,请稍后重试。");const w=await t(e);return s(w),w}async function y(){u("source"),f(""),p(null);try{await O(),o(!0)}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}async function v(){if(n){u("download"),f(""),p(null);try{await n(e),p({message:"已开始下载"})}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}}async function x(){u("deploy"),f(""),p(null);try{i==null||i(await O())}catch(w){f(w instanceof Error?w.message:String(w))}finally{u(null)}}return l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:`delivery-card${e.verified?" is-verified":" is-unverified"}`,"aria-label":e.verified?"已验证交付物":"生成的 Agent 源码",children:[l.jsxs("header",{className:"delivery-card-header",children:[l.jsx("span",{className:"delivery-card-icon",children:e.verified?l.jsx(VZe,{}):l.jsx(zZe,{})}),l.jsxs("div",{children:[l.jsx("strong",{children:e.verified?"已验证交付物":"生成的 Agent 源码"}),l.jsx("span",{children:e.agentName})]})]}),l.jsxs("dl",{className:"delivery-card-grid",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"入口"}),l.jsx("dd",{children:l.jsx("code",{children:e.entryPoint})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"文件数"}),l.jsx("dd",{children:e.fileCount})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"大小"}),l.jsxs("dd",{children:[(e.artifactSize/1024).toFixed(1)," KiB"]})]}),l.jsxs("div",{children:[l.jsx("dt",{children:e.verified?"验证时间":"生成时间"}),l.jsx("dd",{children:g})]})]}),l.jsxs("p",{className:"delivery-card-gates",children:[e.verified?`${e.gateSummary.length} 项检查通过`:"源码已准备好,可部署"," ·"," ",l.jsx("code",{children:e.artifactSha256.slice(0,12)})]}),e.verified?null:l.jsx("p",{className:"delivery-card-guidance",children:"源码已准备好,可查看、下载或部署;部署前请确认 Runtime 配置。"}),l.jsxs("div",{className:"delivery-card-actions",children:[l.jsxs("button",{type:"button",className:"delivery-card-secondary",onClick:()=>void y(),disabled:!t||c!==null,children:[c==="source"?l.jsx(Hn,{className:"spin","aria-hidden":"true"}):null,"查看源码"]}),l.jsxs("button",{type:"button",className:"delivery-card-secondary",onClick:()=>void v(),disabled:!n||c!==null,"aria-busy":c==="download",children:[c==="download"?l.jsx(Hn,{className:"spin","aria-hidden":"true"}):null,c==="download"?"正在准备…":"下载源码"]}),l.jsxs("button",{type:"button",onClick:()=>void x(),disabled:!e.deployable||!i||!t||c!==null,title:e.deployable?void 0:"源码尚未准备好",children:[c==="deploy"?l.jsx(Hn,{className:"spin","aria-hidden":"true"}):null,"手动部署到 Runtime"]})]}),d?l.jsx("p",{className:"delivery-card-error",role:"alert",children:d}):null,h?l.jsx("p",{className:"delivery-card-status",role:"status","aria-live":"polite",children:h.message}):null]}),l.jsx(m6,{project:{name:e.agentName,files:(r==null?void 0:r.files)??[]},open:a,onClose:()=>o(!1),onChange:()=>{},readOnly:!0})]})}function Que(){return l.jsx($ue,{text:"",done:!1})}const rKe=m.memo(function({text:t,streaming:n,onStreamFrame:i,onStreamComplete:r}){const s=Lue(t,n,i,r);return s?l.jsx("div",{className:"bubble",children:l.jsx(ku,{text:s,streaming:n})}):null}),sKe={pending:"待处理",in_progress:"进行中",completed:"已完成",failed:"未完成"};function aKe({title:e,summary:t,items:n,done:i}){const[r,s]=m.useState(!i),a=m.useRef(!1);m.useEffect(()=>{a.current||s(!i)},[i]);const o=()=>{a.current=!0,s(c=>!c)};return l.jsxs("div",{className:"block-plan",children:[l.jsxs("button",{className:"plan-head",type:"button",onClick:o,"aria-expanded":n.length>0?r:void 0,disabled:n.length===0,children:[l.jsx("span",{className:"plan-icon","aria-hidden":"true",children:l.jsx(eKe,{})}),i?l.jsx("span",{className:"plan-title",children:e}):l.jsx(Fn,{className:"plan-title",duration:2.2,spread:15,children:e}),t?l.jsx("span",{className:"plan-summary",children:t}):null,n.length>0?l.jsx(p6,{className:`plan-chevron${r?" is-open":""}`}):null]}),l.jsx("div",{className:`think-collapse ${r&&n.length>0?"open":""}`,children:l.jsx("div",{className:"think-collapse-inner",children:n.length>0?l.jsx("ol",{className:"plan-items",children:n.map((c,u)=>l.jsxs("li",{"data-status":c.status,children:[l.jsx("span",{className:"plan-item-marker","aria-hidden":"true"}),l.jsx("span",{className:"plan-item-text",children:c.text}),l.jsx("small",{children:sKe[c.status]})]},`${u}:${c.text}`))}):null})})]})}function oKe({name:e,args:t,response:n,done:i,status:r}){const[s,a]=m.useState(!1),o=e===Mue?"渲染 UI":e,c=r??(i?"completed":"running"),u=c==="failed"?void 0:UZe(e),d=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),f=d&&d.length>2e3?d.slice(0,2e3)+` +…(已截断)`:d;return l.jsxs(Fr.div,{className:`block-tool${u?" block-tool--builtin":""}`,"data-status":c,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[u?l.jsx(BZe,{definition:u,label:tKe(e,t),done:i,open:s,onToggle:()=>a(h=>!h)}):l.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>a(h=>!h),type:"button","aria-expanded":s,children:[l.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:l.jsx(JZe,{})}),i?l.jsx("span",{className:"tool-name",children:o}):l.jsx(Fn,{className:"tool-name",duration:2.2,spread:15,children:o}),l.jsx(p6,{className:`tool-chevron${s?" is-open":""}`})]}),l.jsx("div",{className:`think-collapse ${s?"open":""}`,children:l.jsx("div",{className:"think-collapse-inner",children:l.jsxs("div",{className:"tool-detail",children:[t!=null&&l.jsxs("div",{className:"tool-section",children:[l.jsx("div",{className:"tool-section-label",children:"参数"}),l.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),f!=null&&l.jsxs("div",{className:"tool-section",children:[l.jsx("div",{className:"tool-section-label",children:"返回"}),l.jsx("pre",{className:"tool-args tool-result",children:f})]})]})})})]})}function lKe({block:e,onDownload:t,onPreview:n}){const[i,r]=m.useState(""),[s,a]=m.useState(""),[o,c]=m.useState(null);m.useEffect(()=>()=>{o&&URL.revokeObjectURL(o.url)},[o]);const u=()=>c(null),d=async(p,b)=>{if(t){r(`download:${p}`),a("");try{await t(p,b)}catch(g){a(g instanceof Error?g.message:String(g))}finally{r("")}}},f=async(p,b,g)=>{if(n){r(`preview:${g}`),a("");try{const O=await n(p,b);c({name:g,url:O})}catch(O){a(O instanceof Error?O.message:String(O))}finally{r("")}}},h=e.files.filter(p=>!p.filename.endsWith(".preview.webp"));return l.jsxs("div",{className:"artifact-list",children:[h.map(p=>{const b=`${p.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(O=>O.filename===b);return l.jsxs("div",{className:"artifact-card",children:[l.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:l.jsx(r$,{})}),l.jsxs("span",{className:"artifact-card__copy",children:[l.jsx("span",{className:"artifact-card__name",children:p.filename}),l.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),l.jsxs("span",{className:"artifact-card__actions",children:[g&&l.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||i!=="",onClick:()=>void f(g.filename,g.version,p.filename),children:[i===`preview:${p.filename}`?l.jsx(Hn,{className:"spin"}):l.jsx(nTe,{}),"预览"]}),l.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||i!=="",onClick:()=>void d(p.filename,p.version),children:[i===`download:${p.filename}`?l.jsx(Hn,{className:"spin"}):l.jsx(kA,{}),"下载"]})]})]},`${p.filename}:${p.version}`)}),s&&l.jsx("div",{className:"artifact-card__error",children:s}),o&&l.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${o.name} 预览`,children:[l.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),l.jsxs("div",{className:"artifact-preview__panel",children:[l.jsxs("div",{className:"artifact-preview__header",children:[l.jsx("span",{children:o.name}),l.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:l.jsx(za,{})})]}),l.jsx("div",{className:"artifact-preview__canvas",children:l.jsx("img",{src:o.url,alt:`${o.name} 幻灯片预览`})})]})]})]})}function cKe({block:e,onAuth:t}){const[n,i]=m.useState(e.done?"done":"idle"),[r,s]=m.useState(""),a=e.label||"MCP 工具集",o=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),c=async()=>{if(t){s(""),i("authorizing");try{await t(e),i("done")}catch(d){s(d instanceof Error?d.message:String(d)),i("idle")}}};return e.done||n==="done"?l.jsxs(Fr.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[l.jsx(Z7,{className:"auth-card-icon auth-card-icon--done"}),l.jsxs("span",{children:["已授权 · ",a]})]}):l.jsxs(Fr.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[l.jsxs("div",{className:"auth-card-head",children:[l.jsx(Z7,{className:"auth-card-icon"}),l.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),l.jsxs("p",{className:"auth-card-desc",children:["工具集 ",l.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",o&&l.jsxs(l.Fragment,{children:[" ","将跳转至 ",l.jsx("code",{className:"auth-card-code",children:o})," 完成登录,"]}),"授权完成后对话自动继续。"]}),l.jsx("button",{className:"auth-card-btn",onClick:c,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?l.jsxs(l.Fragment,{children:[l.jsx(Hn,{className:"cw-i spin"})," 等待授权…"]}):l.jsx(l.Fragment,{children:"去授权"})}),!e.authUri&&l.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),r&&l.jsx("div",{className:"auth-card-err",children:r})]})}function j2({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:i,onStreamComplete:r,onAction:s,onAuth:a,onArtifactDownload:o,onArtifactPreview:c,onResolveDelivery:u,onDownloadDelivery:d,onDeployDelivery:f}){const h=e.reduce((p,b,g)=>b.kind==="text"?g:p,-1);return l.jsx(l.Fragment,{children:e.map((p,b)=>{switch(p.kind){case"progress":return l.jsx(nKe,{text:p.text},"build-progress");case"thinking":{const g=e.slice(b+1).some(O=>O.kind==="text"&&!!O.text.trim());return l.jsx($ue,{text:p.text,done:p.done,answerStarted:g,streaming:n,onStreamFrame:i},b)}case"text":{const g=p.text.replace(/^\s+/,"");return g?l.jsx(rKe,{text:g,streaming:n,onStreamFrame:i,onStreamComplete:b===h?r:void 0},b):null}case"plan":return l.jsx(aKe,{title:p.title,summary:p.summary,items:p.items,done:p.done},b);case"attachment":return l.jsx(N2,{appName:t,items:p.files},b);case"artifact":return l.jsx(lKe,{block:p,onDownload:o,onPreview:c},b);case"delivery":return l.jsx(iKe,{value:p.value,onResolve:u,onDownload:d,onDeploy:f},b);case"invocation":return l.jsx(C2,{value:p.value},b);case"tool":return p.name===Mue&&p.done?null:l.jsx(oKe,{name:p.name,args:p.args,response:p.response,done:p.done,status:p.status},b);case"agent-transfer":return null;case"auth":return l.jsx(cKe,{block:p,onAuth:a},b);case"a2ui":return Nue(p.messages).filter(g=>g.components[g.rootId]).map(g=>l.jsx(Fr.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:l.jsx(NZe,{surface:g,onAction:s})},`${b}-${g.surfaceId}`));default:return null}})})}const uKe=()=>{};function dKe(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 fKe({activities:e}){const t=m.useMemo(()=>e.filter(n=>n.kind!=="status").map(dKe),[e]);return t.length===0?null:l.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:l.jsx(j2,{blocks:t,onAction:uKe})})}function uq(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m7 9 5 5 5-5",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function hk({label:e,value:t,options:n,onChange:i,disabled:r=!1,allowCustom:s=!1,required:a=!1,placeholder:o="请选择",error:c}){const u=m.useId(),d=m.useId(),f=m.useId(),h=m.useRef(null),p=m.useRef(null),b=m.useRef(null),g=m.useRef(null),O=m.useRef([]),y=n.findIndex(Q=>Q.value===t),v=t.trim().toLocaleLowerCase(),x=s&&v?n.filter(Q=>Q.value.toLocaleLowerCase().includes(v)||Q.label.toLocaleLowerCase().includes(v)):n,[w,E]=m.useState(!1),[S,k]=m.useState(Math.max(0,y)),T=y>=0?n[y]:void 0,C=r||!s&&n.length===0,A=(Q=!1)=>{E(!1),Q&&window.requestAnimationFrame(()=>{var D,$;return s?(D=b.current)==null?void 0:D.focus():($=p.current)==null?void 0:$.focus()})},N=Q=>{C||x.length!==0&&(k(Math.min(Math.max(Q,0),x.length-1)),E(!0))};m.useEffect(()=>{if(!w)return;const Q=g.current,D=s?void 0:window.requestAnimationFrame(()=>{var F;(F=O.current[S])==null||F.focus()}),$=F=>{if(!Q)return;const B=Q.scrollTop<=0,M=Q.scrollTop+Q.clientHeight>=Q.scrollHeight-1;(Q.scrollHeight<=Q.clientHeight||F.deltaY<0&&B||F.deltaY>0&&M)&&F.preventDefault(),F.stopPropagation()},j=F=>{var B;F.target instanceof Node&&!((B=h.current)!=null&&B.contains(F.target))&&A()},I=F=>{F.key==="Escape"&&A(!0)};return Q==null||Q.addEventListener("wheel",$,{passive:!1}),window.addEventListener("pointerdown",j),window.addEventListener("keydown",I),()=>{D!==void 0&&window.cancelAnimationFrame(D),Q==null||Q.removeEventListener("wheel",$),window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",I)}},[S,s,w]);const P=Q=>{var $;if(x.length===0)return;const D=(Q+x.length)%x.length;k(D),($=O.current[D])==null||$.focus()};return l.jsxs("div",{ref:h,className:`skill-config-select${w?" is-open":""}`,onBlur:Q=>{var D;(!Q.relatedTarget||!((D=h.current)!=null&&D.contains(Q.relatedTarget)))&&A()},children:[l.jsxs("span",{id:d,className:"skill-config-select__label",children:[e,a?l.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"}):null]}),s?l.jsxs("div",{className:`skill-config-select__trigger is-editable${r?" is-disabled":""}`,"aria-expanded":w,children:[l.jsx("input",{ref:b,value:t,disabled:r,role:"combobox","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?u:void 0,"aria-labelledby":d,"aria-required":a,"aria-invalid":!!c,"aria-describedby":c?f:void 0,placeholder:o,onChange:Q=>{i(Q.target.value),k(0),n.length>0&&E(!0)},onClick:()=>{!w&&x.length>0&&N(0)},onKeyDown:Q=>{var D,$;if(!(Q.nativeEvent.isComposing||Q.keyCode===229))if(Q.key==="ArrowDown")Q.preventDefault(),w?(D=O.current[S])==null||D.focus():N(0);else if(Q.key==="ArrowUp")Q.preventDefault(),w?($=O.current[x.length-1])==null||$.focus():N(x.length-1);else if(Q.key==="Enter"&&w){Q.preventDefault();const j=x[S];j&&i(j.value),A()}else Q.key==="Escape"&&(Q.preventDefault(),A())}}),l.jsx("button",{type:"button",className:"skill-config-select__toggle",disabled:r||n.length===0,"aria-label":w?"收起模型选项":"展开模型选项",onClick:()=>{w?A():N(0)},children:l.jsx(uq,{})})]}):l.jsxs("button",{ref:p,type:"button",className:"skill-config-select__trigger",disabled:C,"aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?u:void 0,"aria-labelledby":d,"aria-required":a,onClick:()=>{w?A():N(y>=0?y:0)},onKeyDown:Q=>{Q.key==="ArrowDown"?(Q.preventDefault(),N(y>=0?y:0)):Q.key==="ArrowUp"&&(Q.preventDefault(),N(y>=0?y:n.length-1))},children:[l.jsx("span",{className:T?void 0:"is-placeholder",title:T==null?void 0:T.label,children:(T==null?void 0:T.label)||(n.length===0?"暂无可用选项":o)}),l.jsx(uq,{})]}),w?l.jsxs("div",{ref:g,id:u,className:"skill-config-select__menu",role:"listbox","aria-labelledby":d,children:[x.length===0?l.jsx("div",{className:"skill-config-select__empty",role:"status",children:"没有匹配项,可直接使用当前模型 ID"}):null,x.map((Q,D)=>{const $=Q.value===t;return l.jsx("button",{ref:j=>{O.current[D]=j},type:"button",role:"option","aria-selected":$,tabIndex:D===S?0:-1,className:`skill-config-select__option${$?" is-selected":""}`,title:Q.label,onFocus:()=>k(D),onClick:()=>{i(Q.value),A(!0)},onKeyDown:j=>{j.key==="Enter"||j.key===" "?(j.preventDefault(),i(Q.value),A(!0)):j.key==="ArrowDown"?(j.preventDefault(),P(D+1)):j.key==="ArrowUp"?(j.preventDefault(),P(D-1)):j.key==="Home"?(j.preventDefault(),P(0)):j.key==="End"&&(j.preventDefault(),P(n.length-1))},children:Q.label},Q.value)})]}):null,c?l.jsx("span",{id:f,className:"skill-config-select__error",role:"alert",children:c}):null]})}function Ls(e,t){return e instanceof Error?e:typeof e=="string"&&e.trim()?new Error(e.trim()):new Error(t)}function Ho({error:e}){var r,s,a,o,c;const t=e,n=(s=(r=t.originalError)==null?void 0:r.message)==null?void 0:s.trim(),i=[typeof t.status=="number"?`HTTP ${t.status}${t.statusText?` ${t.statusText}`:""}`:"",t.code?`错误码:${t.code}`:"",(a=t.originalError)!=null&&a.type?`错误类型:${t.originalError.type}`:"",(o=t.originalError)!=null&&o.repr&&t.originalError.repr!==n?`异常表示:${t.originalError.repr}`:"",(c=t.rawResponse)!=null&&c.trim()?`服务端原始响应: ${t.rawResponse.trim()}`:""].filter(Boolean);return l.jsxs("div",{className:"skill-error-details",children:[l.jsx("div",{className:"skill-error-details__summary",children:e.message}),n?l.jsxs("div",{className:"skill-error-details__original",children:["原始错误:",n]}):null,i.length>0?l.jsxs("details",{children:[l.jsx("summary",{children:"详细信息"}),l.jsx("pre",{children:i.join(` -`)})]}):null]})}const a6=Symbol.for("yaml.alias"),MM=Symbol.for("yaml.document"),ah=Symbol.for("yaml.map"),wue=Symbol.for("yaml.pair"),gu=Symbol.for("yaml.scalar"),rO=Symbol.for("yaml.seq"),jl=Symbol.for("yaml.node.type"),sO=e=>!!e&&typeof e=="object"&&e[jl]===a6,zv=e=>!!e&&typeof e=="object"&&e[jl]===MM,Vv=e=>!!e&&typeof e=="object"&&e[jl]===ah,Wr=e=>!!e&&typeof e=="object"&&e[jl]===wue,Ji=e=>!!e&&typeof e=="object"&&e[jl]===gu,qv=e=>!!e&&typeof e=="object"&&e[jl]===rO;function Hr(e){if(e&&typeof e=="object")switch(e[jl]){case ah:case rO:return!0}return!1}function Gr(e){if(e&&typeof e=="object")switch(e[jl]){case a6:case ah:case gu:case rO:return!0}return!1}const Sue=e=>(Ji(e)||Hr(e))&&!!e.anchor,hp=Symbol("break visit"),WZe=Symbol("skip children"),xx=Symbol("remove node");function aO(e,t){const n=ZZe(t);zv(e)?e0(null,e.contents,n,Object.freeze([e]))===xx&&(e.contents=null):e0(null,e,n,Object.freeze([]))}aO.BREAK=hp;aO.SKIP=WZe;aO.REMOVE=xx;function e0(e,t,n,i){const r=KZe(e,t,n,i);if(Gr(r)||Wr(r))return JZe(e,i,r),e0(e,r,n,i);if(typeof r!="symbol"){if(Hr(t)){i=Object.freeze(i.concat(t));for(let s=0;se.replace(/[!,[\]{}]/g,t=>eKe[t]);class _a{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},_a.defaultYaml,t),this.tags=Object.assign({},_a.defaultTags,n)}clone(){const t=new _a(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new _a(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:_a.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},_a.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:_a.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},_a.defaultTags),this.atNextDocument=!1);const i=t.trim().split(/[ \t]+/),r=i.shift();switch(r){case"%TAG":{if(i.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),i.length<2))return!1;const[s,a]=i;return this.tags[s]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,i.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[s]=i;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{const a=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,a),!1}}default:return n(0,`Unknown directive ${r}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const a=t.slice(2,-1);return a==="!"||a==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),a)}const[,i,r]=t.match(/^(.*!)([^!]*)$/s);r||n(`The ${t} tag has no suffix`);const s=this.tags[i];if(s)try{return s+decodeURIComponent(r)}catch(a){return n(String(a)),null}return i==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,i]of Object.entries(this.tags))if(t.startsWith(i))return n+tKe(t.substring(i.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);let r;if(t&&i.length>0&&Gr(t.contents)){const s={};aO(t.contents,(a,o)=>{Gr(o)&&o.tag&&(s[o.tag]=!0)}),r=Object.keys(s)}else r=[];for(const[s,a]of i)s==="!!"&&a==="tag:yaml.org,2002:"||(!t||r.some(o=>o.startsWith(a)))&&n.push(`%TAG ${s} ${a}`);return n.join(` -`)}}_a.defaultYaml={explicit:!1,version:"1.2"};_a.defaultTags={"!!":"tag:yaml.org,2002:"};function Eue(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 kue(e){const t=new Set;return aO(e,{Value(n,i){i.anchor&&t.add(i.anchor)}}),t}function Tue(e,t){for(let n=1;;++n){const i=`${e}${n}`;if(!t.has(i))return i}}function nKe(e,t){const n=[],i=new Map;let r=null;return{onAnchor:s=>{n.push(s),r??(r=kue(e));const a=Tue(t,r);return r.add(a),a},setAnchors:()=>{for(const s of n){const a=i.get(s);if(typeof a=="object"&&a.anchor&&(Ji(a.node)||Hr(a.node)))a.node.anchor=a.anchor;else{const o=new Error("Failed to resolve repeated object (this should not happen)");throw o.source=s,o}}},sourceObjects:i}}function t0(e,t,n,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let r=0,s=i.length;rAl(i,String(r),n));if(e&&typeof e.toJSON=="function"){if(!n||!Sue(e))return e.toJSON(t,n);const i={aliasCount:0,count:1,res:void 0};n.anchors.set(e,i),n.onCreate=s=>{i.res=s,delete n.onCreate};const r=e.toJSON(t,n);return n.onCreate&&n.onCreate(r),r}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class o6{constructor(t){Object.defineProperty(this,jl,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:s}={}){if(!zv(t))throw new TypeError("A document argument is required");const a={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},o=Al(this,"",a);if(typeof r=="function")for(const{count:c,res:u}of a.anchors.values())r(u,c);return typeof s=="function"?t0(s,{"":o},"",o):o}}let l6=class extends o6{constructor(t){super(a6),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){if((n==null?void 0:n.maxAliasCount)===0)throw new ReferenceError("Alias resolution is disabled");let i;n!=null&&n.aliasResolveCache?i=n.aliasResolveCache:(i=[],aO(t,{Node:(s,a)=>{(sO(a)||Sue(a))&&i.push(a)}}),n&&(n.aliasResolveCache=i));let r;for(const s of i){if(s===this)break;s.anchor===this.source&&(r=s)}return r}toJSON(t,n){if(!n)return{source:this.source};const{anchors:i,doc:r,maxAliasCount:s}=n,a=this.resolve(r,n);if(!a){const c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let o=i.get(a);if(o||(Al(a,null,n),o=i.get(a)),(o==null?void 0:o.res)===void 0){const c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(s>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=ck(r,a,i)),o.count*o.aliasCount>s)){const c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return o.res}toString(t,n,i){const r=`*${this.source}`;if(t){if(Eue(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${r} `}return r}};function ck(e,t,n){if(sO(t)){const i=t.resolve(e),r=n&&i&&n.get(i);return r?r.count*r.aliasCount:0}else if(Hr(t)){let i=0;for(const r of t.items){const s=ck(e,r,n);s>i&&(i=s)}return i}else if(Wr(t)){const i=ck(e,t.key,n),r=ck(e,t.value,n);return Math.max(i,r)}return 1}const _ue=e=>!e||typeof e!="function"&&typeof e!="object";class un extends o6{constructor(t){super(gu),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:Al(this.value,t,n)}toString(){return String(this.value)}}un.BLOCK_FOLDED="BLOCK_FOLDED";un.BLOCK_LITERAL="BLOCK_LITERAL";un.PLAIN="PLAIN";un.QUOTE_DOUBLE="QUOTE_DOUBLE";un.QUOTE_SINGLE="QUOTE_SINGLE";const iKe="tag:yaml.org,2002:";function rKe(e,t,n){if(t){const i=n.filter(s=>s.tag===t),r=i.find(s=>!s.format)??i[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find(i=>{var r;return((r=i.identify)==null?void 0:r.call(i,e))&&!i.format})}function A1(e,t,n){var f,h,p;if(zv(e)&&(e=e.contents),Gr(e))return e;if(Wr(e)){const b=(h=(f=n.schema[ah]).createNode)==null?void 0:h.call(f,n.schema,null,n);return b.items.push(e),b}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:i,onAnchor:r,onTagObj:s,schema:a,sourceObjects:o}=n;let c;if(i&&e&&typeof e=="object"){if(c=o.get(e),c)return c.anchor??(c.anchor=r(e)),new l6(c.anchor);c={anchor:null,node:null},o.set(e,c)}t!=null&&t.startsWith("!!")&&(t=iKe+t.slice(2));let u=rKe(e,t,a.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const b=new un(e);return c&&(c.node=b),b}u=e instanceof Map?a[ah]:Symbol.iterator in Object(e)?a[rO]:a[ah]}s&&(s(u),delete n.onTagObj);const d=u!=null&&u.createNode?u.createNode(n.schema,e,n):typeof((p=u==null?void 0:u.nodeClass)==null?void 0:p.from)=="function"?u.nodeClass.from(n.schema,e,n):new un(e);return t?d.tag=t:u.default||(d.tag=u.tag),c&&(c.node=d),d}function KT(e,t,n){let i=n;for(let r=t.length-1;r>=0;--r){const s=t[r];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){const a=[];a[s]=i,i=a}else i=new Map([[s,i]])}return A1(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const Dy=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;class Aue extends o6{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(i=>Gr(i)||Wr(i)?i.clone(t):i),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(Dy(t))this.add(n);else{const[i,...r]=t,s=this.get(i,!0);if(Hr(s))s.addIn(r,n);else if(s===void 0&&this.schema)this.set(i,KT(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}deleteIn(t){const[n,...i]=t;if(i.length===0)return this.delete(n);const r=this.get(n,!0);if(Hr(r))return r.deleteIn(i);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}getIn(t,n){const[i,...r]=t,s=this.get(i,!0);return r.length===0?!n&&Ji(s)?s.value:s:Hr(s)?s.getIn(r,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!Wr(n))return!1;const i=n.value;return i==null||t&&Ji(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(t){const[n,...i]=t;if(i.length===0)return this.has(n);const r=this.get(n,!0);return Hr(r)?r.hasIn(i):!1}setIn(t,n){const[i,...r]=t;if(r.length===0)this.set(i,n);else{const s=this.get(i,!0);if(Hr(s))s.setIn(r,n);else if(s===void 0&&this.schema)this.set(i,KT(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}}const sKe=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function dd(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const _p=(e,t,n)=>e.endsWith(` -`)?dd(n,t):n.includes(` +`)})]}):null]})}const g6=Symbol.for("yaml.alias"),qM=Symbol.for("yaml.document"),dh=Symbol.for("yaml.map"),Bue=Symbol.for("yaml.pair"),_u=Symbol.for("yaml.scalar"),fO=Symbol.for("yaml.seq"),Fl=Symbol.for("yaml.node.type"),hO=e=>!!e&&typeof e=="object"&&e[Fl]===g6,Zv=e=>!!e&&typeof e=="object"&&e[Fl]===qM,Kv=e=>!!e&&typeof e=="object"&&e[Fl]===dh,is=e=>!!e&&typeof e=="object"&&e[Fl]===Bue,ar=e=>!!e&&typeof e=="object"&&e[Fl]===_u,Jv=e=>!!e&&typeof e=="object"&&e[Fl]===fO;function es(e){if(e&&typeof e=="object")switch(e[Fl]){case dh:case fO:return!0}return!1}function ns(e){if(e&&typeof e=="object")switch(e[Fl]){case g6:case dh:case _u:case fO:return!0}return!1}const Fue=e=>(ar(e)||es(e))&&!!e.anchor,wp=Symbol("break visit"),hKe=Symbol("skip children"),Ax=Symbol("remove node");function pO(e,t){const n=pKe(t);Zv(e)?l0(null,e.contents,n,Object.freeze([e]))===Ax&&(e.contents=null):l0(null,e,n,Object.freeze([]))}pO.BREAK=wp;pO.SKIP=hKe;pO.REMOVE=Ax;function l0(e,t,n,i){const r=mKe(e,t,n,i);if(ns(r)||is(r))return gKe(e,i,r),l0(e,r,n,i);if(typeof r!="symbol"){if(es(t)){i=Object.freeze(i.concat(t));for(let s=0;se.replace(/[!,[\]{}]/g,t=>bKe[t]);class Da{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Da.defaultYaml,t),this.tags=Object.assign({},Da.defaultTags,n)}clone(){const t=new Da(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Da(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Da.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Da.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Da.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Da.defaultTags),this.atNextDocument=!1);const i=t.trim().split(/[ \t]+/),r=i.shift();switch(r){case"%TAG":{if(i.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),i.length<2))return!1;const[s,a]=i;return this.tags[s]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,i.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[s]=i;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{const a=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,a),!1}}default:return n(0,`Unknown directive ${r}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const a=t.slice(2,-1);return a==="!"||a==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),a)}const[,i,r]=t.match(/^(.*!)([^!]*)$/s);r||n(`The ${t} tag has no suffix`);const s=this.tags[i];if(s)try{return s+decodeURIComponent(r)}catch(a){return n(String(a)),null}return i==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,i]of Object.entries(this.tags))if(t.startsWith(i))return n+OKe(t.substring(i.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags);let r;if(t&&i.length>0&&ns(t.contents)){const s={};pO(t.contents,(a,o)=>{ns(o)&&o.tag&&(s[o.tag]=!0)}),r=Object.keys(s)}else r=[];for(const[s,a]of i)s==="!!"&&a==="tag:yaml.org,2002:"||(!t||r.some(o=>o.startsWith(a)))&&n.push(`%TAG ${s} ${a}`);return n.join(` +`)}}Da.defaultYaml={explicit:!1,version:"1.2"};Da.defaultTags={"!!":"tag:yaml.org,2002:"};function Uue(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 zue(e){const t=new Set;return pO(e,{Value(n,i){i.anchor&&t.add(i.anchor)}}),t}function Vue(e,t){for(let n=1;;++n){const i=`${e}${n}`;if(!t.has(i))return i}}function yKe(e,t){const n=[],i=new Map;let r=null;return{onAnchor:s=>{n.push(s),r??(r=zue(e));const a=Vue(t,r);return r.add(a),a},setAnchors:()=>{for(const s of n){const a=i.get(s);if(typeof a=="object"&&a.anchor&&(ar(a.node)||es(a.node)))a.node.anchor=a.anchor;else{const o=new Error("Failed to resolve repeated object (this should not happen)");throw o.source=s,o}}},sourceObjects:i}}function c0(e,t,n,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let r=0,s=i.length;r$l(i,String(r),n));if(e&&typeof e.toJSON=="function"){if(!n||!Fue(e))return e.toJSON(t,n);const i={aliasCount:0,count:1,res:void 0};n.anchors.set(e,i),n.onCreate=s=>{i.res=s,delete n.onCreate};const r=e.toJSON(t,n);return n.onCreate&&n.onCreate(r),r}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class b6{constructor(t){Object.defineProperty(this,Fl,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:s}={}){if(!Zv(t))throw new TypeError("A document argument is required");const a={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},o=$l(this,"",a);if(typeof r=="function")for(const{count:c,res:u}of a.anchors.values())r(u,c);return typeof s=="function"?c0(s,{"":o},"",o):o}}let O6=class extends b6{constructor(t){super(g6),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){if((n==null?void 0:n.maxAliasCount)===0)throw new ReferenceError("Alias resolution is disabled");let i;n!=null&&n.aliasResolveCache?i=n.aliasResolveCache:(i=[],pO(t,{Node:(s,a)=>{(hO(a)||Fue(a))&&i.push(a)}}),n&&(n.aliasResolveCache=i));let r;for(const s of i){if(s===this)break;s.anchor===this.source&&(r=s)}return r}toJSON(t,n){if(!n)return{source:this.source};const{anchors:i,doc:r,maxAliasCount:s}=n,a=this.resolve(r,n);if(!a){const c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let o=i.get(a);if(o||($l(a,null,n),o=i.get(a)),(o==null?void 0:o.res)===void 0){const c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(s>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=pk(r,a,i)),o.count*o.aliasCount>s)){const c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return o.res}toString(t,n,i){const r=`*${this.source}`;if(t){if(Uue(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${r} `}return r}};function pk(e,t,n){if(hO(t)){const i=t.resolve(e),r=n&&i&&n.get(i);return r?r.count*r.aliasCount:0}else if(es(t)){let i=0;for(const r of t.items){const s=pk(e,r,n);s>i&&(i=s)}return i}else if(is(t)){const i=pk(e,t.key,n),r=pk(e,t.value,n);return Math.max(i,r)}return 1}const que=e=>!e||typeof e!="function"&&typeof e!="object";class yn extends b6{constructor(t){super(_u),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:$l(this.value,t,n)}toString(){return String(this.value)}}yn.BLOCK_FOLDED="BLOCK_FOLDED";yn.BLOCK_LITERAL="BLOCK_LITERAL";yn.PLAIN="PLAIN";yn.QUOTE_DOUBLE="QUOTE_DOUBLE";yn.QUOTE_SINGLE="QUOTE_SINGLE";const xKe="tag:yaml.org,2002:";function vKe(e,t,n){if(t){const i=n.filter(s=>s.tag===t),r=i.find(s=>!s.format)??i[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find(i=>{var r;return((r=i.identify)==null?void 0:r.call(i,e))&&!i.format})}function M1(e,t,n){var f,h,p;if(Zv(e)&&(e=e.contents),ns(e))return e;if(is(e)){const b=(h=(f=n.schema[dh]).createNode)==null?void 0:h.call(f,n.schema,null,n);return b.items.push(e),b}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:i,onAnchor:r,onTagObj:s,schema:a,sourceObjects:o}=n;let c;if(i&&e&&typeof e=="object"){if(c=o.get(e),c)return c.anchor??(c.anchor=r(e)),new O6(c.anchor);c={anchor:null,node:null},o.set(e,c)}t!=null&&t.startsWith("!!")&&(t=xKe+t.slice(2));let u=vKe(e,t,a.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const b=new yn(e);return c&&(c.node=b),b}u=e instanceof Map?a[dh]:Symbol.iterator in Object(e)?a[fO]:a[dh]}s&&(s(u),delete n.onTagObj);const d=u!=null&&u.createNode?u.createNode(n.schema,e,n):typeof((p=u==null?void 0:u.nodeClass)==null?void 0:p.from)=="function"?u.nodeClass.from(n.schema,e,n):new yn(e);return t?d.tag=t:u.default||(d.tag=u.tag),c&&(c.node=d),d}function r_(e,t,n){let i=n;for(let r=t.length-1;r>=0;--r){const s=t[r];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){const a=[];a[s]=i,i=a}else i=new Map([[s,i]])}return M1(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const Fy=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;class Xue extends b6{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(i=>ns(i)||is(i)?i.clone(t):i),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(Fy(t))this.add(n);else{const[i,...r]=t,s=this.get(i,!0);if(es(s))s.addIn(r,n);else if(s===void 0&&this.schema)this.set(i,r_(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}deleteIn(t){const[n,...i]=t;if(i.length===0)return this.delete(n);const r=this.get(n,!0);if(es(r))return r.deleteIn(i);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}getIn(t,n){const[i,...r]=t,s=this.get(i,!0);return r.length===0?!n&&ar(s)?s.value:s:es(s)?s.getIn(r,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!is(n))return!1;const i=n.value;return i==null||t&&ar(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(t){const[n,...i]=t;if(i.length===0)return this.has(n);const r=this.get(n,!0);return es(r)?r.hasIn(i):!1}setIn(t,n){const[i,...r]=t;if(r.length===0)this.set(i,n);else{const s=this.get(i,!0);if(es(s))s.setIn(r,n);else if(s===void 0&&this.schema)this.set(i,r_(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}}const wKe=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function bd(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const Mp=(e,t,n)=>e.endsWith(` +`)?bd(n,t):n.includes(` `)?` -`+dd(n,t):(e.endsWith(" ")?"":" ")+n,Cue="flow",LM="block",uk="quoted";function T2(e,t,n="flow",{indentAtStart:i,lineWidth:r=80,minContentWidth:s=20,onFold:a,onOverflow:o}={}){if(!r||r<0)return e;rr-Math.max(2,s)?u.push(0):f=r-i);let h,p,b=!1,g=-1,O=-1,y=-1;n===LM&&(g=nq(e,g,t.length),g!==-1&&(f=g+c));for(let x;x=e[g+=1];){if(n===uk&&x==="\\"){switch(O=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(x===` -`)n===LM&&(g=nq(e,g,t.length)),f=g+t.length+c,h=void 0;else{if(x===" "&&p&&p!==" "&&p!==` +`+bd(n,t):(e.endsWith(" ")?"":" ")+n,Hue="flow",XM="block",mk="quoted";function R2(e,t,n="flow",{indentAtStart:i,lineWidth:r=80,minContentWidth:s=20,onFold:a,onOverflow:o}={}){if(!r||r<0)return e;rr-Math.max(2,s)?u.push(0):f=r-i);let h,p,b=!1,g=-1,O=-1,y=-1;n===XM&&(g=dq(e,g,t.length),g!==-1&&(f=g+c));for(let x;x=e[g+=1];){if(n===mk&&x==="\\"){switch(O=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(x===` +`)n===XM&&(g=dq(e,g,t.length)),f=g+t.length+c,h=void 0;else{if(x===" "&&p&&p!==" "&&p!==` `&&p!==" "){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===uk){for(;p===" "||p===" ";)p=x,x=e[g+=1],b=!0;const w=g>y+1?g-2:O-1;if(d[w])return e;u.push(w),d[w]=!0,f=w+c,h=void 0}else b=!0}p=x}if(b&&o&&o(),u.length===0)return e;a&&a();let v=e.slice(0,u[0]);for(let x=0;x({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),A2=e=>/^(%|---|\.\.\.)/m.test(e);function aKe(e,t,n){if(!t||t<0)return!1;const i=t-n,r=e.length;if(r<=i)return!1;for(let s=0,a=0;si)return!0;if(a=s+1,r-a<=i)return!1}return!0}function vx(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:i}=t,r=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(A2(e)?" ":"");let a="",o=0;for(let c=0,u=n[c];u;u=n[++c])if(u===" "&&n[c+1]==="\\"&&n[c+2]==="n"&&(a+=n.slice(o,c)+"\\ ",c+=1,o=c,u="\\"),u==="\\")switch(n[c+1]){case"u":{a+=n.slice(o,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,o=c+1}break;case"n":if(i||n[c+2]==='"'||n.length=f)if(h)u.push(h),f=h+c,h=void 0;else if(n===mk){for(;p===" "||p===" ";)p=x,x=e[g+=1],b=!0;const w=g>y+1?g-2:O-1;if(d[w])return e;u.push(w),d[w]=!0,f=w+c,h=void 0}else b=!0}p=x}if(b&&o&&o(),u.length===0)return e;a&&a();let v=e.slice(0,u[0]);for(let x=0;x({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),D2=e=>/^(%|---|\.\.\.)/m.test(e);function SKe(e,t,n){if(!t||t<0)return!1;const i=t-n,r=e.length;if(r<=i)return!1;for(let s=0,a=0;si)return!0;if(a=s+1,r-a<=i)return!1}return!0}function Cx(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:i}=t,r=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(D2(e)?" ":"");let a="",o=0;for(let c=0,u=n[c];u;u=n[++c])if(u===" "&&n[c+1]==="\\"&&n[c+2]==="n"&&(a+=n.slice(o,c)+"\\ ",c+=1,o=c,u="\\"),u==="\\")switch(n[c+1]){case"u":{a+=n.slice(o,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,o=c+1}break;case"n":if(i||n[c+2]==='"'||n.length `;let f,h;for(h=n.length;h>0;--h){const E=n[h-1];if(E!==` `&&E!==" "&&E!==" ")break}let p=n.substring(h);const b=p.indexOf(` `);b===-1?f="-":n===p||b!==p.length-1?(f="+",s&&s()):f="",p&&(n=n.slice(0,-p.length),p[p.length-1]===` -`&&(p=p.slice(0,-1)),p=p.replace(QM,`$&${u}`));let g=!1,O,y=-1;for(O=0;O{S=!0});const T=T2(`${v}${E}${p}`,u,LM,k);if(!S)return`>${w} +$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`);let S=!1;const k=I2(i,!0);a!=="folded"&&t!==yn.BLOCK_FOLDED&&(k.onOverflow=()=>{S=!0});const T=R2(`${v}${E}${p}`,u,XM,k);if(!S)return`>${w} ${u}${T}`}return n=n.replace(/\n+/g,`$&${u}`),`|${w} -${u}${v}${n}${p}`}function oKe(e,t,n,i){const{type:r,value:s}=e,{actualString:a,implicitKey:o,indent:c,indentStep:u,inFlow:d}=t;if(o&&s.includes(` -`)||d&&/[[\]{},]/.test(s))return n0(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return o||d||!s.includes(` -`)?n0(s,t):dk(e,t,n,i);if(!o&&!d&&r!==un.PLAIN&&s.includes(` -`))return dk(e,t,n,i);if(A2(s)){if(c==="")return t.forceBlockIndent=!0,dk(e,t,n,i);if(o&&c===u)return n0(s,t)}const f=s.replace(/\n+/g,`$& -${c}`);if(a){const h=g=>{var O;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((O=g.test)==null?void 0:O.test(f))},{compat:p,tags:b}=t.doc.schema;if(b.some(h)||p!=null&&p.some(h))return n0(s,t)}return o?f:T2(f,c,Cue,_2(t,!1))}function c6(e,t,n,i){const{implicitKey:r,inFlow:s}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:o}=e;o!==un.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(o=un.QUOTE_DOUBLE);const c=d=>{switch(d){case un.BLOCK_FOLDED:case un.BLOCK_LITERAL:return r||s?n0(a.value,t):dk(a,t,n,i);case un.QUOTE_DOUBLE:return vx(a.value,t);case un.QUOTE_SINGLE:return $M(a.value,t);case un.PLAIN:return oKe(a,t,n,i);default:return null}};let u=c(o);if(u===null){const{defaultKeyType:d,defaultStringType:f}=t.options,h=r&&d||f;if(u=c(h),u===null)throw new Error(`Unsupported default string type ${h}`)}return u}function Nue(e,t){const n=Object.assign({blockQuote:!0,commentString:sKe,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:i,options:n}}function lKe(e,t){var r;if(t.tag){const s=e.filter(a=>a.tag===t.tag);if(s.length>0)return s.find(a=>a.format===t.format)??s[0]}let n,i;if(Ji(t)){i=t.value;let s=e.filter(a=>{var o;return(o=a.identify)==null?void 0:o.call(a,i)});if(s.length>1){const a=s.filter(o=>o.test);a.length>0&&(s=a)}n=s.find(a=>a.format===t.format)??s.find(a=>!a.format)}else i=t,n=e.find(s=>s.nodeClass&&i instanceof s.nodeClass);if(!n){const s=((r=i==null?void 0:i.constructor)==null?void 0:r.name)??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${s} value`)}return n}function cKe(e,t,{anchors:n,doc:i}){if(!i.directives)return"";const r=[],s=(Ji(e)||Hr(e))&&e.anchor;s&&Eue(s)&&(n.add(s),r.push(`&${s}`));const a=e.tag??(t.default?null:t.tag);return a&&r.push(i.directives.tagString(a)),r.join(" ")}function pb(e,t,n,i){var c;if(Wr(e))return e.toString(t,n,i);if(sO(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 r;const s=Gr(e)?e:t.doc.createNode(e,{onTagObj:u=>r=u});r??(r=lKe(t.doc.schema.tags,s));const a=cKe(s,r,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const o=typeof r.stringify=="function"?r.stringify(s,t,n,i):Ji(s)?c6(s,t,n,i):s.toString(t,n,i);return a?Ji(s)||o[0]==="{"||o[0]==="["?`${a} ${o}`:`${a} -${t.indent}${o}`:o}function uKe({key:e,value:t},n,i,r){const{allNullValues:s,doc:a,indent:o,indentStep:c,options:{commentString:u,indentSeq:d,simpleKeys:f}}=n;let h=Gr(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(Hr(e)||!Gr(e)&&typeof e=="object"){const k="With simple keys, collection cannot be used as a key value";throw new Error(k)}}let p=!f&&(!e||h&&t==null&&!n.inFlow||Hr(e)||(Ji(e)?e.type===un.BLOCK_FOLDED||e.type===un.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(f||!s),indent:o+c});let b=!1,g=!1,O=pb(e,n,()=>b=!0,()=>g=!0);if(!p&&!n.inFlow&&O.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(n.inFlow){if(s||t==null)return b&&i&&i(),O===""?"?":p?`? ${O}`:O}else if(s&&!f||t==null&&p)return O=`? ${O}`,h&&!b?O+=_p(O,n.indent,u(h)):g&&r&&r(),O;b&&(h=null),p?(h&&(O+=_p(O,n.indent,u(h))),O=`? ${O} -${o}:`):(O=`${O}:`,h&&(O+=_p(O,n.indent,u(h))));let y,v,x;Gr(t)?(y=!!t.spaceBefore,v=t.commentBefore,x=t.comment):(y=!1,v=null,x=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!p&&!h&&Ji(t)&&(n.indentAtStart=O.length+1),g=!1,!d&&c.length>=2&&!n.inFlow&&!p&&qv(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let w=!1;const E=pb(t,n,()=>w=!0,()=>g=!0);let S=" ";if(h||y||v){if(S=y?` +${u}${v}${n}${p}`}function EKe(e,t,n,i){const{type:r,value:s}=e,{actualString:a,implicitKey:o,indent:c,indentStep:u,inFlow:d}=t;if(o&&s.includes(` +`)||d&&/[[\]{},]/.test(s))return u0(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return o||d||!s.includes(` +`)?u0(s,t):gk(e,t,n,i);if(!o&&!d&&r!==yn.PLAIN&&s.includes(` +`))return gk(e,t,n,i);if(D2(s)){if(c==="")return t.forceBlockIndent=!0,gk(e,t,n,i);if(o&&c===u)return u0(s,t)}const f=s.replace(/\n+/g,`$& +${c}`);if(a){const h=g=>{var O;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((O=g.test)==null?void 0:O.test(f))},{compat:p,tags:b}=t.doc.schema;if(b.some(h)||p!=null&&p.some(h))return u0(s,t)}return o?f:R2(f,c,Hue,I2(t,!1))}function y6(e,t,n,i){const{implicitKey:r,inFlow:s}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:o}=e;o!==yn.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(o=yn.QUOTE_DOUBLE);const c=d=>{switch(d){case yn.BLOCK_FOLDED:case yn.BLOCK_LITERAL:return r||s?u0(a.value,t):gk(a,t,n,i);case yn.QUOTE_DOUBLE:return Cx(a.value,t);case yn.QUOTE_SINGLE:return HM(a.value,t);case yn.PLAIN:return EKe(a,t,n,i);default:return null}};let u=c(o);if(u===null){const{defaultKeyType:d,defaultStringType:f}=t.options,h=r&&d||f;if(u=c(h),u===null)throw new Error(`Unsupported default string type ${h}`)}return u}function Gue(e,t){const n=Object.assign({blockQuote:!0,commentString:wKe,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:i,options:n}}function kKe(e,t){var r;if(t.tag){const s=e.filter(a=>a.tag===t.tag);if(s.length>0)return s.find(a=>a.format===t.format)??s[0]}let n,i;if(ar(t)){i=t.value;let s=e.filter(a=>{var o;return(o=a.identify)==null?void 0:o.call(a,i)});if(s.length>1){const a=s.filter(o=>o.test);a.length>0&&(s=a)}n=s.find(a=>a.format===t.format)??s.find(a=>!a.format)}else i=t,n=e.find(s=>s.nodeClass&&i instanceof s.nodeClass);if(!n){const s=((r=i==null?void 0:i.constructor)==null?void 0:r.name)??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${s} value`)}return n}function TKe(e,t,{anchors:n,doc:i}){if(!i.directives)return"";const r=[],s=(ar(e)||es(e))&&e.anchor;s&&Uue(s)&&(n.add(s),r.push(`&${s}`));const a=e.tag??(t.default?null:t.tag);return a&&r.push(i.directives.tagString(a)),r.join(" ")}function wb(e,t,n,i){var c;if(is(e))return e.toString(t,n,i);if(hO(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 r;const s=ns(e)?e:t.doc.createNode(e,{onTagObj:u=>r=u});r??(r=kKe(t.doc.schema.tags,s));const a=TKe(s,r,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const o=typeof r.stringify=="function"?r.stringify(s,t,n,i):ar(s)?y6(s,t,n,i):s.toString(t,n,i);return a?ar(s)||o[0]==="{"||o[0]==="["?`${a} ${o}`:`${a} +${t.indent}${o}`:o}function _Ke({key:e,value:t},n,i,r){const{allNullValues:s,doc:a,indent:o,indentStep:c,options:{commentString:u,indentSeq:d,simpleKeys:f}}=n;let h=ns(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(es(e)||!ns(e)&&typeof e=="object"){const k="With simple keys, collection cannot be used as a key value";throw new Error(k)}}let p=!f&&(!e||h&&t==null&&!n.inFlow||es(e)||(ar(e)?e.type===yn.BLOCK_FOLDED||e.type===yn.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(f||!s),indent:o+c});let b=!1,g=!1,O=wb(e,n,()=>b=!0,()=>g=!0);if(!p&&!n.inFlow&&O.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(n.inFlow){if(s||t==null)return b&&i&&i(),O===""?"?":p?`? ${O}`:O}else if(s&&!f||t==null&&p)return O=`? ${O}`,h&&!b?O+=Mp(O,n.indent,u(h)):g&&r&&r(),O;b&&(h=null),p?(h&&(O+=Mp(O,n.indent,u(h))),O=`? ${O} +${o}:`):(O=`${O}:`,h&&(O+=Mp(O,n.indent,u(h))));let y,v,x;ns(t)?(y=!!t.spaceBefore,v=t.commentBefore,x=t.comment):(y=!1,v=null,x=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!p&&!h&&ar(t)&&(n.indentAtStart=O.length+1),g=!1,!d&&c.length>=2&&!n.inFlow&&!p&&Jv(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let w=!1;const E=wb(t,n,()=>w=!0,()=>g=!0);let S=" ";if(h||y||v){if(S=y?` `:"",v){const k=u(v);S+=` -${dd(k,n.indent)}`}E===""&&!n.inFlow?S===` +${bd(k,n.indent)}`}E===""&&!n.inFlow?S===` `&&x&&(S=` `):S+=` -${n.indent}`}else if(!p&&Hr(t)){const k=E[0],T=E.indexOf(` -`),C=T!==-1,A=n.inFlow??t.flow??t.items.length===0;if(C||!A){let R=!1;if(C&&(k==="&"||k==="!")){let P=E.indexOf(" ");k==="&"&&P!==-1&&Pe===LS||typeof e=="symbol"&&e.description===LS,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new un(Symbol(LS)),{addToJSMap:Rue}),stringify:()=>LS},dKe=(e,t)=>(wd.identify(t)||Ji(t)&&(!t.type||t.type===un.PLAIN)&&wd.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===wd.tag&&n.default));function Rue(e,t,n){const i=Due(e,n);if(qv(i))for(const r of i.items)Kj(e,t,r);else if(Array.isArray(i))for(const r of i)Kj(e,t,r);else Kj(e,t,i)}function Kj(e,t,n){const i=Due(e,n);if(!Vv(i))throw new Error("Merge sources must be maps or map aliases");const r=i.toJSON(null,e,Map);for(const[s,a]of r)t instanceof Map?t.has(s)||t.set(s,a):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function Due(e,t){return e&&sO(t)?t.resolve(e.doc,e):t}function Iue(e,t,{key:n,value:i}){if(Gr(n)&&n.addToJSMap)n.addToJSMap(e,t,i);else if(dKe(e,n))Rue(e,t,i);else{const r=Al(n,"",e);if(t instanceof Map)t.set(r,Al(i,r,e));else if(t instanceof Set)t.add(r);else{const s=fKe(n,r,e),a=Al(i,s,e);s in t?Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[s]=a}}return t}function fKe(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Gr(e)&&(n!=null&&n.doc)){const i=Nue(n.doc,{});i.anchors=new Set;for(const s of n.anchors.keys())i.anchors.add(s.anchor);i.inFlow=!0,i.inStringifyKey=!0;const r=e.toString(i);if(!n.mapKeyWarned){let s=JSON.stringify(r);s.length>40&&(s=s.substring(0,36)+'..."'),jue(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function u6(e,t,n){const i=A1(e,void 0,n),r=A1(t,void 0,n);return new Ia(i,r)}class Ia{constructor(t,n=null){Object.defineProperty(this,jl,{value:wue}),this.key=t,this.value=n}clone(t){let{key:n,value:i}=this;return Gr(n)&&(n=n.clone(t)),Gr(i)&&(i=i.clone(t)),new Ia(n,i)}toJSON(t,n){const i=n!=null&&n.mapAsMap?new Map:{};return Iue(n,i,this)}toString(t,n,i){return t!=null&&t.doc?uKe(this,t,n,i):JSON.stringify(this)}}function Pue(e,t,n){return(t.inFlow??e.flow?pKe:hKe)(e,t,n)}function hKe({comment:e,items:t},n,{blockItemPrefix:i,flowChars:r,itemIndent:s,onChompKeep:a,onComment:o}){const{indent:c,options:{commentString:u}}=n,d=Object.assign({},n,{indent:s,type:null});let f=!1;const h=[];for(let b=0;bO=null,()=>f=!0);O&&(y+=_p(y,s,u(O))),f&&O&&(f=!1),h.push(i+y)}let p;if(h.length===0)p=r.start+r.end;else{p=h[0];for(let b=1;be===FS||typeof e=="symbol"&&e.description===FS,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new yn(Symbol(FS)),{addToJSMap:Wue}),stringify:()=>FS},AKe=(e,t)=>(Ad.identify(t)||ar(t)&&(!t.type||t.type===yn.PLAIN)&&Ad.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===Ad.tag&&n.default));function Wue(e,t,n){const i=Zue(e,n);if(Jv(i))for(const r of i.items)oR(e,t,r);else if(Array.isArray(i))for(const r of i)oR(e,t,r);else oR(e,t,i)}function oR(e,t,n){const i=Zue(e,n);if(!Kv(i))throw new Error("Merge sources must be maps or map aliases");const r=i.toJSON(null,e,Map);for(const[s,a]of r)t instanceof Map?t.has(s)||t.set(s,a):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function Zue(e,t){return e&&hO(t)?t.resolve(e.doc,e):t}function Kue(e,t,{key:n,value:i}){if(ns(n)&&n.addToJSMap)n.addToJSMap(e,t,i);else if(AKe(e,n))Wue(e,t,i);else{const r=$l(n,"",e);if(t instanceof Map)t.set(r,$l(i,r,e));else if(t instanceof Set)t.add(r);else{const s=CKe(n,r,e),a=$l(i,s,e);s in t?Object.defineProperty(t,s,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[s]=a}}return t}function CKe(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(ns(e)&&(n!=null&&n.doc)){const i=Gue(n.doc,{});i.anchors=new Set;for(const s of n.anchors.keys())i.anchors.add(s.anchor);i.inFlow=!0,i.inStringifyKey=!0;const r=e.toString(i);if(!n.mapKeyWarned){let s=JSON.stringify(r);s.length>40&&(s=s.substring(0,36)+'..."'),Yue(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function x6(e,t,n){const i=M1(e,void 0,n),r=M1(t,void 0,n);return new Fa(i,r)}class Fa{constructor(t,n=null){Object.defineProperty(this,Fl,{value:Bue}),this.key=t,this.value=n}clone(t){let{key:n,value:i}=this;return ns(n)&&(n=n.clone(t)),ns(i)&&(i=i.clone(t)),new Fa(n,i)}toJSON(t,n){const i=n!=null&&n.mapAsMap?new Map:{};return Kue(n,i,this)}toString(t,n,i){return t!=null&&t.doc?_Ke(this,t,n,i):JSON.stringify(this)}}function Jue(e,t,n){return(t.inFlow??e.flow?jKe:NKe)(e,t,n)}function NKe({comment:e,items:t},n,{blockItemPrefix:i,flowChars:r,itemIndent:s,onChompKeep:a,onComment:o}){const{indent:c,options:{commentString:u}}=n,d=Object.assign({},n,{indent:s,type:null});let f=!1;const h=[];for(let b=0;bO=null,()=>f=!0);O&&(y+=Mp(y,s,u(O))),f&&O&&(f=!1),h.push(i+y)}let p;if(h.length===0)p=r.start+r.end;else{p=h[0];for(let b=1;bO=null);u||(u=f.length>d||y.includes(` -`)),b0&&(u||(u=f.reduce((v,x)=>v+x.length+2,2)+(y.length+2)>t.options.lineWidth)),u&&(y+=",")),O&&(y+=_p(y,i,o(O))),f.push(y),d=f.length}const{start:h,end:p}=n;if(f.length===0)return h+p;if(!u){const b=f.reduce((g,O)=>g+O.length+2,2);u=t.options.lineWidth>0&&b>t.options.lineWidth}if(u){let b=h;for(const g of f)b+=g?` +`+bd(u(e),c),o&&o()):f&&a&&a(),p}function jKe({items:e},t,{flowChars:n,itemIndent:i}){const{indent:r,indentStep:s,flowCollectionPadding:a,options:{commentString:o}}=t;i+=s;const c=Object.assign({},t,{indent:i,inFlow:!0,type:null});let u=!1,d=0;const f=[];for(let b=0;bO=null);u||(u=f.length>d||y.includes(` +`)),b0&&(u||(u=f.reduce((v,x)=>v+x.length+2,2)+(y.length+2)>t.options.lineWidth)),u&&(y+=",")),O&&(y+=Mp(y,i,o(O))),f.push(y),d=f.length}const{start:h,end:p}=n;if(f.length===0)return h+p;if(!u){const b=f.reduce((g,O)=>g+O.length+2,2);u=t.options.lineWidth>0&&b>t.options.lineWidth}if(u){let b=h;for(const g of f)b+=g?` ${s}${r}${g}`:` `;return`${b} -${r}${p}`}else return`${h}${a}${f.join(" ")}${a}${p}`}function JT({indent:e,options:{commentString:t}},n,i,r){if(i&&r&&(i=i.replace(/^\n+/,"")),i){const s=dd(t(i),e);n.push(s.trimStart())}}function Ap(e,t){const n=Ji(t)?t.value:t;for(const i of e)if(Wr(i)&&(i.key===t||i.key===n||Ji(i.key)&&i.key.value===n))return i}class Ol extends Aue{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(ah,t),this.items=[]}static from(t,n,i){const{keepUndefined:r,replacer:s}=i,a=new this(t),o=(c,u)=>{if(typeof s=="function")u=s.call(n,c,u);else if(Array.isArray(s)&&!s.includes(c))return;(u!==void 0||r)&&a.items.push(u6(c,u,i))};if(n instanceof Map)for(const[c,u]of n)o(c,u);else if(n&&typeof n=="object")for(const c of Object.keys(n))o(c,n[c]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){var a;let i;Wr(t)?i=t:!t||typeof t!="object"||!("key"in t)?i=new Ia(t,t==null?void 0:t.value):i=new Ia(t.key,t.value);const r=Ap(this.items,i.key),s=(a=this.schema)==null?void 0:a.sortMapEntries;if(r){if(!n)throw new Error(`Key ${i.key} already set`);Ji(r.value)&&_ue(i.value)?r.value.value=i.value:r.value=i.value}else if(s){const o=this.items.findIndex(c=>s(i,c)<0);o===-1?this.items.push(i):this.items.splice(o,0,i)}else this.items.push(i)}delete(t){const n=Ap(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const i=Ap(this.items,t),r=i==null?void 0:i.value;return(!n&&Ji(r)?r.value:r)??void 0}has(t){return!!Ap(this.items,t)}set(t,n){this.add(new Ia(t,n),!0)}toJSON(t,n,i){const r=i?new i:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(r);for(const s of this.items)Iue(n,r,s);return r}toString(t,n,i){if(!t)return JSON.stringify(this);for(const r of this.items)if(!Wr(r))throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),Pue(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:i,onComment:n})}}const oO={collection:"map",default:!0,nodeClass:Ol,tag:"tag:yaml.org,2002:map",resolve(e,t){return Vv(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>Ol.from(e,t,n)};class dm extends Aue{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(rO,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=$S(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const i=$S(t);if(typeof i!="number")return;const r=this.items[i];return!n&&Ji(r)?r.value:r}has(t){const n=$S(t);return typeof n=="number"&&n=0?t:null}const lO={collection:"seq",default:!0,nodeClass:dm,tag:"tag:yaml.org,2002:seq",resolve(e,t){return qv(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>dm.from(e,t,n)},C2={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,i){return t=Object.assign({actualString:!0},t),c6(e,t,n,i)}},N2={identify:e=>e==null,createNode:()=>new un(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new un(null),stringify:({source:e},t)=>typeof e=="string"&&N2.test.test(e)?e:t.options.nullStr},d6={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new un(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&d6.test.test(e)){const i=e[0]==="t"||e[0]==="T";if(t===i)return e}return t?n.options.trueStr:n.options.falseStr}};function Sc({format:e,minFractionDigits:t,tag:n,value:i}){if(typeof i=="bigint")return String(i);const r=typeof i=="number"?i:Number(i);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=Object.is(i,-0)?"-0":JSON.stringify(i);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(s)&&!s.includes("e")){let a=s.indexOf(".");a<0&&(a=s.length,s+=".");let o=t-(s.length-a-1);for(;o-- >0;)s+="0"}return s}const Mue={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:Sc},Lue={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():Sc(e)}},$ue={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 un(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:Sc},j2=e=>typeof e=="bigint"||Number.isInteger(e),f6=(e,t,n,{intAsBigInt:i})=>i?BigInt(e):parseInt(e.substring(t),n);function Que(e,t,n){const{value:i}=e;return j2(i)&&i>=0?n+i.toString(t):Sc(e)}const Bue={identify:e=>j2(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>f6(e,2,8,n),stringify:e=>Que(e,8,"0o")},Fue={identify:j2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>f6(e,0,10,n),stringify:Sc},Uue={identify:e=>j2(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>f6(e,2,16,n),stringify:e=>Que(e,16,"0x")},mKe=[oO,lO,C2,N2,d6,Bue,Fue,Uue,Mue,Lue,$ue];function iq(e){return typeof e=="bigint"||Number.isInteger(e)}const QS=({value:e})=>JSON.stringify(e),gKe=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:QS},{identify:e=>e==null,createNode:()=>new un(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:QS},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:QS},{identify:iq,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})=>iq(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:QS}],bKe={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},OKe=[oO,lO].concat(gKe,bKe),h6={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof atob=="function"){const n=atob(e.replace(/[\n\r]/g,"")),i=new Uint8Array(n.length);for(let r=0;r1&&t("Each pair must have its own sequence indicator");const r=i.items[0]||new Ia(new un(null));if(i.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${i.commentBefore} +${r}${p}`}else return`${h}${a}${f.join(" ")}${a}${p}`}function s_({indent:e,options:{commentString:t}},n,i,r){if(i&&r&&(i=i.replace(/^\n+/,"")),i){const s=bd(t(i),e);n.push(s.trimStart())}}function Lp(e,t){const n=ar(t)?t.value:t;for(const i of e)if(is(i)&&(i.key===t||i.key===n||ar(i.key)&&i.key.value===n))return i}class Al extends Xue{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(dh,t),this.items=[]}static from(t,n,i){const{keepUndefined:r,replacer:s}=i,a=new this(t),o=(c,u)=>{if(typeof s=="function")u=s.call(n,c,u);else if(Array.isArray(s)&&!s.includes(c))return;(u!==void 0||r)&&a.items.push(x6(c,u,i))};if(n instanceof Map)for(const[c,u]of n)o(c,u);else if(n&&typeof n=="object")for(const c of Object.keys(n))o(c,n[c]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){var a;let i;is(t)?i=t:!t||typeof t!="object"||!("key"in t)?i=new Fa(t,t==null?void 0:t.value):i=new Fa(t.key,t.value);const r=Lp(this.items,i.key),s=(a=this.schema)==null?void 0:a.sortMapEntries;if(r){if(!n)throw new Error(`Key ${i.key} already set`);ar(r.value)&&que(i.value)?r.value.value=i.value:r.value=i.value}else if(s){const o=this.items.findIndex(c=>s(i,c)<0);o===-1?this.items.push(i):this.items.splice(o,0,i)}else this.items.push(i)}delete(t){const n=Lp(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const i=Lp(this.items,t),r=i==null?void 0:i.value;return(!n&&ar(r)?r.value:r)??void 0}has(t){return!!Lp(this.items,t)}set(t,n){this.add(new Fa(t,n),!0)}toJSON(t,n,i){const r=i?new i:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(r);for(const s of this.items)Kue(n,r,s);return r}toString(t,n,i){if(!t)return JSON.stringify(this);for(const r of this.items)if(!is(r))throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),Jue(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:i,onComment:n})}}const mO={collection:"map",default:!0,nodeClass:Al,tag:"tag:yaml.org,2002:map",resolve(e,t){return Kv(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>Al.from(e,t,n)};class xm extends Xue{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(fO,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=US(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const i=US(t);if(typeof i!="number")return;const r=this.items[i];return!n&&ar(r)?r.value:r}has(t){const n=US(t);return typeof n=="number"&&n=0?t:null}const gO={collection:"seq",default:!0,nodeClass:xm,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Jv(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>xm.from(e,t,n)},P2={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,i){return t=Object.assign({actualString:!0},t),y6(e,t,n,i)}},M2={identify:e=>e==null,createNode:()=>new yn(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new yn(null),stringify:({source:e},t)=>typeof e=="string"&&M2.test.test(e)?e:t.options.nullStr},v6={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new yn(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&v6.test.test(e)){const i=e[0]==="t"||e[0]==="T";if(t===i)return e}return t?n.options.trueStr:n.options.falseStr}};function Ic({format:e,minFractionDigits:t,tag:n,value:i}){if(typeof i=="bigint")return String(i);const r=typeof i=="number"?i:Number(i);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=Object.is(i,-0)?"-0":JSON.stringify(i);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(s)&&!s.includes("e")){let a=s.indexOf(".");a<0&&(a=s.length,s+=".");let o=t-(s.length-a-1);for(;o-- >0;)s+="0"}return s}const ede={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:Ic},tde={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():Ic(e)}},nde={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 yn(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:Ic},L2=e=>typeof e=="bigint"||Number.isInteger(e),w6=(e,t,n,{intAsBigInt:i})=>i?BigInt(e):parseInt(e.substring(t),n);function ide(e,t,n){const{value:i}=e;return L2(i)&&i>=0?n+i.toString(t):Ic(e)}const rde={identify:e=>L2(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>w6(e,2,8,n),stringify:e=>ide(e,8,"0o")},sde={identify:L2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>w6(e,0,10,n),stringify:Ic},ade={identify:e=>L2(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>w6(e,2,16,n),stringify:e=>ide(e,16,"0x")},RKe=[mO,gO,P2,M2,v6,rde,sde,ade,ede,tde,nde];function fq(e){return typeof e=="bigint"||Number.isInteger(e)}const zS=({value:e})=>JSON.stringify(e),IKe=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:zS},{identify:e=>e==null,createNode:()=>new yn(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:zS},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:zS},{identify:fq,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})=>fq(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:zS}],DKe={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},PKe=[mO,gO].concat(IKe,DKe),S6={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof atob=="function"){const n=atob(e.replace(/[\n\r]/g,"")),i=new Uint8Array(n.length);for(let r=0;r1&&t("Each pair must have its own sequence indicator");const r=i.items[0]||new Fa(new yn(null));if(i.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${i.commentBefore} ${r.key.commentBefore}`:i.commentBefore),i.comment){const s=r.value??r.key;s.comment=s.comment?`${i.comment} -${s.comment}`:i.comment}i=r}e.items[n]=Wr(i)?i:new Ia(i)}}else t("Expected a sequence for this tag");return e}function Vue(e,t,n){const{replacer:i}=n,r=new dm(e);r.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof i=="function"&&(a=i.call(t,String(s++),a));let o,c;if(Array.isArray(a))if(a.length===2)o=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)o=u[0],c=a[o];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else o=a;r.items.push(u6(o,c,n))}return r}const p6={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:zue,createNode:Vue};class S0 extends dm{constructor(){super(),this.add=Ol.prototype.add.bind(this),this.delete=Ol.prototype.delete.bind(this),this.get=Ol.prototype.get.bind(this),this.has=Ol.prototype.has.bind(this),this.set=Ol.prototype.set.bind(this),this.tag=S0.tag}toJSON(t,n){if(!n)return super.toJSON(t);const i=new Map;n!=null&&n.onCreate&&n.onCreate(i);for(const r of this.items){let s,a;if(Wr(r)?(s=Al(r.key,"",n),a=Al(r.value,s,n)):s=Al(r,"",n),i.has(s))throw new Error("Ordered maps must not include duplicate keys");i.set(s,a)}return i}static from(t,n,i){const r=Vue(t,n,i),s=new this;return s.items=r.items,s}}S0.tag="tag:yaml.org,2002:omap";const m6={collection:"seq",identify:e=>e instanceof Map,nodeClass:S0,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=zue(e,t),i=[];for(const{key:r}of n.items)Ji(r)&&(i.includes(r.value)?t(`Ordered maps must not include duplicate keys: ${r.value}`):i.push(r.value));return Object.assign(new S0,n)},createNode:(e,t,n)=>S0.from(e,t,n)};function que({value:e,source:t},n){return t&&(e?Xue:Hue).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const Xue={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 un(!0),stringify:que},Hue={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 un(!1),stringify:que},yKe={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:Sc},xKe={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():Sc(e)}},vKe={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 un(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const i=e.substring(n+1).replace(/_/g,"");i[i.length-1]==="0"&&(t.minFractionDigits=i.length)}return t},stringify:Sc},Xv=e=>typeof e=="bigint"||Number.isInteger(e);function R2(e,t,n,{intAsBigInt:i}){const r=e[0];if((r==="-"||r==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),i){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}const a=BigInt(e);return r==="-"?BigInt(-1)*a:a}const s=parseInt(e,n);return r==="-"?-1*s:s}function g6(e,t,n){const{value:i}=e;if(Xv(i)){const r=i.toString(t);return i<0?"-"+n+r.substr(1):n+r}return Sc(e)}const wKe={identify:Xv,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>R2(e,2,2,n),stringify:e=>g6(e,2,"0b")},SKe={identify:Xv,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>R2(e,1,8,n),stringify:e=>g6(e,8,"0")},EKe={identify:Xv,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>R2(e,0,10,n),stringify:Sc},kKe={identify:Xv,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>R2(e,2,16,n),stringify:e=>g6(e,16,"0x")};class E0 extends Ol{constructor(t){super(t),this.tag=E0.tag}add(t){let n;Wr(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new Ia(t.key,null):n=new Ia(t,null),Ap(this.items,n.key)||this.items.push(n)}get(t,n){const i=Ap(this.items,t);return!n&&Wr(i)?Ji(i.key)?i.key.value:i.key:i}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const i=Ap(this.items,t);i&&!n?this.items.splice(this.items.indexOf(i),1):!i&&n&&this.items.push(new Ia(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,i){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,i);throw new Error("Set items must all have null values")}static from(t,n,i){const{replacer:r}=i,s=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof r=="function"&&(a=r.call(n,a,a)),s.items.push(u6(a,null,i));return s}}E0.tag="tag:yaml.org,2002:set";const b6={collection:"map",identify:e=>e instanceof Set,nodeClass:E0,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>E0.from(e,t,n),resolve(e,t){if(Vv(e)){if(e.hasAllNullValues(!0))return Object.assign(new E0,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function O6(e,t){const n=e[0],i=n==="-"||n==="+"?e.substring(1):e,r=a=>t?BigInt(a):Number(a),s=i.replace(/_/g,"").split(":").reduce((a,o)=>a*r(60)+r(o),r(0));return n==="-"?r(-1)*s:s}function Yue(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return Sc(e);let i="";t<0&&(i="-",t*=n(-1));const r=n(60),s=[t%r];return t<60?s.unshift(0):(t=(t-s[0])/r,s.unshift(t%r),t>=60&&(t=(t-s[0])/r,s.unshift(t))),i+s.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const Gue={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})=>O6(e,n),stringify:Yue},Wue={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=>O6(e,!1),stringify:Yue},D2={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(D2.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,i,r,s,a,o]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0;let u=Date.UTC(n,i-1,r,s||0,a||0,o||0,c);const d=t[8];if(d&&d!=="Z"){let f=O6(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$/,""))??""},rq=[oO,lO,C2,N2,Xue,Hue,wKe,SKe,EKe,kKe,yKe,xKe,vKe,h6,wd,m6,p6,b6,Gue,Wue,D2],sq=new Map([["core",mKe],["failsafe",[oO,lO,C2]],["json",OKe],["yaml11",rq],["yaml-1.1",rq]]),aq={binary:h6,bool:d6,float:$ue,floatExp:Lue,floatNaN:Mue,floatTime:Wue,int:Fue,intHex:Uue,intOct:Bue,intTime:Gue,map:oO,merge:wd,null:N2,omap:m6,pairs:p6,seq:lO,set:b6,timestamp:D2},TKe={"tag:yaml.org,2002:binary":h6,"tag:yaml.org,2002:merge":wd,"tag:yaml.org,2002:omap":m6,"tag:yaml.org,2002:pairs":p6,"tag:yaml.org,2002:set":b6,"tag:yaml.org,2002:timestamp":D2};function Jj(e,t,n){const i=sq.get(t);if(i&&!e)return n&&!i.includes(wd)?i.concat(wd):i.slice();let r=i;if(!r)if(Array.isArray(e))r=[];else{const s=Array.from(sq.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(const s of e)r=r.concat(s);else typeof e=="function"&&(r=e(r.slice()));return n&&(r=r.concat(wd)),r.reduce((s,a)=>{const o=typeof a=="string"?aq[a]:a;if(!o){const c=JSON.stringify(a),u=Object.keys(aq).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${u}`)}return s.includes(o)||s.push(o),s},[])}const _Ke=(e,t)=>e.keyt.key?1:0;let AKe=class Zue{constructor({compat:t,customTags:n,merge:i,resolveKnownTags:r,schema:s,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(t)?Jj(t,"compat"):t?Jj(null,t):null,this.name=typeof s=="string"&&s||"core",this.knownTags=r?TKe:{},this.tags=Jj(n,this.name,i),this.toStringOptions=o??null,Object.defineProperty(this,ah,{value:oO}),Object.defineProperty(this,gu,{value:C2}),Object.defineProperty(this,rO,{value:lO}),this.sortMapEntries=typeof a=="function"?a:a===!0?_Ke:null}clone(){const t=Object.create(Zue.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function CKe(e,t){var c;const n=[];let i=t.directives===!0;if(t.directives!==!1&&e.directives){const u=e.directives.toString(e);u?(n.push(u),i=!0):e.directives.docStart&&(i=!0)}i&&n.push("---");const r=Nue(e,t),{commentString:s}=r.options;if(e.commentBefore){n.length!==1&&n.unshift("");const u=s(e.commentBefore);n.unshift(dd(u,""))}let a=!1,o=null;if(e.contents){if(Gr(e.contents)){if(e.contents.spaceBefore&&i&&n.push(""),e.contents.commentBefore){const f=s(e.contents.commentBefore);n.push(dd(f,""))}r.forceBlockIndent=!!e.comment,o=e.contents.comment}const u=o?void 0:()=>a=!0;let d=pb(e.contents,r,()=>o=null,u);o&&(d+=_p(d,"",s(o))),(d[0]==="|"||d[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(pb(e.contents,r));if((c=e.directives)!=null&&c.docEnd)if(e.comment){const u=s(e.comment);u.includes(` -`)?(n.push("..."),n.push(dd(u,""))):n.push(`... ${u}`)}else n.push("...");else{let u=e.comment;u&&a&&(u=u.replace(/^\n+/,"")),u&&((!a||o)&&n[n.length-1]!==""&&n.push(""),n.push(dd(s(u),"")))}return n.join(` +${s.comment}`:i.comment}i=r}e.items[n]=is(i)?i:new Fa(i)}}else t("Expected a sequence for this tag");return e}function lde(e,t,n){const{replacer:i}=n,r=new xm(e);r.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof i=="function"&&(a=i.call(t,String(s++),a));let o,c;if(Array.isArray(a))if(a.length===2)o=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)o=u[0],c=a[o];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else o=a;r.items.push(x6(o,c,n))}return r}const E6={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:ode,createNode:lde};class j0 extends xm{constructor(){super(),this.add=Al.prototype.add.bind(this),this.delete=Al.prototype.delete.bind(this),this.get=Al.prototype.get.bind(this),this.has=Al.prototype.has.bind(this),this.set=Al.prototype.set.bind(this),this.tag=j0.tag}toJSON(t,n){if(!n)return super.toJSON(t);const i=new Map;n!=null&&n.onCreate&&n.onCreate(i);for(const r of this.items){let s,a;if(is(r)?(s=$l(r.key,"",n),a=$l(r.value,s,n)):s=$l(r,"",n),i.has(s))throw new Error("Ordered maps must not include duplicate keys");i.set(s,a)}return i}static from(t,n,i){const r=lde(t,n,i),s=new this;return s.items=r.items,s}}j0.tag="tag:yaml.org,2002:omap";const k6={collection:"seq",identify:e=>e instanceof Map,nodeClass:j0,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=ode(e,t),i=[];for(const{key:r}of n.items)ar(r)&&(i.includes(r.value)?t(`Ordered maps must not include duplicate keys: ${r.value}`):i.push(r.value));return Object.assign(new j0,n)},createNode:(e,t,n)=>j0.from(e,t,n)};function cde({value:e,source:t},n){return t&&(e?ude:dde).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const ude={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 yn(!0),stringify:cde},dde={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 yn(!1),stringify:cde},MKe={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:Ic},LKe={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():Ic(e)}},$Ke={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 yn(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const i=e.substring(n+1).replace(/_/g,"");i[i.length-1]==="0"&&(t.minFractionDigits=i.length)}return t},stringify:Ic},ew=e=>typeof e=="bigint"||Number.isInteger(e);function $2(e,t,n,{intAsBigInt:i}){const r=e[0];if((r==="-"||r==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),i){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}const a=BigInt(e);return r==="-"?BigInt(-1)*a:a}const s=parseInt(e,n);return r==="-"?-1*s:s}function T6(e,t,n){const{value:i}=e;if(ew(i)){const r=i.toString(t);return i<0?"-"+n+r.substr(1):n+r}return Ic(e)}const QKe={identify:ew,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>$2(e,2,2,n),stringify:e=>T6(e,2,"0b")},BKe={identify:ew,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>$2(e,1,8,n),stringify:e=>T6(e,8,"0")},FKe={identify:ew,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>$2(e,0,10,n),stringify:Ic},UKe={identify:ew,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>$2(e,2,16,n),stringify:e=>T6(e,16,"0x")};class R0 extends Al{constructor(t){super(t),this.tag=R0.tag}add(t){let n;is(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new Fa(t.key,null):n=new Fa(t,null),Lp(this.items,n.key)||this.items.push(n)}get(t,n){const i=Lp(this.items,t);return!n&&is(i)?ar(i.key)?i.key.value:i.key:i}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const i=Lp(this.items,t);i&&!n?this.items.splice(this.items.indexOf(i),1):!i&&n&&this.items.push(new Fa(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,i){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,i);throw new Error("Set items must all have null values")}static from(t,n,i){const{replacer:r}=i,s=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof r=="function"&&(a=r.call(n,a,a)),s.items.push(x6(a,null,i));return s}}R0.tag="tag:yaml.org,2002:set";const _6={collection:"map",identify:e=>e instanceof Set,nodeClass:R0,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>R0.from(e,t,n),resolve(e,t){if(Kv(e)){if(e.hasAllNullValues(!0))return Object.assign(new R0,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function A6(e,t){const n=e[0],i=n==="-"||n==="+"?e.substring(1):e,r=a=>t?BigInt(a):Number(a),s=i.replace(/_/g,"").split(":").reduce((a,o)=>a*r(60)+r(o),r(0));return n==="-"?r(-1)*s:s}function fde(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return Ic(e);let i="";t<0&&(i="-",t*=n(-1));const r=n(60),s=[t%r];return t<60?s.unshift(0):(t=(t-s[0])/r,s.unshift(t%r),t>=60&&(t=(t-s[0])/r,s.unshift(t))),i+s.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const hde={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})=>A6(e,n),stringify:fde},pde={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=>A6(e,!1),stringify:fde},Q2={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(Q2.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,i,r,s,a,o]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0;let u=Date.UTC(n,i-1,r,s||0,a||0,o||0,c);const d=t[8];if(d&&d!=="Z"){let f=A6(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$/,""))??""},hq=[mO,gO,P2,M2,ude,dde,QKe,BKe,FKe,UKe,MKe,LKe,$Ke,S6,Ad,k6,E6,_6,hde,pde,Q2],pq=new Map([["core",RKe],["failsafe",[mO,gO,P2]],["json",PKe],["yaml11",hq],["yaml-1.1",hq]]),mq={binary:S6,bool:v6,float:nde,floatExp:tde,floatNaN:ede,floatTime:pde,int:sde,intHex:ade,intOct:rde,intTime:hde,map:mO,merge:Ad,null:M2,omap:k6,pairs:E6,seq:gO,set:_6,timestamp:Q2},zKe={"tag:yaml.org,2002:binary":S6,"tag:yaml.org,2002:merge":Ad,"tag:yaml.org,2002:omap":k6,"tag:yaml.org,2002:pairs":E6,"tag:yaml.org,2002:set":_6,"tag:yaml.org,2002:timestamp":Q2};function lR(e,t,n){const i=pq.get(t);if(i&&!e)return n&&!i.includes(Ad)?i.concat(Ad):i.slice();let r=i;if(!r)if(Array.isArray(e))r=[];else{const s=Array.from(pq.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(const s of e)r=r.concat(s);else typeof e=="function"&&(r=e(r.slice()));return n&&(r=r.concat(Ad)),r.reduce((s,a)=>{const o=typeof a=="string"?mq[a]:a;if(!o){const c=JSON.stringify(a),u=Object.keys(mq).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${u}`)}return s.includes(o)||s.push(o),s},[])}const VKe=(e,t)=>e.keyt.key?1:0;let qKe=class mde{constructor({compat:t,customTags:n,merge:i,resolveKnownTags:r,schema:s,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(t)?lR(t,"compat"):t?lR(null,t):null,this.name=typeof s=="string"&&s||"core",this.knownTags=r?zKe:{},this.tags=lR(n,this.name,i),this.toStringOptions=o??null,Object.defineProperty(this,dh,{value:mO}),Object.defineProperty(this,_u,{value:P2}),Object.defineProperty(this,fO,{value:gO}),this.sortMapEntries=typeof a=="function"?a:a===!0?VKe:null}clone(){const t=Object.create(mde.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function XKe(e,t){var c;const n=[];let i=t.directives===!0;if(t.directives!==!1&&e.directives){const u=e.directives.toString(e);u?(n.push(u),i=!0):e.directives.docStart&&(i=!0)}i&&n.push("---");const r=Gue(e,t),{commentString:s}=r.options;if(e.commentBefore){n.length!==1&&n.unshift("");const u=s(e.commentBefore);n.unshift(bd(u,""))}let a=!1,o=null;if(e.contents){if(ns(e.contents)){if(e.contents.spaceBefore&&i&&n.push(""),e.contents.commentBefore){const f=s(e.contents.commentBefore);n.push(bd(f,""))}r.forceBlockIndent=!!e.comment,o=e.contents.comment}const u=o?void 0:()=>a=!0;let d=wb(e.contents,r,()=>o=null,u);o&&(d+=Mp(d,"",s(o))),(d[0]==="|"||d[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(wb(e.contents,r));if((c=e.directives)!=null&&c.docEnd)if(e.comment){const u=s(e.comment);u.includes(` +`)?(n.push("..."),n.push(bd(u,""))):n.push(`... ${u}`)}else n.push("...");else{let u=e.comment;u&&a&&(u=u.replace(/^\n+/,"")),u&&((!a||o)&&n[n.length-1]!==""&&n.push(""),n.push(bd(s(u),"")))}return n.join(` `)+` -`}class Hv{constructor(t,n,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,jl,{value:MM});let r=null;typeof n=="function"||Array.isArray(n)?r=n:i===void 0&&n&&(i=n,n=void 0);const s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=s;let{version:a}=s;i!=null&&i._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new _a({version:a}),this.setSchema(a,i),this.contents=t===void 0?null:this.createNode(t,r,i)}clone(){const t=Object.create(Hv.prototype,{[jl]:{value:MM}});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=Gr(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){cg(this.contents)&&this.contents.add(t)}addIn(t,n){cg(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const i=kue(this);t.anchor=!n||i.has(n)?Tue(n||"a",i):n}return new l6(t.anchor)}createNode(t,n,i){let r;if(typeof n=="function")t=n.call({"":t},"",t),r=n;else if(Array.isArray(n)){const O=v=>typeof v=="number"||v instanceof String||v instanceof Number,y=n.filter(O).map(String);y.length>0&&(n=n.concat(y)),r=n}else i===void 0&&n&&(i=n,n=void 0);const{aliasDuplicateObjects:s,anchorPrefix:a,flow:o,keepUndefined:c,onTagObj:u,tag:d}=i??{},{onAnchor:f,setAnchors:h,sourceObjects:p}=nKe(this,a||"a"),b={aliasDuplicateObjects:s??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:u,replacer:r,schema:this.schema,sourceObjects:p},g=A1(t,d,b);return o&&Hr(g)&&(g.flow=!0),h(),g}createPair(t,n,i={}){const r=this.createNode(t,null,i),s=this.createNode(n,null,i);return new Ia(r,s)}delete(t){return cg(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Dy(t)?this.contents==null?!1:(this.contents=null,!0):cg(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return Hr(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return Dy(t)?!n&&Ji(this.contents)?this.contents.value:this.contents:Hr(this.contents)?this.contents.getIn(t,n):void 0}has(t){return Hr(this.contents)?this.contents.has(t):!1}hasIn(t){return Dy(t)?this.contents!==void 0:Hr(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=KT(this.schema,[t],n):cg(this.contents)&&this.contents.set(t,n)}setIn(t,n){Dy(t)?this.contents=n:this.contents==null?this.contents=KT(this.schema,Array.from(t),n):cg(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let i;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new _a({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new _a({version:t}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{const r=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${r}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(i)this.schema=new AKe(Object.assign(i,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:i,maxAliasCount:r,onAnchor:s,reviver:a}={}){const o={anchors:new Map,doc:this,keep:!t,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},c=Al(this.contents,n??"",o);if(typeof s=="function")for(const{count:u,res:d}of o.anchors.values())s(d,u);return typeof a=="function"?t0(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 CKe(this,t)}}function cg(e){if(Hr(e))return!0;throw new Error("Expected a YAML collection as document contents")}class Kue extends Error{constructor(t,n,i,r){super(),this.name=t,this.code=i,this.message=r,this.pos=n}}class Iy extends Kue{constructor(t,n,i){super("YAMLParseError",t,n,i)}}class NKe extends Kue{constructor(t,n,i){super("YAMLWarning",t,n,i)}}const oq=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(o=>t.linePos(o));const{line:i,col:r}=n.linePos[0];n.message+=` at line ${i}, column ${r}`;let s=r-1,a=e.substring(t.lineStarts[i-1],t.lineStarts[i]).replace(/[\n\r]+$/,"");if(s>=60&&a.length>80){const o=Math.min(s-39,a.length-79);a="…"+a.substring(o),s-=o-1}if(a.length>80&&(a=a.substring(0,79)+"…"),i>1&&/^ *$/.test(a.substring(0,s))){let o=e.substring(t.lineStarts[i-2],t.lineStarts[i-1]);o.length>80&&(o=o.substring(0,79)+`… +`}class tw{constructor(t,n,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Fl,{value:qM});let r=null;typeof n=="function"||Array.isArray(n)?r=n:i===void 0&&n&&(i=n,n=void 0);const s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=s;let{version:a}=s;i!=null&&i._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new Da({version:a}),this.setSchema(a,i),this.contents=t===void 0?null:this.createNode(t,r,i)}clone(){const t=Object.create(tw.prototype,{[Fl]:{value:qM}});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=ns(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){gg(this.contents)&&this.contents.add(t)}addIn(t,n){gg(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const i=zue(this);t.anchor=!n||i.has(n)?Vue(n||"a",i):n}return new O6(t.anchor)}createNode(t,n,i){let r;if(typeof n=="function")t=n.call({"":t},"",t),r=n;else if(Array.isArray(n)){const O=v=>typeof v=="number"||v instanceof String||v instanceof Number,y=n.filter(O).map(String);y.length>0&&(n=n.concat(y)),r=n}else i===void 0&&n&&(i=n,n=void 0);const{aliasDuplicateObjects:s,anchorPrefix:a,flow:o,keepUndefined:c,onTagObj:u,tag:d}=i??{},{onAnchor:f,setAnchors:h,sourceObjects:p}=yKe(this,a||"a"),b={aliasDuplicateObjects:s??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:u,replacer:r,schema:this.schema,sourceObjects:p},g=M1(t,d,b);return o&&es(g)&&(g.flow=!0),h(),g}createPair(t,n,i={}){const r=this.createNode(t,null,i),s=this.createNode(n,null,i);return new Fa(r,s)}delete(t){return gg(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Fy(t)?this.contents==null?!1:(this.contents=null,!0):gg(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return es(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return Fy(t)?!n&&ar(this.contents)?this.contents.value:this.contents:es(this.contents)?this.contents.getIn(t,n):void 0}has(t){return es(this.contents)?this.contents.has(t):!1}hasIn(t){return Fy(t)?this.contents!==void 0:es(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=r_(this.schema,[t],n):gg(this.contents)&&this.contents.set(t,n)}setIn(t,n){Fy(t)?this.contents=n:this.contents==null?this.contents=r_(this.schema,Array.from(t),n):gg(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let i;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Da({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Da({version:t}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{const r=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${r}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(i)this.schema=new qKe(Object.assign(i,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:i,maxAliasCount:r,onAnchor:s,reviver:a}={}){const o={anchors:new Map,doc:this,keep:!t,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},c=$l(this.contents,n??"",o);if(typeof s=="function")for(const{count:u,res:d}of o.anchors.values())s(d,u);return typeof a=="function"?c0(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 XKe(this,t)}}function gg(e){if(es(e))return!0;throw new Error("Expected a YAML collection as document contents")}class gde extends Error{constructor(t,n,i,r){super(),this.name=t,this.code=i,this.message=r,this.pos=n}}class Uy extends gde{constructor(t,n,i){super("YAMLParseError",t,n,i)}}class HKe extends gde{constructor(t,n,i){super("YAMLWarning",t,n,i)}}const gq=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(o=>t.linePos(o));const{line:i,col:r}=n.linePos[0];n.message+=` at line ${i}, column ${r}`;let s=r-1,a=e.substring(t.lineStarts[i-1],t.lineStarts[i]).replace(/[\n\r]+$/,"");if(s>=60&&a.length>80){const o=Math.min(s-39,a.length-79);a="…"+a.substring(o),s-=o-1}if(a.length>80&&(a=a.substring(0,79)+"…"),i>1&&/^ *$/.test(a.substring(0,s))){let o=e.substring(t.lineStarts[i-2],t.lineStarts[i-1]);o.length>80&&(o=o.substring(0,79)+`… `),a=o+a}if(/[^ ]/.test(a)){let o=1;const c=n.linePos[1];(c==null?void 0:c.line)===i&&c.col>r&&(o=Math.max(1,Math.min(c.col-r,80-s)));const u=" ".repeat(s)+"^".repeat(o);n.message+=`: ${a} ${u} -`}};function mb(e,{flow:t,indicator:n,next:i,offset:r,onError:s,parentIndent:a,startOnNewline:o}){let c=!1,u=o,d=o,f="",h="",p=!1,b=!1,g=null,O=null,y=null,v=null,x=null,w=null,E=null;for(const T of e)switch(b&&(T.type!=="space"&&T.type!=="newline"&&T.type!=="comma"&&s(T.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),b=!1),g&&(u&&T.type!=="comment"&&T.type!=="newline"&&s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),T.type){case"space":!t&&(n!=="doc-start"||(i==null?void 0:i.type)!=="flow-collection")&&T.source.includes(" ")&&(g=T),d=!0;break;case"comment":{d||s(T,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const C=T.source.substring(1)||" ";f?f+=h+C:f=C,h="",u=!1;break}case"newline":u?f?f+=T.source:(!w||n!=="seq-item-ind")&&(c=!0):h+=T.source,u=!0,p=!0,(O||y)&&(v=T),d=!0;break;case"anchor":O&&s(T,"MULTIPLE_ANCHORS","A node can have at most one anchor"),T.source.endsWith(":")&&s(T.offset+T.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),O=T,E??(E=T.offset),u=!1,d=!1,b=!0;break;case"tag":{y&&s(T,"MULTIPLE_TAGS","A node can have at most one tag"),y=T,E??(E=T.offset),u=!1,d=!1,b=!0;break}case n:(O||y)&&s(T,"BAD_PROP_ORDER",`Anchors and tags must be after the ${T.source} indicator`),w&&s(T,"UNEXPECTED_TOKEN",`Unexpected ${T.source} in ${t??"collection"}`),w=T,u=n==="seq-item-ind"||n==="explicit-key-ind",d=!1;break;case"comma":if(t){x&&s(T,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),x=T,u=!1,d=!1;break}default:s(T,"UNEXPECTED_TOKEN",`Unexpected ${T.type} token`),u=!1,d=!1}const S=e[e.length-1],k=S?S.offset+S.source.length:r;return b&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&s(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||(i==null?void 0:i.type)==="block-map"||(i==null?void 0:i.type)==="block-seq")&&s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:x,found:w,spaceBefore:c,comment:f,hasNewline:p,anchor:O,tag:y,newlineAfterProp:v,end:k,start:E??k}}function C1(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(C1(t.key)||C1(t.value))return!0}return!1;default:return!0}}function BM(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const i=t.end[0];i.indent===e&&(i.source==="]"||i.source==="}")&&C1(t)&&n(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function Jue(e,t,n){const{uniqueKeys:i}=e.options;if(i===!1)return!1;const r=typeof i=="function"?i:(s,a)=>s===a||Ji(s)&&Ji(a)&&s.value===a.value;return t.some(s=>r(s.key,n))}const lq="All mapping items must start at the same column";function jKe({composeNode:e,composeEmptyNode:t},n,i,r,s){var d;const a=(s==null?void 0:s.nodeClass)??Ol,o=new a(n.schema);n.atRoot&&(n.atRoot=!1);let c=i.offset,u=null;for(const f of i.items){const{start:h,key:p,sep:b,value:g}=f,O=mb(h,{indicator:"explicit-key-ind",next:p??(b==null?void 0:b[0]),offset:c,onError:r,parentIndent:i.indent,startOnNewline:!0}),y=!O.found;if(y){if(p&&(p.type==="block-seq"?r(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==i.indent&&r(c,"BAD_INDENT",lq)),!O.anchor&&!O.tag&&!b){u=O.end,O.comment&&(o.comment?o.comment+=` -`+O.comment:o.comment=O.comment);continue}(O.newlineAfterProp||C1(p))&&r(p??h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=O.found)==null?void 0:d.indent)!==i.indent&&r(c,"BAD_INDENT",lq);n.atKey=!0;const v=O.end,x=p?e(n,p,O,r):t(n,v,h,null,O,r);n.schema.compat&&BM(i.indent,p,r),n.atKey=!1,Jue(n,o.items,x)&&r(v,"DUPLICATE_KEY","Map keys must be unique");const w=mb(b??[],{indicator:"map-value-ind",next:g,offset:x.range[2],onError:r,parentIndent:i.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=w.end,w.found){y&&((g==null?void 0:g.type)==="block-map"&&!w.hasNewline&&r(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&O.starte&&(e.type==="block-map"||e.type==="block-seq");function DKe({composeNode:e,composeEmptyNode:t},n,i,r,s){var O;const a=i.start.source==="{",o=a?"flow map":"flow sequence",c=(s==null?void 0:s.nodeClass)??(a?Ol:dm),u=new c(n.schema);u.flow=!0;const d=n.atRoot;d&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=i.offset+i.start.source.length;for(let y=0;y0){const y=Yv(b,g,n.options.strict,r);y.comment&&(u.comment?u.comment+=` -`+y.comment:u.comment=y.comment),u.range=[i.offset,g,y.offset]}else u.range=[i.offset,g,g];return u}function nR(e,t,n,i,r,s){const a=n.type==="block-map"?jKe(e,t,n,i,s):n.type==="block-seq"?RKe(e,t,n,i,s):DKe(e,t,n,i,s),o=a.constructor;return r==="!"||r===o.tagName?(a.tag=o.tagName,a):(r&&(a.tag=r),a)}function IKe(e,t,n,i,r){var h;const s=i.tag,a=s?t.directives.tagName(s.source,p=>r(s,"TAG_RESOLVE_FAILED",p)):null;if(n.type==="block-seq"){const{anchor:p,newlineAfterProp:b}=i,g=p&&s?p.offset>s.offset?p:s:p??s;g&&(!b||b.offsetp.tag===a&&p.collection===o);if(!c){const p=t.schema.knownTags[a];if((p==null?void 0:p.collection)===o)t.schema.tags.push(Object.assign({},p,{default:!1})),c=p;else return p?r(s,"BAD_COLLECTION_TYPE",`${p.tag} used for ${o} collection, but expects ${p.collection??"scalar"}`,!0):r(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),nR(e,t,n,r,a)}const u=nR(e,t,n,r,a,c),d=((h=c.resolve)==null?void 0:h.call(c,u,p=>r(s,"TAG_RESOLVE_FAILED",p),t.options))??u,f=Gr(d)?d:new un(d);return f.range=u.range,f.tag=a,c!=null&&c.format&&(f.format=c.format),f}function PKe(e,t,n){const i=t.offset,r=MKe(t,e.options.strict,n);if(!r)return{value:"",type:null,comment:"",range:[i,i,i]};const s=r.mode===">"?un.BLOCK_FOLDED:un.BLOCK_LITERAL,a=t.source?LKe(t.source):[];let o=a.length;for(let g=a.length-1;g>=0;--g){const O=a[g][1];if(O===""||O==="\r")o=g;else break}if(o===0){const g=r.chomp==="+"&&a.length>0?` +`}};function Sb(e,{flow:t,indicator:n,next:i,offset:r,onError:s,parentIndent:a,startOnNewline:o}){let c=!1,u=o,d=o,f="",h="",p=!1,b=!1,g=null,O=null,y=null,v=null,x=null,w=null,E=null;for(const T of e)switch(b&&(T.type!=="space"&&T.type!=="newline"&&T.type!=="comma"&&s(T.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),b=!1),g&&(u&&T.type!=="comment"&&T.type!=="newline"&&s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),T.type){case"space":!t&&(n!=="doc-start"||(i==null?void 0:i.type)!=="flow-collection")&&T.source.includes(" ")&&(g=T),d=!0;break;case"comment":{d||s(T,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const C=T.source.substring(1)||" ";f?f+=h+C:f=C,h="",u=!1;break}case"newline":u?f?f+=T.source:(!w||n!=="seq-item-ind")&&(c=!0):h+=T.source,u=!0,p=!0,(O||y)&&(v=T),d=!0;break;case"anchor":O&&s(T,"MULTIPLE_ANCHORS","A node can have at most one anchor"),T.source.endsWith(":")&&s(T.offset+T.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),O=T,E??(E=T.offset),u=!1,d=!1,b=!0;break;case"tag":{y&&s(T,"MULTIPLE_TAGS","A node can have at most one tag"),y=T,E??(E=T.offset),u=!1,d=!1,b=!0;break}case n:(O||y)&&s(T,"BAD_PROP_ORDER",`Anchors and tags must be after the ${T.source} indicator`),w&&s(T,"UNEXPECTED_TOKEN",`Unexpected ${T.source} in ${t??"collection"}`),w=T,u=n==="seq-item-ind"||n==="explicit-key-ind",d=!1;break;case"comma":if(t){x&&s(T,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),x=T,u=!1,d=!1;break}default:s(T,"UNEXPECTED_TOKEN",`Unexpected ${T.type} token`),u=!1,d=!1}const S=e[e.length-1],k=S?S.offset+S.source.length:r;return b&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&s(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||(i==null?void 0:i.type)==="block-map"||(i==null?void 0:i.type)==="block-seq")&&s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:x,found:w,spaceBefore:c,comment:f,hasNewline:p,anchor:O,tag:y,newlineAfterProp:v,end:k,start:E??k}}function L1(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(L1(t.key)||L1(t.value))return!0}return!1;default:return!0}}function YM(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const i=t.end[0];i.indent===e&&(i.source==="]"||i.source==="}")&&L1(t)&&n(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function bde(e,t,n){const{uniqueKeys:i}=e.options;if(i===!1)return!1;const r=typeof i=="function"?i:(s,a)=>s===a||ar(s)&&ar(a)&&s.value===a.value;return t.some(s=>r(s.key,n))}const bq="All mapping items must start at the same column";function GKe({composeNode:e,composeEmptyNode:t},n,i,r,s){var d;const a=(s==null?void 0:s.nodeClass)??Al,o=new a(n.schema);n.atRoot&&(n.atRoot=!1);let c=i.offset,u=null;for(const f of i.items){const{start:h,key:p,sep:b,value:g}=f,O=Sb(h,{indicator:"explicit-key-ind",next:p??(b==null?void 0:b[0]),offset:c,onError:r,parentIndent:i.indent,startOnNewline:!0}),y=!O.found;if(y){if(p&&(p.type==="block-seq"?r(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==i.indent&&r(c,"BAD_INDENT",bq)),!O.anchor&&!O.tag&&!b){u=O.end,O.comment&&(o.comment?o.comment+=` +`+O.comment:o.comment=O.comment);continue}(O.newlineAfterProp||L1(p))&&r(p??h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=O.found)==null?void 0:d.indent)!==i.indent&&r(c,"BAD_INDENT",bq);n.atKey=!0;const v=O.end,x=p?e(n,p,O,r):t(n,v,h,null,O,r);n.schema.compat&&YM(i.indent,p,r),n.atKey=!1,bde(n,o.items,x)&&r(v,"DUPLICATE_KEY","Map keys must be unique");const w=Sb(b??[],{indicator:"map-value-ind",next:g,offset:x.range[2],onError:r,parentIndent:i.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=w.end,w.found){y&&((g==null?void 0:g.type)==="block-map"&&!w.hasNewline&&r(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&O.starte&&(e.type==="block-map"||e.type==="block-seq");function WKe({composeNode:e,composeEmptyNode:t},n,i,r,s){var O;const a=i.start.source==="{",o=a?"flow map":"flow sequence",c=(s==null?void 0:s.nodeClass)??(a?Al:xm),u=new c(n.schema);u.flow=!0;const d=n.atRoot;d&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=i.offset+i.start.source.length;for(let y=0;y0){const y=nw(b,g,n.options.strict,r);y.comment&&(u.comment?u.comment+=` +`+y.comment:u.comment=y.comment),u.range=[i.offset,g,y.offset]}else u.range=[i.offset,g,g];return u}function dR(e,t,n,i,r,s){const a=n.type==="block-map"?GKe(e,t,n,i,s):n.type==="block-seq"?YKe(e,t,n,i,s):WKe(e,t,n,i,s),o=a.constructor;return r==="!"||r===o.tagName?(a.tag=o.tagName,a):(r&&(a.tag=r),a)}function ZKe(e,t,n,i,r){var h;const s=i.tag,a=s?t.directives.tagName(s.source,p=>r(s,"TAG_RESOLVE_FAILED",p)):null;if(n.type==="block-seq"){const{anchor:p,newlineAfterProp:b}=i,g=p&&s?p.offset>s.offset?p:s:p??s;g&&(!b||b.offsetp.tag===a&&p.collection===o);if(!c){const p=t.schema.knownTags[a];if((p==null?void 0:p.collection)===o)t.schema.tags.push(Object.assign({},p,{default:!1})),c=p;else return p?r(s,"BAD_COLLECTION_TYPE",`${p.tag} used for ${o} collection, but expects ${p.collection??"scalar"}`,!0):r(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),dR(e,t,n,r,a)}const u=dR(e,t,n,r,a,c),d=((h=c.resolve)==null?void 0:h.call(c,u,p=>r(s,"TAG_RESOLVE_FAILED",p),t.options))??u,f=ns(d)?d:new yn(d);return f.range=u.range,f.tag=a,c!=null&&c.format&&(f.format=c.format),f}function KKe(e,t,n){const i=t.offset,r=JKe(t,e.options.strict,n);if(!r)return{value:"",type:null,comment:"",range:[i,i,i]};const s=r.mode===">"?yn.BLOCK_FOLDED:yn.BLOCK_LITERAL,a=t.source?eJe(t.source):[];let o=a.length;for(let g=a.length-1;g>=0;--g){const O=a[g][1];if(O===""||O==="\r")o=g;else break}if(o===0){const g=r.chomp==="+"&&a.length>0?` `.repeat(Math.max(1,a.length-1)):"";let O=i+r.length;return t.source&&(O+=t.source.length),{value:g,type:s,comment:r.comment,range:[i,O,O]}}let c=t.indent+r.indent,u=t.offset+r.length,d=0;for(let g=0;gc&&(c=O.length);else{O.length=o;--g)a[g][0].length>c&&(o=g+1);let f="",h="",p=!1;for(let g=0;gc||y[0]===" "?(h===" "?h=` `:!p&&h===` `&&(h=` @@ -638,107 +638,107 @@ ${u} `+a[g][0].slice(c);f[f.length-1]!==` `&&(f+=` `);break;default:f+=` -`}const b=i+r.length+t.source.length;return{value:f,type:s,comment:r.comment,range:[i,b,b]}}function MKe({offset:e,props:t},n,i){if(t[0].type!=="block-scalar-header")return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:r}=t[0],s=r[0];let a=0,o="",c=-1;for(let h=1;hn(i+h,p,b);switch(r){case"scalar":o=un.PLAIN,c=QKe(s,u);break;case"single-quoted-scalar":o=un.QUOTE_SINGLE,c=BKe(s,u);break;case"double-quoted-scalar":o=un.QUOTE_DOUBLE,c=FKe(s,u);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[i,i+s.length,i+s.length]}}const d=i+s.length,f=Yv(a,d,t,n);return{value:c,type:o,comment:f.comment,range:[i,d,f.offset]}}function QKe(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}`),ede(e)}function BKe(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),ede(e.slice(1,-1)).replace(/''/g,"'")}function ede(e){let t,n;try{t=new RegExp(`(.*?)(?n(i+h,p,b);switch(r){case"scalar":o=yn.PLAIN,c=nJe(s,u);break;case"single-quoted-scalar":o=yn.QUOTE_SINGLE,c=iJe(s,u);break;case"double-quoted-scalar":o=yn.QUOTE_DOUBLE,c=rJe(s,u);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[i,i+s.length,i+s.length]}}const d=i+s.length,f=nw(a,d,t,n);return{value:c,type:o,comment:f.comment,range:[i,d,f.offset]}}function nJe(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}`),Ode(e)}function iJe(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),Ode(e.slice(1,-1)).replace(/''/g,"'")}function Ode(e){let t,n;try{t=new RegExp(`(.*?)(?s?e.slice(s,i+1):r)}else n+=r}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function UKe(e,t){let n="",i=e[t+1];for(;(i===" "||i===" "||i===` +`)&&(n+=i>s?e.slice(s,i+1):r)}else n+=r}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function sJe(e,t){let n="",i=e[t+1];for(;(i===" "||i===" "||i===` `||i==="\r")&&!(i==="\r"&&e[t+2]!==` `);)i===` `&&(n+=` -`),t+=1,i=e[t+1];return n||(n=" "),{fold:n,offset:t}}const zKe={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` -`,r:"\r",t:" ",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function VKe(e,t,n,i){const r=e.substr(t,n),a=r.length===n&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;try{return String.fromCodePoint(a)}catch{const o=e.substr(t-2,n+2);return i(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${o}`),o}}function tde(e,t,n,i){const{value:r,type:s,comment:a,range:o}=t.type==="block-scalar"?PKe(e,t,i):$Ke(t,e.options.strict,i),c=n?e.directives.tagName(n.source,f=>i(n,"TAG_RESOLVE_FAILED",f)):null;let u;e.options.stringKeys&&e.atKey?u=e.schema[gu]:c?u=qKe(e.schema,r,c,n,i):t.type==="scalar"?u=XKe(e,r,t,i):u=e.schema[gu];let d;try{const f=u.resolve(r,h=>i(n??t,"TAG_RESOLVE_FAILED",h),e.options);d=Ji(f)?f:new un(f)}catch(f){const h=f instanceof Error?f.message:String(f);i(n??t,"TAG_RESOLVE_FAILED",h),d=new un(r)}return d.range=o,d.source=r,s&&(d.type=s),c&&(d.tag=c),u.format&&(d.format=u.format),a&&(d.comment=a),d}function qKe(e,t,n,i,r){var o;if(n==="!")return e[gu];const s=[];for(const c of e.tags)if(!c.collection&&c.tag===n)if(c.default&&c.test)s.push(c);else return c;for(const c of s)if((o=c.test)!=null&&o.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):(r(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[gu])}function XKe({atKey:e,directives:t,schema:n},i,r,s){const a=n.tags.find(o=>{var c;return(o.default===!0||e&&o.default==="key")&&((c=o.test)==null?void 0:c.test(i))})||n[gu];if(n.compat){const o=n.compat.find(c=>{var u;return c.default&&((u=c.test)==null?void 0:u.test(i))})??n[gu];if(a.tag!==o.tag){const c=t.tagString(a.tag),u=t.tagString(o.tag),d=`Value may be parsed as either ${c} or ${u}`;s(r,"TAG_RESOLVE_FAILED",d,!0)}}return a}function HKe(e,t,n){if(t){n??(n=t.length);for(let i=n-1;i>=0;--i){let r=t[i];switch(r.type){case"space":case"comment":case"newline":e-=r.source.length;continue}for(r=t[++i];(r==null?void 0:r.type)==="space";)e+=r.source.length,r=t[++i];break}}return e}const YKe={composeNode:nde,composeEmptyNode:y6};function nde(e,t,n,i){const r=e.atKey,{spaceBefore:s,comment:a,anchor:o,tag:c}=n;let u,d=!0;switch(t.type){case"alias":u=GKe(e,t,i),(o||c)&&i(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":u=tde(e,t,c,i),o&&(u.anchor=o.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=IKe(YKe,e,t,n,i),o&&(u.anchor=o.source.substring(1))}catch(f){const h=f instanceof Error?f.message:String(f);i(t,"RESOURCE_EXHAUSTION",h)}break;default:{const f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;i(t,"UNEXPECTED_TOKEN",f),d=!1}}return u??(u=y6(e,t.offset,void 0,null,n,i)),o&&u.anchor===""&&i(o,"BAD_ALIAS","Anchor cannot be an empty string"),r&&e.options.stringKeys&&(!Ji(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&i(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(u.spaceBefore=!0),a&&(t.type==="scalar"&&t.source===""?u.comment=a:u.commentBefore=a),e.options.keepSourceTokens&&d&&(u.srcToken=t),u}function y6(e,t,n,i,{spaceBefore:r,comment:s,anchor:a,tag:o,end:c},u){const d={type:"scalar",offset:HKe(t,n,i),indent:-1,source:""},f=tde(e,d,o,u);return a&&(f.anchor=a.source.substring(1),f.anchor===""&&u(a,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(f.spaceBefore=!0),s&&(f.comment=s,f.range[2]=c),f}function GKe({options:e},{offset:t,source:n,end:i},r){const s=new l6(n.substring(1));s.source===""&&r(t,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&r(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,o=Yv(i,a,e.strict,r);return s.range=[t,a,o.offset],o.comment&&(s.comment=o.comment),s}function WKe(e,t,{offset:n,start:i,value:r,end:s},a){const o=Object.assign({_directives:t},e),c=new Hv(void 0,o),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},d=mb(i,{indicator:"doc-start",next:r??(s==null?void 0:s[0]),offset:n,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(c.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=r?nde(u,r,d,a):y6(u,d.end,i,null,d,a);const f=c.contents.range[2],h=Yv(s,f,!1,a);return h.comment&&(c.comment=h.comment),c.range=[n,f,h.offset],c}function ey(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 cq(e){var r;let t="",n=!1,i=!1;for(let s=0;si(n,"TAG_RESOLVE_FAILED",f)):null;let u;e.options.stringKeys&&e.atKey?u=e.schema[_u]:c?u=lJe(e.schema,r,c,n,i):t.type==="scalar"?u=cJe(e,r,t,i):u=e.schema[_u];let d;try{const f=u.resolve(r,h=>i(n??t,"TAG_RESOLVE_FAILED",h),e.options);d=ar(f)?f:new yn(f)}catch(f){const h=f instanceof Error?f.message:String(f);i(n??t,"TAG_RESOLVE_FAILED",h),d=new yn(r)}return d.range=o,d.source=r,s&&(d.type=s),c&&(d.tag=c),u.format&&(d.format=u.format),a&&(d.comment=a),d}function lJe(e,t,n,i,r){var o;if(n==="!")return e[_u];const s=[];for(const c of e.tags)if(!c.collection&&c.tag===n)if(c.default&&c.test)s.push(c);else return c;for(const c of s)if((o=c.test)!=null&&o.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):(r(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[_u])}function cJe({atKey:e,directives:t,schema:n},i,r,s){const a=n.tags.find(o=>{var c;return(o.default===!0||e&&o.default==="key")&&((c=o.test)==null?void 0:c.test(i))})||n[_u];if(n.compat){const o=n.compat.find(c=>{var u;return c.default&&((u=c.test)==null?void 0:u.test(i))})??n[_u];if(a.tag!==o.tag){const c=t.tagString(a.tag),u=t.tagString(o.tag),d=`Value may be parsed as either ${c} or ${u}`;s(r,"TAG_RESOLVE_FAILED",d,!0)}}return a}function uJe(e,t,n){if(t){n??(n=t.length);for(let i=n-1;i>=0;--i){let r=t[i];switch(r.type){case"space":case"comment":case"newline":e-=r.source.length;continue}for(r=t[++i];(r==null?void 0:r.type)==="space";)e+=r.source.length,r=t[++i];break}}return e}const dJe={composeNode:xde,composeEmptyNode:C6};function xde(e,t,n,i){const r=e.atKey,{spaceBefore:s,comment:a,anchor:o,tag:c}=n;let u,d=!0;switch(t.type){case"alias":u=fJe(e,t,i),(o||c)&&i(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":u=yde(e,t,c,i),o&&(u.anchor=o.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=ZKe(dJe,e,t,n,i),o&&(u.anchor=o.source.substring(1))}catch(f){const h=f instanceof Error?f.message:String(f);i(t,"RESOURCE_EXHAUSTION",h)}break;default:{const f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;i(t,"UNEXPECTED_TOKEN",f),d=!1}}return u??(u=C6(e,t.offset,void 0,null,n,i)),o&&u.anchor===""&&i(o,"BAD_ALIAS","Anchor cannot be an empty string"),r&&e.options.stringKeys&&(!ar(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&i(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(u.spaceBefore=!0),a&&(t.type==="scalar"&&t.source===""?u.comment=a:u.commentBefore=a),e.options.keepSourceTokens&&d&&(u.srcToken=t),u}function C6(e,t,n,i,{spaceBefore:r,comment:s,anchor:a,tag:o,end:c},u){const d={type:"scalar",offset:uJe(t,n,i),indent:-1,source:""},f=yde(e,d,o,u);return a&&(f.anchor=a.source.substring(1),f.anchor===""&&u(a,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(f.spaceBefore=!0),s&&(f.comment=s,f.range[2]=c),f}function fJe({options:e},{offset:t,source:n,end:i},r){const s=new O6(n.substring(1));s.source===""&&r(t,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&r(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,o=nw(i,a,e.strict,r);return s.range=[t,a,o.offset],o.comment&&(s.comment=o.comment),s}function hJe(e,t,{offset:n,start:i,value:r,end:s},a){const o=Object.assign({_directives:t},e),c=new tw(void 0,o),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},d=Sb(i,{indicator:"doc-start",next:r??(s==null?void 0:s[0]),offset:n,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(c.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=r?xde(u,r,d,a):C6(u,d.end,i,null,d,a);const f=c.contents.range[2],h=nw(s,f,!1,a);return h.comment&&(c.comment=h.comment),c.range=[n,f,h.offset],c}function ly(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 Oq(e){var r;let t="",n=!1,i=!1;for(let s=0;s{const a=ey(n);s?this.warnings.push(new NKe(a,i,r)):this.errors.push(new Iy(a,i,r))},this.directives=new _a({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:i,afterEmptyLine:r}=cq(this.prelude);if(i){const s=t.contents;if(n)t.comment=t.comment?`${t.comment} -${i}`:i;else if(r||t.directives.docStart||!s)t.commentBefore=i;else if(Hr(s)&&!s.flow&&s.items.length>0){let a=s.items[0];Wr(a)&&(a=a.key);const o=a.commentBefore;a.commentBefore=o?`${i} +`)+(a.substring(1)||" "),n=!0,i=!1;break;case"%":((r=e[s+1])==null?void 0:r[0])!=="#"&&(s+=1),n=!1;break;default:n||(i=!0),n=!1}}return{comment:t,afterEmptyLine:i}}let pJe=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,i,r,s)=>{const a=ly(n);s?this.warnings.push(new HKe(a,i,r)):this.errors.push(new Uy(a,i,r))},this.directives=new Da({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:i,afterEmptyLine:r}=Oq(this.prelude);if(i){const s=t.contents;if(n)t.comment=t.comment?`${t.comment} +${i}`:i;else if(r||t.directives.docStart||!s)t.commentBefore=i;else if(es(s)&&!s.flow&&s.items.length>0){let a=s.items[0];is(a)&&(a=a.key);const o=a.commentBefore;a.commentBefore=o?`${i} ${o}`:i}else{const a=s.commentBefore;s.commentBefore=a?`${i} -${a}`:i}}if(n){for(let s=0;s{const s=ey(t);s[0]+=n,this.onError(s,"BAD_DIRECTIVE",i,r)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=WKe(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{const n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,i=new Iy(ey(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){const i="Unexpected doc-end without preceding document";this.errors.push(new Iy(ey(t),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;const n=Yv(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const i=this.doc.comment;this.doc.comment=i?`${i} -${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new Iy(ey(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const i=Object.assign({_directives:this.directives},this.options),r=new Hv(void 0,i);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,n,n],this.decorate(r,!1),yield r}}};const ide="\uFEFF",rde="",sde="",FM="";function KKe(e){switch(e){case ide:return"byte-order-mark";case rde:return"doc-mode";case sde:return"flow-error-end";case FM:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` +${a}`:i}}if(n){for(let s=0;s{const s=ly(t);s[0]+=n,this.onError(s,"BAD_DIRECTIVE",i,r)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=hJe(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{const n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,i=new Uy(ly(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){const i="Unexpected doc-end without preceding document";this.errors.push(new Uy(ly(t),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;const n=nw(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const i=this.doc.comment;this.doc.comment=i?`${i} +${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new Uy(ly(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const i=Object.assign({_directives:this.directives},this.options),r=new tw(void 0,i);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,n,n],this.decorate(r,!1),yield r}}};const vde="\uFEFF",wde="",Sde="",WM="";function mJe(e){switch(e){case vde:return"byte-order-mark";case wde:return"doc-mode";case Sde:return"flow-error-end";case WM: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 Hl(e){switch(e){case void 0:case" ":case` -`:case"\r":case" ":return!0;default:return!1}}const uq=new Set("0123456789ABCDEFabcdef"),JKe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),BS=new Set(",[]{}"),eJe=new Set(` ,[]{} -\r `),iR=e=>!e||eJe.has(e);class tJe{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!n;let i=this.next??"stream";for(;i&&(n||this.hasChars(1));)i=yield*this.parseNext(i)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===` +`: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 ic(e){switch(e){case void 0:case" ":case` +`:case"\r":case" ":return!0;default:return!1}}const yq=new Set("0123456789ABCDEFabcdef"),gJe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),VS=new Set(",[]{}"),bJe=new Set(` ,[]{} +\r `),fR=e=>!e||bJe.has(e);class OJe{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!n;let i=this.next??"stream";for(;i&&(n||this.hasChars(1));)i=yield*this.parseNext(i)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===` `?!0:n==="\r"?this.buffer[t+1]===` `:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let n=this.buffer[t];if(this.indentNext>0){let i=0;for(;n===" ";)n=this.buffer[++i+t];if(n==="\r"){const r=this.buffer[i+t+1];if(r===` `||!r&&!this.atEnd)return t+i+1}return n===` -`||i>=this.indentNext||!n&&!this.atEnd?t+i:-1}if(n==="-"||n==="."){const i=this.buffer.substr(t,3);if((i==="---"||i==="...")&&Hl(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&tthis.indentValue&&!Hl(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===":")&&Hl(n)){const i=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=i,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const t=this.getLine();if(t===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(t[n]){case"#":yield*this.pushCount(t.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(iR),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,n,i=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=i=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const r=this.getLine();if(r===null)return this.setNext("flow");if((i!==-1&&i=this.indentNext||!n&&!this.atEnd?t+i:-1}if(n==="-"||n==="."){const i=this.buffer.substr(t,3);if((i==="---"||i==="...")&&ic(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&tthis.indentValue&&!ic(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===":")&&ic(n)){const i=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=i,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const t=this.getLine();if(t===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(t[n]){case"#":yield*this.pushCount(t.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(fR),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,n,i=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=i=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const r=this.getLine();if(r===null)return this.setNext("flow");if((i!==-1&&i"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>Hl(n)||n==="#")}*parseBlockScalar(){let t=this.pos-1,n=0,i;e:for(let s=this.pos;i=this.buffer[s];++s)switch(i){case" ":n+=1;break;case` +`,s)}r!==-1&&(n=r-(i[r-1]==="\r"?2:1))}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pushToIndex(n+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){const n=this.buffer[++t];if(n==="+")this.blockScalarKeep=!0;else if(n>"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>ic(n)||n==="#")}*parseBlockScalar(){let t=this.pos-1,n=0,i;e:for(let s=this.pos;i=this.buffer[s];++s)switch(i){case" ":n+=1;break;case` `:t=s,n=0;break;case"\r":{const a=this.buffer[s+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if(a===` `)break}default:break e}if(!i&&!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 s=this.continueScalar(t+1);if(s===-1)break;t=this.buffer.indexOf(` `,s)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let r=t+1;for(i=this.buffer[r];i===" ";)i=this.buffer[++r];if(i===" "){for(;i===" "||i===" "||i==="\r"||i===` `;)i=this.buffer[++r];t=r-1}else if(!this.blockScalarKeep)do{let s=t-1,a=this.buffer[s];a==="\r"&&(a=this.buffer[--s]);const o=s;for(;a===" ";)a=this.buffer[--s];if(a===` -`&&s>=this.pos&&s+1+n>o)t=s;else break}while(!0);return yield FM,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,i=this.pos-1,r;for(;r=this.buffer[++i];)if(r===":"){const s=this.buffer[i+1];if(Hl(s)||t&&BS.has(s))break;n=i}else if(Hl(r)){let s=this.buffer[i+1];if(r==="\r"&&(s===` +`&&s>=this.pos&&s+1+n>o)t=s;else break}while(!0);return yield WM,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,i=this.pos-1,r;for(;r=this.buffer[++i];)if(r===":"){const s=this.buffer[i+1];if(ic(s)||t&&VS.has(s))break;n=i}else if(ic(r)){let s=this.buffer[i+1];if(r==="\r"&&(s===` `?(i+=1,r=` -`,s=this.buffer[i+1]):n=i),s==="#"||t&&BS.has(s))break;if(r===` -`){const a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(t&&BS.has(r))break;n=i}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield FM,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const i=this.buffer.slice(this.pos,t);return i?(yield i,this.pos+=i.length,i.length):(n&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(iR),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{const n=this.flowLevel>0,i=this.charAt(1);if(Hl(i)||n&&BS.has(i)){n?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!Hl(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(JKe.has(n))n=this.buffer[++t];else if(n==="%"&&uq.has(this.buffer[t+1])&&uq.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===` +`,s=this.buffer[i+1]):n=i),s==="#"||t&&VS.has(s))break;if(r===` +`){const a=this.continueScalar(i+1);if(a===-1)break;i=Math.max(i,a-2)}}else{if(t&&VS.has(r))break;n=i}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield WM,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const i=this.buffer.slice(this.pos,t);return i?(yield i,this.pos+=i.length,i.length):(n&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(fR),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{const n=this.flowLevel>0,i=this.charAt(1);if(ic(i)||n&&VS.has(i)){n?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!ic(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(gJe.has(n))n=this.buffer[++t];else if(n==="%"&&yq.has(this.buffer[t+1])&&yq.has(this.buffer[t+2]))n=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){const t=this.buffer[this.pos];return t===` `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===` -`?yield*this.pushCount(2):0}*pushSpaces(t){let n=this.pos-1,i;do i=this.buffer[++n];while(i===" "||t&&i===" ");const r=n-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=n),r}*pushUntil(t){let n=this.pos,i=this.buffer[n];for(;!t(i);)i=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class nJe{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,i=this.lineStarts.length;for(;n>1;this.lineStarts[s]=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((n=e[++t])==null?void 0:n.type)==="space";);return e.splice(t,e.length)}function e_(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const t=this.peek(1);if(this.type==="doc-end"&&(t==null?void 0:t.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){const n=t??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{const i=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in i?i.indent:0:n.type==="flow-collection"&&i.type==="document"&&(n.indent=0),n.type==="flow-collection"&&fq(n),i.type){case"document":i.value=n;break;case"block-scalar":i.props.push(n);break;case"block-map":{const r=i.items[i.items.length-1];if(r.value){i.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=n;else{Object.assign(r,{key:n,sep:[]}),this.onKeyLine=!r.explicitKey;return}break}case"block-seq":{const r=i.items[i.items.length-1];r.value?i.items.push({start:[],value:n}):r.value=n;break}case"flow-collection":{const r=i.items[i.items.length-1];!r||r.value?i.items.push({start:[],key:n,sep:[]}):r.sep?r.value=n:Object.assign(r,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const r=n.items[n.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&dq(r.start)===-1&&(n.indent===0||r.start.every(s=>s.type!=="comment"||s.indent0&&(yield this.buffer.substr(this.pos,r),this.pos=n),r}*pushUntil(t){let n=this.pos,i=this.buffer[n];for(;!t(i);)i=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class yJe{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,i=this.lineStarts.length;for(;n>1;this.lineStarts[s]=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((n=e[++t])==null?void 0:n.type)==="space";);return e.splice(t,e.length)}function a_(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const t=this.peek(1);if(this.type==="doc-end"&&(t==null?void 0:t.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){const n=t??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{const i=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in i?i.indent:0:n.type==="flow-collection"&&i.type==="document"&&(n.indent=0),n.type==="flow-collection"&&vq(n),i.type){case"document":i.value=n;break;case"block-scalar":i.props.push(n);break;case"block-map":{const r=i.items[i.items.length-1];if(r.value){i.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=n;else{Object.assign(r,{key:n,sep:[]}),this.onKeyLine=!r.explicitKey;return}break}case"block-seq":{const r=i.items[i.items.length-1];r.value?i.items.push({start:[],value:n}):r.value=n;break}case"flow-collection":{const r=i.items[i.items.length-1];!r||r.value?i.items.push({start:[],key:n,sep:[]}):r.sep?r.value=n:Object.assign(r,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const r=n.items[n.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&xq(r.start)===-1&&(n.indent===0||r.start.every(s=>s.type!=="comment"||s.indent=t.indent){const r=!this.onKeyLine&&this.indent===t.indent,s=r&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(s&&n.sep&&!n.value){const o=[];for(let c=0;ct.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(a=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||n.value?(a.push(this.sourceToken),t.items.push({start:a}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):s||n.value?(a.push(this.sourceToken),t.items.push({start:a,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(_f(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(ade(n.key)&&!_f(n.sep,"newline")){const o=ug(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:o,key:c,sep:u}]})}else a.length>0?n.sep=n.sep.concat(a,this.sourceToken):n.sep.push(this.sourceToken);else if(_f(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const o=ug(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||s?t.items.push({start:a,key:null,sep:[this.sourceToken]}):_f(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const o=this.flowScalar(this.type);s||n.value?(t.items.push({start:a,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{const o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!_f(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&t.items.push({start:a});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var i;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const r="end"in n.value?n.value.end:void 0,s=Array.isArray(r)?r[r.length-1]:void 0;(s==null?void 0:s.type)==="comment"?r==null||r.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){const r=t.items[t.items.length-2],s=(i=r==null?void 0:r.value)==null?void 0:i.end;if(Array.isArray(s)){e_(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||_f(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const r=this.startBlockValue(t);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let i;do yield*this.pop(),i=this.peek(1);while((i==null?void 0:i.type)==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const r=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:r,sep:[]}):n.sep?this.stack.push(r):Object.assign(n,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const i=this.startBlockValue(t);i?this.stack.push(i):(yield*this.pop(),yield*this.step())}else{const i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===t.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){const r=FS(i),s=ug(r);fq(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:s,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(` +`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){var i;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){const r="end"in n.value?n.value.end:void 0,s=Array.isArray(r)?r[r.length-1]:void 0;(s==null?void 0:s.type)==="comment"?r==null||r.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,t.indent)){const r=t.items[t.items.length-2],s=(i=r==null?void 0:r.value)==null?void 0:i.end;if(Array.isArray(s)){a_(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=t.indent){const r=!this.onKeyLine&&this.indent===t.indent,s=r&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(s&&n.sep&&!n.value){const o=[];for(let c=0;ct.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(a=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||n.value?(a.push(this.sourceToken),t.items.push({start:a}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):s||n.value?(a.push(this.sourceToken),t.items.push({start:a,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Rf(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(Ede(n.key)&&!Rf(n.sep,"newline")){const o=bg(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:o,key:c,sep:u}]})}else a.length>0?n.sep=n.sep.concat(a,this.sourceToken):n.sep.push(this.sourceToken);else if(Rf(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const o=bg(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||s?t.items.push({start:a,key:null,sep:[this.sourceToken]}):Rf(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const o=this.flowScalar(this.type);s||n.value?(t.items.push({start:a,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{const o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!Rf(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&t.items.push({start:a});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var i;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const r="end"in n.value?n.value.end:void 0,s=Array.isArray(r)?r[r.length-1]:void 0;(s==null?void 0:s.type)==="comment"?r==null||r.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){const r=t.items[t.items.length-2],s=(i=r==null?void 0:r.value)==null?void 0:i.end;if(Array.isArray(s)){a_(s,n.start),s.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||Rf(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const r=this.startBlockValue(t);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let i;do yield*this.pop(),i=this.peek(1);while((i==null?void 0:i.type)==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const r=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:r,sep:[]}):n.sep?this.stack.push(r):Object.assign(n,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const i=this.startBlockValue(t);i?this.stack.push(i):(yield*this.pop(),yield*this.step())}else{const i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===t.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){const r=qS(i),s=bg(r);vq(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:s,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(` `)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(` -`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const n=FS(t),i=ug(n);return i.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=FS(t),i=ug(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};function rJe(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new nJe||null,prettyErrors:t}}function ode(e,t={}){const{lineCounter:n,prettyErrors:i}=rJe(t),r=new iJe(n==null?void 0:n.addNewLine),s=new ZKe(t);let a=null;for(const o of s.compose(r.parse(e),!0,e.length))if(!a)a=o;else if(a.options.logLevel!=="silent"){a.errors.push(new Iy(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&n&&(a.errors.forEach(oq(e,n)),a.warnings.forEach(oq(e,n))),a}function sJe(e,t,n){let i;const r=ode(e,n);if(!r)return null;if(r.warnings.forEach(s=>jue(r.options.logLevel,s)),r.errors.length>0){if(r.options.logLevel!=="silent")throw r.errors[0];r.errors=[]}return r.toJS(Object.assign({reviver:i},n))}function lde(e,t,n){let i=null;if(Array.isArray(t)&&(i=t),e===void 0){const{keepUndefined:r}={};if(!r)return}return zv(e)&&!i?e.toString(n):new Hv(e,i,n).toString(n)}const cde=1024;let aJe=0,yl=class{constructor(t,n){this.from=t,this.to=n}};class rn{constructor(t={}){this.id=aJe++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=ls.match(t)),n=>{let i=t(n);return i===void 0?null:[this,i]}}}rn.closedBy=new rn({deserialize:e=>e.split(" ")});rn.openedBy=new rn({deserialize:e=>e.split(" ")});rn.group=new rn({deserialize:e=>e.split(" ")});rn.isolate=new rn({deserialize:e=>{if(e&&e!="rtl"&&e!="ltr"&&e!="auto")throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}});rn.contextHash=new rn({perNode:!0});rn.lookAhead=new rn({perNode:!0});rn.mounted=new rn({perNode:!0});class k0{constructor(t,n,i,r=!1){this.tree=t,this.overlay=n,this.parser=i,this.bracketed=r}static get(t){return t&&t.props&&t.props[rn.mounted.id]}}const oJe=Object.create(null);class ls{constructor(t,n,i,r=0){this.name=t,this.props=n,this.id=i,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):oJe,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),r=new ls(t.name||"",n,t.id,i);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return r}prop(t){return this.props[t.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(t){if(typeof t=="string"){if(this.name==t)return!0;let n=this.prop(rn.group);return n?n.indexOf(t)>-1:!1}return this.id==t}static match(t){let n=Object.create(null);for(let i in t)for(let r of i.split(" "))n[r]=t[i];return i=>{for(let r=i.prop(rn.group),s=-1;s<(r?r.length:0);s++){let a=n[s<0?i.name:r[s]];if(a)return a}}}}ls.none=new ls("",Object.create(null),0,8);class cO{constructor(t){this.types=t;for(let n=0;n0;for(let c=this.cursor(a|fi.IncludeAnonymous);;){let u=!1;if(c.from<=s&&c.to>=r&&(!o&&c.type.isAnonymous||n(c)!==!1)){if(c.firstChild())continue;u=!0}for(;u&&i&&(o||!c.type.isAnonymous)&&i(c),!c.nextSibling();){if(!c.parent())return;u=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let n in this.props)t.push([+n,this.props[n]]);return t}balance(t={}){return this.children.length<=8?this:w6(ls.none,this.children,this.positions,0,this.children.length,0,this.length,(n,i,r)=>new An(this.type,n,i,r,this.propValues),t.makeTree||((n,i,r)=>new An(ls.none,n,i,r)))}static build(t){return dJe(t)}}An.empty=new An(ls.none,[],[],0);class x6{constructor(t,n){this.buffer=t,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new x6(this.buffer,this.index)}}class Eh{constructor(t,n,i){this.buffer=t,this.length=n,this.set=i}get type(){return ls.none}toString(){let t=[];for(let n=0;n0));c=a[c+3]);return o}slice(t,n,i){let r=this.buffer,s=new Uint16Array(n-t),a=0;for(let o=t,c=0;o=t&&nt;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function N1(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?o.length:-1;t!=u;t+=n){let d=o[t],f=c[t]+a.from,h;if(!(!(s&fi.EnterBracketed&&d instanceof An&&(h=k0.get(d))&&!h.overlay&&h.bracketed&&i>=f&&i<=f+d.length)&&!ude(r,i,f,f+d.length))){if(d instanceof Eh){if(s&fi.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,n,i-f,r);if(p>-1)return new eu(new lJe(a,d,t,f),null,p)}else if(s&fi.IncludeAnonymous||!d.type.isAnonymous||v6(d)){let p;if(!(s&fi.IgnoreMounts)&&(p=k0.get(d))&&!p.overlay)return new ga(p.tree,f,t,a);let b=new ga(d,f,t,a);return s&fi.IncludeAnonymous||!b.type.isAnonymous?b:b.nextChild(n<0?d.children.length-1:0,n,i,r,s)}}}if(s&fi.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?t=a.index+n:t=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,n,i=0){let r;if(!(i&fi.IgnoreOverlays)&&(r=k0.get(this._tree))&&r.overlay){let s=t-this.from,a=i&fi.EnterBracketed&&r.bracketed;for(let{from:o,to:c}of r.overlay)if((n>0||a?o<=s:o=s:c>s))return new ga(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function pq(e,t,n,i){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(n!=null){for(let a=!1;!a;)if(a=r.type.is(n),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function UM(e,t,n=t.length-1){for(let i=e;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class lJe{constructor(t,n,i,r){this.parent=t,this.buffer=n,this.index=i,this.start=r}}class eu extends dde{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,n,i){super(),this.context=t,this._parent=n,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,n,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.context.start,i);return s<0?null:new eu(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,n,i=0){if(i&fi.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return s<0?null:new eu(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new eu(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new eu(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],n=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let a=i.buffer[this.index+1];t.push(i.slice(r,s,a)),n.push(0)}return new An(this.type,t,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function fde(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||a.to=t){let o=new ga(a.tree,a.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(N1(o,t,n,!1))}}return r?fde(r):i}class t_{get name(){return this.type.name}constructor(t,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~fi.EnterBracketed,t instanceof ga)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,n){this.index=t;let{start:i,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[t]],this.from=i+r.buffer[t+1],this.to=i+r.buffer[t+2],!0}yield(t){return t?t instanceof ga?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,n,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,n,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,n,i=this.mode){return this.buffer?i&fi.ExcludeBuffers?!1:this.enterChild(1,t,n):this.yield(this._tree.enter(t,n,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&fi.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&fi.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:n}=this.buffer,i=this.stack.length-1;if(t<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(i<0?n.buffer.length:n.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let n,i,{buffer:r}=this;if(r){if(t>0){if(this.index-1)for(let s=n+t,a=t<0?-1:i._tree.children.length;s!=a;s+=t){let o=i._tree.children[s];if(this.mode&fi.IncludeAnonymous||o instanceof Eh||!o.type.isAnonymous||v6(o))return!1}return!0}move(t,n){if(n&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,n=0){for(;(this.from==this.to||(n<1?this.from>=t:this.from>t)||(n>-1?this.to<=t:this.to=0;){for(let a=t;a;a=a._parent)if(a.index==r){if(r==this.index)return a;n=a,i=s+1;break e}r=this.stack[--s]}for(let r=i;r=0;s--){if(s<0)return UM(this._tree,t,r);let a=i[n.buffer[this.stack[s]]];if(!a.isAnonymous){if(t[r]&&t[r]!=a.name)return!1;r--}}return!0}}function v6(e){return e.children.some(t=>t instanceof Eh||!t.type.isAnonymous||v6(t))}function dJe(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:r=cde,reused:s=[],minRepeatType:a=i.types.length}=e,o=Array.isArray(n)?new x6(n,n.length):n,c=i.types,u=0,d=0;function f(E,S,k,T,C,A){let{id:R,start:P,end:B,size:I}=o,$=d,j=u;if(I<0)if(o.next(),I==-1){let G=s[R];k.push(G),T.push(P-E);return}else if(I==-3){u=R;return}else if(I==-4){d=R;return}else throw new RangeError(`Unrecognized record size: ${I}`);let D=c[R],F,Q,M=P-E;if(B-P<=r&&(Q=O(o.pos-S,C))){let G=new Uint16Array(Q.size-Q.skip),H=o.pos-Q.size,U=G.length;for(;o.pos>H;)U=y(Q.start,G,U);F=new Eh(G,B-Q.start,i),M=Q.start-E}else{let G=o.pos-I;o.next();let H=[],U=[],q=R>=a?R:-1,ie=0,fe=B;for(;o.pos>G;)q>=0&&o.id==q&&o.size>=0?(o.end<=fe-r&&(b(H,U,P,ie,o.end,fe,q,$,j),ie=H.length,fe=o.end),o.next()):A>2500?h(P,G,H,U):f(P,G,H,U,q,A+1);if(q>=0&&ie>0&&ie-1&&ie>0){let me=p(D,j);F=w6(D,H,U,0,H.length,0,B-P,me,me)}else F=g(D,H,U,B-P,$-B,j)}k.push(F),T.push(M)}function h(E,S,k,T){let C=[],A=0,R=-1;for(;o.pos>S;){let{id:P,start:B,end:I,size:$}=o;if($>4)o.next();else{if(R>-1&&B=0;I-=3)P[$++]=C[I],P[$++]=C[I+1]-B,P[$++]=C[I+2]-B,P[$++]=$;k.push(new Eh(P,C[2]-B,i)),T.push(B-E)}}function p(E,S){return(k,T,C)=>{let A=0,R=k.length-1,P,B;if(R>=0&&(P=k[R])instanceof An){if(!R&&P.type==E&&P.length==C)return P;(B=P.prop(rn.lookAhead))&&(A=T[R]+P.length+B)}return g(E,k,T,C,A,S)}}function b(E,S,k,T,C,A,R,P,B){let I=[],$=[];for(;E.length>T;)I.push(E.pop()),$.push(S.pop()+k-C);E.push(g(i.types[R],I,$,A-C,P-A,B)),S.push(C-k)}function g(E,S,k,T,C,A,R){if(A){let P=[rn.contextHash,A];R=R?[P].concat(R):[P]}if(C>25){let P=[rn.lookAhead,C];R=R?[P].concat(R):[P]}return new An(E,S,k,T,R)}function O(E,S){let k=o.fork(),T=0,C=0,A=0,R=k.end-r,P={size:0,start:0,skip:0};e:for(let B=k.pos-E;k.pos>B;){let I=k.size;if(k.id==S&&I>=0){P.size=T,P.start=C,P.skip=A,A+=4,T+=4,k.next();continue}let $=k.pos-I;if(I<0||$=a?4:0,D=k.start;for(k.next();k.pos>$;){if(k.size<0)if(k.size==-3||k.size==-4)j+=4;else break e;else k.id>=a&&(j+=4);k.next()}C=D,T+=I,A+=j}return(S<0||T==E)&&(P.size=T,P.start=C,P.skip=A),P.size>4?P:void 0}function y(E,S,k){let{id:T,start:C,end:A,size:R}=o;if(o.next(),R>=0&&T4){let B=o.pos-(R-4);for(;o.pos>B;)k=y(E,S,k)}S[--k]=P,S[--k]=A-E,S[--k]=C-E,S[--k]=T}else R==-3?u=T:R==-4&&(d=T);return k}let v=[],x=[];for(;o.pos>0;)f(e.start||0,e.bufferStart||0,v,x,-1,0);let w=(t=e.length)!==null&&t!==void 0?t:v.length?x[0]+v[0].length:0;return new An(c[e.topID],v.reverse(),x.reverse(),w)}const mq=new WeakMap;function fk(e,t){if(!e.isAnonymous||t instanceof Eh||t.type!=e)return 1;let n=mq.get(t);if(n==null){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof An)){n=1;break}n+=fk(e,i)}mq.set(t,n)}return n}function w6(e,t,n,i,r,s,a,o,c){let u=0;for(let b=i;b=d)break;S+=k}if(x==w+1){if(S>d){let k=b[w];p(k.children,k.positions,0,k.children.length,g[w]+v);continue}f.push(b[w])}else{let k=g[x-1]+b[x-1].length-E;f.push(w6(e,b,g,w,x,E,k,null,c))}h.push(E+v-s)}}return p(t,n,i,r,0),(o||c)(f,h,a)}class S6{constructor(){this.map=new WeakMap}setBuffer(t,n,i){let r=this.map.get(t);r||this.map.set(t,r=new Map),r.set(n,i)}getBuffer(t,n){let i=this.map.get(t);return i&&i.get(n)}set(t,n){t instanceof eu?this.setBuffer(t.context.buffer,t.index,n):t instanceof ga&&this.map.set(t.tree,n)}get(t){return t instanceof eu?this.getBuffer(t.context.buffer,t.index):t instanceof ga?this.map.get(t.tree):void 0}cursorSet(t,n){t.buffer?this.setBuffer(t.buffer.buffer,t.index,n):this.map.set(t.tree,n)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class Sd{constructor(t,n,i,r,s=!1,a=!1){this.from=t,this.to=n,this.tree=i,this.offset=r,this.open=(s?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],i=!1){let r=[new Sd(0,t.length,t,0,!1,i)];for(let s of n)s.to>t.length&&r.push(s);return r}static applyChanges(t,n,i=128){if(!n.length)return t;let r=[],s=1,a=t.length?t[0]:null;for(let o=0,c=0,u=0;;o++){let d=o=i)for(;a&&a.from=h.from||f<=h.to||u){let p=Math.max(h.from,c)-u,b=Math.min(h.to,f)-u;h=p>=b?null:new Sd(p,b,h.tree,h.offset+u,o>0,!!d)}if(h&&r.push(h),a.to>f)break;a=snew yl(r.from,r.to)):[new yl(0,0)]:[new yl(0,t.length)],this.createParse(t,n||[],i)}parse(t,n,i){let r=this.startParse(t,n,i);for(;;){let s=r.advance();if(s)return s}}}class fJe{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,n){return this.string.slice(t,n)}}function hde(e){return(t,n,i,r)=>new pJe(t,e,n,i,r)}class gq{constructor(t,n,i,r,s,a){this.parser=t,this.parse=n,this.overlay=i,this.bracketed=r,this.target=s,this.from=a}}function bq(e){if(!e.length||e.some(t=>t.from>=t.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class hJe{constructor(t,n,i,r,s,a,o,c){this.parser=t,this.predicate=n,this.mounts=i,this.index=r,this.start=s,this.bracketed=a,this.target=o,this.prev=c,this.depth=0,this.ranges=[]}}const zM=new rn({perNode:!0});class pJe{constructor(t,n,i,r,s){this.nest=n,this.input=i,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new An(i.type,i.children,i.positions,i.length,i.propValues.concat([[zM,this.stoppedAt]]))),i}let t=this.inner[this.innerDone],n=t.parse.advance();if(n){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[rn.mounted.id]=new k0(n,t.overlay,t.parser,t.bracketed),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let n=this.innerDone;n=this.stoppedAt)o=!1;else if(t.hasNode(r)){if(n){let u=n.mounts.find(d=>d.frag.from<=r.from&&d.frag.to>=r.to&&d.mount.overlay);if(u)for(let d of u.mount.overlay){let f=d.from+u.pos,h=d.to+u.pos;f>=r.from&&h<=r.to&&!n.ranges.some(p=>p.fromf)&&n.ranges.push({from:f,to:h})}}o=!1}else if(i&&(a=mJe(i.ranges,r.from,r.to)))o=a!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew yl(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,d.length?d[0].from:r.from)),s.overlay?d.length&&(i={ranges:d,depth:0,prev:i}):o=!1}}else if(n&&(c=n.predicate(r))&&(c===!0&&(c=new yl(r.from,r.to)),c.from=0&&n.ranges[u].to==c.from?n.ranges[u]={from:n.ranges[u].from,to:c.to}:n.ranges.push(c)}if(o&&r.firstChild())n&&n.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(n&&!--n.depth){let u=xq(this.ranges,n.ranges);u.length&&(bq(u),this.inner.splice(n.index,0,new gq(n.parser,n.parser.startParse(this.input,vq(n.mounts,u),u),n.ranges.map(d=>new yl(d.from-n.start,d.to-n.start)),n.bracketed,n.target,u[0].from))),n=n.prev}i&&!--i.depth&&(i=i.prev)}}}}function mJe(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function Oq(e,t,n,i,r,s){if(t=t&&n.enter(i,1,fi.IgnoreOverlays|fi.ExcludeBuffers)))if(n.to<=t)n.next(!1)||(this.done=!0);else break}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let n=this.cursor.tree;;){if(n==t.tree)return!0;if(n.children.length&&n.positions[0]==0&&n.children[0]instanceof An)n=n.children[0];else break}return!1}}let bJe=class{constructor(t){var n;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=(n=i.tree.prop(zM))!==null&&n!==void 0?n:i.to,this.inner=new yq(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let n=this.curFrag=this.fragments[this.fragI];this.curTo=(t=n.tree.prop(zM))!==null&&t!==void 0?t:n.to,this.inner=new yq(n.tree,-n.offset)}}findMounts(t,n){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let s=this.inner.cursor.node;s;s=s.parent){let a=(i=s.tree)===null||i===void 0?void 0:i.prop(rn.mounted);if(a&&a.parser==n)for(let o=this.fragI;o=s.to)break;c.tree==this.curFrag.tree&&r.push({frag:c,pos:s.from-c.offset,mount:a})}}}return r}};function xq(e,t){let n=null,i=t;for(let r=1,s=0;r=o)break;c.to<=a||(n||(i=n=t.slice()),c.fromo&&n.splice(s+1,0,new yl(o,c.to))):c.to>o?n[s--]=new yl(o,c.to):n.splice(s--,1))}}return i}function OJe(e,t,n,i){let r=0,s=0,a=!1,o=!1,c=-1e9,u=[];for(;;){let d=r==e.length?1e9:a?e[r].to:e[r].from,f=s==t.length?1e9:o?t[s].to:t[s].from;if(a!=o){let h=Math.max(c,n),p=Math.min(d,f,i);hnew yl(h.from+i,h.to+i)),f=OJe(t,d,c,u);for(let h=0,p=c;;h++){let b=h==f.length,g=b?u:f[h].from;if(g>p&&n.push(new Sd(p,g,r.tree,-a,s.from>=p||s.openStart,s.to<=g||s.openEnd)),b)break;p=f[h].to}}else n.push(new Sd(c,u,r.tree,-a,s.from>=a||s.openStart,s.to<=o||s.openEnd))}return n}let VM=[],pde=[];(()=>{let e="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=0,n=0;t>1;if(e=pde[i])t=i+1;else return!0;if(t==n)return!1}}function wq(e){return e>=127462&&e<=127487}const Sq=8205;function xJe(e,t,n=!0,i=!0){return(n?mde:vJe)(e,t,i)}function mde(e,t,n){if(t==e.length)return t;t&&gde(e.charCodeAt(t))&&bde(e.charCodeAt(t-1))&&t--;let i=rR(e,t);for(t+=Eq(i);t=0&&wq(rR(e,a));)s++,a-=2;if(s%2==0)break;t+=2}else break}return t}function vJe(e,t,n){for(;t>1;){let i=mde(e,t-2,n);if(i=56320&&e<57344}function bde(e){return e>=55296&&e<56320}function Eq(e){return e<65536?1:2}let li=class Ode{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,n,i){[t,n]=gb(this,t,n);let r=[];return this.decompose(0,t,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(n,this.length,r,1),Xc.from(r,this.length-(n-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,n=this.length){[t,n]=gb(this,t,n);let i=[];return this.decompose(t,n,i,0),Xc.from(i,n-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let n=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),r=new wx(this),s=new wx(t);for(let a=n,o=n;;){if(r.next(a),s.next(a),a=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(t=1){return new wx(this,t)}iterRange(t,n=this.length){return new yde(this,t,n)}iterLines(t,n){let i;if(t==null)i=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(t).from;i=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new xde(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?Ode.empty:t.length<=32?new Vr(t):Xc.from(Vr.split(t,[]))}};class Vr extends li{constructor(t,n=wJe(t)){super(),this.text=t,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.text[s],o=r+a.length;if((n?i:o)>=t)return new SJe(r,o,i,a);r=o+1,i++}}decompose(t,n,i,r){let s=t<=0&&n>=this.length?this:new Vr(kq(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(r&1){let a=i.pop(),o=hk(s.text,a.text.slice(),0,s.length);if(o.length<=32)i.push(new Vr(o,a.length+s.length));else{let c=o.length>>1;i.push(new Vr(o.slice(0,c)),new Vr(o.slice(c)))}}else i.push(s)}replace(t,n,i){if(!(i instanceof Vr))return super.replace(t,n,i);[t,n]=gb(this,t,n);let r=hk(this.text,hk(i.text,kq(this.text,0,t)),n),s=this.length+i.length-(n-t);return r.length<=32?new Vr(r,s):Xc.from(Vr.split(r,[]),s)}sliceString(t,n=this.length,i=` -`){[t,n]=gb(this,t,n);let r="";for(let s=0,a=0;s<=n&&at&&a&&(r+=i),ts&&(r+=o.slice(Math.max(0,t-s),n-s)),s=c+1}return r}flatten(t){for(let n of this.text)t.push(n)}scanIdentical(){return 0}static split(t,n){let i=[],r=-1;for(let s of t)i.push(s),r+=s.length+1,i.length==32&&(n.push(new Vr(i,r)),i=[],r=-1);return r>-1&&n.push(new Vr(i,r)),n}}class Xc extends li{constructor(t,n){super(),this.children=t,this.length=n,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.children[s],o=r+a.length,c=i+a.lines-1;if((n?c:o)>=t)return a.lineInner(t,n,i,r);r=o+1,i=c+1}}decompose(t,n,i,r){for(let s=0,a=0;a<=n&&s=a){let u=r&((a<=t?1:0)|(c>=n?2:0));a>=t&&c<=n&&!u?i.push(o):o.decompose(t-a,n-a,i,u)}a=c+1}}replace(t,n,i){if([t,n]=gb(this,t,n),i.lines=s&&n<=o){let c=a.replace(t-s,n-s,i),u=this.lines-a.lines+c.lines;if(c.lines>4&&c.lines>u>>6){let d=this.children.slice();return d[r]=c,new Xc(d,this.length-(n-t)+i.length)}return super.replace(s,o,c)}s=o+1}return super.replace(t,n,i)}sliceString(t,n=this.length,i=` -`){[t,n]=gb(this,t,n);let r="";for(let s=0,a=0;st&&s&&(r+=i),ta&&(r+=o.sliceString(t-a,n-a,i)),a=c+1}return r}flatten(t){for(let n of this.children)n.flatten(t)}scanIdentical(t,n){if(!(t instanceof Xc))return 0;let i=0,[r,s,a,o]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;r+=n,s+=n){if(r==a||s==o)return i;let c=this.children[r],u=t.children[s];if(c!=u)return i+c.scanIdentical(u,n);i+=c.length+1}}static from(t,n=t.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let p of t)i+=p.lines;if(i<32){let p=[];for(let b of t)b.flatten(p);return new Vr(p,n)}let r=Math.max(32,i>>5),s=r<<1,a=r>>1,o=[],c=0,u=-1,d=[];function f(p){let b;if(p.lines>s&&p instanceof Xc)for(let g of p.children)f(g);else p.lines>a&&(c>a||!c)?(h(),o.push(p)):p instanceof Vr&&c&&(b=d[d.length-1])instanceof Vr&&p.lines+b.lines<=32?(c+=p.lines,u+=p.length+1,d[d.length-1]=new Vr(b.text.concat(p.text),b.length+1+p.length)):(c+p.lines>r&&h(),c+=p.lines,u+=p.length+1,d.push(p))}function h(){c!=0&&(o.push(d.length==1?d[0]:Xc.from(d,u)),u=-1,c=d.length=0)}for(let p of t)f(p);return h(),o.length==1?o[0]:new Xc(o,n)}}li.empty=new Vr([""],0);function wJe(e){let t=-1;for(let n of e)t+=n.length+1;return t}function hk(e,t,n=0,i=1e9){for(let r=0,s=0,a=!0;s=n&&(c>i&&(o=o.slice(0,i-r)),r0?1:(t instanceof Vr?t.text.length:t.children.length)<<1]}nextInner(t,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],a=s>>1,o=r instanceof Vr?r.text.length:r.children.length;if(a==(n>0?o:0)){if(i==0)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(n>0?0:1)){if(this.offsets[i]+=n,t==0)return this.lineBreak=!0,this.value=` -`,this;t--}else if(r instanceof Vr){let c=r.text[a+(n<0?-1:0)];if(this.offsets[i]+=n,c.length>Math.max(0,t))return this.value=t==0?c:n>0?c.slice(t):c.slice(0,c.length-t),this;t-=c.length}else{let c=r.children[a+(n<0?-1:0)];t>c.length?(t-=c.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(c),this.offsets.push(n>0?1:(c instanceof Vr?c.text.length:c.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class yde{constructor(t,n,i){this.value="",this.done=!1,this.cursor=new wx(t,n>i?-1:1),this.pos=n>i?t.length:0,this.from=Math.min(n,i),this.to=Math.max(n,i)}nextInner(t,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let i=n<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:r}=this.cursor.next(t);return this.pos+=(r.length+t)*n,this.value=r.length<=i?r:n<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class xde{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:n,lineBreak:i,value:r}=this.inner.next(t);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(li.prototype[Symbol.iterator]=function(){return this.iter()},wx.prototype[Symbol.iterator]=yde.prototype[Symbol.iterator]=xde.prototype[Symbol.iterator]=function(){return this});let SJe=class{constructor(t,n,i,r){this.from=t,this.to=n,this.number=i,this.text=r}get length(){return this.to-this.from}};function gb(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function $s(e,t,n=!0,i=!0){return xJe(e,t,n,i)}function EJe(e){return e>=56320&&e<57344}function kJe(e){return e>=55296&&e<56320}function eo(e,t){let n=e.charCodeAt(t);if(!kJe(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return EJe(i)?(n-55296<<10)+(i-56320)+65536:n}function E6(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function Hc(e){return e<65536?1:2}const qM=/\r\n?|\n/;var Ks=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(Ks||(Ks={}));class cu{constructor(t){this.sections=t}get length(){let t=0;for(let n=0;nt)return s+(t-r);s+=o}else{if(i!=Ks.Simple&&u>=t&&(i==Ks.TrackDel&&rt||i==Ks.TrackBefore&&rt))return null;if(u>t||u==t&&n<0&&!o)return t==r||n<0?s:s+c;s+=c}r=u}if(t>r)throw new RangeError(`Position ${t} is out of range for changeset of length ${r}`);return s}touchesRange(t,n=t){for(let i=0,r=0;i=0&&r<=n&&o>=t)return rn?"cover":!0;r=o}return!1}toString(){let t="";for(let n=0;n=0?":"+r:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new cu(t)}static create(t){return new cu(t)}}class ys extends cu{constructor(t,n){super(t),this.inserted=n}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return XM(this,(n,i,r,s,a)=>t=t.replace(r,r+(i-n),a),!1),t}mapDesc(t,n=!1){return HM(this,t,n,!0)}invert(t){let n=this.sections.slice(),i=[];for(let r=0,s=0;r=0){n[r]=o,n[r+1]=a;let c=r>>1;for(;i.length0&&qf(i,n,s.text),s.forward(d),o+=d}let u=t[a++];for(;o>1].toJSON()))}return t}static of(t,n,i){let r=[],s=[],a=0,o=null;function c(d=!1){if(!d&&!r.length)return;ah||f<0||h>n)throw new RangeError(`Invalid change range ${f} to ${h} (in doc of length ${n})`);let b=p?typeof p=="string"?li.of(p.split(i||qM)):p:li.empty,g=b.length;if(f==h&&g==0)return;fa&&fa(r,f-a,-1),fa(r,h-f,g),qf(s,r,b),a=h}}return u(t),c(!o),o}static empty(t){return new ys(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;ro&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)n.push(s[0],0);else{for(;i.length=0&&n<=0&&n==e[r+1]?e[r]+=t:r>=0&&t==0&&e[r]==0?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}function qf(e,t,n){if(n.length==0)return;let i=t.length-2>>1;if(i>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],c=e.sections[a++];t(r,u,s,d,f),r=u,s=d}}}function HM(e,t,n,i=!1){let r=[],s=i?[]:null,a=new j1(e),o=new j1(t);for(let c=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let u=Math.min(a.len,o.len);fa(r,u,-1),a.forward(u),o.forward(u)}else if(o.ins>=0&&(a.ins<0||c==a.i||a.off==0&&(o.len=0&&c=0){let u=0,d=a.len;for(;d;)if(o.ins==-1){let f=Math.min(d,o.len);u+=f,d-=f,o.forward(f)}else if(o.ins==0&&o.lenc||a.ins>=0&&a.len>c)&&(o||i.length>u),s.forward2(c),a.forward(c)}}}}class j1{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i>1;return n>=t.length?li.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?li.empty:n[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class Pf{constructor(t,n,i,r){this.from=t,this.to=n,this.flags=i,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let t=this.flags&7;return t==7?null:t}map(t,n=-1){let i,r;return this.empty?i=r=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),r=t.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new Pf(i,r,this.flags,this.goalColumn)}extend(t,n=t,i=0){if(t<=this.anchor&&n>=this.anchor)return $e.range(t,n,void 0,void 0,i);let r=Math.abs(t-this.anchor)>Math.abs(n-this.anchor)?t:n;return $e.range(this.anchor,r,void 0,void 0,i)}eq(t,n=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!n||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return $e.range(t.anchor,t.head)}static create(t,n,i,r){return new Pf(t,n,i,r)}}class $e{constructor(t,n){this.ranges=t,this.mainIndex=n}map(t,n=-1){return t.empty?this:$e.create(this.ranges.map(i=>i.map(t,n)),this.mainIndex)}eq(t,n=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;it.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new $e(t.ranges.map(n=>Pf.fromJSON(n)),t.main)}static single(t,n=t){return new $e([$e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;rr.from-s.from),n=t.indexOf(i);for(let r=1;rs.head?$e.range(c,o):$e.range(o,c))}}return new $e(t,n)}}function wde(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let k6=0;class vt{constructor(t,n,i,r,s){this.combine=t,this.compareInput=n,this.compare=i,this.isStatic=r,this.id=k6++,this.default=t([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(t={}){return new vt(t.combine||(n=>n),t.compareInput||((n,i)=>n===i),t.compare||(t.combine?(n,i)=>n===i:T6),!!t.static,t.enables)}of(t){return new pk([],this,0,t)}compute(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new pk(t,this,1,n)}computeN(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new pk(t,this,2,n)}from(t,n){return n||(n=i=>i),this.compute([t],i=>n(i.field(t)))}}function T6(e,t){return e==t||e.length==t.length&&e.every((n,i)=>n===t[i])}class pk{constructor(t,n,i,r){this.dependencies=t,this.facet=n,this.type=i,this.value=r,this.id=k6++}dynamicSlot(t){var n;let i=this.value,r=this.facet.compareInput,s=this.id,a=t[s]>>1,o=this.type==2,c=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?c=!0:f=="selection"?u=!0:((n=t[f.id])!==null&&n!==void 0?n:1)&1||d.push(t[f.id]);return{create(f){return f.values[a]=i(f),1},update(f,h){if(c&&h.docChanged||u&&(h.docChanged||h.selection)||YM(f,d)){let p=i(f);if(o?!Tq(p,f.values[a],r):!r(p,f.values[a]))return f.values[a]=p,1}return 0},reconfigure:(f,h)=>{let p,b=h.config.address[s];if(b!=null){let g=i_(h,b);if(this.dependencies.every(O=>O instanceof vt?h.facet(O)===f.facet(O):O instanceof ra?h.field(O,!1)==f.field(O,!1):!0)||(o?Tq(p=i(f),g,r):r(p=i(f),g)))return f.values[a]=g,0}else p=i(f);return f.values[a]=p,1}}}get extension(){return this}}function Tq(e,t,n){if(e.length!=t.length)return!1;for(let i=0;ie[c.id]),r=n.map(c=>c.type),s=i.filter(c=>!(c&1)),a=e[t.id]>>1;function o(c){let u=[];for(let d=0;di===r),t);return t.provide&&(n.provides=t.provide(n)),n}create(t){let n=t.facet(zS).find(i=>i.field==this);return((n==null?void 0:n.create)||this.createF)(t)}slot(t){let n=t[this.id]>>1;return{create:i=>(i.values[n]=this.create(i),1),update:(i,r)=>{let s=i.values[n],a=this.updateF(s,r);return this.compareF(s,a)?0:(i.values[n]=a,1)},reconfigure:(i,r)=>{let s=i.facet(zS),a=r.facet(zS),o;return(o=s.find(c=>c.field==this))&&o!=a.find(c=>c.field==this)?(i.values[n]=o.create(i),1):r.config.address[this.id]!=null?(i.values[n]=r.field(this),0):(i.values[n]=this.create(i),1)}}}init(t){return[this,zS.of({field:this,create:t})]}get extension(){return this}}const Op={lowest:4,low:3,default:2,high:1,highest:0};function ty(e){return t=>new Sde(t,e)}const Yd={highest:ty(Op.highest),high:ty(Op.high),default:ty(Op.default),low:ty(Op.low),lowest:ty(Op.lowest)};class Sde{constructor(t,n){this.inner=t,this.prec=n}get extension(){return this}}class P2{of(t){return new GM(this,t)}reconfigure(t){return P2.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class GM{constructor(t,n){this.compartment=t,this.inner=n}get extension(){return this}}class n_{constructor(t,n,i,r,s,a){for(this.base=t,this.compartments=n,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,n,i){let r=[],s=Object.create(null),a=new Map;for(let h of _Je(t,n,a))h instanceof ra?r.push(h):(s[h.facet.id]||(s[h.facet.id]=[])).push(h);let o=Object.create(null),c=[],u=[];for(let h of r)o[h.id]=u.length<<1,u.push(p=>h.slot(p));let d=i==null?void 0:i.config.facets;for(let h in s){let p=s[h],b=p[0].facet,g=d&&d[h]||[];if(p.every(O=>O.type==0))if(o[b.id]=c.length<<1|1,T6(g,p))c.push(i.facet(b));else{let O=b.combine(p.map(y=>y.value));c.push(i&&b.compare(O,i.facet(b))?i.facet(b):O)}else{for(let O of p)O.type==0?(o[O.id]=c.length<<1|1,c.push(O.value)):(o[O.id]=u.length<<1,u.push(y=>O.dynamicSlot(y)));o[b.id]=u.length<<1,u.push(O=>TJe(O,b,p))}}let f=u.map(h=>h(o));return new n_(t,a,f,o,c,s)}}function _Je(e,t,n){let i=[[],[],[],[],[]],r=new Map;function s(a,o){let c=r.get(a);if(c!=null){if(c<=o)return;let u=i[c].indexOf(a);u>-1&&i[c].splice(u,1),a instanceof GM&&n.delete(a.compartment)}if(r.set(a,o),Array.isArray(a))for(let u of a)s(u,o);else if(a instanceof GM){if(n.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=t.get(a.compartment)||a.inner;n.set(a.compartment,u),s(u,o)}else if(a instanceof Sde)s(a.inner,a.prec);else if(a instanceof ra)i[o].push(a),a.provides&&s(a.provides,o);else if(a instanceof pk)i[o].push(a),a.facet.extensions&&s(a.facet.extensions,Op.default);else{let u=a.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${a}).`);if(u==a)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(u,o)}}return s(e,Op.default),i.reduce((a,o)=>a.concat(o))}function Sx(e,t){if(t&1)return 2;let n=t>>1,i=e.status[n];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;e.status[n]=4;let r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function i_(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}const Ede=vt.define(),WM=vt.define({combine:e=>e.some(t=>t),static:!0}),kde=vt.define({combine:e=>e.length?e[0]:void 0,static:!0}),Tde=vt.define(),_de=vt.define(),Ade=vt.define(),Cde=vt.define({combine:e=>e.length?e[0]:!1});class Eu{constructor(t,n){this.type=t,this.value=n}static define(){return new AJe}}class AJe{of(t){return new Eu(this,t)}}class CJe{constructor(t){this.map=t}of(t){return new an(this,t)}}class an{constructor(t,n){this.type=t,this.value=n}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new an(this.type,n)}is(t){return this.type==t}static define(t={}){return new CJe(t.map||(n=>n))}static mapEffects(t,n){if(!t.length)return t;let i=[];for(let r of t){let s=r.map(n);s&&i.push(s)}return i}}an.reconfigure=an.define();an.appendConfig=an.define();class as{constructor(t,n,i,r,s,a){this.startState=t,this.changes=n,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=a,this._doc=null,this._state=null,i&&wde(i,n.newLength),s.some(o=>o.type==as.time)||(this.annotations=s.concat(as.time.of(Date.now())))}static create(t,n,i,r,s,a){return new as(t,n,i,r,s,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(let n of this.annotations)if(n.type==t)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(as.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]=="."))}}as.time=Eu.define();as.userEvent=Eu.define();as.addToHistory=Eu.define();as.remote=Eu.define();function NJe(e,t){let n=[];for(let i=0,r=0;;){let s,a;if(i=e[i]))s=e[i++],a=e[i++];else if(r=0;r--){let s=i[r](e);s instanceof as?e=s:Array.isArray(s)&&s.length==1&&s[0]instanceof as?e=s[0]:e=jde(t,T0(s),!1)}return e}function RJe(e){let t=e.startState,n=t.facet(Ade),i=e;for(let r=n.length-1;r>=0;r--){let s=n[r](e);s&&Object.keys(s).length&&(i=Nde(i,ZM(t,s,e.changes.newLength),!0))}return i==e?e:as.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}const DJe=[];function T0(e){return e==null?DJe:Array.isArray(e)?e:[e]}var mr=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(mr||(mr={}));const IJe=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let KM;try{KM=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function PJe(e){if(KM)return KM.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||IJe.test(n)))return!0}return!1}function MJe(e){return t=>{if(!/\S/.test(t))return mr.Space;if(PJe(t))return mr.Word;for(let n=0;n-1)return mr.Word;return mr.Other}}class zn{constructor(t,n,i,r,s,a){this.config=t,this.doc=n,this.selection=i,this.values=r,this.status=t.statusTemplate.slice(),this.computeSlot=s,a&&(a._state=this);for(let o=0;or.set(u,c)),n=null),r.set(o.value.compartment,o.value.extension)):o.is(an.reconfigure)?(n=null,i=o.value):o.is(an.appendConfig)&&(n=null,i=T0(i).concat(o.value));let s;n?s=t.startState.values.slice():(n=n_.resolve(i,r,this),s=new zn(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(c,u)=>u.reconfigure(c,this),null).values);let a=t.startState.facet(WM)?t.newSelection:t.newSelection.asSingle();new zn(n,t.newDoc,a,s,(o,c)=>c.update(o,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:t},range:$e.cursor(n.from+t.length)}))}changeByRange(t){let n=this.selection,i=t(n.ranges[0]),r=this.changes(i.changes),s=[i.range],a=T0(i.effects);for(let o=1;oa.spec.fromJSON(o,c)))}}return zn.create({doc:t.doc,selection:$e.fromJSON(t.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(t={}){let n=n_.resolve(t.extensions||[],new Map),i=t.doc instanceof li?t.doc:li.of((t.doc||"").split(n.staticFacet(zn.lineSeparator)||qM)),r=t.selection?t.selection instanceof $e?t.selection:$e.single(t.selection.anchor,t.selection.head):$e.single(0);return wde(r,i.length),n.staticFacet(WM)||(r=r.asSingle()),new zn(n,i,r,n.dynamicSlots.map(()=>null),(s,a)=>a.create(s),null)}get tabSize(){return this.facet(zn.tabSize)}get lineBreak(){return this.facet(zn.lineSeparator)||` -`}get readOnly(){return this.facet(Cde)}phrase(t,...n){for(let i of this.facet(zn.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return n.length&&(t=t.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>n.length?i:n[s-1]})),t}languageDataAt(t,n,i=-1){let r=[];for(let s of this.facet(Ede))for(let a of s(this,n,i))Object.prototype.hasOwnProperty.call(a,t)&&r.push(a[t]);return r}charCategorizer(t){let n=this.languageDataAt("wordChars",t);return MJe(n.length?n[0]:"")}wordAt(t){let{text:n,from:i,length:r}=this.doc.lineAt(t),s=this.charCategorizer(t),a=t-i,o=t-i;for(;a>0;){let c=$s(n,a,!1);if(s(n.slice(c,a))!=mr.Word)break;a=c}for(;oe.length?e[0]:4});zn.lineSeparator=kde;zn.readOnly=Cde;zn.phrases=vt.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(r=>e[r]==t[r])}});zn.languageData=Ede;zn.changeFilter=Tde;zn.transactionFilter=_de;zn.transactionExtender=Ade;P2.reconfigure=an.define();function ku(e,t,n={}){let i={};for(let r of e)for(let s of Object.keys(r)){let a=r[s],o=i[s];if(o===void 0)i[s]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(n,s))i[s]=n[s](o,a);else throw new Error("Config merge conflict for field "+s)}for(let r in t)i[r]===void 0&&(i[r]=t[r]);return i}class kh{eq(t){return this==t}range(t,n=t){return R1.create(t,n,this)}}kh.prototype.startSide=kh.prototype.endSide=0;kh.prototype.point=!1;kh.prototype.mapMode=Ks.TrackDel;function _6(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}class R1{constructor(t,n,i){this.from=t,this.to=n,this.value=i}static create(t,n,i){return new R1(t,n,i)}}function JM(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class A6{constructor(t,n,i,r){this.from=t,this.to=n,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(t,n,i,r=0){let s=i?this.to:this.from;for(let a=r,o=s.length;;){if(a==o)return a;let c=a+o>>1,u=s[c]-t||(i?this.value[c].endSide:this.value[c].startSide)-n;if(c==a)return u>=0?a:o;u>=0?o=c:a=c+1}}between(t,n,i,r){for(let s=this.findIndex(n,-1e9,!0),a=this.findIndex(i,1e9,!1,s);sp||h==p&&u.startSide>0&&u.endSide<=0)continue;(p-h||u.endSide-u.startSide)<0||(a<0&&(a=h),u.point&&(o=Math.max(o,p-h)),i.push(u),r.push(h-a),s.push(p-a))}return{mapped:i.length?new A6(r,s,i,o):null,pos:a}}}class Pn{constructor(t,n,i,r){this.chunkPos=t,this.chunk=n,this.nextLayer=i,this.maxPoint=r}static create(t,n,i,r){return new Pn(t,n,i,r)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let n of this.chunk)t+=n.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:n=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=t,a=t.filter;if(n.length==0&&!a)return this;if(i&&(n=n.slice().sort(JM)),this.isEmpty)return n.length?Pn.of(n):this;let o=new Rde(this,null,-1).goto(0),c=0,u=[],d=new Pd;for(;o.value||c=0){let f=n[c++];d.addInner(f.from,f.to,f.value)||u.push(f)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||so.to||s=s&&t<=s+a.length&&a.between(s,t-s,n-s,i)===!1)return}this.nextLayer.between(t,n,i)}}iter(t=0){return D1.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,n=0){return D1.from(t).goto(n)}static compare(t,n,i,r,s=-1){let a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),o=n.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),c=_q(a,o,i),u=new ny(a,c,s),d=new ny(o,c,s);i.iterGaps((f,h,p)=>Aq(u,f,d,h,p,r)),i.empty&&i.length==0&&Aq(u,0,d,0,0,r)}static eq(t,n,i=0,r){r==null&&(r=999999999);let s=t.filter(d=>!d.isEmpty&&n.indexOf(d)<0),a=n.filter(d=>!d.isEmpty&&t.indexOf(d)<0);if(s.length!=a.length)return!1;if(!s.length)return!0;let o=_q(s,a),c=new ny(s,o,0).goto(i),u=new ny(a,o,0).goto(i);for(;;){if(c.to!=u.to||!e5(c.active,u.active)||c.point&&(!u.point||!_6(c.point,u.point)))return!1;if(c.to>r)return!0;c.next(),u.next()}}static spans(t,n,i,r,s=-1){let a=new ny(t,null,s).goto(n),o=n,c=a.openStart;for(;;){let u=Math.min(a.to,i);if(a.point){let d=a.activeForPoint(a.to),f=a.pointFromo&&(r.span(o,u,a.active,c),c=a.openEnd(u));if(a.to>i)return c+(a.point&&a.to>i?1:0);o=a.to,a.next()}}static of(t,n=!1){let i=new Pd;for(let r of t instanceof R1?[t]:n?LJe(t):t)i.add(r.from,r.to,r.value);return i.finish()}static join(t){if(!t.length)return Pn.empty;let n=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let r=t[i];r!=Pn.empty;r=r.nextLayer)n=new Pn(r.chunkPos,r.chunk,n,Math.max(r.maxPoint,n.maxPoint));return n}}Pn.empty=new Pn([],[],null,-1);function LJe(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(JM);t=i}return e}Pn.empty.nextLayer=Pn.empty;class Pd{finishChunk(t){this.chunks.push(new A6(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,n,i){this.addInner(t,n,i)||(this.nextLayer||(this.nextLayer=new Pd)).add(t,n,i)}addInner(t,n,i){let r=t-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(n-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=n,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,n-t)),!0)}addChunk(t,n){if((t-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(t);let i=n.value.length-1;return this.last=n.value[i],this.lastFrom=n.from[i]+t,this.lastTo=n.to[i]+t,!0}finish(){return this.finishInner(Pn.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let n=Pn.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,n}}function _q(e,t,n){let i=new Map;for(let s of e)for(let a=0;a=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new Rde(a,n,i,s));return r.length==1?r[0]:new D1(r)}get startSide(){return this.value?this.value.startSide:0}goto(t,n=-1e9){for(let i of this.heap)i.goto(t,n);for(let i=this.heap.length>>1;i>=0;i--)sR(this.heap,i);return this.next(),this}forward(t,n){for(let i of this.heap)i.forward(t,n);for(let i=this.heap.length>>1;i>=0;i--)sR(this.heap,i);(this.to-t||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),sR(this.heap,0)}}}function sR(e,t){for(let n=e[t];;){let i=(t<<1)+1;if(i>=e.length)break;let r=e[i];if(i+1=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}class ny{constructor(t,n,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=D1.from(t,n,i)}goto(t,n=-1e9){return this.cursor.goto(t,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=n,this.openStart=-1,this.next(),this}forward(t,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(t,n)}removeActive(t){VS(this.active,t),VS(this.activeTo,t),VS(this.activeRank,t),this.minActive=Cq(this.active,this.activeTo)}addActive(t){let n=0,{value:i,to:r,rank:s}=this.cursor;for(;n0;)n++;qS(this.active,n,i),qS(this.activeTo,n,r),qS(this.activeRank,n,s),t&&qS(t,n,this.cursor.from),this.minActive=Cq(this.active,this.activeTo)}next(){let t=this.to,n=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>t){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&VS(i,r)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&n.push(this.active[i]);return n.reverse()}openEnd(t){let n=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)n++;return n}}function Aq(e,t,n,i,r,s){e.goto(t),n.goto(i);let a=i+r,o=i,c=i-t,u=!!s.boundChange;for(let d=!1;;){let f=e.to+c-n.to,h=f||e.endSide-n.endSide,p=h<0?e.to+c:n.to,b=Math.min(p,a);if(e.point||n.point?(e.point&&n.point&&_6(e.point,n.point)&&e5(e.activeForPoint(e.to),n.activeForPoint(n.to))||s.comparePoint(o,b,e.point,n.point),d=!1):(d&&s.boundChange(o),b>o&&!e5(e.active,n.active)&&s.compareRange(o,b,e.active,n.active),u&&ba)break;o=p,h<=0&&e.next(),h>=0&&n.next()}}function e5(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;i--)e[i+1]=e[i];e[t]=n}function Cq(e,t){let n=-1,i=1e9;for(let r=0;r=t)return r;if(r==e.length)break;s+=e.charCodeAt(r)==9?n-s%n:1,r=$s(e,r)}return i===!0?-1:e.length}const n5="ͼ",Nq=typeof Symbol>"u"?"__"+n5:Symbol.for(n5),i5=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),jq=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Th{constructor(t,n){this.rules=[];let{finish:i}=n||{};function r(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function s(a,o,c,u){let d=[],f=/^@(\w+)\b/.exec(a[0]),h=f&&f[1]=="keyframes";if(f&&o==null)return c.push(a[0]+";");for(let p in o){let b=o[p];if(/&/.test(p))s(p.split(/,\s*/).map(g=>a.map(O=>g.replace(/&/,O))).reduce((g,O)=>g.concat(O)),b,c);else if(b&&typeof b=="object"){if(!f)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(r(p),b,d,h)}else b!=null&&d.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+b+";")}(d.length||h)&&c.push((i&&!f&&!u?a.map(i):a).join(", ")+" {"+d.join(" ")+"}")}for(let a in t)s(r(a),t[a],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let t=jq[Nq]||1;return jq[Nq]=t+1,n5+t.toString(36)}static mount(t,n,i){let r=t[i5],s=i&&i.nonce;r?s&&r.setNonce(s):r=new $Je(t,s),r.mount(Array.isArray(n)?n:[n],t)}}let Rq=new Map;class $Je{constructor(t,n){let i=t.ownerDocument||t,r=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&r.CSSStyleSheet){let s=Rq.get(i);if(s)return t[i5]=s;this.sheet=new r.CSSStyleSheet,Rq.set(i,this)}else this.styleTag=i.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],t[i5]=this}mount(t,n){let i=this.sheet,r=0,s=0;for(let a=0;a-1&&(this.modules.splice(c,1),s--,c=-1),c==-1){if(this.modules.splice(s++,0,o),i)for(let u=0;u",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},QJe=typeof navigator<"u"&&/Mac/.test(navigator.platform),BJe=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Gs=0;Gs<10;Gs++)_h[48+Gs]=_h[96+Gs]=String(Gs);for(var Gs=1;Gs<=24;Gs++)_h[Gs+111]="F"+Gs;for(var Gs=65;Gs<=90;Gs++)_h[Gs]=String.fromCharCode(Gs+32),I1[Gs]=String.fromCharCode(Gs);for(var aR in _h)I1.hasOwnProperty(aR)||(I1[aR]=_h[aR]);function FJe(e){var t=QJe&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||BJe&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?I1:_h)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function Di(){var e=arguments[0];typeof e=="string"&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];typeof r=="string"?e.setAttribute(i,r):r!=null&&(e[i]=r)}t++}for(;t2);var yt={mac:Pq||/Mac/.test(Aa.platform),windows:/Win/.test(Aa.platform),linux:/Linux|X11/.test(Aa.platform),ie:M2,ie_version:Ide?r5.documentMode||6:a5?+a5[1]:s5?+s5[1]:0,gecko:Dq,gecko_version:Dq?+(/Firefox\/(\d+)/.exec(Aa.userAgent)||[0,0])[1]:0,chrome:!!oR,chrome_version:oR?+oR[1]:0,ios:Pq,android:/Android\b/.test(Aa.userAgent),webkit:Iq,webkit_version:Iq?+(/\bAppleWebKit\/(\d+)/.exec(Aa.userAgent)||[0,0])[1]:0,safari:o5,safari_version:o5?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Aa.userAgent)||[0,0])[1]:0,tabSize:r5.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function C6(e,t){for(let n in e)n=="class"&&t.class?t.class+=" "+e.class:n=="style"&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}const r_=Object.create(null);function N6(e,t,n){if(e==t)return!0;e||(e=r_),t||(t=r_);let i=Object.keys(e),r=Object.keys(t);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=n&&(r.indexOf(s)==-1||e[s]!==t[s]))return!1;return!0}function UJe(e,t){for(let n=e.attributes.length-1;n>=0;n--){let i=e.attributes[n].name;t[i]==null&&e.removeAttribute(i)}for(let n in t){let i=t[n];n=="style"?e.style.cssText=i:e.getAttribute(n)!=i&&e.setAttribute(n,i)}}function Mq(e,t,n){let i=!1;if(t)for(let r in t)n&&r in n||(i=!0,r=="style"?e.style.cssText="":e.removeAttribute(r));if(n)for(let r in n)t&&t[r]==n[r]||(i=!0,r=="style"?e.style.cssText=n[r]:e.setAttribute(r,n[r]));return i}function zJe(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:n>0?1e8:-1e8,new fm(t,n,n,i,t.widget||null,!1)}static replace(t){let n=!!t.block,i,r;if(t.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:a}=Pde(t,n);i=(s?n?-3e8:-1:5e8)-1,r=(a?n?2e8:1:-6e8)+1}return new fm(t,i,r,n,t.widget||null,!0)}static line(t){return new Wv(t)}static set(t,n=!1){return Pn.of(t,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Ut.none=Pn.empty;class Gv extends Ut{constructor(t){let{start:n,end:i}=Pde(t);super(n?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?C6(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||r_}eq(t){return this==t||t instanceof Gv&&this.tagName==t.tagName&&N6(this.attrs,t.attrs)}range(t,n=t){if(t>=n)throw new RangeError("Mark decorations may not be empty");return super.range(t,n)}}Gv.prototype.point=!1;class Wv extends Ut{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof Wv&&this.spec.class==t.spec.class&&N6(this.spec.attributes,t.spec.attributes)}range(t,n=t){if(n!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,n)}}Wv.prototype.mapMode=Ks.TrackBefore;Wv.prototype.point=!0;class fm extends Ut{constructor(t,n,i,r,s,a){super(n,i,s,t),this.block=r,this.isReplace=a,this.mapMode=r?n<=0?Ks.TrackBefore:Ks.TrackAfter:Ks.TrackDel}get type(){return this.startSide!=this.endSide?na.WidgetRange:this.startSide<=0?na.WidgetBefore:na.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof fm&&VJe(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,n=t){if(this.isReplace&&(t>n||t==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,n)}}fm.prototype.point=!0;function Pde(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return n==null&&(n=e.inclusive),i==null&&(i=e.inclusive),{start:n??t,end:i??t}}function VJe(e,t){return e==t||!!(e&&t&&e.compare(t))}function _0(e,t,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}class P1 extends kh{constructor(t,n,i){super(),this.tagName=t,this.attributes=n,this.rank=i}eq(t){return t==this||t instanceof P1&&this.tagName==t.tagName&&N6(this.attributes,t.attributes)}static create(t){return new P1(t.tagName,t.attributes||r_,t.rank==null?50:Math.max(0,Math.min(t.rank,100)))}static set(t,n=!1){return Pn.of(t,n)}}P1.prototype.startSide=P1.prototype.endSide=-1;function M1(e){let t;return e.nodeType==11?t=e.getSelection?e:e.ownerDocument:t=e,t.getSelection()}function l5(e,t){return t?e==t||e.contains(t.nodeType!=1?t.parentNode:t):!1}function Ex(e,t){if(!t.anchorNode)return!1;try{return l5(e,t.anchorNode)}catch{return!1}}function kx(e){return e.nodeType==3?$1(e,0,e.nodeValue.length).getClientRects():e.nodeType==1?e.getClientRects():[]}function Tx(e,t,n,i){return n?Lq(e,t,n,i,-1)||Lq(e,t,n,i,1):!1}function Ah(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t}function s_(e){return e.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function Lq(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:Md(e))){if(e.nodeName=="DIV")return!1;let s=e.parentNode;if(!s||s.nodeType!=1)return!1;t=Ah(e)+(r<0?0:1),e=s}else if(e.nodeType==1){if(e=e.childNodes[t+(r<0?-1:0)],e.nodeType==1&&e.contentEditable=="false")return!1;t=r<0?Md(e):0}else return!1}}function Md(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function L1(e,t){let{left:n,right:i}=e;if(n==i)return e;let r=t?n:i;return{left:r,right:r,top:e.top,bottom:e.bottom}}function qJe(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function Mde(e,t){let n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}function XJe(e,t,n,i,r,s,a,o){let c=e.ownerDocument,u=c.defaultView||window;for(let d=e,f=!1;d&&!f;)if(d.nodeType==1){let h,p=d==c.body,b=1,g=1;if(p)h=qJe(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let v=d.getBoundingClientRect();({scaleX:b,scaleY:g}=Mde(d,v)),h={left:v.left,right:v.left+d.clientWidth*b,top:v.top,bottom:v.top+d.clientHeight*g}}let O=0,y=0;if(r=="nearest")t.top0&&t.bottom>h.bottom+y&&(y=t.bottom-h.bottom+a)):t.bottom>h.bottom-a&&(y=t.bottom-h.bottom+a,n<0&&t.top-y0&&t.right>h.right+O&&(O=t.right-h.right+s)):t.right>h.right-s&&(O=t.right-h.right+s,n<0&&t.lefth.bottom||t.lefth.right)&&(t={left:Math.max(t.left,h.left),right:Math.min(t.right,h.right),top:Math.max(t.top,h.top),bottom:Math.min(t.bottom,h.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function Lde(e,t=!0){let n=e.ownerDocument,i=null,r=null;for(let s=e.parentNode;s&&!(s==n.body||(!t||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),t&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}class HJe{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:n,focusNode:i}=t;this.set(n,Math.min(t.anchorOffset,n?Md(n):0),i,Math.min(t.focusOffset,i?Md(i):0))}set(t,n,i,r){this.anchorNode=t,this.anchorOffset=n,this.focusNode=i,this.focusOffset=r}}let pp=null;yt.safari&&yt.safari_version>=26&&(pp=!1);function $de(e){if(e.setActive)return e.setActive();if(pp)return e.focus(pp);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(pp==null?{get preventScroll(){return pp={preventScroll:!0},!0}}:void 0),!pp){pp=!1;for(let n=0;nMath.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function Bde(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i>0)return{node:n,offset:i};if(n.nodeType==1&&i>0){if(n.contentEditable=="false")return null;n=n.childNodes[i-1],i=Md(n)}else if(n.parentNode&&!s_(n))i=Ah(n),n=n.parentNode;else return null}}function Fde(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i=n){if(o.level==i)return a;(s<0||(r!=0?r<0?o.fromn:t[s].level>o.level))&&(s=a)}}if(s<0)throw new RangeError("Index out of range");return s}}function Vde(e,t){if(e.length!=t.length)return!1;for(let n=0;n=0;g-=3)if(Pc[g+1]==-p){let O=Pc[g+2],y=O&2?r:O&4?O&1?s:r:0;y&&(Qi[f]=Qi[Pc[g]]=y),o=g;break}}else{if(Pc.length==189)break;Pc[o++]=f,Pc[o++]=h,Pc[o++]=c}else if((b=Qi[f])==2||b==1){let g=b==r;c=g?0:1;for(let O=o-3;O>=0;O-=3){let y=Pc[O+2];if(y&2)break;if(g)Pc[O+2]|=2;else{if(y&4)break;Pc[O+2]|=4}}}}}function tet(e,t,n,i){for(let r=0,s=i;r<=n.length;r++){let a=r?n[r-1].to:e,o=rc;)b==O&&(b=n[--g].from,O=g?n[g-1].to:e),Qi[--b]=p;c=d}else s=u,c++}}}function u5(e,t,n,i,r,s,a){let o=i%2?2:1;if(i%2==r%2)for(let c=t,u=0;cc&&a.push(new tu(c,g.from,p));let O=g.direction==hm!=!(p%2);d5(e,O?i+1:i,r,g.inner,g.from,g.to,a),c=g.to}b=g.to}else{if(b==n||(d?Qi[b]!=o:Qi[b]==o))break;b++}h?u5(e,c,b,i+1,r,h,a):ct;){let d=!0,f=!1;if(!u||c>s[u-1].to){let g=Qi[c-1];g!=o&&(d=!1,f=g==16)}let h=!d&&o==1?[]:null,p=d?i:i+1,b=c;e:for(;;)if(u&&b==s[u-1].to){if(f)break e;let g=s[--u];if(!d)for(let O=g.from,y=u;;){if(O==t)break e;if(y&&s[y-1].to==O)O=s[--y].from;else{if(Qi[O-1]==o)break e;break}}if(h)h.push(g);else{g.toQi.length;)Qi[Qi.length]=256;let i=[],r=t==hm?0:1;return d5(e,r,r,n,0,e.length,i),i}function qde(e){return[new tu(0,e,0)]}let Xde="";function iet(e,t,n,i,r){var s;let a=i.head-e.from,o=tu.find(t,a,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),c=t[o],u=c.side(r,n);if(a==u){let h=o+=r?1:-1;if(h<0||h>=t.length)return null;c=t[o=h],a=c.side(!r,n),u=c.side(r,n)}let d=$s(e.text,a,c.forward(r,n));(dc.to)&&(d=u),Xde=e.text.slice(Math.min(a,d),Math.max(a,d));let f=o==(r?t.length-1:0)?null:t[o+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)e.some(t=>t)}),efe=vt.define({combine:e=>e.some(t=>t)}),tfe=vt.define();class C0{constructor(t,n,i,r,s,a=!1){this.range=t,this.y=n,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=a}map(t){return t.empty?this:new C0(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new C0($e.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const XS=an.define({map:(e,t)=>e.map(t)}),nfe=an.define();function so(e,t,n){let i=e.facet(Wde);i.length?i[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const sd=vt.define({combine:e=>e.length?e[0]:!0});let set=0;const i0=vt.define({combine(e){return e.filter((t,n)=>{for(let i=0;i{let c=[];return a&&c.push(L2.of(u=>{let d=u.plugin(o);return d?a(d):Ut.none})),s&&c.push(s(o)),c})}static fromClass(t,n){return Qr.define((i,r)=>new t(i,r),n)}}class lR{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(i){if(so(n.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(n){so(t.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(i){so(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const ife=vt.define(),I6=vt.define(),L2=vt.define(),rfe=vt.define(),P6=vt.define(),Zv=vt.define(),sfe=vt.define();function Qq(e,t){let n=e.state.facet(sfe);if(!n.length)return n;let i=n.map(s=>s instanceof Function?s(e):s),r=[];return Pn.spans(i,t.from,t.to,{point(){},span(s,a,o,c){let u=s-t.from,d=a-t.from,f=r;for(let h=o.length-1;h>=0;h--,c--){let p=o[h].spec.bidiIsolate,b;if(p==null&&(p=ret(t.text,u,d)),c>0&&f.length&&(b=f[f.length-1]).to==u&&b.direction==p)b.to=d,f=b.inner;else{let g={from:u,to:d,direction:p,inner:[]};f.push(g),f=g.inner}}}}),r}const afe=vt.define();function M6(e){let t=0,n=0,i=0,r=0;for(let s of e.state.facet(afe)){let a=s(e);a&&(a.left!=null&&(t=Math.max(t,a.left)),a.right!=null&&(n=Math.max(n,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(r=Math.max(r,a.bottom)))}return{left:t,right:n,top:i,bottom:r}}const Py=vt.define();class xl{constructor(t,n,i,r){this.fromA=t,this.toA=n,this.fromB=i,this.toB=r}join(t){return new xl(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let n=t.length,i=this;for(;n>0;n--){let r=t[n-1];if(!(r.fromA>i.toA)){if(r.toAr.push(new xl(s,a,o,c))),this.changedRanges=r}static create(t,n,i){return new a_(t,n,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const aet=[];class $r{constructor(t,n,i=0){this.dom=t,this.length=n,this.flags=i,this.parent=null,t.cmTile=this}get breakAfter(){return this.flags&1}get children(){return aet}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&UJe(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,n=this.posAtStart){let i=n;for(let r of this.children){if(r==t)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,n,i){return null}domPosFor(t,n){let i=Ah(this.dom),r=this.length?t>0:n>0;return new oc(this.parent.dom,i+(r?1:0),t==0||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof Q2)return t;return null}static get(t){return t.cmTile}}class $2 extends $r{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(this.flags&2)return;super.sync(t);let n=this.dom,i=null,r,s=(t==null?void 0:t.node)==n?t:null,a=0;for(let o of this.children){if(o.sync(t),a+=o.length+o.breakAfter,r=i?i.nextSibling:n.firstChild,s&&r!=o.dom&&(s.written=!0),o.dom.parentNode==n)for(;r&&r!=o.dom;)r=Bq(r);else n.insertBefore(o.dom,r);i=o.dom}for(r=i?i.nextSibling:n.firstChild,s&&r&&(s.written=!0);r;)r=Bq(r);this.length=a}}function Bq(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class Q2 extends $2{constructor(t,n){super(n),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let n=$r.get(t);if(n&&this.owns(n))return n;t=t.parentNode}}blockTiles(t){for(let n=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!n.length)return;i=i.parent,i.breakAfter&&s++,r=n.pop()}else{let a=i.children[r++];if(a instanceof Ed)n.push(r),i=a,r=0;else{let o=s+a.length,c=t(a,s);if(c!==void 0)return c;s=o+a.breakAfter}}}resolveBlock(t,n){let i,r=-1,s,a=-1;if(this.blockTiles((o,c)=>{let u=c+o.length;if(t>=c&&t<=u){if(o.isWidget()&&n>=-1&&n<=1){if(o.flags&32)return!0;o.flags&16&&(i=void 0)}(ct||t==c&&(n>1?o.length:o.covers(-1)))&&(!s||!o.isWidget()&&s.isWidget())&&(s=o,a=t-c)}}),!i&&!s)throw new Error("No tile at position "+t);return i&&n<0||!s?{tile:i,offset:r}:{tile:s,offset:a}}}class Ed extends $2{constructor(t,n){super(t),this.wrapper=n}isBlock(){return!0}covers(t){return this.children.length?t<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(t,n){let i=new Ed(n||document.createElement(t.tagName),t);return n||(i.flags|=4),i}}class bb extends $2{constructor(t,n){super(t),this.attrs=n}isLine(){return!0}static start(t,n,i){let r=new bb(n||document.createElement("div"),t);return(!n||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(t,n,i){let r=null,s=-1,a=null,o=-1;function c(d,f){for(let h=0,p=0;h=f&&(b.isComposite()?c(b,f-p):(!a||a.isHidden&&(n>0&&!(a.flags&32)||i&&cet(a,b)))&&(g>f||b.flags&32)?(a=b,o=f-p):(pr&&(t=r);let s=t,a=t,o=0;t==0&&n<0||t==r&&n>=0?yt.chrome||yt.gecko||(t?(s--,o=1):a=0)?0:c.length-1];return yt.safari&&!o&&u.width==0&&(u=Array.prototype.find.call(c,d=>d.width)||u),i==null?u:L1(u,(o?o>0:n<0)==i)}static of(t,n){let i=new Cp(n||document.createTextNode(t),t);return n||(i.flags|=2),i}}class pm extends $r{constructor(t,n,i,r){super(t,n,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return this.flags&48?!1:(this.flags&(t<0?64:128))>0}coordsIn(t,n){return this.coordsInWidget(t,n,!1)}coordsInWidget(t,n,i){let r=this.widget.coordsAt(this.dom,t,n);if(r)return r;if(i)return L1(this.dom.getBoundingClientRect(),this.length?t==0:n<=0);{let s=this.dom.getClientRects(),a=null;if(!s.length)return null;let o=this.flags&16?!0:this.flags&32?!1:t>0;for(let c=o?s.length-1:0;a=s[c],!(t>0?c==0:c==s.length-1||a.top0==i)}}class uet{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,n,i){let{tile:r,index:s,beforeBreak:a,parents:o}=this;for(;t||n>0;)if(r.isComposite())if(a){if(!t)break;i&&i.break(),t--,a=!1}else if(s==r.children.length){if(!t&&!o.length)break;i&&i.leave(r),a=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++}else{let c=r.children[s],u=c.breakAfter;(n>0?c.length<=t:c.length=0;o--){let c=n.marks[o],u=r.lastChild;if(u instanceof no&&u.mark.eq(c.mark))u.dom!=c.dom&&u.setDOM(cR(c.dom)),r=u;else{if(this.cache.reused.get(c)){let f=$r.get(c.dom);f&&f.setDOM(cR(c.dom))}let d=no.of(c.mark,c.dom);r.append(d),r=d}this.cache.reused.set(c,2)}let s=$r.get(t.text);s&&this.cache.reused.set(s,2);let a=new Cp(t.text,t.text.nodeValue);a.flags|=8,this.pos=t.range.toB,r.append(a)}addInlineWidget(t,n,i){let r=this.afterWidget&&t.flags&48&&(this.afterWidget.flags&48)==(t.flags&48);r||this.flushBuffer();let s=this.ensureMarks(n,i);!r&&!(t.flags&16)&&s.append(this.getBuffer(1)),s.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,n,i){this.flushBuffer(),this.ensureMarks(n,i).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let n=this.afterWidget||this.lastBlock;n.length+=t,this.pos+=t}addLineStart(t,n){var i;t||(t=ofe);let r=bb.start(t,n||((i=this.cache.find(bb))===null||i===void 0?void 0:i.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,n){var i;let r=this.curLine;for(let s=t.length-1;s>=0;s--){let a=t[s],o;if(n>0&&(o=r.lastChild)&&o instanceof no&&o.mark.eq(a))r=o,n--;else{let c=no.of(a,(i=this.cache.find(no,u=>u.mark.eq(a)))===null||i===void 0?void 0:i.dom);r.append(c),r=c,n=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!Fq(this.curLine,!1)||t.dom.nodeName!="BR"&&t.isWidget()&&!(yt.ios&&Fq(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(uR,0,32)||new pm(uR.toDOM(),0,uR,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to=this.pos){let n=t.rank*102+t.value.rank,i=new det(t.from,t.to,t.value,n),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let n=this.root;for(let i of this.wrappers){let r=n.lastChild;if(i.froma.wrapper.eq(i.wrapper)))===null||t===void 0?void 0:t.dom);n.append(s),n=s}}return n}blockPosCovered(){let t=this.lastBlock;return t!=null&&!t.breakAfter&&(!t.isWidget()||(t.flags&160)>0)}getBuffer(t){let n=2|(t<0?16:32),i=this.cache.find(o_,void 0,1);return i&&(i.flags=n),i||new o_(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class het{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=r;let o=this.textOff=Math.min(t,r.length);return s?null:r.slice(0,o)}let n=Math.min(this.text.length,this.textOff+t),i=this.text.slice(this.textOff,n);return this.textOff=n,i}}const l_=[pm,bb,Cp,no,o_,Ed,Q2];for(let e=0;e[]),this.index=l_.map(()=>0),this.reused=new Map}add(t){let n=t.constructor.bucket,i=this.buckets[n];i.length<6?i.push(t):i[this.index[n]=(this.index[n]+1)%6]=t}find(t,n,i=2){let r=t.bucket,s=this.buckets[r],a=this.index[r];for(let o=0;o{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(t,n){let i=n&&this.getCompositionContext(n.text);for(let r=0,s=0,a=0;;){let o=ar){let u=c-r;this.preserve(u,!a,!o),r=c,s+=u}if(!o)break;n&&o.fromA<=n.range.fromA&&o.toA>=n.range.toA?(this.forward(o.fromA,n.range.fromA,n.range.fromA{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(c-o);else{let u=c>0||o{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof no&&r.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?r.length&&(r.length=s=0):a instanceof no&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,n){let i=null,r=this.builder,s=-1,a=Pn.spans(this.decorations,t,n,{point:(o,c,u,d,f,h)=>{if(u instanceof fm){if(this.disallowBlockEffectsFor[h]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(c>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=d.length,f>d.length)r.continueWidget(c-o);else{let p=u.widget||(u.block?Ob.block:Ob.inline),b=get(u),g=this.cache.findWidget(p,c-o,b)||pm.of(p,this.view,c-o,b);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(g)):(r.ensureLine(i),r.addInlineWidget(g,d,f))}i=null}else i=bet(i,u);c>o&&this.text.skip(c-o)},span:(o,c,u,d)=>{for(let f=o;f-1&&(this.openWidget=a>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=a}forward(t,n,i=1){n-t<=10?this.old.advance(n-t,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-t-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(t){let n=[],i=null;for(let r=t.parentNode;;r=r.parentNode){let s=$r.get(r);if(r==this.view.contentDOM)break;s instanceof no?n.push(s):s!=null&&s.isLine()?i=s:s instanceof Ed||(r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new bb(r,ofe):i||n.push(no.of(new Gv({tagName:r.nodeName.toLowerCase(),attributes:zJe(r)}),r)))}return{line:i,marks:n}}}function Fq(e,t){let n=i=>{for(let r of i.children)if((t?r.isText():r.length)||n(r))return!0;return!1};return n(e)}function get(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}const ofe={class:"cm-line"};function bet(e,t){let n=t.spec.attributes,i=t.spec.class;return!n&&!i||(e||(e={class:"cm-line"}),n&&C6(n,e),i&&(e.class+=" "+i)),e}function Oet(e){let t=[];for(let n=e.parents.length;n>1;n--){let i=n==e.parents.length?e.tile:e.parents[n].tile;i instanceof no&&t.push(i.mark)}return t}function cR(e){let t=$r.get(e);return t&&t.setDOM(e.cloneNode()),e}class Ob extends Ec{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Ob.inline=new Ob("span");Ob.block=new Ob("div");const uR=new class extends Ec{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Uq{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Ut.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Q2(t,t.contentDOM),this.updateInner([new xl(0,0,0,t.state.doc.length)],null)}update(t){var n;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:d,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?r=this.domChanged.newSel.head:!Aet(t.changes,this.hasComposition)&&!t.selectionSet&&(r=t.state.selection.main.head));let s=r>-1?xet(this.view,t.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;i=new xl(d,f,t.changes.mapPos(d,-1),t.changes.mapPos(f,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(yt.ie||yt.chrome)&&!s&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.blockWrappers;this.updateDeco();let c=Eet(a,this.decorations,t.changes);c.length&&(i=xl.extendWithRanges(i,c));let u=Tet(o,this.blockWrappers,t.changes);return u.length&&(i=xl.extendWithRanges(i,u)),s&&!i.some(d=>d.fromA<=s.range.fromA&&d.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,n){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(n||t.length){let a=this.tile,o=new met(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);n&&$r.get(n.text)&&o.cache.reused.set($r.get(n.text),2),this.tile=o.run(t,n),h5(a,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=yt.chrome||yt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Ex(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||n||a))return;let o=this.forceSelection;this.forceSelection=!1;let c=this.view.state.selection.main,u,d;if(c.empty?d=u=this.inlineDOMNearPos(c.anchor,c.assoc||1):(d=this.inlineDOMNearPos(c.head,c.head==c.from?1:-1),u=this.inlineDOMNearPos(c.anchor,c.anchor==c.from?1:-1)),yt.gecko&&c.empty&&!this.hasComposition&&yet(u)){let h=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(h,u.node.childNodes[u.offset]||null)),u=d=new oc(h,0),o=!0}let f=this.view.observer.selectionRange;(o||!f.focusNode||(!Tx(u.node,u.offset,f.anchorNode,f.anchorOffset)||!Tx(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,c))&&(this.view.observer.ignore(()=>{yt.android&&yt.chrome&&i.contains(f.focusNode)&&_et(f.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let h=M1(this.view.root);if(h)if(c.empty){if(yt.gecko){let p=vet(u.node,u.offset);if(p&&p!=3){let b=(p==1?Bde:Fde)(u.node,u.offset);b&&(u=new oc(b.node,b.offset))}}h.collapse(u.node,u.offset),c.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=c.bidiLevel)}else if(h.extend){h.collapse(u.node,u.offset);try{h.extend(d.node,d.offset)}catch{}}else{let p=document.createRange();c.anchor>c.head&&([u,d]=[d,u]),p.setEnd(d.node,d.offset),p.setStart(u.node,u.offset),h.removeAllRanges(),h.addRange(p)}a&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new oc(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new oc(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(t,n){return this.hasComposition&&n.empty&&Tx(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,n=t.state.selection.main,i=M1(t.root),{anchorNode:r,anchorOffset:s}=t.observer.selectionRange;if(!i||!n.empty||!n.assoc||!i.modify)return;let a=this.lineAt(n.head,n.assoc);if(!a)return;let o=a.posAtStart;if(n.head==o||n.head==o+a.length)return;let c=this.coordsAt(n.head,-1),u=this.coordsAt(n.head,1);if(!c||!u||c.bottom>u.top)return;let d=this.domAtPos(n.head+n.assoc,n.assoc);i.collapse(d.node,d.offset),i.modify("move",n.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let f=t.observer.selectionRange;t.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=n.from&&i.collapse(r,s)}posFromDOM(t,n){let i=this.tile.nearest(t);if(!i)return this.tile.dom.compareDocumentPosition(t)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(t==i.dom)s=i.dom.childNodes[n];else{let a=Md(t)==0?0:n==0?-1:1;for(;;){let o=t.parentNode;if(o==i.dom)break;a==0&&o.firstChild!=o.lastChild&&(t==o.firstChild?a=-1:a=1),t=o}a<0?s=t:s=t.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!$r.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let a=0,o=r;;a++){let c=i.children[a];if(c.dom==s)return o;o+=c.length+c.breakAfter}}else return i.isText()?t==i.dom?r+n:r+(n?i.length:0):r}domAtPos(t,n){let{tile:i,offset:r}=this.tile.resolveBlock(t,n);return i.isWidget()?i.domPosFor(r,n):i.domIn(r,n)}inlineDOMNearPos(t,n){let i,r=-1,s=!1,a,o=-1,c=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=t)return!0;u.flags&16&&(s=!0)}else{let f=d+u.length;if(d<=t&&(i=u,r=t-d,s=f=t&&!a&&(a=u,o=t-d,c=d>t),d>t&&a)return!0}}),!i&&!a?this.domAtPos(t,n):(s&&a?i=null:c&&i&&(a=null),i&&n<0||!a?i.domIn(r,n):a.domIn(o,n))}coordsAt(t,n,i){let{tile:r,offset:s}=this.tile.resolveBlock(t,n);return r.isWidget()?r.widget instanceof dR?null:r.coordsInWidget(s,n,!0):r.coordsIn(s,n,i)}lineAt(t,n){let{tile:i}=this.tile.resolveBlock(t,n);return i.isLine()?i:null}coordsForChar(t){let{tile:n,offset:i}=this.tile.resolveBlock(t,1);if(!n.isLine())return null;function r(s,a){if(s.isComposite())for(let o of s.children){if(o.length>=a){let c=r(o,a);if(c)return c}if(a-=o.length,a<0)break}else if(s.isText()&&aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,c=this.view.textDirection==Bi.LTR,u=0,d=(f,h,p)=>{for(let b=0;br);b++){let g=f.children[b],O=h+g.length,y=g.dom.getBoundingClientRect(),{height:v}=y;if(p&&!b&&(u+=y.top-p.top),g instanceof Ed)O>i&&d(g,h,y);else if(h>=i&&(u>0&&n.push(-u),n.push(v+u),u=0,a)){let x=g.dom.lastChild,w=x?kx(x):[];if(w.length){let E=w[w.length-1],S=c?E.right-y.left:y.right-E.left;S>o&&(o=S,this.minWidth=s,this.minWidthFrom=h,this.minWidthTo=O)}}p&&b==f.children.length-1&&(u+=p.bottom-y.bottom),h=O+g.breakAfter}};return d(this.tile,0,null),n}textDirectionAt(t){let{tile:n}=this.tile.resolveBlock(t,1);return getComputedStyle(n.dom).direction=="rtl"?Bi.RTL:Bi.LTR}measureTextSize(){let t=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let o=0,c;for(let u of a.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=kx(u.dom);if(d.length!=1)return;o+=d[0].width,c=d[0].height}if(o)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:o/a.length,textHeight:c}}});if(t)return t;let n=document.createElement("div"),i,r,s;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let a=kx(n.firstChild)[0];i=n.getBoundingClientRect().height,r=a&&a.width?a.width/27:7,s=a&&a.height?a.height:i,n.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let t=[],n=this.view.viewState;for(let i=0,r=0;;r++){let s=r==n.viewports.length?null:n.viewports[r],a=s?s.from-1:this.view.state.doc.length;if(a>i){let o=(n.lineBlockAt(a).bottom-n.lineBlockAt(i).top)/this.view.scaleY;t.push(Ut.replace({widget:new dR(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!s)break;i=s.to+1}return Ut.set(t)}updateDeco(){let t=1,n=this.view.state.facet(L2).map(s=>(this.dynamicDecorationMap[t++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(P6).map((s,a)=>{let o=typeof s=="function";return o&&(i=!0),o?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[t++]=i,n.push(Pn.join(r))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];ttypeof s=="function"?s(this.view):s)}scrollIntoView(t){if(t.isSnapshot){let u=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=u.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let u of this.view.state.facet(tfe))try{if(u(this.view,t.range,t))return!0}catch(d){so(this.view.state,d,"scroll handler")}let{range:n}=t,i=this.coordsAt(n.head,n.assoc||(n.head>n.anchor?-1:1)),r;if(!i)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=M6(this.view),a={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:o,offsetHeight:c}=this.view.scrollDOM;if(XJe(this.view.scrollDOM,a,n.head1&&(i.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||i.bottomi.isWidget()||i.children.some(n);return n(this.tile.resolveBlock(t,1).tile)}destroy(){h5(this.tile)}}function h5(e,t){let n=t==null?void 0:t.get(e);if(n!=1){n==null&&e.destroy();for(let i of e.children)h5(i,t)}}function yet(e){return e.node.nodeType==1&&e.node.firstChild&&(e.offset==0||e.node.childNodes[e.offset-1].contentEditable=="false")&&(e.offset==e.node.childNodes.length||e.node.childNodes[e.offset].contentEditable=="false")}function lfe(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let i=Bde(n.focusNode,n.focusOffset),r=Fde(n.focusNode,n.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let o=$r.get(r.node);if(!o||o.isText()&&o.text!=r.node.nodeValue)s=r;else if(e.docView.lastCompositionAfterCursor){let c=$r.get(i.node);!c||c.isText()&&c.text!=i.node.nodeValue||(s=r)}}if(e.docView.lastCompositionAfterCursor=s!=i,!s)return null;let a=t-s.offset;return{from:a,to:a+s.node.nodeValue.length,node:s.node}}function xet(e,t,n){let i=lfe(e,n);if(!i)return null;let{node:r,from:s,to:a}=i,o=r.nodeValue;if(/[\n\r]/.test(o)||e.state.doc.sliceString(i.from,i.to)!=o)return null;let c=t.invertedDesc;return{range:new xl(c.mapPos(s),c.mapPos(a),s,a),text:r}}function vet(e,t){return e.nodeType!=1?0:(t&&e.childNodes[t-1].contentEditable=="false"?1:0)|(t{it.from&&(n=!0)}),n}class dR extends Ec{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function Cet(e,t,n=1){let i=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(r.length==0)return $e.cursor(t);s==0?n=1:s==r.length&&(n=-1);let a=s,o=s;n<0?a=$s(r.text,s,!1):o=$s(r.text,s);let c=i(r.text.slice(a,o));for(;a>0;){let u=$s(r.text,a,!1);if(i(r.text.slice(u,a))!=c)break;a=u}for(;oe.defaultLineHeight*1.5){let o=e.viewState.heightOracle.textHeight,c=Math.floor((r-n.top-(e.defaultLineHeight-o)*.5)/o);s+=c*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+t5(a,s,e.state.tabSize)}function p5(e,t,n){let i=e.lineBlockAt(t);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>t)break;if(!(s.tot)return s;(!r||s.type==na.Text&&(r.type!=s.type||(n<0?s.fromt)))&&(r=s)}}return r||i}return i}function jet(e,t,n,i){let r=p5(e,t.head,t.assoc||-1),s=!i||r.type!=na.Text||!(e.lineWrapping||r.widgetLineBreaks)?null:e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head);if(s){let a=e.dom.getBoundingClientRect(),o=e.textDirectionAt(r.from),c=e.posAtCoords({x:n==(o==Bi.LTR)?a.right-1:a.left+1,y:(s.top+s.bottom)/2});if(c!=null)return $e.cursor(c,n?-1:1)}return $e.cursor(n?r.to:r.from,n?-1:1)}function zq(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=e.bidiSpans(r),a=e.textDirectionAt(r.from);for(let o=t,c=null;;){let u=iet(r,s,a,o,n),d=Xde;if(!u){if(r.number==(n?e.state.doc.lines:1))return o;d=` -`,r=e.state.doc.line(r.number+(n?1:-1)),s=e.bidiSpans(r),u=e.visualLineSide(r,!n)}if(c){if(!c(d))return o}else{if(!i)return u;c=i(d)}o=u}}function Ret(e,t,n){let i=e.state.charCategorizer(t),r=i(n);return s=>{let a=i(s);return r==mr.Space&&(r=a),r==a}}function Det(e,t,n,i){let r=t.head,s=n?1:-1;if(r==(n?e.state.doc.length:0))return $e.cursor(r,t.assoc);let a=t.goalColumn,o,c=e.contentDOM.getBoundingClientRect(),u=e.coordsAtPos(r,t.assoc||((t.empty?n:t.head==t.from)?1:-1)),d=e.documentTop;if(u)a==null&&(a=u.left-c.left),o=s<0?u.top:u.bottom;else{let b=e.viewState.lineBlockAt(r);a==null&&(a=Math.min(c.right-c.left,e.defaultCharacterWidth*(r-b.from))),o=(s<0?b.top:b.bottom)+d}let f=c.left+a,h=e.viewState.heightOracle.textHeight>>1,p=i??h;for(let b=0;;b+=h){let g=o+(p+b)*s,O=m5(e,{x:f,y:g},!1,s);if(n?g>c.bottom:go:v{if(t>s&&tr(e)),n.from,t.head>n.from?-1:1);return i==n.from?n:$e.cursor(i,ie.viewState.docHeight)return new Yc(e.state.doc.length,-1);if(u=e.elementAtHeight(c),i==null)break;if(u.type==na.Text){if(i<0?u.toe.viewport.to)break;let h=e.docView.coordsAt(i<0?u.from:u.to,i>0?-1:1);if(h&&(i<0?h.top<=c+s:h.bottom>=c+s))break}let f=e.viewState.heightOracle.textHeight/2;c=i>0?u.bottom+f:u.top-f}if(e.viewport.from>=u.to||e.viewport.to<=u.from){if(n)return null;if(u.type==na.Text){let f=Net(e,r,u,a,o);return new Yc(f,f==u.from?1:-1)}}if(u.type!=na.Text)return c<(u.top+u.bottom)/2?new Yc(u.from,1):new Yc(u.to,-1);let d=e.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=e.docView.lineAt(u.from,-2)),new Iet(e,a,o,e.textDirectionAt(u.from)).scanTile(d,u.from)}class Iet{constructor(t,n,i,r){this.view=t,this.x=n,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(t){return(!this.line||this.line.from>t||this.line.to1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from>1;t:if(a.has(g)){let y=r+Math.floor(Math.random()*b);for(let v=0;v1)){if(v.bottomthis.y)(!u||u.top>v.top)&&(u=v),x=-1;else{let w=v.left>this.x?this.x-v.left:v.right(b+b+g)/3)return this.y=c.bottom-1,this.scan(t,n,!0);if(u&&u.top<(b+g+g)/3)return this.y=u.top+1,this.scan(t,n,!0)}let p=(o?this.dirAt(t[d],1):this.baseDir)==Bi.LTR;return{i:d,after:this.x>(h.left+h.right)/2==p}}scanText(t,n){let i=[];for(let s=0;s{let a=i[s]-n,o=i[s+1]-n;return $1(t.dom,a,o).getClientRects()});return r.after?new Yc(i[r.i+1],-1):new Yc(i[r.i],1)}scanTile(t,n){if(!t.length)return new Yc(n,1);if(t.children.length==1){let o=t.children[0];if(o.isText())return this.scanText(o,n);if(o.isComposite())return this.scanTile(o,n)}let i=[n];for(let o=0,c=n;o{let c=t.children[o];return c.flags&48?null:(c.dom.nodeType==1?c.dom:$1(c.dom,0,c.length)).getClientRects()}),s=t.children[r.i],a=i[r.i];return s.isText()?this.scanText(s,a):s.isComposite()?this.scanTile(s,a):r.after?new Yc(i[r.i+1],-1):new Yc(a,1)}}const Ag="￿";class Pet{constructor(t,n){this.points=t,this.view=n,this.text="",this.lineSeparator=n.state.facet(zn.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=Ag}readRange(t,n){if(!t)return this;let i=t.parentNode;for(let r=t;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let a=$r.get(r),o=r.nextSibling;if(o==n){a!=null&&a.breakAfter&&!o&&i!=this.view.contentDOM&&this.lineBreak();break}let c=$r.get(o);(a&&c?a.breakAfter:(a?a.breakAfter:s_(r))||s_(o)&&(r.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>s)&&!Let(o,n)&&this.lineBreak(),r=o}return this.findPointBefore(i,n),this}readTextNode(t){let n=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,n.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,a=1,o;if(this.lineSeparator?(s=n.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(o=r.exec(n))&&(s=o.index,a=o[0].length),this.append(n.slice(i,s<0?n.length:s)),s<0)break;if(this.lineBreak(),a>1)for(let c of this.points)c.node==t&&c.pos>this.text.length&&(c.pos-=a-1);i=s+a}}readNode(t){let n=$r.get(t),i=n&&n.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,n){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==n&&(i.pos=this.text.length)}findPointInside(t,n){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(Met(t,i.node,i.offset)?n:0))}}function Met(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:s,impreciseAnchor:a}=t.docView,o=t.state.selection;if(t.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=ufe(t.docView.tile,n,i,0))){let c=s||a?[]:Bet(t),u=new Pet(c,t);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=Fet(c,this.bounds.from)}else{let c=t.observer.selectionRange,u=s&&s.node==c.focusNode&&s.offset==c.focusOffset||!l5(t.contentDOM,c.focusNode)?o.main.head:t.docView.posFromDOM(c.focusNode,c.focusOffset),d=a&&a.node==c.anchorNode&&a.offset==c.anchorOffset||!l5(t.contentDOM,c.anchorNode)?o.main.anchor:t.docView.posFromDOM(c.anchorNode,c.anchorOffset),f=t.viewport;if((yt.ios||yt.chrome)&&u!=d&&Math.min(u,d)<=o.main.from&&Math.max(u,d)>=o.main.to&&(f.from>0||f.to-1&&o.ranges.length>1)this.newSel=o.replaceRange($e.range(d,u));else if(t.lineWrapping&&d==u&&!(o.main.empty&&o.main.head==u)&&t.inputState.lastTouchTime>Date.now()-100){let h=t.coordsAtPos(u,-1),p=0;h&&(p=t.inputState.lastTouchY<=h.bottom?-1:1),this.newSel=$e.create([$e.cursor(u,p)])}else this.newSel=$e.single(d,u)}}}function ufe(e,t,n,i){if(e.isComposite()){let r=-1,s=-1,a=-1,o=-1;for(let c=0,u=i,d=i;cn)return ufe(f,t,n,u);if(h>=t&&r==-1&&(r=c,s=u),u>n&&f.dom.parentNode==e.dom){a=c,o=d;break}d=h,u=h+f.breakAfter}return{from:s,to:o<0?i+e.length:o,startDOM:(r?e.children[r-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:a=0?e.children[a].dom:null}}else return e.isText()?{from:i,to:i+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function dfe(e,t){let n,{newSel:i}=t,{state:r}=e,s=r.selection.main,a=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:o,to:c}=t.bounds,u=s.from,d=null;(a===8||yt.android&&t.text.length=o&&s.to<=c&&(t.typeOver||f!=t.text)&&f.slice(0,s.from-o)==t.text.slice(0,s.from-o)&&f.slice(s.to-o)==t.text.slice(h=t.text.length-(f.length-(s.to-o)))?n={from:s.from,to:s.to,insert:li.of(t.text.slice(s.from-o,h).split(Ag))}:(p=ffe(f,t.text,u-o,d))&&(yt.chrome&&a==13&&p.toB==p.from+2&&t.text.slice(p.from,p.toB)==Ag+Ag&&p.toB--,n={from:o+p.from,to:o+p.toA,insert:li.of(t.text.slice(p.from,p.toB).split(Ag))})}else i&&(!e.hasFocus&&r.facet(sd)||c_(i,s))&&(i=null);if(!n&&!i)return!1;if((yt.mac||yt.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())&&e.contentDOM.getAttribute("autocorrect")=="off"?(i&&n.insert.length==2&&(i=$e.single(i.main.anchor-1,i.main.head-1)),n={from:n.from,to:n.to,insert:li.of([n.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?n={from:s.from,to:s.to,insert:r.toText(e.inputState.insertingText)}:yt.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==` - `&&e.lineWrapping&&(i&&(i=$e.single(i.main.anchor-1,i.main.head-1)),n={from:s.from,to:s.to,insert:li.of([" "])}),n)return L6(e,n,i,a);if(i&&!c_(i,s)){let o=!1,c="select";return e.inputState.lastSelectionTime>Date.now()-50&&(e.inputState.lastSelectionOrigin=="select"&&(o=!0),c=e.inputState.lastSelectionOrigin,c=="select.pointer"&&(i=cfe(r.facet(Zv).map(u=>u(e)),i))),e.dispatch({selection:i,scrollIntoView:o,userEvent:c}),!0}else return!1}function L6(e,t,n,i=-1){if(yt.ios&&e.inputState.flushIOSKey(t))return!0;let r=e.state.selection.main;if(yt.android&&(t.to==r.to&&(t.from==r.from||t.from==r.from-1&&e.state.sliceDoc(t.from,r.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&A0(e.contentDOM,"Enter",13)||(t.from==r.from-1&&t.to==r.to&&t.insert.length==0||i==8&&t.insert.lengthr.head)&&A0(e.contentDOM,"Backspace",8)||t.from==r.from&&t.to==r.to+1&&t.insert.length==0&&A0(e.contentDOM,"Delete",46)))return!0;let s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a,o=()=>a||(a=Qet(e,t,n));return e.state.facet(Zde).some(c=>c(e,t.from,t.to,s,o))||e.dispatch(o()),!0}function Qet(e,t,n){let i,r=e.state,s=r.selection.main,a=-1;if(t.from==t.to&&t.froms.to){let c=t.fromf(e)),u,c);t.from==d&&(a=d)}if(a>-1)i={changes:t,selection:$e.cursor(t.from+t.insert.length,-1)};else if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let c=s.fromt.to?r.sliceDoc(t.to,s.to):"";i=r.replaceSelection(e.state.toText(c+t.insert.sliceString(0,void 0,e.state.lineBreak)+u))}else{let c=r.changes(t),u=n&&n.main.to<=c.newLength?n.main:void 0;if(r.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=s.to+10&&t.to>=s.to-10){let d=e.state.sliceDoc(t.from,t.to),f,h=n&&lfe(e,n.main.head);if(h){let b=t.insert.length-(t.to-t.from);f={from:h.from,to:h.to-b}}else f=e.state.doc.lineAt(s.head);let p=s.to-t.to;i=r.changeByRange(b=>{if(b.from==s.from&&b.to==s.to)return{changes:c,range:u||b.map(c)};let g=b.to-p,O=g-d.length;if(e.state.sliceDoc(O,g)!=d||g>=f.from&&O<=f.to)return{range:b};let y=r.changes({from:O,to:g,insert:t.insert}),v=b.to-s.to;return{changes:y,range:u?$e.range(Math.max(0,u.anchor+v),Math.max(0,u.head+v)):b.map(y)}})}else i={changes:c,selection:u&&r.selection.replaceRange(u)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:o,scrollIntoView:!0})}function ffe(e,t,n,i){let r=Math.min(e.length,t.length),s=0;for(;s0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if(i=="end"){let c=Math.max(0,s-Math.min(a,o));n-=a+c-s}if(a=a?s-n:0;s-=c,o=s+(o-a),a=s}else if(o=o?s-n:0;s-=c,a=s+(a-o),o=s}return{from:s,toA:a,toB:o}}function Bet(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new Vq(n,i)),(r!=n||s!=i)&&t.push(new Vq(r,s))),t}function Fet(e,t){if(e.length==0)return null;let n=e[0].pos,i=e.length==2?e[1].pos:n;return n>-1&&i>-1?$e.single(n+t,i+t):null}function c_(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class Uet{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,yt.safari&&t.contentDOM.addEventListener("input",()=>null),yt.gecko&&rtt(t.contentDOM.ownerDocument)}handleEvent(t){!Zet(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,n){let i=this.handlers[t];if(i){for(let r of i.observers)r(this.view,n);for(let r of i.handlers){if(n.defaultPrevented)break;if(r(this.view,n)){n.preventDefault();break}}}}ensureHandlers(t){let n=Vet(t),i=this.handlers,r=this.view.contentDOM;for(let s in n)if(s!="scroll"){let a=!n[s].handlers.length,o=i[s];o&&a!=!o.handlers.length&&(r.removeEventListener(s,this.handleEvent),o=null),o||r.addEventListener(s,this.handleEvent,{passive:a})}for(let s in i)s!="scroll"&&!n[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=n}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&pfe.indexOf(t.keyCode)<0&&(this.tabFocusMode=-1),yt.android&&yt.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;if(yt.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&(hfe.some(n=>n.keyCode==t.keyCode)&&!t.ctrlKey||qet.indexOf(t.key)>-1&&t.ctrlKey)){let n={ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey};return n.shiftKey&&yt.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&zet(this.view.win)&&(n.shiftKey=!1),this.pendingIOSKey={key:t.key,keyCode:t.keyCode,mods:n},setTimeout(()=>this.flushIOSKey(),250),!0}return t.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(t){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&t&&t.from0?!0:yt.safari&&!yt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function zet(e){return e.visualViewport?e.visualViewport.height*e.visualViewport.scale/e.document.documentElement.clientHeight<.85:!1}function qq(e,t){return(n,i)=>{try{return t.call(e,i,n)}catch(r){so(n.state,r)}}}function Vet(e){let t=Object.create(null);function n(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of e){let r=i.spec,s=r&&r.plugin.domEventHandlers,a=r&&r.plugin.domEventObservers;if(s)for(let o in s){let c=s[o];c&&n(o).handlers.push(qq(i.value,c))}if(a)for(let o in a){let c=a[o];c&&n(o).observers.push(qq(i.value,c))}}for(let i in gc)n(i).handlers.push(gc[i]);for(let i in La)n(i).observers.push(La[i]);return t}const hfe=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],qet="dthko",pfe=[16,17,18,20,91,92,224,225],HS=6;function YS(e){return Math.max(0,e)*.7+8}function Xet(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}class Het{constructor(t,n,i,r){this.view=t,this.startEvent=n,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=Lde(t.contentDOM),this.atoms=t.state.facet(Zv).map(a=>a(t));let s=t.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=t.state.facet(zn.allowMultipleSelections)&&Yet(t,n),this.dragging=Wet(t,n)&&bfe(n)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Xet(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let n=0,i=0,r=0,s=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:o}=this.scrollParents.y.getBoundingClientRect());let c=M6(this.view);t.clientX-c.left<=r+HS?n=-YS(r-t.clientX):t.clientX+c.right>=a-HS&&(n=YS(t.clientX-a)),t.clientY-c.top<=s+HS?i=-YS(s-t.clientY):t.clientY+c.bottom>=o-HS&&(i=YS(t.clientY-o)),this.setScrollSpeed(n,i)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,n){this.scrollSpeed={x:t,y:n},t||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:n}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(t||n)&&this.view.win.scrollBy(t,n),this.dragging===!1&&this.select(this.lastEvent)}select(t){let{view:n}=this,i=cfe(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Yet(e,t){let n=e.state.facet(Hde);return n.length?n[0](t):yt.mac?t.metaKey:t.ctrlKey}function Get(e,t){let n=e.state.facet(Yde);return n.length?n[0](t):yt.mac?!t.altKey:!t.ctrlKey}function Wet(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=M1(e.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s=t.clientX&&a.top<=t.clientY&&a.bottom>=t.clientY)return!0}return!1}function Zet(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,i;n!=e.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(i=$r.get(n))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0}const gc=Object.create(null),La=Object.create(null),mfe=yt.ie&&yt.ie_version<15||yt.ios&&yt.webkit_version<604;function Ket(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),gfe(e,n.value)},50)}function B2(e,t,n){for(let i of e.facet(t))n=i(n,e);return n}function gfe(e,t){t=B2(e.state,R6,t);let{state:n}=e,i,r=1,s=n.toText(t),a=s.lines==n.selection.ranges.length;if(g5!=null&&n.selection.ranges.every(c=>c.empty)&&g5==s.toString()){let c=-1;i=n.changeByRange(u=>{let d=n.doc.lineAt(u.from);if(d.from==c)return{range:u};c=d.from;let f=n.toText((a?s.line(r++).text:t)+n.lineBreak);return{changes:{from:d.from,insert:f},range:$e.cursor(u.from+f.length)}})}else a?i=n.changeByRange(c=>{let u=s.line(r++);return{changes:{from:c.from,to:c.to,insert:u.text},range:$e.cursor(c.from+u.length)}}):i=n.replaceSelection(s);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}La.scroll=e=>{let t=e.inputState;t.lastScrollTop=e.scrollDOM.scrollTop,t.lastScrollLeft=e.scrollDOM.scrollLeft,yt.ios&&!t.touchActive&&(t.lastIOSMomentumScroll=Date.now())};La.wheel=La.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()};gc.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),t.keyCode==27&&e.inputState.tabFocusMode!=0&&(e.inputState.tabFocusMode=Date.now()+2e3),!1);La.touchstart=(e,t)=>{let n=e.inputState,i=t.targetTouches[0];n.touchActive=!0,n.lastTouchTime=Date.now(),i&&(n.lastTouchX=i.clientX,n.lastTouchY=i.clientY),n.setSelectionOrigin("select.pointer")};La.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")};La.touchend=(e,t)=>{e.inputState.touchActive=!1};gc.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of e.state.facet(Gde))if(n=i(e,t),n)break;if(!n&&t.button==0&&(n=ett(e,t)),n){let i=!e.hasFocus;e.inputState.startMouseSelection(new Het(e,t,n,i)),i&&e.observer.ignore(()=>{$de(e.contentDOM);let s=e.root.activeElement;s&&!s.contains(e.contentDOM)&&s.blur()});let r=e.inputState.mouseSelection;if(r)return r.start(t),r.dragging===!1}else e.inputState.setSelectionOrigin("select.pointer");return!1};function Xq(e,t,n,i){if(i==1)return $e.cursor(t,n);if(i==2)return Cet(e.state,t,n);{let r=e.docView.lineAt(t,n),s=e.state.doc.lineAt(r?r.posAtEnd:t),a=r?r.posAtStart:s.from,o=r?r.posAtEnd:s.to;return oDate.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Yq+1)%3:1}function ett(e,t){let n=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),i=bfe(t),r=e.state.selection;return{update(s){s.docChanged&&(n.pos=s.changes.mapPos(n.pos),r=r.map(s.changes))},get(s,a,o){let c=e.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),u,d=Xq(e,c.pos,c.assoc,i);if(n.pos!=c.pos&&!a){let f=Xq(e,n.pos,n.assoc,i),h=Math.min(f.from,d.from),p=Math.max(f.to,d.to);d=h1&&(u=ttt(r,c.pos))?u:o?r.addRange(d):$e.create([d])}}}function ttt(e,t){for(let n=0;n=t)return $e.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}gc.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.tile.nearest(t.target);if(r&&r.isWidget()){let s=r.posAtStart,a=s+r.length;(s>=n.to||a<=n.from)&&(n=$e.undirectionalRange(s,a))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",B2(e.state,D6,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1};gc.dragend=e=>(e.inputState.draggedContent=null,!1);function Wq(e,t,n,i){if(n=B2(e.state,R6,n),!n)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:s}=e.inputState,a=i&&s&&Get(e,t)?{from:s.from,to:s.to}:null,o={from:r,insert:n},c=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:c,selection:{anchor:c.mapPos(r,-1),head:c.mapPos(r,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}gc.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let i=Array(n.length),r=0,s=()=>{++r==n.length&&Wq(e,t,i.filter(a=>a!=null).join(e.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[a]=o.result),s()},o.readAsText(n[a])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return Wq(e,t,i,!0),!0}return!1};gc.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=mfe?null:t.clipboardData;return n?(gfe(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(Ket(e),!1)};function ntt(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function itt(e){let t=[],n=[],i=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let r=-1;for(let{from:s}of e.selection.ranges){let a=e.doc.lineAt(s);a.number>r&&(t.push(a.text),n.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),r=a.number}i=!0}return{text:B2(e,D6,t.join(e.lineBreak)),ranges:n,linewise:i}}let g5=null;gc.copy=gc.cut=(e,t)=>{if(!Ex(e.contentDOM,e.observer.selectionRange))return!1;let{text:n,ranges:i,linewise:r}=itt(e.state);if(!n&&!r)return!1;g5=r?n:null,t.type=="cut"&&!e.state.readOnly&&e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=mfe?null:t.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(ntt(e,n),!1)};const Ofe=Eu.define();function yfe(e,t){let n=[];for(let i of e.facet(Kde)){let r=i(e,t);r&&n.push(r)}return n.length?e.update({effects:n,annotations:Ofe.of(!0)}):null}function xfe(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=yfe(e.state,t);n?e.dispatch(n):e.update([])}},10)}La.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),xfe(e)};La.blur=e=>{e.observer.clearSelectionRange(),xfe(e)};La.compositionstart=La.compositionupdate=e=>{e.observer.editContext||(e.inputState.compositionFirstChange==null&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))};La.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,yt.chrome&&yt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))};La.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};gc.beforeinput=(e,t)=>{var n,i;if((t.inputType=="insertText"||t.inputType=="insertCompositionText")&&(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),t.inputType=="insertReplacementText"&&e.observer.editContext){let s=(n=t.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),a=t.getTargetRanges();if(s&&a.length){let o=a[0],c=e.posAtDOM(o.startContainer,o.startOffset),u=e.posAtDOM(o.endContainer,o.endOffset);return L6(e,{from:c,to:u,insert:e.state.toText(s)},null),!0}}let r;if(yt.chrome&&yt.android&&(r=hfe.find(s=>s.inputType==t.inputType))&&(e.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>s+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return yt.ios&&t.inputType=="deleteContentForward"&&e.observer.flushSoon(),yt.safari&&t.inputType=="insertText"&&e.inputState.composing>=0&&setTimeout(()=>La.compositionend(e,t),20),!1};const Zq=new Set;function rtt(e){Zq.has(e)||(Zq.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}const Kq=["pre-wrap","normal","pre-line","break-spaces"];let yb=!1;function Jq(){yb=!1}class stt{constructor(t){this.lineWrapping=t,this.doc=li.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,n){let i=this.doc.lineAt(n).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((n-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return Kq.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let n=!1;for(let i=0;i-1,c=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=n,this.charWidth=i,this.textHeight=r,this.lineLength=s,c){this.heightSamples={};for(let u=0;u0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>mk&&(yb=!0),this.height=t)}replace(t,n,i){return Pa.of(i)}decomposeLeft(t,n){n.push(this)}decomposeRight(t,n){n.push(this)}applyChanges(t,n,i,r){let s=this,a=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:c,toA:u,fromB:d,toB:f}=r[o],h=s.lineAt(c,Zi.ByPosNoHeight,i.setDoc(n),0,0),p=h.to>=u?h:s.lineAt(u,Zi.ByPosNoHeight,i,0,0);for(f+=p.to-u,u=p.to;o>0&&h.from<=r[o-1].toA;)c=r[o-1].fromA,d=r[o-1].fromB,o--,cs*2){let o=t[n-1];o.break?t.splice(--n,1,o.left,null,o.right):t.splice(--n,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(s>r*2){let o=t[i];o.break?t.splice(i,1,o.left,null,o.right):t.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else break;else if(r=s&&a(this.lineAt(0,Zi.ByPos,i,r,s))}setMeasuredHeight(t){let n=t.heights[t.index++];n<0?(this.spaceAbove=-n,n=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ro extends vfe{constructor(t,n,i){super(t,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(t,n){return new rc(n,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,n,i){let r=i[0];return i.length==1&&(r instanceof Ro||r instanceof Ys&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Ys?r=new Ro(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Pa.of(i)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Ys extends Pa{constructor(t){super(t,0)}heightMetrics(t,n){let i=t.doc.lineAt(n).number,r=t.doc.lineAt(n+this.length).number,s=r-i+1,a,o=0;if(t.lineWrapping){let c=Math.min(this.height,t.lineHeight*s);a=c/s,this.length>s+1&&(o=(this.height-c)/(this.length-s-1))}else a=this.height/s;return{firstLine:i,lastLine:r,perLine:a,perChar:o}}blockAt(t,n,i,r){let{firstLine:s,lastLine:a,perLine:o,perChar:c}=this.heightMetrics(n,r);if(n.lineWrapping){let u=r+(t0){let s=i[i.length-1];s instanceof Ys?i[i.length-1]=new Ys(s.length+r):i.push(null,new Ys(r-1))}if(t>0){let s=i[0];s instanceof Ys?i[0]=new Ys(t+s.length):i.unshift(new Ys(t-1),null)}return Pa.of(i)}decomposeLeft(t,n){n.push(new Ys(t-1),null)}decomposeRight(t,n){n.push(null,new Ys(this.length-t-1))}updateHeight(t,n=0,i=!1,r){let s=n+this.length;if(r&&r.from<=n+this.length&&r.more){let a=[],o=Math.max(n,r.from),c=-1;for(r.from>n&&a.push(new Ys(r.from-n-1).updateHeight(t,n));o<=s&&r.more;){let d=t.doc.lineAt(o).length;a.length&&a.push(null);let f=r.heights[r.index++],h=0;f<0&&(h=-f,f=r.heights[r.index++]),c==-1?c=f:Math.abs(f-c)>=mk&&(c=-2);let p=new Ro(d,f,h);p.outdated=!1,a.push(p),o+=d+1}o<=s&&a.push(null,new Ys(s-o).updateHeight(t,o));let u=Pa.of(a);return(c<0||Math.abs(u.height-this.height)>=mk||Math.abs(c-this.heightMetrics(t,n).perLine)>=mk)&&(yb=!0),u_(this,u)}else(i||this.outdated)&&(this.setHeight(t.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class ltt extends Pa{constructor(t,n,i){super(t.length+n+i.length,t.height+i.height,n|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,n,i,r){let s=i+this.left.height;return to))return u;let d=n==Zi.ByPosNoHeight?Zi.ByPosNoHeight:Zi.ByPos;return c?u.join(this.right.lineAt(o,d,i,a,o)):this.left.lineAt(o,d,i,r,s).join(u)}forEachLine(t,n,i,r,s,a){let o=r+this.left.height,c=s+this.left.length+this.break;if(this.break)t=c&&this.right.forEachLine(t,n,i,o,c,a);else{let u=this.lineAt(c,Zi.ByPos,i,r,s);t=t&&u.from<=n&&a(u),n>u.to&&this.right.forEachLine(u.to+1,n,i,o,c,a)}}replace(t,n,i){let r=this.left.length+this.break;if(nthis.left.length)return this.balanced(this.left,this.right.replace(t-r,n-r,i));let s=[];t>0&&this.decomposeLeft(t,s);let a=s.length;for(let o of i)s.push(o);if(t>0&&eX(s,a-1),n=i&&n.push(null)),t>i&&this.right.decomposeLeft(t-i,n)}decomposeRight(t,n){let i=this.left.length,r=i+this.break;if(t>=r)return this.right.decomposeRight(t-r,n);t2*n.size||n.size>2*t.size?Pa.of(this.break?[t,null,n]:[t,n]):(this.left=u_(this.left,t),this.right=u_(this.right,n),this.setHeight(t.height+n.height),this.outdated=t.outdated||n.outdated,this.size=t.size+n.size,this.length=t.length+this.break+n.length,this)}updateHeight(t,n=0,i=!1,r){let{left:s,right:a}=this,o=n+s.length+this.break,c=null;return r&&r.from<=n+s.length&&r.more?c=s=s.updateHeight(t,n,i,r):s.updateHeight(t,n,i),r&&r.from<=o+a.length&&r.more?c=a=a.updateHeight(t,o,i,r):a.updateHeight(t,o,i),c?this.balanced(s,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function eX(e,t){let n,i;e[t]==null&&(n=e[t-1])instanceof Ys&&(i=e[t+1])instanceof Ys&&e.splice(t-1,3,new Ys(n.length+1+i.length))}const ctt=5;class $6{constructor(t,n){this.pos=t,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,n){if(this.lineStart>-1){let i=Math.min(n,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Ro?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Ro(i-this.pos,-1,0)),this.writtenTo=i,n>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(t,n,i){if(t=ctt)&&this.addLineDeco(r,s,a)}else n>t&&this.span(t,n);this.lineEnd>-1&&this.lineEnd-1)return;let{from:t,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=n,this.writtenTot&&this.nodes.push(new Ro(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,n){let i=new Ys(n-t);return this.oracle.doc.lineAt(t).to==n&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof Ro)return t;let n=new Ro(0,-1,0);return this.nodes.push(n),n}addBlock(t){this.enterLine();let n=t.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,n&&n.endSide>0&&(this.covering=t)}addLineDeco(t,n,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,t),r.breaks+=n,this.writtenTo=this.pos=this.pos+i}finish(t){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof Ro)&&!this.isCovered?this.nodes.push(new Ro(0,-1,0)):(this.writtenTod.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let h=d.getBoundingClientRect();s=Math.max(s,h.left),a=Math.min(a,h.right),o=Math.max(o,h.top),c=Math.min(u==e.parentNode?r.innerHeight:c,h.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:s-n.left,right:Math.max(s,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,c)-(n.top+t)}}function htt(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}function ptt(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class hR{constructor(t,n,i,r){this.from=t,this.to=n,this.size=i,this.displaySize=r}static same(t,n){if(t.length!=n.length)return!1;for(let i=0;itypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new stt(i),this.stateDeco=iX(n),this.heightMap=Pa.empty().applyChanges(this.stateDeco,li.empty,this.heightOracle.setDoc(n.doc),[new xl(0,0,0,n.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Ut.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=t.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:n}=this.state.selection;for(let i=0;i<=1;i++){let r=i?n.head:n.anchor;if(!t.some(({from:s,to:a})=>r>=s&&r<=a)){let{from:s,to:a}=this.lineBlockAt(r);t.push(new GS(s,a))}}return this.viewports=t.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?nX:new Q6(this.heightOracle,this.heightMap,this.viewports),t.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(My(t,this.scaler))})}update(t,n=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=iX(this.state);let r=t.changedRanges,s=xl.extendWithRanges(r,utt(i,this.stateDeco,t?t.changes:ys.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Jq(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=a||yb)&&(t.flags|=2),o?(this.scrollAnchorPos=t.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let c=s.length?this.mapViewport(this.viewport,t.changes):this.viewport;(n&&(n.range.headc.to)||!this.viewportIsAppropriate(c))&&(c=this.getViewport(0,n));let u=c.from!=this.viewport.from||c.to!=this.viewport.to;this.viewport=c,t.flags|=this.updateForViewport(),(u||!t.changes.empty||t.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(efe)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:t}=this,n=t.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?Bi.RTL:Bi.LTR;let a=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",o=n.getBoundingClientRect(),c=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let u=0,d=0;if(o.width&&o.height){let{scaleX:E,scaleY:S}=Mde(n,o);(E>.005&&Math.abs(this.scaleX-E)>.005||S>.005&&Math.abs(this.scaleY-S)>.005)&&(this.scaleX=E,this.scaleY=S,u|=16,a=c=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,h=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=h)&&(this.paddingTop=f,this.paddingBottom=h,u|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(c=!0),this.editorWidth=t.scrollDOM.clientWidth,u|=16);let p=Lde(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let b=this.getScrollOffset();this.scrollOffset!=b&&(this.scrollAnchorHeight=-1,this.scrollOffset=b),this.scrolledToBottom=Qde(this.scrollParent||t.win);let g=(this.printing?ptt:ftt)(n,this.paddingTop),O=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(c=!0)),!this.inView&&!this.scrollTarget&&!htt(t.dom))return 0;let x=o.width;if((this.contentDOMWidth!=x||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=t.scrollDOM.clientHeight,u|=16),c){let E=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(E)&&(a=!0),a||r.lineWrapping&&Math.abs(x-this.contentDOMWidth)>r.charWidth){let{lineHeight:S,charWidth:k,textHeight:T}=t.docView.measureTextSize();a=S>0&&r.refresh(s,S,k,T,Math.max(5,x/k),E),a&&(t.docView.minWidth=0,u|=16)}O>0&&y>0?d=Math.max(O,y):O<0&&y<0&&(d=Math.min(O,y)),Jq();for(let S of this.viewports){let k=S.from==this.viewport.from?E:t.docView.measureVisibleLineHeights(S);this.heightMap=(a?Pa.empty().applyChanges(this.stateDeco,li.empty,this.heightOracle,[new xl(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,a,new att(S.from,k))}yb&&(u|=2)}let w=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return w&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||w)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,t)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,n){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,c=new GS(r.lineAt(a-i*1e3,Zi.ByHeight,s,0,0).from,r.lineAt(o+(1-i)*1e3,Zi.ByHeight,s,0,0).to);if(n){let{head:u}=n.range;if(uc.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,Zi.ByPos,s,0,0),h;n.y=="center"?h=(f.top+f.bottom)/2-d/2:n.y=="start"||n.y=="nearest"&&u=o+Math.max(10,Math.min(i,250)))&&r>a-2*1e3&&s>1,a=r<<1;if(this.defaultTextDirection!=Bi.LTR&&!i)return[];let o=[],c=(d,f,h,p)=>{if(f-dd&&yy.from>=h.from&&y.to<=h.to&&Math.abs(y.from-d)y.fromv));if(!O){if(fx.from<=f&&x.to>=f)){let x=n.moveToLineBoundary($e.cursor(f),!1,!0).head;x>d&&(f=x)}let y=this.gapSize(h,d,f,p),v=i||y<2e6?y:2e6;O=new hR(d,f,y,v)}o.push(O)},u=d=>{if(d.length2e6)for(let S of t)S.from>=d.from&&S.fromd.from&&c(d.from,p,d,f),bn.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let i=[];Pn.spans(n,this.viewport.from,this.viewport.to,{span(s,a){i.push({from:s,to:a})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(n=>n.from<=t&&n.to>=t)||My(this.heightMap.lineAt(t,Zi.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=t&&n.bottom>=t)||My(this.heightMap.lineAt(this.scaler.fromDOM(t),Zi.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(t){let n=this.lineBlockAtHeight(t+8);return n.from>=this.viewport.from||this.viewportLines[0].top-t>200?n:this.viewportLines[0]}elementAtHeight(t){return My(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class GS{constructor(t,n){this.from=t,this.to=n}}function gtt(e,t,n){let i=[],r=e,s=0;return Pn.spans(n,e,t,{span(){},point(a,o){a>r&&(i.push({from:r,to:a}),s+=a-r),r=o}},20),r=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let r=0;;r++){let{from:s,to:a}=t[r],o=a-s;if(i<=o)return s+i;i-=o}}function ZS(e,t){let n=0;for(let{from:i,to:r}of e.ranges){if(t<=r){n+=t-i;break}n+=r-i}return n/e.total}function btt(e,t){for(let n of e)if(t(n))return n}const nX={toDOM(e){return e},fromDOM(e){return e},scale:1,eq(e){return e==this}};function iX(e){let t=e.facet(L2).filter(i=>typeof i!="function"),n=e.facet(P6).filter(i=>typeof i!="function");return n.length&&t.push(Pn.join(n)),t}class Q6{constructor(t,n,i){let r=0,s=0,a=0;this.viewports=i.map(({from:o,to:c})=>{let u=n.lineAt(o,Zi.ByPos,t,0,0).top,d=n.lineAt(c,Zi.ByPos,t,0,0).bottom;return r+=d-u,{from:o,to:c,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(n.height-r);for(let o of this.viewports)o.domTop=a+(o.top-s)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),s=o.bottom}toDOM(t){for(let n=0,i=0,r=0;;n++){let s=nn.from==t.viewports[i].from&&n.to==t.viewports[i].to):!1}}function My(e,t){if(t.scale==1)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new rc(e.from,e.length,n,i-n,Array.isArray(e._content)?e._content.map(r=>My(r,t)):e._content)}const KS=vt.define({combine:e=>e.join(" ")}),b5=vt.define({combine:e=>e.indexOf(!0)>-1}),O5=Th.newName(),wfe=Th.newName(),Sfe=Th.newName(),Efe={"&light":"."+wfe,"&dark":"."+Sfe};function y5(e,t,n){return new Th(t,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return e;if(!n||!n[r])throw new RangeError(`Unsupported selector: ${r}`);return n[r]}):e+" "+i}})}const Ott=y5("."+O5,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Efe),ytt={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},pR=yt.ie&&yt.ie_version<=11;class xtt{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new HJe,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(n=>{for(let i of n)this.queue.push(i);(yt.ie&&yt.ie_version<=11||yt.ios&&t.composing)&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&yt.android&&t.constructor.EDIT_CONTEXT!==!1&&!(yt.chrome&&yt.chrome_version<126)&&(this.editContext=new wtt(t),t.state.facet(sd)&&(t.contentDOM.editContext=this.editContext.editContext)),pR&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){(t.type=="change"||!t.type)&&!t.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((n,i)=>n!=t[i]))){this.gapIntersection.disconnect();for(let n of t)this.gapIntersection.observe(n);this.gaps=t}}onSelectionChange(t){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(sd)?i.root.activeElement!=this.dom:!Ex(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(t)){n||(this.selectionChanged=!1);return}(yt.ie&&yt.ie_version<=11||yt.android&&yt.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Tx(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,n=M1(t.root);if(!n)return!1;let i=yt.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&vtt(this.view,n)||n;if(!i||this.selectionRange.eq(i))return!1;let r=Ex(this.dom,i);return r&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&A0(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:n,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let n=-1,i=-1,r=!1;for(let s of t){let a=this.readMutation(s);a&&(a.typeOver&&(r=!0),n==-1?{from:n,to:i}=a:(n=Math.min(a.from,n),i=Math.max(a.to,i)))}return{from:n,to:i,typeOver:r}}readChange(){let{from:t,to:n,typeOver:i}=this.processRecords(),r=this.selectionChanged&&Ex(this.dom,this.selectionRange);if(t<0&&!r)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new $et(this.view,t,n,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let i=this.view.state,r=dfe(this.view,n);return this.view.state==i&&(n.domChanged||n.newSel&&!c_(this.view.state.selection,n.newSel.main))&&this.view.update([]),r}readMutation(t){let n=this.view.docView.tile.nearest(t.target);if(!n||n.isWidget())return null;if(n.markDirty(t.type=="attributes"),t.type=="childList"){let i=rX(n,t.previousSibling||t.target.previousSibling,-1),r=rX(n,t.nextSibling||t.target.nextSibling,1);return{from:i?n.posAfter(i):n.posAtStart,to:r?n.posBefore(r):n.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(sd)!=t.state.facet(sd)&&(t.view.contentDOM.editContext=t.state.facet(sd)?this.editContext.editContext:null))}destroy(){var t,n,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function rX(e,t,n){for(;t;){let i=$r.get(t);if(i&&i.parent==e)return i;let r=t.parentNode;t=r!=e.dom?r:n>0?t.nextSibling:t.previousSibling}return null}function sX(e,t){let n=t.startContainer,i=t.startOffset,r=t.endContainer,s=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor,1);return Tx(a.node,a.offset,r,s)&&([n,i,r,s]=[r,s,n,i]),{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}}function vtt(e,t){if(t.getComposedRanges){let r=t.getComposedRanges(e.root)[0];if(r)return sX(e,r)}let n=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),n=r.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),n?sX(e,n):null}class wtt{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let n=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=i=>{let r=t.state.selection.main,{anchor:s,head:a}=r,o=this.toEditorPos(i.updateRangeStart),c=this.toEditorPos(i.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let u=c-o>i.text.length;o==this.from&&sthis.to&&(c=s);let d=ffe(t.state.sliceDoc(o,c),i.text,(u?r.from:r.to)-o,u?"end":null);if(!d){let h=$e.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));c_(h,r)||t.dispatch({selection:h,userEvent:"select"});return}let f={from:d.from+o,to:d.toA+o,insert:li.of(i.text.slice(d.from,d.toB).split(` -`))};if((yt.mac||yt.android)&&f.from==a-1&&/^\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:o,to:c,insert:li.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!t.state.readOnly){let h=this.to-this.from+(f.to-f.from+f.insert.length);L6(t,f,$e.single(this.toEditorPos(i.selectionStart,h),this.toEditorPos(i.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let a=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);a{let r=[];for(let s of i.getTextFormats()){let a=s.underlineStyle,o=s.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let c=this.toEditorPos(s.rangeStart),u=this.toEditorPos(s.rangeEnd);if(c{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(t.state)}};for(let i in this.handlers)n.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=M1(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let n=0,i=!1,r=this.pendingContextChange;return t.changes.iterChanges((s,a,o,c,u)=>{if(i)return;let d=u.length-(a-s);if(r&&a>=r.to)if(r.from==s&&r.to==a&&r.insert.eq(u)){r=this.pendingContextChange=null,n+=d,this.to+=d;return}else r=null,this.revertPending(t.state);if(s+=n,a+=n,a<=this.from)this.from+=d,this.to+=d;else if(sthis.to||this.to-this.from+u.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(a),u.toString()),this.to+=d}n+=d}),r&&!i&&this.revertPending(t.state),!i}update(t){let n=this.pendingContextChange,i=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):!this.applyEdits(t)||!this.rangeIsValid(t.state)?(this.pendingContextChange=null,this.reset(t.state)):(t.docChanged||t.selectionSet||n)&&this.setSelection(t.state),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:n}=t.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(t.doc.length,n+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),t.doc.sliceString(n.from,n.to))}setSelection(t){let{main:n}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),r=this.toContextPos(n.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(t){let{head:n}=t.selection.main;return!(this.from>0&&n-this.from<500||this.to1e4*3)}toEditorPos(t,n=this.to-this.from){t=Math.min(t,n);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let n=this.composing;return n&&n.drifted?n.contextBase+(t-n.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}}class ht{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:i}=t;this.dispatchTransactions=t.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=t.root||YJe(t.parent)||document,this.viewState=new tX(this,t.state||zn.create(t)),t.scrollTo&&t.scrollTo.is(XS)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(i0).map(r=>new lR(r));for(let r of this.plugins)r.update(this);this.observer=new xtt(this),this.inputState=new Uet(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Uq(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...t){let n=t.length==1&&t[0]instanceof as?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(n,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,i=!1,r,s=this.state;for(let h of t){if(h.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=h.state}if(this.destroyed){this.viewState.state=s;return}let a=this.hasFocus,o=0,c=null;t.some(h=>h.annotation(Ofe))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,c=yfe(s,a),c||(o=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(d=null)):this.observer.clear(),s.facet(zn.phrases)!=this.state.facet(zn.phrases))return this.setState(s);r=a_.create(this,s,t),r.flags|=o;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let h of t){if(f&&(f=f.map(h.changes)),h.scrollIntoView){let{main:p}=h.state.selection,{x:b,y:g}=this.state.facet(ht.cursorScrollMargin);f=new C0(p.empty?p:$e.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,b)}for(let p of h.effects)p.is(XS)&&(f=p.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=d_.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),n=this.docView.update(r),this.state.facet(Py)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(n,t.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(KS)!=r.state.facet(KS)&&(this.viewState.mustMeasureContent=!0),(n||i||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!r.empty)for(let h of this.state.facet(f5))try{h(r)}catch(p){so(this.state,p,"update listener")}(c||d)&&Promise.resolve().then(()=>{c&&this.state==c.startState&&this.dispatch(c),d&&!dfe(this,d)&&u.force&&A0(this.contentDOM,u.key,u.keyCode)})}setState(t){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let n=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new tX(this,t),this.plugins=t.facet(i0).map(i=>new lR(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Uq(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(t){let n=t.startState.facet(i0),i=t.state.facet(i0);if(n!=i){let r=[];for(let s of i){let a=n.indexOf(s);if(a<0)r.push(new lR(s));else{let o=this.plugins[a];o.mustUpdate=t,r.push(o)}}for(let s of this.plugins)s.mustUpdate!=t&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=t;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let n=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:a}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(Qde(i||this.win))s=-1,a=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,a=p.top}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];c&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(p=>{try{return p.read(this)}catch(b){return so(this.state,b),aX}}),f=a_.create(this,this.state,[]),h=!1;f.flags|=c,n?n.flags|=c:n=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),h=this.docView.update(f),h&&this.docViewUpdate());for(let p=0;p1||b<-1)&&!(yt.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+b,i?i.scrollTop+=b:this.win.scrollBy(0,b),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let o of this.state.facet(f5))o(n)}get themeClasses(){return O5+" "+(this.state.facet(b5)?Sfe:wfe)+" "+this.state.facet(KS)}updateAttrs(){let t=oX(this,ife,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(sd)?"true":"false",class:"cm-content",style:`${yt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),oX(this,I6,n);let i=this.observer.ignore(()=>{let r=Mq(this.contentDOM,this.contentAttrs,n),s=Mq(this.dom,this.editorAttrs,t);return r||s});return this.editorAttrs=t,this.contentAttrs=n,i}showAnnouncements(t){let n=!0;for(let i of t)for(let r of i.effects)if(r.is(ht.announce)){n&&(this.announceDOM.textContent=""),n=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Py);let t=this.state.facet(ht.cspNonce);Th.mount(this.root,this.styleModules.concat(Ott).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let n=0;ni.plugin==t)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,n,i){return fR(this,t,zq(this,t,n,i))}moveByGroup(t,n){return fR(this,t,zq(this,t,n,i=>Ret(this,t.head,i)))}visualLineSide(t,n){let i=this.bidiSpans(t),r=this.textDirectionAt(t.from),s=i[n?i.length-1:0];return $e.cursor(s.side(n,r)+t.from,s.forward(!n,r)?1:-1)}moveToLineBoundary(t,n,i=!0){return jet(this,t,n,i)}moveVertically(t,n,i){return fR(this,t,Det(this,t,n,i))}domAtPos(t,n=1){return this.docView.domAtPos(t,n)}posAtDOM(t,n=0){return this.docView.posFromDOM(t,n)}posAtCoords(t,n=!0){this.readMeasured();let i=m5(this,t,n);return i&&i.pos}posAndSideAtCoords(t,n=!0){return this.readMeasured(),m5(this,t,n)}coordsAtPos(t,n=1){this.readMeasured();let i=this.state.doc.lineAt(t),r=this.bidiSpans(i),s=r[tu.find(r,t-i.from,-1,n)];return this.docView.coordsAt(t,n,s.dir==Bi.RTL)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(Jde)||tthis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>Stt)return qde(t.length);let n=this.textDirectionAt(t.from),i;for(let s of this.bidiCache)if(s.from==t.from&&s.dir==n&&(s.fresh||Vde(s.isolates,i=Qq(this,t))))return s.order;i||(i=Qq(this,t));let r=net(t.text,n,i);return this.bidiCache.push(new d_(t.from,t.to,n,i,!0,r)),r}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||yt.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{$de(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,n={}){var i,r,s,a;return XS.of(new C0(typeof t=="number"?$e.cursor(t):t,(i=n.y)!==null&&i!==void 0?i:"nearest",(r=n.x)!==null&&r!==void 0?r:"nearest",(s=n.yMargin)!==null&&s!==void 0?s:5,(a=n.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:t,scrollLeft:n}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return XS.of(new C0($e.cursor(i.from),"start","start",i.top-t,n,!0))}setTabFocusMode(t){t==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof t=="boolean"?this.inputState.tabFocusMode=t?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return Qr.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return Qr.define(()=>({}),{eventObservers:t})}static theme(t,n){let i=Th.newName(),r=[KS.of(i),Py.of(y5(`.${i}`,t))];return n&&n.dark&&r.push(b5.of(!0)),r}static baseTheme(t){return Yd.lowest(Py.of(y5("."+O5,t,Efe)))}static findFromDOM(t){var n;let i=t.querySelector(".cm-content"),r=i&&$r.get(i)||$r.get(t);return((n=r==null?void 0:r.root)===null||n===void 0?void 0:n.view)||null}}ht.styleModule=Py;ht.inputHandler=Zde;ht.clipboardInputFilter=R6;ht.clipboardOutputFilter=D6;ht.scrollHandler=tfe;ht.focusChangeEffect=Kde;ht.perLineTextDirection=Jde;ht.exceptionSink=Wde;ht.updateListener=f5;ht.editable=sd;ht.mouseSelectionStyle=Gde;ht.dragMovesSelection=Yde;ht.clickAddsSelectionRange=Hde;ht.decorations=L2;ht.blockWrappers=rfe;ht.outerDecorations=P6;ht.atomicRanges=Zv;ht.bidiIsolatedRanges=sfe;ht.cursorScrollMargin=vt.define({combine:e=>{let t=5,n=5;for(let i of e)typeof i=="number"?t=n=i:{x:t,y:n}=i;return{x:t,y:n}}});ht.scrollMargins=afe;ht.darkTheme=b5;ht.cspNonce=vt.define({combine:e=>e.length?e[0]:""});ht.contentAttributes=I6;ht.editorAttributes=ife;ht.lineWrapping=ht.contentAttributes.of({class:"cm-lineWrapping"});ht.announce=an.define();const Stt=4096,aX={};class d_{constructor(t,n,i,r,s,a){this.from=t,this.to=n,this.dir=i,this.isolates=r,this.fresh=s,this.order=a}static update(t,n){if(n.empty&&!t.some(s=>s.fresh))return t;let i=[],r=t.length?t[t.length-1].dir:Bi.LTR;for(let s=Math.max(0,t.length-10);s=0;r--){let s=i[r],a=typeof s=="function"?s(e):s;a&&C6(a,n)}return n}const Ett=yt.mac?"mac":yt.windows?"win":yt.linux?"linux":"key";function ktt(e,t){const n=e.split(/-(?!$)/);let i=n[n.length-1];i=="Space"&&(i=" ");let r,s,a,o;for(let c=0;ci.concat(r),[]))),n}function _tt(e,t,n){return Tfe(kfe(e.state),t,e,n)}let Mf=null;const Att=4e3;function Ctt(e,t=Ett){let n=Object.create(null),i=Object.create(null),r=(a,o)=>{let c=i[a];if(c==null)i[a]=o;else if(c!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},s=(a,o,c,u,d)=>{var f,h;let p=n[a]||(n[a]=Object.create(null)),b=o.split(/ (?!$)/).map(y=>ktt(y,t));for(let y=1;y{let w=Mf={view:x,prefix:v,scope:a};return setTimeout(()=>{Mf==w&&(Mf=null)},Att),!0}]})}let g=b.join(" ");r(g,!1);let O=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((h=(f=p._any)===null||f===void 0?void 0:f.run)===null||h===void 0?void 0:h.slice())||[]});c&&O.run.push(c),u&&(O.preventDefault=!0),d&&(O.stopPropagation=!0)};for(let a of e){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let u of o){let d=n[u]||(n[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=a;for(let h in d)d[h].run.push(p=>f(p,x5))}let c=a[t]||a.key;if(c)for(let u of o)s(u,c,a.run,a.preventDefault,a.stopPropagation),a.shift&&s(u,"Shift-"+c,a.shift,a.preventDefault,a.stopPropagation)}return n}let x5=null;function Tfe(e,t,n,i){x5=t;let r=FJe(t),s=eo(r,0),a=Hc(s)==r.length&&r!=" ",o="",c=!1,u=!1,d=!1;Mf&&Mf.view==n&&Mf.scope==i&&(o=Mf.prefix+" ",pfe.indexOf(t.keyCode)<0&&(u=!0,Mf=null));let f=new Set,h=O=>{if(O){for(let y of O.run)if(!f.has(y)&&(f.add(y),y(n)))return O.stopPropagation&&(d=!0),!0;O.preventDefault&&(O.stopPropagation&&(d=!0),u=!0)}return!1},p=e[i],b,g;return p&&(h(p[o+JS(r,t,!a)])?c=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(yt.windows&&t.ctrlKey&&t.altKey)&&!(yt.mac&&t.altKey&&!(t.ctrlKey||t.metaKey))&&(b=_h[t.keyCode])&&b!=r?(h(p[o+JS(b,t,!0)])||t.shiftKey&&(g=I1[t.keyCode])!=r&&g!=b&&h(p[o+JS(g,t,!1)]))&&(c=!0):a&&t.shiftKey&&h(p[o+JS(r,t,!0)])&&(c=!0),!c&&h(p._any)&&(c=!0)),u&&(c=!0),c&&d&&t.stopPropagation(),x5=null,c}class Yp{constructor(t,n,i,r,s){this.className=t,this.left=n,this.top=i,this.width=r,this.height=s}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,n){return n.className!=this.className?!1:(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",this.width!=null&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,n,i){if(i.empty){let r=t.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=_fe(t);return[new Yp(n,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return Ntt(t,n,i)}}function _fe(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Bi.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function cX(e,t,n,i){let r=e.coordsAtPos(t,n*2);if(!r)return i;let s=e.dom.getBoundingClientRect(),a=(r.top+r.bottom)/2,o=e.posAtCoords({x:s.left+1,y:a}),c=e.posAtCoords({x:s.right-1,y:a});return o==null||c==null?i:{from:Math.max(i.from,Math.min(o,c)),to:Math.min(i.to,Math.max(o,c))}}function Ntt(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),s=e.textDirection==Bi.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),c=_fe(e),u=a.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),h=o.right-(d?parseInt(d.paddingRight):0),p=p5(e,i,1),b=p5(e,r,-1),g=p.type==na.Text?p:null,O=b.type==na.Text?b:null;if(g&&(e.lineWrapping||p.widgetLineBreaks)&&(g=cX(e,i,1,g)),O&&(e.lineWrapping||b.widgetLineBreaks)&&(O=cX(e,r,-1,O)),g&&O&&g.from==O.from&&g.to==O.to)return v(x(n.from,n.to,g));{let E=g?x(n.from,null,g):w(p,!1),S=O?x(null,n.to,O):w(b,!0),k=[];return(g||p).to<(O||b).from-(g&&O?1:0)||p.widgetLineBreaks>1&&E.bottom+e.defaultLineHeight/2P&&I.from=j)break;M>$&&R(Math.max(Q,$),E==null&&Q<=P,Math.min(M,j),S==null&&M>=B,F.dir)}if($=D.to+1,$>=j)break}return A.length==0&&R(P,E==null,B,S==null,e.textDirection),{top:T,bottom:C,horizontal:A}}function w(E,S){let k=o.top+(S?E.top:E.bottom);return{top:k,bottom:k,horizontal:[]}}}function jtt(e,t){return e.constructor==t.constructor&&e.eq(t)}class Rtt{constructor(t,n){this.view=t,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,t)}update(t){t.startState.facet(gk)!=t.state.facet(gk)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){this.layer.updateOnDocViewUpdate!==!1&&t.requestMeasure(this.measureReq)}setOrder(t){let n=0,i=t.facet(gk);for(;n!jtt(n,this.drawn[i]))){let n=this.dom.firstChild,i=0;for(let r of t)r.update&&n&&r.constructor&&this.drawn[i].constructor&&r.update(n,this.drawn[i])?(n=n.nextSibling,i++):this.dom.insertBefore(r.draw(),n);for(;n;){let r=n.nextSibling;n.remove(),n=r}this.drawn=t,yt.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const gk=vt.define();function Afe(e){return[Qr.define(t=>new Rtt(t,e)),gk.of(e)]}const xb=vt.define({combine(e){return ku(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(t,n)=>Math.min(t,n),drawRangeCursor:(t,n)=>t||n})}});function Dtt(e={}){return[xb.of(e),Itt,Ptt,Mtt,efe.of(!0)]}function Cfe(e){return e.startState.facet(xb)!=e.state.facet(xb)}const Itt=Afe({above:!0,markers(e){let{state:t}=e,n=t.facet(xb),i=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty||n.drawRangeCursor&&!(s&&yt.ios&&n.iosSelectionHandles)){let a=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:$e.cursor(r.head,r.assoc);for(let c of Yp.forRange(e,a,o))i.push(c)}}return i},update(e,t){e.transactions.some(i=>i.selection)&&(t.style.animationName=t.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=Cfe(e);return n&&uX(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){uX(t.state,e)},class:"cm-cursorLayer"});function uX(e,t){t.style.animationDuration=e.facet(xb).cursorBlinkRate+"ms"}const Ptt=Afe({above:!1,markers(e){let t=[],{main:n,ranges:i}=e.state.selection;for(let r of i)if(!r.empty)for(let s of Yp.forRange(e,"cm-selectionBackground",r))t.push(s);if(yt.ios&&!n.empty&&e.state.facet(xb).iosSelectionHandles){for(let r of Yp.forRange(e,"cm-selectionHandle cm-selectionHandle-start",$e.cursor(n.from,1)))t.push(r);for(let r of Yp.forRange(e,"cm-selectionHandle cm-selectionHandle-end",$e.cursor(n.to,1)))t.push(r)}return t},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||Cfe(e)},class:"cm-selectionLayer"}),Mtt=Yd.highest(ht.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Nfe=an.define({map(e,t){return e==null?null:t.mapPos(e)}}),Ly=ra.define({create(){return null},update(e,t){return e!=null&&(e=t.changes.mapPos(e)),t.effects.reduce((n,i)=>i.is(Nfe)?i.value:n,e)}}),Ltt=Qr.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(Ly);n==null?this.cursor!=null&&((t=this.cursor)===null||t===void 0||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Ly)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(Ly),n=t!=null&&e.coordsAtPos(t);if(!n)return null;let i=e.scrollDOM.getBoundingClientRect();return{left:n.left-i.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-i.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Ly)!=e&&this.view.dispatch({effects:Nfe.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){(e.target==this.view.contentDOM||!this.view.contentDOM.contains(e.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function $tt(){return[Ly,Ltt]}function dX(e,t,n,i,r){t.lastIndex=0;for(let s=e.iterRange(n,i),a=n,o;!s.next().done;a+=s.value.length)if(!s.lineBreak)for(;o=t.exec(s.value);)r(a+o.index,o)}function Qtt(e,t){let n=e.visibleRanges;if(n.length==1&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class Btt{constructor(t){const{regexp:n,decoration:i,decorate:r,boundary:s,maxLength:a=1e3}=t;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,r)this.addMatch=(o,c,u,d)=>r(d,u,u+o[0].length,o,c);else if(typeof i=="function")this.addMatch=(o,c,u,d)=>{let f=i(o,c,u);f&&d(u,u+o[0].length,f)};else if(i)this.addMatch=(o,c,u,d)=>d(u,u+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=a}createDeco(t){let n=new Pd,i=n.add.bind(n);for(let{from:r,to:s}of Qtt(t,this.maxLength))dX(t.state.doc,this.regexp,r,s,(a,o)=>this.addMatch(o,t,a,i));return n.finish()}updateDeco(t,n){let i=1e9,r=-1;return t.docChanged&&t.changes.iterChanges((s,a,o,c)=>{c>=t.view.viewport.from&&o<=t.view.viewport.to&&(i=Math.min(o,i),r=Math.max(c,r))}),t.viewportMoved||r-i>1e3?this.createDeco(t.view):r>-1?this.updateRange(t.view,n.map(t.changes),i,r):n}updateRange(t,n,i,r){for(let s of t.visibleRanges){let a=Math.max(s.from,i),o=Math.min(s.to,r);if(o>=a){let c=t.state.doc.lineAt(a),u=c.toc.from;a--)if(this.boundary.test(c.text[a-1-c.from])){d=a;break}for(;oh.push(y.range(g,O));if(c==u)for(this.regexp.lastIndex=d-c.from;(p=this.regexp.exec(c.text))&&p.indexthis.addMatch(O,t,g,b));n=n.update({filterFrom:d,filterTo:f,filter:(g,O)=>gf,add:h})}}return n}}const v5=/x/.unicode!=null?"gu":"g",Ftt=new RegExp(`[\0-\b ---Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,v5),Utt={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let mR=null;function ztt(){var e;if(mR==null&&typeof document<"u"&&document.body){let t=document.body.style;mR=((e=t.tabSize)!==null&&e!==void 0?e:t.MozTabSize)!=null}return mR||!1}const bk=vt.define({combine(e){let t=ku(e,{render:null,specialChars:Ftt,addSpecialChars:null});return(t.replaceTabs=!ztt())&&(t.specialChars=new RegExp(" |"+t.specialChars.source,v5)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,v5)),t}});function Vtt(e={}){return[bk.of(e),qtt()]}let fX=null;function qtt(){return fX||(fX=Qr.fromClass(class{constructor(e){this.view=e,this.decorations=Ut.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(bk)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Btt({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:r}=n.state,s=eo(t[0],0);if(s==9){let a=r.lineAt(i),o=n.state.tabSize,c=mc(a.text,o,i-a.from);return Ut.replace({widget:new Gtt((o-c%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=Ut.replace({widget:new Ytt(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(bk);e.startState.facet(bk)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const Xtt="•";function Htt(e){return e>=32?Xtt:e==10?"␤":String.fromCharCode(9216+e)}class Ytt extends Ec{constructor(t,n){super(),this.options=t,this.code=n}eq(t){return t.code==this.code}toDOM(t){let n=Htt(this.code),i=t.state.phrase("Control character")+" "+(Utt[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,n);if(r)return r;let s=document.createElement("span");return s.textContent=n,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Gtt extends Ec{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}function Wtt(){return Ktt}const Ztt=Ut.line({class:"cm-activeLine"}),Ktt=Qr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let i of e.state.selection.ranges){let r=e.lineBlockAt(i.head);r.from>t&&(n.push(Ztt.range(r.from)),t=r.from)}return Ut.set(n)}},{decorations:e=>e.decorations});class Jtt extends Ec{constructor(t){super(),this.content=t}toDOM(t){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(t):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(t){let n=t.firstChild?kx(t.firstChild):[];if(!n.length)return null;let i=window.getComputedStyle(t.parentNode),r=L1(n[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}}function ent(e){let t=Qr.fromClass(class{constructor(n){this.view=n,this.placeholder=e?Ut.set([Ut.widget({widget:new Jtt(e),side:1}).range(0)]):Ut.none}get decorations(){return this.view.state.doc.length?Ut.none:this.placeholder}},{decorations:n=>n.decorations});return typeof e=="string"?[t,ht.contentAttributes.of({"aria-placeholder":e})]:t}const w5=2e3;function tnt(e,t,n){let i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),s=[];if(t.off>w5||n.off>w5||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let c=i;c<=r;c++){let u=e.doc.line(c);u.length<=o&&s.push($e.range(u.from+a,u.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let c=i;c<=r;c++){let u=e.doc.line(c),d=t5(u.text,a,e.tabSize,!0);if(d<0)s.push($e.cursor(u.to));else{let f=t5(u.text,o,e.tabSize);s.push($e.range(u.from+d,u.from+f))}}}return s}function nnt(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function hX(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,s=r>w5?-1:r==i.length?nnt(e,t.clientX):mc(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function int(e,t){let n=hX(e,t),i=e.state.selection;return n?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(n.line).from),a=r.state.doc.lineAt(s);n={line:a.number,col:n.col,off:Math.min(n.off,a.length)},i=i.map(r.changes)}},get(r,s,a){let o=hX(e,r);if(!o)return i;let c=tnt(e.state,n,o);return c.length?a?$e.create(c.concat(i.ranges)):$e.create(c):i}}:null}function rnt(e){let t=n=>n.altKey&&n.button==0;return ht.mouseSelectionStyle.of((n,i)=>t(i)?int(n,i):null)}const snt={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},ant={style:"cursor: crosshair"};function ont(e={}){let[t,n]=snt[e.key||"Alt"],i=Qr.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==t||n(r))},keyup(r){(r.keyCode==t||!n(r))&&this.set(!1)},mousemove(r){this.set(n(r))}}});return[i,ht.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?ant:null})]}const eE="-10000px";class jfe{constructor(t,n,i,r){this.facet=n,this.createTooltipView=i,this.removeTooltipView=r,this.input=t.state.facet(n),this.tooltips=this.input.filter(a=>a);let s=null;this.tooltipViews=this.tooltips.map(a=>s=i(a,s))}update(t,n){var i;let r=t.state.facet(this.facet),s=r.filter(c=>c);if(r===this.input){for(let c of this.tooltipViews)c.update&&c.update(t);return!1}let a=[],o=n?[]:null;for(let c=0;cn[u]=c),n.length=o.length),this.input=r,this.tooltips=s,this.tooltipViews=a,!0}}function lnt(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const gR=vt.define({combine:e=>{var t,n,i;return{position:yt.ios?"absolute":((t=e.find(r=>r.position))===null||t===void 0?void 0:t.position)||"fixed",parent:((n=e.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((i=e.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||lnt}}}),pX=new WeakMap,B6=Qr.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(gR);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new jfe(e,F6,(n,i)=>this.createTooltip(n,i),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(gR);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),i=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",n.dom.appendChild(r)}return n.dom.style.position=this.position,n.dom.style.top=eE,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(e=i.destroy)===null||e===void 0||e.call(i);this.parent&&this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(yt.safari){let a=s.getBoundingClientRect();n=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else n=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(e=s.width/this.parent.offsetWidth,t=s.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=M6(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,a)=>{let o=this.manager.tooltipViews[a];return o.getCoords?o.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(gR).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:n,space:i,scaleX:r,scaleY:s}=e,a=[];for(let o=0;o=Math.min(n.bottom,i.bottom)||f.rightMath.min(n.right,i.right)+.1)){d.style.top=eE;continue}let p=c.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,b=p?7:0,g=h.right-h.left,O=(t=pX.get(u))!==null&&t!==void 0?t:h.bottom-h.top,y=u.offset||unt,v=this.view.textDirection==Bi.LTR,x=h.width>i.right-i.left?v?i.left:i.right-h.width:v?Math.max(i.left,Math.min(f.left-(p?14:0)+y.x,i.right-g)):Math.min(Math.max(i.left,f.left-g+(p?14:0)-y.x),i.right-g),w=this.above[o];!c.strictSide&&(w?f.top-O-b-y.yi.bottom)&&w==i.bottom-f.bottom>f.top-i.top&&(w=this.above[o]=!w);let E=(w?f.top-i.top:i.bottom-f.bottom)-b;if(Ex&&T.topS&&(S=w?T.top-O-2-b:T.bottom+b+2);if(this.position=="absolute"?(d.style.top=(S-e.parent.top)/s+"px",mX(d,(x-e.parent.left)/r)):(d.style.top=S/s+"px",mX(d,x/r)),p){let T=f.left+(v?y.x:-y.x)-(x+14-7);p.style.left=T/r+"px"}u.overlap!==!0&&a.push({left:x,top:S,right:k,bottom:S+O}),d.classList.toggle("cm-tooltip-above",w),d.classList.toggle("cm-tooltip-below",!w),u.positioned&&u.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=eE}},{eventObservers:{scroll(){this.maybeMeasure()}}});function mX(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const cnt=ht.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),unt={x:0,y:0},F6=vt.define({enables:[B6,cnt]}),f_=vt.define({combine:e=>e.reduce((t,n)=>t.concat(n),[])});class F2{static create(t){return new F2(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new jfe(t,f_,(n,i)=>this.createHostedView(n,i),n=>n.dom.remove())}createHostedView(t,n){let i=t.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(t){for(let n of this.manager.tooltipViews)n.mount&&n.mount(t);this.mounted=!0}positioned(t){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let n of this.manager.tooltipViews)(t=n.destroy)===null||t===void 0||t.call(n)}passProp(t){let n;for(let i of this.manager.tooltipViews){let r=i[t];if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const dnt=F6.compute([f_],e=>{let t=e.facet(f_);return t.length===0?null:{pos:Math.min(...t.map(n=>n.pos)),end:Math.max(...t.map(n=>{var i;return(i=n.end)!==null&&i!==void 0?i:n.pos})),create:F2.create,above:t[0].above,arrow:t.some(n=>n.arrow)}}),Rfe=vt.define();class fnt{constructor(t,n,i,r,s,a){this.view=t,this.source=n,this.field=i,this.locked=r,this.setHover=s,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(t){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let t=Date.now()-this.lastMove.time;ta.bottom||n.xa.right+t.defaultCharacterWidth)return;let o=t.bidiSpans(t.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),c=o&&o.dir==Bi.RTL?-1:1;s=n.x{if(o&&!(Array.isArray(o)&&!o.length)){let c=Array.isArray(o)?o:[o];r&&this.locked.set(c,r),t.dispatch({effects:this.setHover.of(c)})}};if(s&&"then"in s){let o=this.pending={pos:n};s.then(c=>{this.pending==o&&(this.pending=null,a(c))},c=>so(t.state,c,"hover tooltip"))}else a(s)}get tooltip(){let t=this.view.plugin(B6),n=t?t.manager.tooltips.findIndex(i=>i.create==F2.create):-1;return n>-1?t.manager.tooltipViews[n]:null}mousemove(t){var n,i;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&!this.locked.has(r)&&s&&!hnt(s.dom,t)||this.pending){let{pos:a}=r[0]||this.pending,o=(i=(n=r[0])===null||n===void 0?void 0:n.end)!==null&&i!==void 0?i:a;(a==o?this.view.posAtCoords(this.lastMove)!=a:!pnt(this.view,a,o,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length&&!this.locked.has(n)){let{tooltip:i}=this;i&&i.dom.contains(t.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let n=i=>{t.removeEventListener("mouseleave",n);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const tE=4;function hnt(e,t){let{left:n,right:i,top:r,bottom:s}=e.getBoundingClientRect(),a;if(a=e.querySelector(".cm-tooltip-arrow")){let o=a.getBoundingClientRect();r=Math.min(o.top,r),s=Math.max(o.bottom,s)}return t.clientX>=n-tE&&t.clientX<=i+tE&&t.clientY>=r-tE&&t.clientY<=s+tE}function pnt(e,t,n,i,r,s){let a=e.scrollDOM.getBoundingClientRect(),o=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>i||a.rightr||Math.min(a.bottom,o)=t&&c<=n}function mnt(e,t={}){let n=an.define(),i=new WeakMap,r=ra.define({create(){return[]},update(a,o){let c=i.get(a);if(a.length&&(t.hideOnChange&&(o.docChanged||o.selection)?a=[]:c&&c(o)?a=[]:t.hideOn&&(a=a.filter(u=>!t.hideOn(o,u)))),o.docChanged&&a.length){let u=[];for(let d of a){let f=o.changes.mapPos(d.pos,-1,Ks.TrackDel);if(f!=null){let h=Object.assign(Object.create(null),d);h.pos=f,h.end!=null&&(h.end=o.changes.mapPos(h.end)),u.push(h)}}a=u}for(let u of o.effects)u.is(n)&&(a=u.value,c=void 0),(u.is(bnt)&&!u.value||u.value==r)&&(a=[]);return a.length&&c&&i.set(a,c),a},provide:a=>f_.from(a)});const s=Qr.define(a=>new fnt(a,e,r,i,n,t.hoverTime||300));return{active:r,extension:[r,s,Rfe.of(s),dnt]}}function gnt(e,t,n,i={}){var r;let s=e.state.facet(Rfe).map(a=>e.plugin(a)).filter(a=>!!a);if(i.tooltip&&i.tooltip.active){let a=s.find(o=>o.field==i.tooltip.active);a&&(s=[a])}for(let a of s)a.activateHover(e,t,n,(r=i.until)!==null&&r!==void 0?r:()=>!1)}function Dfe(e,t){let n=e.plugin(B6);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const bnt=an.define(),gX=vt.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function U6(e,t){let n=e.plugin(Ife),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const Ife=Qr.fromClass(class{constructor(e){this.input=e.state.facet(Q1),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(e));let t=e.state.facet(gX);this.top=new nE(e,!0,t.topContainer),this.bottom=new nE(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(gX);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new nE(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new nE(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(Q1);if(n!=this.input){let i=n.filter(c=>c),r=[],s=[],a=[],o=[];for(let c of i){let u=this.specs.indexOf(c),d;u<0?(d=c(e.view),o.push(d)):(d=this.panels[u],d.update&&d.update(e)),r.push(d),(d.top?s:a).push(d)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(a);for(let c of o)c.dom.classList.add("cm-panel"),c.mount&&c.mount()}else for(let i of this.panels)i.update&&i.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>ht.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class nE{constructor(t,n,i){this.view=t,this.top=n,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let n of this.panels)n.destroy&&t.indexOf(n)<0&&n.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let t=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;t!=n.dom;)t=bX(t);t=t.nextSibling}else this.dom.insertBefore(n.dom,t);for(;t;)t=bX(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function bX(e){let t=e.nextSibling;return e.remove(),t}const Q1=vt.define({enables:Ife});function Ont(e,t){let n,i=new Promise(a=>n=a),r=a=>ynt(a,t,n);e.state.field(bR,!1)?e.dispatch({effects:Pfe.of(r)}):e.dispatch({effects:an.appendConfig.of(bR.init(()=>[r]))});let s=Mfe.of(r);return{close:s,result:i.then(a=>((e.win.queueMicrotask||(c=>e.win.setTimeout(c,10)))(()=>{e.state.field(bR).indexOf(r)>-1&&e.dispatch({effects:s})}),a))}}const bR=ra.define({create(){return[]},update(e,t){for(let n of t.effects)n.is(Pfe)?e=[n.value].concat(e):n.is(Mfe)&&(e=e.filter(i=>i!=n.value));return e},provide:e=>Q1.computeN([e],t=>t.field(e))}),Pfe=an.define(),Mfe=an.define();function ynt(e,t,n){let i=t.content?t.content(e,()=>a(null)):null;if(!i){if(i=Di("form"),t.input){let o=Di("input",t.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),i.appendChild(Di("label",(t.label||"")+": ",o))}else i.appendChild(document.createTextNode(t.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(Di("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let r=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let o=0;o{u.keyCode==27?(u.preventDefault(),a(null)):u.keyCode==13&&(u.preventDefault(),a(c))}),c.addEventListener("submit",u=>{u.preventDefault(),a(c)})}let s=Di("div",i,Di("button",{onclick:()=>a(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));t.class&&(s.className=t.class),s.classList.add("cm-dialog");function a(o){s.contains(s.ownerDocument.activeElement)&&e.focus(),n(o)}return{dom:s,top:t.top,mount:()=>{if(t.focus){let o;typeof t.focus=="string"?o=i.querySelector(t.focus):o=i.querySelector("input")||i.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class Ld extends kh{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}Ld.prototype.elementClass="";Ld.prototype.toDOM=void 0;Ld.prototype.mapMode=Ks.TrackBefore;Ld.prototype.startSide=Ld.prototype.endSide=-1;Ld.prototype.point=!0;const Ok=vt.define(),xnt=vt.define(),vnt={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Pn.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ax=vt.define();function wnt(e){return[Lfe(),Ax.of({...vnt,...e})]}const OX=vt.define({combine:e=>e.some(t=>t)});function Lfe(e){return[Snt]}const Snt=Qr.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Ax).map(t=>new xX(e,t)),this.fixed=!e.state.facet(OX);for(let t of this.gutters)t.config.side=="after"?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<(n.to-n.from)*.8)}if(e.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(OX)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Pn.iter(this.view.state.facet(Ok),this.view.viewport.from),i=[],r=this.gutters.map(s=>new Ent(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let a=!0;for(let o of s.type)if(o.type==na.Text&&a){S5(n,i,o.from);for(let c of r)c.line(this.view,o,i);a=!1}else if(o.widget)for(let c of r)c.widget(this.view,o)}else if(s.type==na.Text){S5(n,i,s.from);for(let a of r)a.line(this.view,s,i)}else if(s.widget)for(let a of r)a.widget(this.view,s);for(let s of r)s.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(Ax),n=e.state.facet(Ax),i=e.docChanged||e.heightChanged||e.viewportChanged||!Pn.eq(e.startState.facet(Ok),e.state.facet(Ok),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let r of this.gutters)r.update(e)&&(i=!0);else{i=!0;let r=[];for(let s of n){let a=t.indexOf(s);a<0?r.push(new xX(this.view,s)):(this.gutters[a].update(e),r.push(this.gutters[a]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>ht.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||n.gutters.length==0||!n.fixed)return null;let i=n.dom.offsetWidth*t.scaleX,r=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==Bi.LTR?{left:i,right:r}:{right:i,left:r}})});function yX(e){return Array.isArray(e)?e:[e]}function S5(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class Ent{constructor(t,n,i){this.gutter=t,this.height=i,this.i=0,this.cursor=Pn.iter(t.markers,n.from)}addElement(t,n,i){let{gutter:r}=this,s=(n.top-this.height)/t.scaleY,a=n.height/t.scaleY;if(this.i==r.elements.length){let o=new $fe(t,a,s,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(t,a,s,i);this.height=n.bottom,this.i++}line(t,n,i){let r=[];S5(this.cursor,r,n.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(t,n,r);s&&r.unshift(s);let a=this.gutter;r.length==0&&!a.config.renderEmptyElements||this.addElement(t,n,r)}widget(t,n){let i=this.gutter.config.widgetMarker(t,n.widget,n),r=i?[i]:null;for(let s of t.state.facet(xnt)){let a=s(t,n.widget,n);a&&(r||(r=[])).push(a)}r&&this.addElement(t,n,r)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let n=t.elements.pop();t.dom.removeChild(n.dom),n.destroy()}}}class xX{constructor(t,n){this.view=t,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in n.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,a;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let c=s.getBoundingClientRect();a=(c.top+c.bottom)/2}else a=r.clientY;let o=t.lineBlockAtHeight(a-t.documentTop);n.domEventHandlers[i](t,o,r)&&r.preventDefault()});this.markers=yX(n.markers(t)),n.initialSpacer&&(this.spacer=new $fe(t,0,0,[n.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let n=this.markers;if(this.markers=yX(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let i=t.view.viewport;return!Pn.eq(this.markers,n,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}}class $fe{constructor(t,n,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,n,i,r)}update(t,n,i,r){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),knt(this.markers,r)||this.setMarkers(t,r)}setMarkers(t,n){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,a=0;;){let o=a,c=ss(o,c,u)||a(o,c,u):a}return i}})}});class OR extends Ld{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function yR(e,t){return e.state.facet(r0).formatNumber(t,e.state)}const Ant=Ax.compute([r0],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(t){return t.state.facet(Tnt)},lineMarker(t,n,i){return i.some(r=>r.toDOM)?null:new OR(yR(t,t.state.doc.lineAt(n.from).number))},widgetMarker:(t,n,i)=>{for(let r of t.state.facet(_nt)){let s=r(t,n,i);if(s)return s}return null},lineMarkerChange:t=>t.startState.facet(r0)!=t.state.facet(r0),initialSpacer(t){return new OR(yR(t,vX(t.state.doc.lines)))},updateSpacer(t,n){let i=yR(n.view,vX(n.view.state.doc.lines));return i==t.number?t:new OR(i)},domEventHandlers:e.facet(r0).domEventHandlers,side:"before"}));function Cnt(e={}){return[r0.of(e),Lfe(),Ant]}function vX(e){let t=9;for(;t{let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.head).from;r>n&&(n=r,t.push(Nnt.range(r)))}return Pn.of(t)});function Rnt(){return jnt}let Dnt=0,Vc=class E5{constructor(t,n,i,r){this.name=t,this.set=n,this.base=i,this.modified=r,this.id=Dnt++}toString(){let{name:t}=this;for(let n of this.modified)n.name&&(t=`${n.name}(${t})`);return t}static define(t,n){let i=typeof t=="string"?t:"?";if(t instanceof E5&&(n=t),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let r=new E5(i,[],null,[]);if(r.set.push(r),n)for(let s of n.set)r.set.push(s);return r}static defineModifier(t){let n=new h_(t);return i=>i.modified.indexOf(n)>-1?i:h_.get(i.base||i,i.modified.concat(n).sort((r,s)=>r.id-s.id))}},Int=0;class h_{constructor(t){this.name=t,this.instances=[],this.id=Int++}static get(t,n){if(!n.length)return t;let i=n[0].instances.find(o=>o.base==t&&Pnt(n,o.modified));if(i)return i;let r=[],s=new Vc(t.name,r,t,n);for(let o of n)o.instances.push(s);let a=Mnt(n);for(let o of t.set)if(!o.modified.length)for(let c of a)r.push(h_.get(o,c));return s}}function Pnt(e,t){return e.length==t.length&&e.every((n,i)=>n==t[i])}function Mnt(e){let t=[[]];for(let n=0;ni.length-n.length)}function Gd(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let r of n.split(" "))if(r){let s=[],a=2,o=r;for(let f=0;;){if(o=="..."&&f>0&&f+3==r.length){a=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!h)throw new RangeError("Invalid path: "+r);if(s.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),f+=h[0].length,f==r.length)break;let p=r[f++];if(f==r.length&&p=="!"){a=0;break}if(p!="/")throw new RangeError("Invalid path: "+r);o=r.slice(f)}let c=s.length-1,u=s[c];if(!u)throw new RangeError("Invalid path: "+r);let d=new B1(i,a,c>0?s.slice(0,c):null);t[u]=d.sort(t[u])}}return Qfe.add(t)}const Qfe=new rn({combine(e,t){let n,i,r;for(;e||t;){if(!e||t&&e.depth>=t.depth?(r=t,t=t.next):(r=e,e=e.next),n&&n.mode==r.mode&&!r.context&&!n.context)continue;let s=new B1(r.tags,r.mode,r.context);n?n.next=s:i=s,n=s}return i}});let B1=class{constructor(t,n,i,r){this.tags=t,this.mode=n,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth{let a=r;for(let o of s)for(let c of o.set){let u=n[c.id];if(u){a=a?a+" "+u:u;break}}return a},scope:i}}function Lnt(e,t){let n=null;for(let i of e){let r=i.style(t);r&&(n=n?n+" "+r:r)}return n}function $nt(e,t,n,i=0,r=e.length){let s=new Qnt(i,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),i,r,"",s.highlighters),s.flush(r)}class Qnt{constructor(t,n,i){this.at=t,this.highlighters=n,this.span=i,this.class=""}startSpan(t,n){n!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=n)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,n,i,r,s){let{type:a,from:o,to:c}=t;if(o>=i||c<=n)return;a.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(a)));let u=r,d=Bnt(t)||B1.empty,f=Lnt(s,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(n,o),u),d.opaque)return;let h=t.tree&&t.tree.prop(rn.mounted);if(h&&h.overlay){let p=t.node.enter(h.overlay[0].from+o,1),b=this.highlighters.filter(O=>!O.scope||O.scope(h.tree.type)),g=t.firstChild();for(let O=0,y=o;;O++){let v=O=x||!t.nextSibling())););if(!v||x>i)break;y=v.to+o,y>n&&(this.highlightRange(p.cursor(),Math.max(n,v.from+o),Math.min(i,y),"",b),this.startSpan(Math.min(i,y),u))}g&&t.parent()}else if(t.firstChild()){h&&(r="");do if(!(t.to<=n)){if(t.from>=i)break;this.highlightRange(t,n,i,r,s),this.startSpan(Math.min(i,t.to),u)}while(t.nextSibling());t.parent()}}}function Bnt(e){let t=e.type.prop(Qfe);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const pt=Vc.define,iE=pt(),Af=pt(),wX=pt(Af),SX=pt(Af),Cf=pt(),rE=pt(Cf),xR=pt(Cf),Bc=pt(),Kh=pt(Bc),Mc=pt(),Lc=pt(),k5=pt(),iy=pt(k5),sE=pt(),W={comment:iE,lineComment:pt(iE),blockComment:pt(iE),docComment:pt(iE),name:Af,variableName:pt(Af),typeName:wX,tagName:pt(wX),propertyName:SX,attributeName:pt(SX),className:pt(Af),labelName:pt(Af),namespace:pt(Af),macroName:pt(Af),literal:Cf,string:rE,docString:pt(rE),character:pt(rE),attributeValue:pt(rE),number:xR,integer:pt(xR),float:pt(xR),bool:pt(Cf),regexp:pt(Cf),escape:pt(Cf),color:pt(Cf),url:pt(Cf),keyword:Mc,self:pt(Mc),null:pt(Mc),atom:pt(Mc),unit:pt(Mc),modifier:pt(Mc),operatorKeyword:pt(Mc),controlKeyword:pt(Mc),definitionKeyword:pt(Mc),moduleKeyword:pt(Mc),operator:Lc,derefOperator:pt(Lc),arithmeticOperator:pt(Lc),logicOperator:pt(Lc),bitwiseOperator:pt(Lc),compareOperator:pt(Lc),updateOperator:pt(Lc),definitionOperator:pt(Lc),typeOperator:pt(Lc),controlOperator:pt(Lc),punctuation:k5,separator:pt(k5),bracket:iy,angleBracket:pt(iy),squareBracket:pt(iy),paren:pt(iy),brace:pt(iy),content:Bc,heading:Kh,heading1:pt(Kh),heading2:pt(Kh),heading3:pt(Kh),heading4:pt(Kh),heading5:pt(Kh),heading6:pt(Kh),contentSeparator:pt(Bc),list:pt(Bc),quote:pt(Bc),emphasis:pt(Bc),strong:pt(Bc),link:pt(Bc),monospace:pt(Bc),strikethrough:pt(Bc),inserted:pt(),deleted:pt(),changed:pt(),invalid:pt(),meta:sE,documentMeta:pt(sE),annotation:pt(sE),processingInstruction:pt(sE),definition:Vc.defineModifier("definition"),constant:Vc.defineModifier("constant"),function:Vc.defineModifier("function"),standard:Vc.defineModifier("standard"),local:Vc.defineModifier("local"),special:Vc.defineModifier("special")};for(let e in W){let t=W[e];t instanceof Vc&&(t.name=e)}Bfe([{tag:W.link,class:"tok-link"},{tag:W.heading,class:"tok-heading"},{tag:W.emphasis,class:"tok-emphasis"},{tag:W.strong,class:"tok-strong"},{tag:W.keyword,class:"tok-keyword"},{tag:W.atom,class:"tok-atom"},{tag:W.bool,class:"tok-bool"},{tag:W.url,class:"tok-url"},{tag:W.labelName,class:"tok-labelName"},{tag:W.inserted,class:"tok-inserted"},{tag:W.deleted,class:"tok-deleted"},{tag:W.literal,class:"tok-literal"},{tag:W.string,class:"tok-string"},{tag:W.number,class:"tok-number"},{tag:[W.regexp,W.escape,W.special(W.string)],class:"tok-string2"},{tag:W.variableName,class:"tok-variableName"},{tag:W.local(W.variableName),class:"tok-variableName tok-local"},{tag:W.definition(W.variableName),class:"tok-variableName tok-definition"},{tag:W.special(W.variableName),class:"tok-variableName2"},{tag:W.definition(W.propertyName),class:"tok-propertyName tok-definition"},{tag:W.typeName,class:"tok-typeName"},{tag:W.namespace,class:"tok-namespace"},{tag:W.className,class:"tok-className"},{tag:W.macroName,class:"tok-macroName"},{tag:W.propertyName,class:"tok-propertyName"},{tag:W.operator,class:"tok-operator"},{tag:W.comment,class:"tok-comment"},{tag:W.meta,class:"tok-meta"},{tag:W.invalid,class:"tok-invalid"},{tag:W.punctuation,class:"tok-punctuation"}]);var vR;const Xf=new rn;function U2(e){return vt.define({combine:e?t=>t.concat(e):void 0})}const z6=new rn;class Fo{constructor(t,n,i=[],r=""){this.data=t,this.name=r,zn.prototype.hasOwnProperty("tree")||Object.defineProperty(zn.prototype,"tree",{get(){return Mi(this)}}),this.parser=n,this.extension=[Ch.of(this),zn.languageData.of((s,a,o)=>{let c=EX(s,a,o),u=c.type.prop(Xf);if(!u)return[];let d=s.facet(u),f=c.type.prop(z6);if(f){let h=c.resolve(a-c.from,o);for(let p of f)if(p.test(h,s)){let b=s.facet(p.facet);return p.type=="replace"?b:b.concat(d)}}return d})].concat(i)}isActiveAt(t,n,i=-1){return EX(t,n,i).type.prop(Xf)==this.data}findRegions(t){let n=t.facet(Ch);if((n==null?void 0:n.data)==this.data)return[{from:0,to:t.doc.length}];if(!n||!n.allowsNesting)return[];let i=[],r=(s,a)=>{if(s.prop(Xf)==this.data){i.push({from:a,to:a+s.length});return}let o=s.prop(rn.mounted);if(o){if(o.tree.prop(Xf)==this.data){if(o.overlay)for(let c of o.overlay)i.push({from:c.from+a,to:c.to+a});else i.push({from:a,to:a+s.length});return}else if(o.overlay){let c=i.length;if(r(o.tree,o.overlay[0].from+a),i.length>c)return}}for(let c=0;ci.isTop?n:void 0)]}),t.name)}configure(t,n){return new $d(this.data,this.parser.configure(t),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Mi(e){let t=e.field(Fo.state,!1);return t?t.tree:An.empty}class Fnt{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,n){let i=this.cursorPos-this.string.length;return t=this.cursorPos?this.doc.sliceString(t,n):this.string.slice(t-i,n-i)}}let ry=null;class mm{constructor(t,n,i=[],r,s,a,o,c){this.parser=t,this.state=n,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=a,this.skipped=o,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(t,n,i){return new mm(t,n,[],An.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Fnt(this.state.doc),this.fragments)}work(t,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=An.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let r=Date.now()+t;t=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=t,this.tree=n,this.fragments=this.withoutTempSkipped(Sd.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let n=ry;ry=this;try{return t()}finally{ry=n}}withoutTempSkipped(t){for(let n;n=this.tempSkipped.pop();)t=kX(t,n.from,n.to);return t}changes(t,n){let{fragments:i,tree:r,treeLen:s,viewport:a,skipped:o}=this;if(this.takeTree(),!t.empty){let c=[];if(t.iterChangedRanges((u,d,f,h)=>c.push({fromA:u,toA:d,fromB:f,toB:h})),i=Sd.applyChanges(i,c),r=An.empty,s=0,a={from:t.mapPos(a.from,-1),to:t.mapPos(a.to,1)},this.skipped.length){o=[];for(let u of this.skipped){let d=t.mapPos(u.from,1),f=t.mapPos(u.to,-1);dt.from&&(this.fragments=kX(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,n){this.skipped.push({from:t,to:n})}static getSkippingParser(t){return new class extends I2{createParse(n,i,r){let s=r[0].from,a=r[r.length-1].to;return{parsedPos:s,advance(){let c=ry;if(c){for(let u of r)c.tempSkipped.push(u);t&&(c.scheduleOn=c.scheduleOn?Promise.all([c.scheduleOn,t]):t)}return this.parsedPos=a,new An(ls.none,[],[],a-s)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let n=this.fragments;return this.treeLen>=t&&n.length&&n[0].from==0&&n[0].to>=t}static get(){return ry}}function kX(e,t,n){return Sd.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class vb{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new vb(n)}static init(t){let n=Math.min(3e3,t.doc.length),i=mm.create(t.facet(Ch).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new vb(i)}}Fo.state=ra.define({create:vb.init,update(e,t){for(let n of t.effects)if(n.is(Fo.setState))return n.value;return t.startState.facet(Ch)!=t.state.facet(Ch)?vb.init(t.state):e.apply(t)}});let Ffe=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};typeof requestIdleCallback<"u"&&(Ffe=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const wR=typeof navigator<"u"&&(!((vR=navigator.scheduling)===null||vR===void 0)&&vR.isInputPending)?()=>navigator.scheduling.isInputPending():null,Unt=Qr.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let n=this.view.state.field(Fo.state).context;(n.updateViewport(t.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:t}=this.view,n=t.field(Fo.state);(n.tree!=n.context.tree||!n.context.isDone(t.doc.length))&&(this.working=Ffe(this.work))}work(t){this.working=null;let n=Date.now();if(this.chunkEndr+1e3,c=s.context.work(()=>wR&&wR()||Date.now()>a,r+(o?0:1e5));this.chunkBudget-=Date.now()-n,(c||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Fo.setState.of(new vb(s.context))})),this.chunkBudget>0&&!(c&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(n=>so(this.view.state,n)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ch=vt.define({combine(e){return e.length?e[0]:null},enables:e=>[Fo.state,Unt,ht.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class Nh{constructor(t,n=[]){this.language=t,this.support=n,this.extension=[t,n]}}class p_{constructor(t,n,i,r,s,a=void 0){this.name=t,this.alias=n,this.extensions=i,this.filename=r,this.loadFunc=s,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(t=>this.support=t,t=>{throw this.loading=null,t}))}static of(t){let{load:n,support:i}=t;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=()=>Promise.resolve(i)}return new p_(t.name,(t.alias||[]).concat(t.name).map(r=>r.toLowerCase()),t.extensions||[],t.filename,n,i)}static matchFilename(t,n){for(let r of t)if(r.filename&&r.filename.test(n))return r;let i=/\.([^.]+)$/.exec(n);if(i){for(let r of t)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(t,n,i=!0){n=n.toLowerCase();for(let r of t)if(r.alias.some(s=>s==n))return r;if(i)for(let r of t)for(let s of r.alias){let a=n.indexOf(s);if(a>-1&&(s.length>2||!/\w/.test(n[a-1])&&!/\w/.test(n[a+s.length])))return r}return null}}const znt=vt.define(),dO=vt.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(n=>n!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function gm(e){let t=e.facet(dO);return t.charCodeAt(0)==9?e.tabSize*t.length:t.length}function F1(e,t){let n="",i=e.tabSize,r=e.facet(dO)[0];if(r==" "){for(;t>=i;)n+=" ",t-=i;r=" "}for(let s=0;s=t?Vnt(e,n,t):null}class z2{constructor(t,n={}){this.state=t,this.options=n,this.unit=gm(t)}lineAt(t,n=1){let i=this.state.doc.lineAt(t),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==t?{text:"",from:t}:(n<0?r-1&&(s+=a-this.countColumn(i,i.search(/\S|$/))),s}countColumn(t,n=t.length){return mc(t,this.state.tabSize,n)}lineIndent(t,n=1){let{text:i,from:r}=this.lineAt(t,n),s=this.options.overrideIndentation;if(s){let a=s(r);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Wd=new rn;function Vnt(e,t,n){let i=t.resolveStack(n),r=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(r!=i.node){let s=[];for(let a=r;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)s.push(a);for(let a=s.length-1;a>=0;a--)i={node:s[a],next:i}}return Ufe(i,e,n)}function Ufe(e,t,n){for(let i=e;i;i=i.next){let r=Xnt(i.node);if(r)return r(q6.create(t,n,i))}return 0}function qnt(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function Xnt(e){let t=e.type.prop(Wd);if(t)return t;let n=e.firstChild,i;if(n&&(i=n.type.prop(rn.closedBy))){let r=e.lastChild,s=r&&i.indexOf(r.name)>-1;return a=>zfe(a,!0,1,void 0,s&&!qnt(a)?r.from:void 0)}return e.parent==null?Hnt:null}function Hnt(){return 0}class q6 extends z2{constructor(t,n,i){super(t.state,t.options),this.base=t,this.pos=n,this.context=i}get node(){return this.context.node}static create(t,n,i){return new q6(t,n,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let n=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(n.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(Ynt(i,t))break;n=this.state.doc.lineAt(i.from)}return this.lineIndent(n.from)}continue(){return Ufe(this.context.next,this.base,this.pos)}}function Ynt(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function Gnt(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),a=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let o=n.to;;){let c=t.childAfter(o);if(!c||c==i)return null;if(!c.type.isSkipped){if(c.from>=a)return null;let u=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+u}}o=c.to}}function N0({closing:e,align:t=!0,units:n=1}){return i=>zfe(i,t,n,e)}function zfe(e,t,n,i,r){let s=e.textAfter,a=s.match(/^\s*/)[0].length,o=i&&s.slice(a,a+i.length)==i||r==e.pos+a,c=t?Gnt(e):null;return c?o?e.column(c.from):e.column(c.to):e.baseIndent+(o?0:e.unit*n)}const Wnt=e=>e.baseIndent;function j0({except:e,units:t=1}={}){return n=>{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const Znt=200;function Knt(){return zn.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,r=n.lineAt(i);if(i>r.from+Znt)return e;let s=n.sliceString(r.from,i);if(!t.some(u=>u.test(s)))return e;let{state:a}=e,o=-1,c=[];for(let{head:u}of a.selection.ranges){let d=a.doc.lineAt(u);if(d.from==o)continue;o=d.from;let f=V6(a,d.from);if(f==null)continue;let h=/^\s*/.exec(d.text)[0],p=F1(a,f);h!=p&&c.push({from:d.from,to:d.from+h.length,insert:p})}return c.length?[e,{changes:c,sequential:!0}]:e})}const Vfe=vt.define(),Zd=new rn;function Kv(e){let t=e.firstChild,n=e.lastChild;return t&&t.ton)continue;if(s&&o.from=t&&u.to>n&&(s=u)}}return s}function eit(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function m_(e,t,n){for(let i of e.facet(Vfe)){let r=i(e,t,n);if(r)return r}return Jnt(e,t,n)}function qfe(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const V2=an.define({map:qfe}),Jv=an.define({map:qfe});function Xfe(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(i=>i.from<=n&&i.to>=n)||t.push(e.lineBlockAt(n));return t}const bm=ra.define({create(){return Ut.none},update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((i,r)=>e=TX(e,i,r)),e=e.map(t.changes);let n=[];for(let i of t.effects)i.is(V2)&&!tit(e,i.value.from,i.value.to)?n.push(i.value):i.is(Jv)&&(e=e.update({filter:(r,s)=>i.value.from!=r||i.value.to!=s,filterFrom:i.value.from,filterTo:i.value.to}));if(n.length){let{preparePlaceholder:i}=t.state.facet(Gfe),r=n.map(s=>(i?Ut.replace({widget:new lit(i(t.state,s))}):_X).range(s.from,s.to));e=e.update({add:r})}return t.selection&&(e=TX(e,t.selection.main.head)),e},provide:e=>ht.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(i,r)=>{n.push(i,r)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{rt&&(i=!0)}),i?e.update({filterFrom:t,filterTo:n,filter:(r,s)=>r>=n||s<=t}):e}function g_(e,t,n){var i;let r=null;return(i=e.field(bm,!1))===null||i===void 0||i.between(t,n,(s,a)=>{(!r||r.from>s)&&(r={from:s,to:a})}),r}function tit(e,t,n){let i=!1;return e.between(t,t,(r,s)=>{r==t&&s==n&&(i=!0)}),i}function Hfe(e,t){return e.field(bm,!1)?t:t.concat(an.appendConfig.of(Wfe()))}const nit=e=>{for(let t of Xfe(e)){let n=m_(e.state,t.from,t.to);if(n)return e.dispatch({effects:Hfe(e.state,[V2.of(n),Yfe(e,n)])}),!0}return!1},iit=e=>{if(!e.state.field(bm,!1))return!1;let t=[];for(let n of Xfe(e)){let i=g_(e.state,n.from,n.to);i&&t.push(Jv.of(i),Yfe(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0};function Yfe(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return ht.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${r}.`)}const rit=e=>{let{state:t}=e,n=[];for(let i=0;i{let t=e.state.field(bm,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(i,r)=>{n.push(Jv.of({from:i,to:r}))}),e.dispatch({effects:n}),!0},ait=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:nit},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:iit},{key:"Ctrl-Alt-[",run:rit},{key:"Ctrl-Alt-]",run:sit}],oit={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Gfe=vt.define({combine(e){return ku(e,oit)}});function Wfe(e){return[bm,dit]}function Zfe(e,t){let{state:n}=e,i=n.facet(Gfe),r=a=>{let o=e.lineBlockAt(e.posAtDOM(a.target)),c=g_(e.state,o.from,o.to);c&&e.dispatch({effects:Jv.of(c)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,r,t);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const _X=Ut.replace({widget:new class extends Ec{toDOM(e){return Zfe(e,null)}}});class lit extends Ec{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return Zfe(t,this.value)}}const cit={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class SR extends Ld{constructor(t,n){super(),this.config=t,this.open=n}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=t.state.phrase(this.open?"Fold line":"Unfold line"),n}}function uit(e={}){let t={...cit,...e},n=new SR(t,!0),i=new SR(t,!1),r=Qr.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(Ch)!=a.state.facet(Ch)||a.startState.field(bm,!1)!=a.state.field(bm,!1)||Mi(a.startState)!=Mi(a.state)||t.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new Pd;for(let c of a.viewportLineBlocks){let u=g_(a.state,c.from,c.to)?i:m_(a.state,c.from,c.to)?n:null;u&&o.add(c.from,c.from,u)}return o.finish()}}),{domEventHandlers:s}=t;return[r,wnt({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(r))===null||o===void 0?void 0:o.markers)||Pn.empty},initialSpacer(){return new SR(t,!1)},domEventHandlers:{...s,click:(a,o,c)=>{if(s.click&&s.click(a,o,c))return!0;let u=g_(a.state,o.from,o.to);if(u)return a.dispatch({effects:Jv.of(u)}),!0;let d=m_(a.state,o.from,o.to);return d?(a.dispatch({effects:V2.of(d)}),!0):!1}}}),Wfe()]}const dit=ht.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class ew{constructor(t,n){this.specs=t;let i;function r(o){let c=Th.newName();return(i||(i=Object.create(null)))["."+c]=o,c}const s=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,a=n.scope;this.scope=a instanceof Fo?o=>o.prop(Xf)==a.data:a?o=>o==a:void 0,this.style=Bfe(t.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:s}).style,this.module=i?new Th(i):null,this.themeType=n.themeType}static define(t,n){return new ew(t,n||{})}}const T5=vt.define(),Kfe=vt.define({combine(e){return e.length?[e[0]]:null}});function ER(e){let t=e.facet(T5);return t.length?t:e.facet(Kfe)}function Jfe(e,t){let n=[hit],i;return e instanceof ew&&(e.module&&n.push(ht.styleModule.of(e.module)),i=e.themeType),t!=null&&t.fallback?n.push(Kfe.of(e)):i?n.push(T5.computeN([ht.darkTheme],r=>r.facet(ht.darkTheme)==(i=="dark")?[e]:[])):n.push(T5.of(e)),n}class fit{constructor(t){this.markCache=Object.create(null),this.tree=Mi(t.state),this.decorations=this.buildDeco(t,ER(t.state)),this.decoratedTo=t.viewport.to}update(t){let n=Mi(t.state),i=ER(t.state),r=i!=ER(t.startState),{viewport:s}=t.view,a=t.changes.mapPos(this.decoratedTo,1);n.length=s.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=a):(n!=this.tree||t.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=s.to)}buildDeco(t,n){if(!n||!this.tree.length)return Ut.none;let i=new Pd;for(let{from:r,to:s}of t.visibleRanges)$nt(this.tree,n,(a,o,c)=>{i.add(a,o,this.markCache[c]||(this.markCache[c]=Ut.mark({class:c})))},r,s);return i.finish()}}const hit=Yd.high(Qr.fromClass(fit,{decorations:e=>e.decorations})),pit=ew.define([{tag:W.meta,color:"#404740"},{tag:W.link,textDecoration:"underline"},{tag:W.heading,textDecoration:"underline",fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strong,fontWeight:"bold"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.keyword,color:"#708"},{tag:[W.atom,W.bool,W.url,W.contentSeparator,W.labelName],color:"#219"},{tag:[W.literal,W.inserted],color:"#164"},{tag:[W.string,W.deleted],color:"#a11"},{tag:[W.regexp,W.escape,W.special(W.string)],color:"#e40"},{tag:W.definition(W.variableName),color:"#00f"},{tag:W.local(W.variableName),color:"#30a"},{tag:[W.typeName,W.namespace],color:"#085"},{tag:W.className,color:"#167"},{tag:[W.special(W.variableName),W.macroName],color:"#256"},{tag:W.definition(W.propertyName),color:"#00c"},{tag:W.comment,color:"#940"},{tag:W.invalid,color:"#f00"}]),mit=ht.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ehe=1e4,the="()[]{}",nhe=vt.define({combine(e){return ku(e,{afterCursor:!0,brackets:the,maxScanDistance:ehe,renderMatch:Oit})}}),git=Ut.mark({class:"cm-matchingBracket"}),bit=Ut.mark({class:"cm-nonmatchingBracket"});function Oit(e){let t=[],n=e.matched?git:bit;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}function AX(e){let t=[],n=e.facet(nhe);for(let i of e.selection.ranges){if(!i.empty)continue;let r=nu(e,i.head,-1,n)||i.head>0&&nu(e,i.head-1,1,n)||n.afterCursor&&(nu(e,i.head,1,n)||i.heade.decorations}),xit=[yit,mit];function vit(e={}){return[nhe.of(e),xit]}const ihe=new rn;function _5(e,t,n){let i=e.prop(t<0?rn.openedBy:rn.closedBy);if(i)return i;if(e.name.length==1){let r=n.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function A5(e){let t=e.type.prop(ihe);return t?t(e.node):e}function nu(e,t,n,i={}){let r=i.maxScanDistance||ehe,s=i.brackets||the,a=Mi(e),o=a.resolveInner(t,n);for(let c=o;c;c=c.parent){let u=_5(c.type,n,s);if(u&&c.from0?t>=d.from&&td.from&&t<=d.to))return wit(e,t,n,c,d,u,s)}}return Sit(e,t,n,a,o.type,r,s)}function wit(e,t,n,i,r,s,a){let o=i.parent,c={from:r.from,to:r.to},u=0,d=o==null?void 0:o.cursor();if(d&&(n<0?d.childBefore(i.from):d.childAfter(i.to)))do if(n<0?d.to<=i.from:d.from>=i.to){if(u==0&&s.indexOf(d.type.name)>-1&&d.from0)return null;let u={from:n<0?t-1:t,to:n>0?t+1:t},d=e.doc.iterRange(t,n>0?e.doc.length:0),f=0;for(let h=0;!d.next().done&&h<=s;){let p=d.value;n<0&&(h+=p.length);let b=t+h*n;for(let g=n>0?0:p.length-1,O=n>0?p.length:-1;g!=O;g+=n){let y=a.indexOf(p[g]);if(!(y<0||i.resolveInner(b+g,1).type!=r))if(y%2==0==n>0)f++;else{if(f==1)return{start:u,end:{from:b+g,to:b+g+1},matched:y>>1==c>>1};f--}}n>0&&(h+=p.length)}return d.done?{start:u,matched:!1}:null}function CX(e,t,n,i=0,r=0){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));let s=r;for(let a=i;a=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.posn}eatSpace(){let t=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t}skipToEnd(){this.pos=this.string.length}skipTo(t){let n=this.string.indexOf(t,this.pos);if(n>-1)return this.pos=n,!0}backUp(t){this.pos-=t}column(){return this.lastColumnPosi?a.toLowerCase():a,s=this.string.substr(this.pos,t.length);return r(s)==r(t)?(n!==!1&&(this.pos+=t.length),!0):null}else{let r=this.string.slice(this.pos).match(t);return r&&r.index>0?null:(r&&n!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}}function Eit(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||kit,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||Y6,mergeTokens:e.mergeTokens!==!1}}function kit(e){if(typeof e!="object")return e;let t={};for(let n in e){let i=e[n];t[n]=i instanceof Array?i.slice():i}return t}const NX=new WeakMap;class X6 extends Fo{constructor(t){let n=U2(t.languageData),i=Eit(t),r,s=new class extends I2{createParse(a,o,c){return new _it(r,a,o,c)}};super(n,s,[],t.name),this.topNode=Nit(n,this),r=this,this.streamParser=i,this.stateAfter=new rn({perNode:!0}),this.tokenTable=t.tokenTable?new lhe(i.tokenTable):Cit}static define(t){return new X6(t)}getIndent(t){let n,{overrideIndentation:i}=t.options;i&&(n=NX.get(t.state),n!=null&&n1e4)return null;for(;s=i&&n+t.length<=r&&t.prop(e.stateAfter);if(s)return{state:e.streamParser.copyState(s),pos:n+t.length};for(let a=t.children.length-1;a>=0;a--){let o=t.children[a],c=n+t.positions[a],u=o instanceof An&&c=t.length)return t;!r&&n==0&&t.type==e.topNode&&(r=!0);for(let s=t.children.length-1;s>=0;s--){let a=t.positions[s],o=t.children[s],c;if(an&&H6(e,s.tree,0-s.offset,n,o),u;if(c&&c.pos<=i&&(u=she(e,s.tree,n+s.offset,c.pos+s.offset,!1)))return{state:c.state,tree:u}}return{state:e.streamParser.startState(r?gm(r):4),tree:An.empty}}let _it=class{constructor(t,n,i,r){this.lang=t,this.input=n,this.fragments=i,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=mm.get(),a=r[0].from,{state:o,tree:c}=Tit(t,i,a,this.to,s==null?void 0:s.state);this.state=o,this.parsedPos=this.chunkStart=a+c.length;for(let u=0;uu.from<=s.viewport.from&&u.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(gm(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let t=mm.get(),n=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(n,this.chunkStart+512);for(t&&(i=Math.min(i,t.viewport.to));this.parsedPos=n?this.finish():t&&this.parsedPos>=t.viewport.to?(t.skipUntilInView(this.parsedPos,n),this.finish()):null}stopAt(t){this.stoppedAt=t}lineAfter(t){let n=this.input.chunk(t);if(this.input.lineChunks)n==` +`,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=qS(t),i=bg(n);return i.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=qS(t),i=bg(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};function vJe(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new yJe||null,prettyErrors:t}}function kde(e,t={}){const{lineCounter:n,prettyErrors:i}=vJe(t),r=new xJe(n==null?void 0:n.addNewLine),s=new pJe(t);let a=null;for(const o of s.compose(r.parse(e),!0,e.length))if(!a)a=o;else if(a.options.logLevel!=="silent"){a.errors.push(new Uy(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&n&&(a.errors.forEach(gq(e,n)),a.warnings.forEach(gq(e,n))),a}function wJe(e,t,n){let i;const r=kde(e,n);if(!r)return null;if(r.warnings.forEach(s=>Yue(r.options.logLevel,s)),r.errors.length>0){if(r.options.logLevel!=="silent")throw r.errors[0];r.errors=[]}return r.toJS(Object.assign({reviver:i},n))}function Tde(e,t,n){let i=null;if(Array.isArray(t)&&(i=t),e===void 0){const{keepUndefined:r}={};if(!r)return}return Zv(e)&&!i?e.toString(n):new tw(e,i,n).toString(n)}const _de=1024;let SJe=0,Cl=class{constructor(t,n){this.from=t,this.to=n}};class un{constructor(t={}){this.id=SJe++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=ms.match(t)),n=>{let i=t(n);return i===void 0?null:[this,i]}}}un.closedBy=new un({deserialize:e=>e.split(" ")});un.openedBy=new un({deserialize:e=>e.split(" ")});un.group=new un({deserialize:e=>e.split(" ")});un.isolate=new un({deserialize:e=>{if(e&&e!="rtl"&&e!="ltr"&&e!="auto")throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}});un.contextHash=new un({perNode:!0});un.lookAhead=new un({perNode:!0});un.mounted=new un({perNode:!0});class I0{constructor(t,n,i,r=!1){this.tree=t,this.overlay=n,this.parser=i,this.bracketed=r}static get(t){return t&&t.props&&t.props[un.mounted.id]}}const EJe=Object.create(null);class ms{constructor(t,n,i,r=0){this.name=t,this.props=n,this.id=i,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):EJe,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),r=new ms(t.name||"",n,t.id,i);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return r}prop(t){return this.props[t.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(t){if(typeof t=="string"){if(this.name==t)return!0;let n=this.prop(un.group);return n?n.indexOf(t)>-1:!1}return this.id==t}static match(t){let n=Object.create(null);for(let i in t)for(let r of i.split(" "))n[r]=t[i];return i=>{for(let r=i.prop(un.group),s=-1;s<(r?r.length:0);s++){let a=n[s<0?i.name:r[s]];if(a)return a}}}}ms.none=new ms("",Object.create(null),0,8);class bO{constructor(t){this.types=t;for(let n=0;n0;for(let c=this.cursor(a|xi.IncludeAnonymous);;){let u=!1;if(c.from<=s&&c.to>=r&&(!o&&c.type.isAnonymous||n(c)!==!1)){if(c.firstChild())continue;u=!0}for(;u&&i&&(o||!c.type.isAnonymous)&&i(c),!c.nextSibling();){if(!c.parent())return;u=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let n in this.props)t.push([+n,this.props[n]]);return t}balance(t={}){return this.children.length<=8?this:R6(ms.none,this.children,this.positions,0,this.children.length,0,this.length,(n,i,r)=>new Dn(this.type,n,i,r,this.propValues),t.makeTree||((n,i,r)=>new Dn(ms.none,n,i,r)))}static build(t){return AJe(t)}}Dn.empty=new Dn(ms.none,[],[],0);class N6{constructor(t,n){this.buffer=t,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new N6(this.buffer,this.index)}}class Ch{constructor(t,n,i){this.buffer=t,this.length=n,this.set=i}get type(){return ms.none}toString(){let t=[];for(let n=0;n0));c=a[c+3]);return o}slice(t,n,i){let r=this.buffer,s=new Uint16Array(n-t),a=0;for(let o=t,c=0;o=t&&nt;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function $1(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?o.length:-1;t!=u;t+=n){let d=o[t],f=c[t]+a.from,h;if(!(!(s&xi.EnterBracketed&&d instanceof Dn&&(h=I0.get(d))&&!h.overlay&&h.bracketed&&i>=f&&i<=f+d.length)&&!Ade(r,i,f,f+d.length))){if(d instanceof Ch){if(s&xi.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,n,i-f,r);if(p>-1)return new du(new kJe(a,d,t,f),null,p)}else if(s&xi.IncludeAnonymous||!d.type.isAnonymous||j6(d)){let p;if(!(s&xi.IgnoreMounts)&&(p=I0.get(d))&&!p.overlay)return new ka(p.tree,f,t,a);let b=new ka(d,f,t,a);return s&xi.IncludeAnonymous||!b.type.isAnonymous?b:b.nextChild(n<0?d.children.length-1:0,n,i,r,s)}}}if(s&xi.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?t=a.index+n:t=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,n,i=0){let r;if(!(i&xi.IgnoreOverlays)&&(r=I0.get(this._tree))&&r.overlay){let s=t-this.from,a=i&xi.EnterBracketed&&r.bracketed;for(let{from:o,to:c}of r.overlay)if((n>0||a?o<=s:o=s:c>s))return new ka(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Sq(e,t,n,i){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(n!=null){for(let a=!1;!a;)if(a=r.type.is(n),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function ZM(e,t,n=t.length-1){for(let i=e;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class kJe{constructor(t,n,i,r){this.parent=t,this.buffer=n,this.index=i,this.start=r}}class du extends Cde{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,n,i){super(),this.context=t,this._parent=n,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,n,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.context.start,i);return s<0?null:new du(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,n,i=0){if(i&xi.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return s<0?null:new du(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new du(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new du(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],n=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let a=i.buffer[this.index+1];t.push(i.slice(r,s,a)),n.push(0)}return new Dn(this.type,t,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Nde(e){if(!e.length)return null;let t=0,n=e[0];for(let s=1;sn.from||a.to=t){let o=new ka(a.tree,a.overlay[0].from+s.from,-1,s);(r||(r=[i])).push($1(o,t,n,!1))}}return r?Nde(r):i}class o_{get name(){return this.type.name}constructor(t,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~xi.EnterBracketed,t instanceof ka)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,n){this.index=t;let{start:i,buffer:r}=this.buffer;return this.type=n||r.set.types[r.buffer[t]],this.from=i+r.buffer[t+1],this.to=i+r.buffer[t+2],!0}yield(t){return t?t instanceof ka?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,n,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,n,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],t,n-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,n,i=this.mode){return this.buffer?i&xi.ExcludeBuffers?!1:this.enterChild(1,t,n):this.yield(this._tree.enter(t,n,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&xi.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&xi.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:n}=this.buffer,i=this.stack.length-1;if(t<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(n.findChild(r,this.index,-1,0,4))}else{let r=n.buffer[this.index+3];if(r<(i<0?n.buffer.length:n.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let n,i,{buffer:r}=this;if(r){if(t>0){if(this.index-1)for(let s=n+t,a=t<0?-1:i._tree.children.length;s!=a;s+=t){let o=i._tree.children[s];if(this.mode&xi.IncludeAnonymous||o instanceof Ch||!o.type.isAnonymous||j6(o))return!1}return!0}move(t,n){if(n&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,n=0){for(;(this.from==this.to||(n<1?this.from>=t:this.from>t)||(n>-1?this.to<=t:this.to=0;){for(let a=t;a;a=a._parent)if(a.index==r){if(r==this.index)return a;n=a,i=s+1;break e}r=this.stack[--s]}for(let r=i;r=0;s--){if(s<0)return ZM(this._tree,t,r);let a=i[n.buffer[this.stack[s]]];if(!a.isAnonymous){if(t[r]&&t[r]!=a.name)return!1;r--}}return!0}}function j6(e){return e.children.some(t=>t instanceof Ch||!t.type.isAnonymous||j6(t))}function AJe(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:r=_de,reused:s=[],minRepeatType:a=i.types.length}=e,o=Array.isArray(n)?new N6(n,n.length):n,c=i.types,u=0,d=0;function f(E,S,k,T,C,A){let{id:N,start:P,end:Q,size:D}=o,$=d,j=u;if(D<0)if(o.next(),D==-1){let Y=s[N];k.push(Y),T.push(P-E);return}else if(D==-3){u=N;return}else if(D==-4){d=N;return}else throw new RangeError(`Unrecognized record size: ${D}`);let I=c[N],F,B,M=P-E;if(Q-P<=r&&(B=O(o.pos-S,C))){let Y=new Uint16Array(B.size-B.skip),q=o.pos-B.size,U=Y.length;for(;o.pos>q;)U=y(B.start,Y,U);F=new Ch(Y,Q-B.start,i),M=B.start-E}else{let Y=o.pos-D;o.next();let q=[],U=[],V=N>=a?N:-1,re=0,de=Q;for(;o.pos>Y;)V>=0&&o.id==V&&o.size>=0?(o.end<=de-r&&(b(q,U,P,re,o.end,de,V,$,j),re=q.length,de=o.end),o.next()):A>2500?h(P,Y,q,U):f(P,Y,q,U,V,A+1);if(V>=0&&re>0&&re-1&&re>0){let be=p(I,j);F=R6(I,q,U,0,q.length,0,Q-P,be,be)}else F=g(I,q,U,Q-P,$-Q,j)}k.push(F),T.push(M)}function h(E,S,k,T){let C=[],A=0,N=-1;for(;o.pos>S;){let{id:P,start:Q,end:D,size:$}=o;if($>4)o.next();else{if(N>-1&&Q=0;D-=3)P[$++]=C[D],P[$++]=C[D+1]-Q,P[$++]=C[D+2]-Q,P[$++]=$;k.push(new Ch(P,C[2]-Q,i)),T.push(Q-E)}}function p(E,S){return(k,T,C)=>{let A=0,N=k.length-1,P,Q;if(N>=0&&(P=k[N])instanceof Dn){if(!N&&P.type==E&&P.length==C)return P;(Q=P.prop(un.lookAhead))&&(A=T[N]+P.length+Q)}return g(E,k,T,C,A,S)}}function b(E,S,k,T,C,A,N,P,Q){let D=[],$=[];for(;E.length>T;)D.push(E.pop()),$.push(S.pop()+k-C);E.push(g(i.types[N],D,$,A-C,P-A,Q)),S.push(C-k)}function g(E,S,k,T,C,A,N){if(A){let P=[un.contextHash,A];N=N?[P].concat(N):[P]}if(C>25){let P=[un.lookAhead,C];N=N?[P].concat(N):[P]}return new Dn(E,S,k,T,N)}function O(E,S){let k=o.fork(),T=0,C=0,A=0,N=k.end-r,P={size:0,start:0,skip:0};e:for(let Q=k.pos-E;k.pos>Q;){let D=k.size;if(k.id==S&&D>=0){P.size=T,P.start=C,P.skip=A,A+=4,T+=4,k.next();continue}let $=k.pos-D;if(D<0||$=a?4:0,I=k.start;for(k.next();k.pos>$;){if(k.size<0)if(k.size==-3||k.size==-4)j+=4;else break e;else k.id>=a&&(j+=4);k.next()}C=I,T+=D,A+=j}return(S<0||T==E)&&(P.size=T,P.start=C,P.skip=A),P.size>4?P:void 0}function y(E,S,k){let{id:T,start:C,end:A,size:N}=o;if(o.next(),N>=0&&T4){let Q=o.pos-(N-4);for(;o.pos>Q;)k=y(E,S,k)}S[--k]=P,S[--k]=A-E,S[--k]=C-E,S[--k]=T}else N==-3?u=T:N==-4&&(d=T);return k}let v=[],x=[];for(;o.pos>0;)f(e.start||0,e.bufferStart||0,v,x,-1,0);let w=(t=e.length)!==null&&t!==void 0?t:v.length?x[0]+v[0].length:0;return new Dn(c[e.topID],v.reverse(),x.reverse(),w)}const Eq=new WeakMap;function bk(e,t){if(!e.isAnonymous||t instanceof Ch||t.type!=e)return 1;let n=Eq.get(t);if(n==null){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof Dn)){n=1;break}n+=bk(e,i)}Eq.set(t,n)}return n}function R6(e,t,n,i,r,s,a,o,c){let u=0;for(let b=i;b=d)break;S+=k}if(x==w+1){if(S>d){let k=b[w];p(k.children,k.positions,0,k.children.length,g[w]+v);continue}f.push(b[w])}else{let k=g[x-1]+b[x-1].length-E;f.push(R6(e,b,g,w,x,E,k,null,c))}h.push(E+v-s)}}return p(t,n,i,r,0),(o||c)(f,h,a)}class I6{constructor(){this.map=new WeakMap}setBuffer(t,n,i){let r=this.map.get(t);r||this.map.set(t,r=new Map),r.set(n,i)}getBuffer(t,n){let i=this.map.get(t);return i&&i.get(n)}set(t,n){t instanceof du?this.setBuffer(t.context.buffer,t.index,n):t instanceof ka&&this.map.set(t.tree,n)}get(t){return t instanceof du?this.getBuffer(t.context.buffer,t.index):t instanceof ka?this.map.get(t.tree):void 0}cursorSet(t,n){t.buffer?this.setBuffer(t.buffer.buffer,t.index,n):this.map.set(t.tree,n)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class Cd{constructor(t,n,i,r,s=!1,a=!1){this.from=t,this.to=n,this.tree=i,this.offset=r,this.open=(s?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],i=!1){let r=[new Cd(0,t.length,t,0,!1,i)];for(let s of n)s.to>t.length&&r.push(s);return r}static applyChanges(t,n,i=128){if(!n.length)return t;let r=[],s=1,a=t.length?t[0]:null;for(let o=0,c=0,u=0;;o++){let d=o=i)for(;a&&a.from=h.from||f<=h.to||u){let p=Math.max(h.from,c)-u,b=Math.min(h.to,f)-u;h=p>=b?null:new Cd(p,b,h.tree,h.offset+u,o>0,!!d)}if(h&&r.push(h),a.to>f)break;a=snew Cl(r.from,r.to)):[new Cl(0,0)]:[new Cl(0,t.length)],this.createParse(t,n||[],i)}parse(t,n,i){let r=this.startParse(t,n,i);for(;;){let s=r.advance();if(s)return s}}}class CJe{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,n){return this.string.slice(t,n)}}function jde(e){return(t,n,i,r)=>new jJe(t,e,n,i,r)}class kq{constructor(t,n,i,r,s,a){this.parser=t,this.parse=n,this.overlay=i,this.bracketed=r,this.target=s,this.from=a}}function Tq(e){if(!e.length||e.some(t=>t.from>=t.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class NJe{constructor(t,n,i,r,s,a,o,c){this.parser=t,this.predicate=n,this.mounts=i,this.index=r,this.start=s,this.bracketed=a,this.target=o,this.prev=c,this.depth=0,this.ranges=[]}}const KM=new un({perNode:!0});class jJe{constructor(t,n,i,r,s){this.nest=n,this.input=i,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new Dn(i.type,i.children,i.positions,i.length,i.propValues.concat([[KM,this.stoppedAt]]))),i}let t=this.inner[this.innerDone],n=t.parse.advance();if(n){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[un.mounted.id]=new I0(n,t.overlay,t.parser,t.bracketed),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let n=this.innerDone;n=this.stoppedAt)o=!1;else if(t.hasNode(r)){if(n){let u=n.mounts.find(d=>d.frag.from<=r.from&&d.frag.to>=r.to&&d.mount.overlay);if(u)for(let d of u.mount.overlay){let f=d.from+u.pos,h=d.to+u.pos;f>=r.from&&h<=r.to&&!n.ranges.some(p=>p.fromf)&&n.ranges.push({from:f,to:h})}}o=!1}else if(i&&(a=RJe(i.ranges,r.from,r.to)))o=a!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Cl(f.from-r.from,f.to-r.from)):null,!!s.bracketed,r.tree,d.length?d[0].from:r.from)),s.overlay?d.length&&(i={ranges:d,depth:0,prev:i}):o=!1}}else if(n&&(c=n.predicate(r))&&(c===!0&&(c=new Cl(r.from,r.to)),c.from=0&&n.ranges[u].to==c.from?n.ranges[u]={from:n.ranges[u].from,to:c.to}:n.ranges.push(c)}if(o&&r.firstChild())n&&n.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(n&&!--n.depth){let u=Cq(this.ranges,n.ranges);u.length&&(Tq(u),this.inner.splice(n.index,0,new kq(n.parser,n.parser.startParse(this.input,Nq(n.mounts,u),u),n.ranges.map(d=>new Cl(d.from-n.start,d.to-n.start)),n.bracketed,n.target,u[0].from))),n=n.prev}i&&!--i.depth&&(i=i.prev)}}}}function RJe(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function _q(e,t,n,i,r,s){if(t=t&&n.enter(i,1,xi.IgnoreOverlays|xi.ExcludeBuffers)))if(n.to<=t)n.next(!1)||(this.done=!0);else break}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let n=this.cursor.tree;;){if(n==t.tree)return!0;if(n.children.length&&n.positions[0]==0&&n.children[0]instanceof Dn)n=n.children[0];else break}return!1}}let DJe=class{constructor(t){var n;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=(n=i.tree.prop(KM))!==null&&n!==void 0?n:i.to,this.inner=new Aq(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let n=this.curFrag=this.fragments[this.fragI];this.curTo=(t=n.tree.prop(KM))!==null&&t!==void 0?t:n.to,this.inner=new Aq(n.tree,-n.offset)}}findMounts(t,n){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let s=this.inner.cursor.node;s;s=s.parent){let a=(i=s.tree)===null||i===void 0?void 0:i.prop(un.mounted);if(a&&a.parser==n)for(let o=this.fragI;o=s.to)break;c.tree==this.curFrag.tree&&r.push({frag:c,pos:s.from-c.offset,mount:a})}}}return r}};function Cq(e,t){let n=null,i=t;for(let r=1,s=0;r=o)break;c.to<=a||(n||(i=n=t.slice()),c.fromo&&n.splice(s+1,0,new Cl(o,c.to))):c.to>o?n[s--]=new Cl(o,c.to):n.splice(s--,1))}}return i}function PJe(e,t,n,i){let r=0,s=0,a=!1,o=!1,c=-1e9,u=[];for(;;){let d=r==e.length?1e9:a?e[r].to:e[r].from,f=s==t.length?1e9:o?t[s].to:t[s].from;if(a!=o){let h=Math.max(c,n),p=Math.min(d,f,i);hnew Cl(h.from+i,h.to+i)),f=PJe(t,d,c,u);for(let h=0,p=c;;h++){let b=h==f.length,g=b?u:f[h].from;if(g>p&&n.push(new Cd(p,g,r.tree,-a,s.from>=p||s.openStart,s.to<=g||s.openEnd)),b)break;p=f[h].to}}else n.push(new Cd(c,u,r.tree,-a,s.from>=a||s.openStart,s.to<=o||s.openEnd))}return n}let JM=[],Rde=[];(()=>{let e="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=0,n=0;t>1;if(e=Rde[i])t=i+1;else return!0;if(t==n)return!1}}function jq(e){return e>=127462&&e<=127487}const Rq=8205;function LJe(e,t,n=!0,i=!0){return(n?Ide:$Je)(e,t,i)}function Ide(e,t,n){if(t==e.length)return t;t&&Dde(e.charCodeAt(t))&&Pde(e.charCodeAt(t-1))&&t--;let i=hR(e,t);for(t+=Iq(i);t=0&&jq(hR(e,a));)s++,a-=2;if(s%2==0)break;t+=2}else break}return t}function $Je(e,t,n){for(;t>1;){let i=Ide(e,t-2,n);if(i=56320&&e<57344}function Pde(e){return e>=55296&&e<56320}function Iq(e){return e<65536?1:2}let gi=class Mde{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,n,i){[t,n]=Eb(this,t,n);let r=[];return this.decompose(0,t,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(n,this.length,r,1),iu.from(r,this.length-(n-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,n=this.length){[t,n]=Eb(this,t,n);let i=[];return this.decompose(t,n,i,0),iu.from(i,n-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let n=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),r=new Nx(this),s=new Nx(t);for(let a=n,o=n;;){if(r.next(a),s.next(a),a=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(t=1){return new Nx(this,t)}iterRange(t,n=this.length){return new Lde(this,t,n)}iterLines(t,n){let i;if(t==null)i=this.iter();else{n==null&&(n=this.lines+1);let r=this.line(t).from;i=this.iterRange(r,Math.max(r,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new $de(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?Mde.empty:t.length<=32?new Zr(t):iu.from(Zr.split(t,[]))}};class Zr extends gi{constructor(t,n=QJe(t)){super(),this.text=t,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.text[s],o=r+a.length;if((n?i:o)>=t)return new BJe(r,o,i,a);r=o+1,i++}}decompose(t,n,i,r){let s=t<=0&&n>=this.length?this:new Zr(Dq(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(r&1){let a=i.pop(),o=Ok(s.text,a.text.slice(),0,s.length);if(o.length<=32)i.push(new Zr(o,a.length+s.length));else{let c=o.length>>1;i.push(new Zr(o.slice(0,c)),new Zr(o.slice(c)))}}else i.push(s)}replace(t,n,i){if(!(i instanceof Zr))return super.replace(t,n,i);[t,n]=Eb(this,t,n);let r=Ok(this.text,Ok(i.text,Dq(this.text,0,t)),n),s=this.length+i.length-(n-t);return r.length<=32?new Zr(r,s):iu.from(Zr.split(r,[]),s)}sliceString(t,n=this.length,i=` +`){[t,n]=Eb(this,t,n);let r="";for(let s=0,a=0;s<=n&&at&&a&&(r+=i),ts&&(r+=o.slice(Math.max(0,t-s),n-s)),s=c+1}return r}flatten(t){for(let n of this.text)t.push(n)}scanIdentical(){return 0}static split(t,n){let i=[],r=-1;for(let s of t)i.push(s),r+=s.length+1,i.length==32&&(n.push(new Zr(i,r)),i=[],r=-1);return r>-1&&n.push(new Zr(i,r)),n}}class iu extends gi{constructor(t,n){super(),this.children=t,this.length=n,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,n,i,r){for(let s=0;;s++){let a=this.children[s],o=r+a.length,c=i+a.lines-1;if((n?c:o)>=t)return a.lineInner(t,n,i,r);r=o+1,i=c+1}}decompose(t,n,i,r){for(let s=0,a=0;a<=n&&s=a){let u=r&((a<=t?1:0)|(c>=n?2:0));a>=t&&c<=n&&!u?i.push(o):o.decompose(t-a,n-a,i,u)}a=c+1}}replace(t,n,i){if([t,n]=Eb(this,t,n),i.lines=s&&n<=o){let c=a.replace(t-s,n-s,i),u=this.lines-a.lines+c.lines;if(c.lines>4&&c.lines>u>>6){let d=this.children.slice();return d[r]=c,new iu(d,this.length-(n-t)+i.length)}return super.replace(s,o,c)}s=o+1}return super.replace(t,n,i)}sliceString(t,n=this.length,i=` +`){[t,n]=Eb(this,t,n);let r="";for(let s=0,a=0;st&&s&&(r+=i),ta&&(r+=o.sliceString(t-a,n-a,i)),a=c+1}return r}flatten(t){for(let n of this.children)n.flatten(t)}scanIdentical(t,n){if(!(t instanceof iu))return 0;let i=0,[r,s,a,o]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;r+=n,s+=n){if(r==a||s==o)return i;let c=this.children[r],u=t.children[s];if(c!=u)return i+c.scanIdentical(u,n);i+=c.length+1}}static from(t,n=t.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let p of t)i+=p.lines;if(i<32){let p=[];for(let b of t)b.flatten(p);return new Zr(p,n)}let r=Math.max(32,i>>5),s=r<<1,a=r>>1,o=[],c=0,u=-1,d=[];function f(p){let b;if(p.lines>s&&p instanceof iu)for(let g of p.children)f(g);else p.lines>a&&(c>a||!c)?(h(),o.push(p)):p instanceof Zr&&c&&(b=d[d.length-1])instanceof Zr&&p.lines+b.lines<=32?(c+=p.lines,u+=p.length+1,d[d.length-1]=new Zr(b.text.concat(p.text),b.length+1+p.length)):(c+p.lines>r&&h(),c+=p.lines,u+=p.length+1,d.push(p))}function h(){c!=0&&(o.push(d.length==1?d[0]:iu.from(d,u)),u=-1,c=d.length=0)}for(let p of t)f(p);return h(),o.length==1?o[0]:new iu(o,n)}}gi.empty=new Zr([""],0);function QJe(e){let t=-1;for(let n of e)t+=n.length+1;return t}function Ok(e,t,n=0,i=1e9){for(let r=0,s=0,a=!0;s=n&&(c>i&&(o=o.slice(0,i-r)),r0?1:(t instanceof Zr?t.text.length:t.children.length)<<1]}nextInner(t,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],a=s>>1,o=r instanceof Zr?r.text.length:r.children.length;if(a==(n>0?o:0)){if(i==0)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(n>0?0:1)){if(this.offsets[i]+=n,t==0)return this.lineBreak=!0,this.value=` +`,this;t--}else if(r instanceof Zr){let c=r.text[a+(n<0?-1:0)];if(this.offsets[i]+=n,c.length>Math.max(0,t))return this.value=t==0?c:n>0?c.slice(t):c.slice(0,c.length-t),this;t-=c.length}else{let c=r.children[a+(n<0?-1:0)];t>c.length?(t-=c.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(c),this.offsets.push(n>0?1:(c instanceof Zr?c.text.length:c.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class Lde{constructor(t,n,i){this.value="",this.done=!1,this.cursor=new Nx(t,n>i?-1:1),this.pos=n>i?t.length:0,this.from=Math.min(n,i),this.to=Math.max(n,i)}nextInner(t,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let i=n<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:r}=this.cursor.next(t);return this.pos+=(r.length+t)*n,this.value=r.length<=i?r:n<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class $de{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:n,lineBreak:i,value:r}=this.inner.next(t);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(gi.prototype[Symbol.iterator]=function(){return this.iter()},Nx.prototype[Symbol.iterator]=Lde.prototype[Symbol.iterator]=$de.prototype[Symbol.iterator]=function(){return this});let BJe=class{constructor(t,n,i,r){this.from=t,this.to=n,this.number=i,this.text=r}get length(){return this.to-this.from}};function Eb(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function Vs(e,t,n=!0,i=!0){return LJe(e,t,n,i)}function FJe(e){return e>=56320&&e<57344}function UJe(e){return e>=55296&&e<56320}function ao(e,t){let n=e.charCodeAt(t);if(!UJe(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return FJe(i)?(n-55296<<10)+(i-56320)+65536:n}function D6(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function ru(e){return e<65536?1:2}const eL=/\r\n?|\n/;var ra=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(ra||(ra={}));class xu{constructor(t){this.sections=t}get length(){let t=0;for(let n=0;nt)return s+(t-r);s+=o}else{if(i!=ra.Simple&&u>=t&&(i==ra.TrackDel&&rt||i==ra.TrackBefore&&rt))return null;if(u>t||u==t&&n<0&&!o)return t==r||n<0?s:s+c;s+=c}r=u}if(t>r)throw new RangeError(`Position ${t} is out of range for changeset of length ${r}`);return s}touchesRange(t,n=t){for(let i=0,r=0;i=0&&r<=n&&o>=t)return rn?"cover":!0;r=o}return!1}toString(){let t="";for(let n=0;n=0?":"+r:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new xu(t)}static create(t){return new xu(t)}}class _s extends xu{constructor(t,n){super(t),this.inserted=n}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return tL(this,(n,i,r,s,a)=>t=t.replace(r,r+(i-n),a),!1),t}mapDesc(t,n=!1){return nL(this,t,n,!0)}invert(t){let n=this.sections.slice(),i=[];for(let r=0,s=0;r=0){n[r]=o,n[r+1]=a;let c=r>>1;for(;i.length0&&Wf(i,n,s.text),s.forward(d),o+=d}let u=t[a++];for(;o>1].toJSON()))}return t}static of(t,n,i){let r=[],s=[],a=0,o=null;function c(d=!1){if(!d&&!r.length)return;ah||f<0||h>n)throw new RangeError(`Invalid change range ${f} to ${h} (in doc of length ${n})`);let b=p?typeof p=="string"?gi.of(p.split(i||eL)):p:gi.empty,g=b.length;if(f==h&&g==0)return;fa&&xa(r,f-a,-1),xa(r,h-f,g),Wf(s,r,b),a=h}}return u(t),c(!o),o}static empty(t){return new _s(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;ro&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)n.push(s[0],0);else{for(;i.length=0&&n<=0&&n==e[r+1]?e[r]+=t:r>=0&&t==0&&e[r]==0?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}function Wf(e,t,n){if(n.length==0)return;let i=t.length-2>>1;if(i>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)o=e.sections[a++],c=e.sections[a++];t(r,u,s,d,f),r=u,s=d}}}function nL(e,t,n,i=!1){let r=[],s=i?[]:null,a=new Q1(e),o=new Q1(t);for(let c=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let u=Math.min(a.len,o.len);xa(r,u,-1),a.forward(u),o.forward(u)}else if(o.ins>=0&&(a.ins<0||c==a.i||a.off==0&&(o.len=0&&c=0){let u=0,d=a.len;for(;d;)if(o.ins==-1){let f=Math.min(d,o.len);u+=f,d-=f,o.forward(f)}else if(o.ins==0&&o.lenc||a.ins>=0&&a.len>c)&&(o||i.length>u),s.forward2(c),a.forward(c)}}}}class Q1{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i>1;return n>=t.length?gi.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?gi.empty:n[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class Bf{constructor(t,n,i,r){this.from=t,this.to=n,this.flags=i,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let t=this.flags&7;return t==7?null:t}map(t,n=-1){let i,r;return this.empty?i=r=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),r=t.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new Bf(i,r,this.flags,this.goalColumn)}extend(t,n=t,i=0){if(t<=this.anchor&&n>=this.anchor)return $e.range(t,n,void 0,void 0,i);let r=Math.abs(t-this.anchor)>Math.abs(n-this.anchor)?t:n;return $e.range(this.anchor,r,void 0,void 0,i)}eq(t,n=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!n||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return $e.range(t.anchor,t.head)}static create(t,n,i,r){return new Bf(t,n,i,r)}}class $e{constructor(t,n){this.ranges=t,this.mainIndex=n}map(t,n=-1){return t.empty?this:$e.create(this.ranges.map(i=>i.map(t,n)),this.mainIndex)}eq(t,n=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;it.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new $e(t.ranges.map(n=>Bf.fromJSON(n)),t.main)}static single(t,n=t){return new $e([$e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;rr.from-s.from),n=t.indexOf(i);for(let r=1;rs.head?$e.range(c,o):$e.range(o,c))}}return new $e(t,n)}}function Bde(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let P6=0;class St{constructor(t,n,i,r,s){this.combine=t,this.compareInput=n,this.compare=i,this.isStatic=r,this.id=P6++,this.default=t([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(t={}){return new St(t.combine||(n=>n),t.compareInput||((n,i)=>n===i),t.compare||(t.combine?(n,i)=>n===i:M6),!!t.static,t.enables)}of(t){return new yk([],this,0,t)}compute(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new yk(t,this,1,n)}computeN(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new yk(t,this,2,n)}from(t,n){return n||(n=i=>i),this.compute([t],i=>n(i.field(t)))}}function M6(e,t){return e==t||e.length==t.length&&e.every((n,i)=>n===t[i])}class yk{constructor(t,n,i,r){this.dependencies=t,this.facet=n,this.type=i,this.value=r,this.id=P6++}dynamicSlot(t){var n;let i=this.value,r=this.facet.compareInput,s=this.id,a=t[s]>>1,o=this.type==2,c=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?c=!0:f=="selection"?u=!0:((n=t[f.id])!==null&&n!==void 0?n:1)&1||d.push(t[f.id]);return{create(f){return f.values[a]=i(f),1},update(f,h){if(c&&h.docChanged||u&&(h.docChanged||h.selection)||iL(f,d)){let p=i(f);if(o?!Pq(p,f.values[a],r):!r(p,f.values[a]))return f.values[a]=p,1}return 0},reconfigure:(f,h)=>{let p,b=h.config.address[s];if(b!=null){let g=c_(h,b);if(this.dependencies.every(O=>O instanceof St?h.facet(O)===f.facet(O):O instanceof ca?h.field(O,!1)==f.field(O,!1):!0)||(o?Pq(p=i(f),g,r):r(p=i(f),g)))return f.values[a]=g,0}else p=i(f);return f.values[a]=p,1}}}get extension(){return this}}function Pq(e,t,n){if(e.length!=t.length)return!1;for(let i=0;ie[c.id]),r=n.map(c=>c.type),s=i.filter(c=>!(c&1)),a=e[t.id]>>1;function o(c){let u=[];for(let d=0;di===r),t);return t.provide&&(n.provides=t.provide(n)),n}create(t){let n=t.facet(HS).find(i=>i.field==this);return((n==null?void 0:n.create)||this.createF)(t)}slot(t){let n=t[this.id]>>1;return{create:i=>(i.values[n]=this.create(i),1),update:(i,r)=>{let s=i.values[n],a=this.updateF(s,r);return this.compareF(s,a)?0:(i.values[n]=a,1)},reconfigure:(i,r)=>{let s=i.facet(HS),a=r.facet(HS),o;return(o=s.find(c=>c.field==this))&&o!=a.find(c=>c.field==this)?(i.values[n]=o.create(i),1):r.config.address[this.id]!=null?(i.values[n]=r.field(this),0):(i.values[n]=this.create(i),1)}}}init(t){return[this,HS.of({field:this,create:t})]}get extension(){return this}}const _p={lowest:4,low:3,default:2,high:1,highest:0};function cy(e){return t=>new Fde(t,e)}const tf={highest:cy(_p.highest),high:cy(_p.high),default:cy(_p.default),low:cy(_p.low),lowest:cy(_p.lowest)};class Fde{constructor(t,n){this.inner=t,this.prec=n}get extension(){return this}}class F2{of(t){return new rL(this,t)}reconfigure(t){return F2.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class rL{constructor(t,n){this.compartment=t,this.inner=n}get extension(){return this}}class l_{constructor(t,n,i,r,s,a){for(this.base=t,this.compartments=n,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=a,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,n,i){let r=[],s=Object.create(null),a=new Map;for(let h of VJe(t,n,a))h instanceof ca?r.push(h):(s[h.facet.id]||(s[h.facet.id]=[])).push(h);let o=Object.create(null),c=[],u=[];for(let h of r)o[h.id]=u.length<<1,u.push(p=>h.slot(p));let d=i==null?void 0:i.config.facets;for(let h in s){let p=s[h],b=p[0].facet,g=d&&d[h]||[];if(p.every(O=>O.type==0))if(o[b.id]=c.length<<1|1,M6(g,p))c.push(i.facet(b));else{let O=b.combine(p.map(y=>y.value));c.push(i&&b.compare(O,i.facet(b))?i.facet(b):O)}else{for(let O of p)O.type==0?(o[O.id]=c.length<<1|1,c.push(O.value)):(o[O.id]=u.length<<1,u.push(y=>O.dynamicSlot(y)));o[b.id]=u.length<<1,u.push(O=>zJe(O,b,p))}}let f=u.map(h=>h(o));return new l_(t,a,f,o,c,s)}}function VJe(e,t,n){let i=[[],[],[],[],[]],r=new Map;function s(a,o){let c=r.get(a);if(c!=null){if(c<=o)return;let u=i[c].indexOf(a);u>-1&&i[c].splice(u,1),a instanceof rL&&n.delete(a.compartment)}if(r.set(a,o),Array.isArray(a))for(let u of a)s(u,o);else if(a instanceof rL){if(n.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=t.get(a.compartment)||a.inner;n.set(a.compartment,u),s(u,o)}else if(a instanceof Fde)s(a.inner,a.prec);else if(a instanceof ca)i[o].push(a),a.provides&&s(a.provides,o);else if(a instanceof yk)i[o].push(a),a.facet.extensions&&s(a.facet.extensions,_p.default);else{let u=a.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${a}).`);if(u==a)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(u,o)}}return s(e,_p.default),i.reduce((a,o)=>a.concat(o))}function jx(e,t){if(t&1)return 2;let n=t>>1,i=e.status[n];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;e.status[n]=4;let r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function c_(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}const Ude=St.define(),sL=St.define({combine:e=>e.some(t=>t),static:!0}),zde=St.define({combine:e=>e.length?e[0]:void 0,static:!0}),Vde=St.define(),qde=St.define(),Xde=St.define(),Hde=St.define({combine:e=>e.length?e[0]:!1});class Pu{constructor(t,n){this.type=t,this.value=n}static define(){return new qJe}}class qJe{of(t){return new Pu(this,t)}}class XJe{constructor(t){this.map=t}of(t){return new fn(this,t)}}class fn{constructor(t,n){this.type=t,this.value=n}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new fn(this.type,n)}is(t){return this.type==t}static define(t={}){return new XJe(t.map||(n=>n))}static mapEffects(t,n){if(!t.length)return t;let i=[];for(let r of t){let s=r.map(n);s&&i.push(s)}return i}}fn.reconfigure=fn.define();fn.appendConfig=fn.define();class hs{constructor(t,n,i,r,s,a){this.startState=t,this.changes=n,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=a,this._doc=null,this._state=null,i&&Bde(i,n.newLength),s.some(o=>o.type==hs.time)||(this.annotations=s.concat(hs.time.of(Date.now())))}static create(t,n,i,r,s,a){return new hs(t,n,i,r,s,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(let n of this.annotations)if(n.type==t)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(hs.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]=="."))}}hs.time=Pu.define();hs.userEvent=Pu.define();hs.addToHistory=Pu.define();hs.remote=Pu.define();function HJe(e,t){let n=[];for(let i=0,r=0;;){let s,a;if(i=e[i]))s=e[i++],a=e[i++];else if(r=0;r--){let s=i[r](e);s instanceof hs?e=s:Array.isArray(s)&&s.length==1&&s[0]instanceof hs?e=s[0]:e=Yde(t,D0(s),!1)}return e}function YJe(e){let t=e.startState,n=t.facet(Xde),i=e;for(let r=n.length-1;r>=0;r--){let s=n[r](e);s&&Object.keys(s).length&&(i=Gde(i,aL(t,s,e.changes.newLength),!0))}return i==e?e:hs.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}const WJe=[];function D0(e){return e==null?WJe:Array.isArray(e)?e:[e]}var Er=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Er||(Er={}));const ZJe=/[\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 KJe(e){if(oL)return oL.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||ZJe.test(n)))return!0}return!1}function JJe(e){return t=>{if(!/\S/.test(t))return Er.Space;if(KJe(t))return Er.Word;for(let n=0;n-1)return Er.Word;return Er.Other}}class qn{constructor(t,n,i,r,s,a){this.config=t,this.doc=n,this.selection=i,this.values=r,this.status=t.statusTemplate.slice(),this.computeSlot=s,a&&(a._state=this);for(let o=0;or.set(u,c)),n=null),r.set(o.value.compartment,o.value.extension)):o.is(fn.reconfigure)?(n=null,i=o.value):o.is(fn.appendConfig)&&(n=null,i=D0(i).concat(o.value));let s;n?s=t.startState.values.slice():(n=l_.resolve(i,r,this),s=new qn(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(c,u)=>u.reconfigure(c,this),null).values);let a=t.startState.facet(sL)?t.newSelection:t.newSelection.asSingle();new qn(n,t.newDoc,a,s,(o,c)=>c.update(o,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:t},range:$e.cursor(n.from+t.length)}))}changeByRange(t){let n=this.selection,i=t(n.ranges[0]),r=this.changes(i.changes),s=[i.range],a=D0(i.effects);for(let o=1;oa.spec.fromJSON(o,c)))}}return qn.create({doc:t.doc,selection:$e.fromJSON(t.selection),extensions:n.extensions?r.concat([n.extensions]):r})}static create(t={}){let n=l_.resolve(t.extensions||[],new Map),i=t.doc instanceof gi?t.doc:gi.of((t.doc||"").split(n.staticFacet(qn.lineSeparator)||eL)),r=t.selection?t.selection instanceof $e?t.selection:$e.single(t.selection.anchor,t.selection.head):$e.single(0);return Bde(r,i.length),n.staticFacet(sL)||(r=r.asSingle()),new qn(n,i,r,n.dynamicSlots.map(()=>null),(s,a)=>a.create(s),null)}get tabSize(){return this.facet(qn.tabSize)}get lineBreak(){return this.facet(qn.lineSeparator)||` +`}get readOnly(){return this.facet(Hde)}phrase(t,...n){for(let i of this.facet(qn.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return n.length&&(t=t.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>n.length?i:n[s-1]})),t}languageDataAt(t,n,i=-1){let r=[];for(let s of this.facet(Ude))for(let a of s(this,n,i))Object.prototype.hasOwnProperty.call(a,t)&&r.push(a[t]);return r}charCategorizer(t){let n=this.languageDataAt("wordChars",t);return JJe(n.length?n[0]:"")}wordAt(t){let{text:n,from:i,length:r}=this.doc.lineAt(t),s=this.charCategorizer(t),a=t-i,o=t-i;for(;a>0;){let c=Vs(n,a,!1);if(s(n.slice(c,a))!=Er.Word)break;a=c}for(;oe.length?e[0]:4});qn.lineSeparator=zde;qn.readOnly=Hde;qn.phrases=St.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(r=>e[r]==t[r])}});qn.languageData=Ude;qn.changeFilter=Vde;qn.transactionFilter=qde;qn.transactionExtender=Xde;F2.reconfigure=fn.define();function Mu(e,t,n={}){let i={};for(let r of e)for(let s of Object.keys(r)){let a=r[s],o=i[s];if(o===void 0)i[s]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(n,s))i[s]=n[s](o,a);else throw new Error("Config merge conflict for field "+s)}for(let r in t)i[r]===void 0&&(i[r]=t[r]);return i}class Nh{eq(t){return this==t}range(t,n=t){return B1.create(t,n,this)}}Nh.prototype.startSide=Nh.prototype.endSide=0;Nh.prototype.point=!1;Nh.prototype.mapMode=ra.TrackDel;function L6(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}class B1{constructor(t,n,i){this.from=t,this.to=n,this.value=i}static create(t,n,i){return new B1(t,n,i)}}function lL(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class $6{constructor(t,n,i,r){this.from=t,this.to=n,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(t,n,i,r=0){let s=i?this.to:this.from;for(let a=r,o=s.length;;){if(a==o)return a;let c=a+o>>1,u=s[c]-t||(i?this.value[c].endSide:this.value[c].startSide)-n;if(c==a)return u>=0?a:o;u>=0?o=c:a=c+1}}between(t,n,i,r){for(let s=this.findIndex(n,-1e9,!0),a=this.findIndex(i,1e9,!1,s);sp||h==p&&u.startSide>0&&u.endSide<=0)continue;(p-h||u.endSide-u.startSide)<0||(a<0&&(a=h),u.point&&(o=Math.max(o,p-h)),i.push(u),r.push(h-a),s.push(p-a))}return{mapped:i.length?new $6(r,s,i,o):null,pos:a}}}class Qn{constructor(t,n,i,r){this.chunkPos=t,this.chunk=n,this.nextLayer=i,this.maxPoint=r}static create(t,n,i,r){return new Qn(t,n,i,r)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let n of this.chunk)t+=n.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:n=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=t,a=t.filter;if(n.length==0&&!a)return this;if(i&&(n=n.slice().sort(lL)),this.isEmpty)return n.length?Qn.of(n):this;let o=new Wde(this,null,-1).goto(0),c=0,u=[],d=new Fd;for(;o.value||c=0){let f=n[c++];d.addInner(f.from,f.to,f.value)||u.push(f)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||so.to||s=s&&t<=s+a.length&&a.between(s,t-s,n-s,i)===!1)return}this.nextLayer.between(t,n,i)}}iter(t=0){return F1.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,n=0){return F1.from(t).goto(n)}static compare(t,n,i,r,s=-1){let a=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),o=n.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=s),c=Mq(a,o,i),u=new uy(a,c,s),d=new uy(o,c,s);i.iterGaps((f,h,p)=>Lq(u,f,d,h,p,r)),i.empty&&i.length==0&&Lq(u,0,d,0,0,r)}static eq(t,n,i=0,r){r==null&&(r=999999999);let s=t.filter(d=>!d.isEmpty&&n.indexOf(d)<0),a=n.filter(d=>!d.isEmpty&&t.indexOf(d)<0);if(s.length!=a.length)return!1;if(!s.length)return!0;let o=Mq(s,a),c=new uy(s,o,0).goto(i),u=new uy(a,o,0).goto(i);for(;;){if(c.to!=u.to||!cL(c.active,u.active)||c.point&&(!u.point||!L6(c.point,u.point)))return!1;if(c.to>r)return!0;c.next(),u.next()}}static spans(t,n,i,r,s=-1){let a=new uy(t,null,s).goto(n),o=n,c=a.openStart;for(;;){let u=Math.min(a.to,i);if(a.point){let d=a.activeForPoint(a.to),f=a.pointFromo&&(r.span(o,u,a.active,c),c=a.openEnd(u));if(a.to>i)return c+(a.point&&a.to>i?1:0);o=a.to,a.next()}}static of(t,n=!1){let i=new Fd;for(let r of t instanceof B1?[t]:n?eet(t):t)i.add(r.from,r.to,r.value);return i.finish()}static join(t){if(!t.length)return Qn.empty;let n=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let r=t[i];r!=Qn.empty;r=r.nextLayer)n=new Qn(r.chunkPos,r.chunk,n,Math.max(r.maxPoint,n.maxPoint));return n}}Qn.empty=new Qn([],[],null,-1);function eet(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(lL);t=i}return e}Qn.empty.nextLayer=Qn.empty;class Fd{finishChunk(t){this.chunks.push(new $6(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,n,i){this.addInner(t,n,i)||(this.nextLayer||(this.nextLayer=new Fd)).add(t,n,i)}addInner(t,n,i){let r=t-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(n-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=n,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,n-t)),!0)}addChunk(t,n){if((t-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(t);let i=n.value.length-1;return this.last=n.value[i],this.lastFrom=n.from[i]+t,this.lastTo=n.to[i]+t,!0}finish(){return this.finishInner(Qn.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let n=Qn.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,n}}function Mq(e,t,n){let i=new Map;for(let s of e)for(let a=0;a=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new Wde(a,n,i,s));return r.length==1?r[0]:new F1(r)}get startSide(){return this.value?this.value.startSide:0}goto(t,n=-1e9){for(let i of this.heap)i.goto(t,n);for(let i=this.heap.length>>1;i>=0;i--)pR(this.heap,i);return this.next(),this}forward(t,n){for(let i of this.heap)i.forward(t,n);for(let i=this.heap.length>>1;i>=0;i--)pR(this.heap,i);(this.to-t||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),pR(this.heap,0)}}}function pR(e,t){for(let n=e[t];;){let i=(t<<1)+1;if(i>=e.length)break;let r=e[i];if(i+1=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}class uy{constructor(t,n,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=F1.from(t,n,i)}goto(t,n=-1e9){return this.cursor.goto(t,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=n,this.openStart=-1,this.next(),this}forward(t,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(t,n)}removeActive(t){GS(this.active,t),GS(this.activeTo,t),GS(this.activeRank,t),this.minActive=$q(this.active,this.activeTo)}addActive(t){let n=0,{value:i,to:r,rank:s}=this.cursor;for(;n0;)n++;YS(this.active,n,i),YS(this.activeTo,n,r),YS(this.activeRank,n,s),t&&YS(t,n,this.cursor.from),this.minActive=$q(this.active,this.activeTo)}next(){let t=this.to,n=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>t){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&GS(i,r)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&n.push(this.active[i]);return n.reverse()}openEnd(t){let n=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)n++;return n}}function Lq(e,t,n,i,r,s){e.goto(t),n.goto(i);let a=i+r,o=i,c=i-t,u=!!s.boundChange;for(let d=!1;;){let f=e.to+c-n.to,h=f||e.endSide-n.endSide,p=h<0?e.to+c:n.to,b=Math.min(p,a);if(e.point||n.point?(e.point&&n.point&&L6(e.point,n.point)&&cL(e.activeForPoint(e.to),n.activeForPoint(n.to))||s.comparePoint(o,b,e.point,n.point),d=!1):(d&&s.boundChange(o),b>o&&!cL(e.active,n.active)&&s.compareRange(o,b,e.active,n.active),u&&ba)break;o=p,h<=0&&e.next(),h>=0&&n.next()}}function cL(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;i--)e[i+1]=e[i];e[t]=n}function $q(e,t){let n=-1,i=1e9;for(let r=0;r=t)return r;if(r==e.length)break;s+=e.charCodeAt(r)==9?n-s%n:1,r=Vs(e,r)}return i===!0?-1:e.length}const dL="ͼ",Qq=typeof Symbol>"u"?"__"+dL:Symbol.for(dL),fL=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Bq=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class jh{constructor(t,n){this.rules=[];let{finish:i}=n||{};function r(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function s(a,o,c,u){let d=[],f=/^@(\w+)\b/.exec(a[0]),h=f&&f[1]=="keyframes";if(f&&o==null)return c.push(a[0]+";");for(let p in o){let b=o[p];if(/&/.test(p))s(p.split(/,\s*/).map(g=>a.map(O=>g.replace(/&/,O))).reduce((g,O)=>g.concat(O)),b,c);else if(b&&typeof b=="object"){if(!f)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(r(p),b,d,h)}else b!=null&&d.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+b+";")}(d.length||h)&&c.push((i&&!f&&!u?a.map(i):a).join(", ")+" {"+d.join(" ")+"}")}for(let a in t)s(r(a),t[a],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let t=Bq[Qq]||1;return Bq[Qq]=t+1,dL+t.toString(36)}static mount(t,n,i){let r=t[fL],s=i&&i.nonce;r?s&&r.setNonce(s):r=new tet(t,s),r.mount(Array.isArray(n)?n:[n],t)}}let Fq=new Map;class tet{constructor(t,n){let i=t.ownerDocument||t,r=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&r.CSSStyleSheet){let s=Fq.get(i);if(s)return t[fL]=s;this.sheet=new r.CSSStyleSheet,Fq.set(i,this)}else this.styleTag=i.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],t[fL]=this}mount(t,n){let i=this.sheet,r=0,s=0;for(let a=0;a-1&&(this.modules.splice(c,1),s--,c=-1),c==-1){if(this.modules.splice(s++,0,o),i)for(let u=0;u",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},net=typeof navigator<"u"&&/Mac/.test(navigator.platform),iet=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var ta=0;ta<10;ta++)Rh[48+ta]=Rh[96+ta]=String(ta);for(var ta=1;ta<=24;ta++)Rh[ta+111]="F"+ta;for(var ta=65;ta<=90;ta++)Rh[ta]=String.fromCharCode(ta+32),U1[ta]=String.fromCharCode(ta);for(var mR in Rh)U1.hasOwnProperty(mR)||(U1[mR]=Rh[mR]);function ret(e){var t=net&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||iet&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?U1:Rh)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function $i(){var e=arguments[0];typeof e=="string"&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];typeof r=="string"?e.setAttribute(i,r):r!=null&&(e[i]=r)}t++}for(;t2);var xt={mac:Vq||/Mac/.test(Pa.platform),windows:/Win/.test(Pa.platform),linux:/Linux|X11/.test(Pa.platform),ie:U2,ie_version:Kde?hL.documentMode||6:mL?+mL[1]:pL?+pL[1]:0,gecko:Uq,gecko_version:Uq?+(/Firefox\/(\d+)/.exec(Pa.userAgent)||[0,0])[1]:0,chrome:!!gR,chrome_version:gR?+gR[1]:0,ios:Vq,android:/Android\b/.test(Pa.userAgent),webkit:zq,webkit_version:zq?+(/\bAppleWebKit\/(\d+)/.exec(Pa.userAgent)||[0,0])[1]:0,safari:gL,safari_version:gL?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Pa.userAgent)||[0,0])[1]:0,tabSize:hL.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Q6(e,t){for(let n in e)n=="class"&&t.class?t.class+=" "+e.class:n=="style"&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}const u_=Object.create(null);function B6(e,t,n){if(e==t)return!0;e||(e=u_),t||(t=u_);let i=Object.keys(e),r=Object.keys(t);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=n&&(r.indexOf(s)==-1||e[s]!==t[s]))return!1;return!0}function set(e,t){for(let n=e.attributes.length-1;n>=0;n--){let i=e.attributes[n].name;t[i]==null&&e.removeAttribute(i)}for(let n in t){let i=t[n];n=="style"?e.style.cssText=i:e.getAttribute(n)!=i&&e.setAttribute(n,i)}}function qq(e,t,n){let i=!1;if(t)for(let r in t)n&&r in n||(i=!0,r=="style"?e.style.cssText="":e.removeAttribute(r));if(n)for(let r in n)t&&t[r]==n[r]||(i=!0,r=="style"?e.style.cssText=n[r]:e.setAttribute(r,n[r]));return i}function aet(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:n>0?1e8:-1e8,new vm(t,n,n,i,t.widget||null,!1)}static replace(t){let n=!!t.block,i,r;if(t.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:a}=Jde(t,n);i=(s?n?-3e8:-1:5e8)-1,r=(a?n?2e8:1:-6e8)+1}return new vm(t,i,r,n,t.widget||null,!0)}static line(t){return new rw(t)}static set(t,n=!1){return Qn.of(t,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Ht.none=Qn.empty;class iw extends Ht{constructor(t){let{start:n,end:i}=Jde(t);super(n?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?Q6(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||u_}eq(t){return this==t||t instanceof iw&&this.tagName==t.tagName&&B6(this.attrs,t.attrs)}range(t,n=t){if(t>=n)throw new RangeError("Mark decorations may not be empty");return super.range(t,n)}}iw.prototype.point=!1;class rw extends Ht{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof rw&&this.spec.class==t.spec.class&&B6(this.spec.attributes,t.spec.attributes)}range(t,n=t){if(n!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,n)}}rw.prototype.mapMode=ra.TrackBefore;rw.prototype.point=!0;class vm extends Ht{constructor(t,n,i,r,s,a){super(n,i,s,t),this.block=r,this.isReplace=a,this.mapMode=r?n<=0?ra.TrackBefore:ra.TrackAfter:ra.TrackDel}get type(){return this.startSide!=this.endSide?oa.WidgetRange:this.startSide<=0?oa.WidgetBefore:oa.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof vm&&oet(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,n=t){if(this.isReplace&&(t>n||t==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,n)}}vm.prototype.point=!0;function Jde(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return n==null&&(n=e.inclusive),i==null&&(i=e.inclusive),{start:n??t,end:i??t}}function oet(e,t){return e==t||!!(e&&t&&e.compare(t))}function P0(e,t,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}class z1 extends Nh{constructor(t,n,i){super(),this.tagName=t,this.attributes=n,this.rank=i}eq(t){return t==this||t instanceof z1&&this.tagName==t.tagName&&B6(this.attributes,t.attributes)}static create(t){return new z1(t.tagName,t.attributes||u_,t.rank==null?50:Math.max(0,Math.min(t.rank,100)))}static set(t,n=!1){return Qn.of(t,n)}}z1.prototype.startSide=z1.prototype.endSide=-1;function V1(e){let t;return e.nodeType==11?t=e.getSelection?e:e.ownerDocument:t=e,t.getSelection()}function bL(e,t){return t?e==t||e.contains(t.nodeType!=1?t.parentNode:t):!1}function Rx(e,t){if(!t.anchorNode)return!1;try{return bL(e,t.anchorNode)}catch{return!1}}function Ix(e){return e.nodeType==3?X1(e,0,e.nodeValue.length).getClientRects():e.nodeType==1?e.getClientRects():[]}function Dx(e,t,n,i){return n?Xq(e,t,n,i,-1)||Xq(e,t,n,i,1):!1}function Ih(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t}function d_(e){return e.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function Xq(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:Ud(e))){if(e.nodeName=="DIV")return!1;let s=e.parentNode;if(!s||s.nodeType!=1)return!1;t=Ih(e)+(r<0?0:1),e=s}else if(e.nodeType==1){if(e=e.childNodes[t+(r<0?-1:0)],e.nodeType==1&&e.contentEditable=="false")return!1;t=r<0?Ud(e):0}else return!1}}function Ud(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function q1(e,t){let{left:n,right:i}=e;if(n==i)return e;let r=t?n:i;return{left:r,right:r,top:e.top,bottom:e.bottom}}function cet(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function efe(e,t){let n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}function uet(e,t,n,i,r,s,a,o){let c=e.ownerDocument,u=c.defaultView||window;for(let d=e,f=!1;d&&!f;)if(d.nodeType==1){let h,p=d==c.body,b=1,g=1;if(p)h=cet(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let v=d.getBoundingClientRect();({scaleX:b,scaleY:g}=efe(d,v)),h={left:v.left,right:v.left+d.clientWidth*b,top:v.top,bottom:v.top+d.clientHeight*g}}let O=0,y=0;if(r=="nearest")t.top0&&t.bottom>h.bottom+y&&(y=t.bottom-h.bottom+a)):t.bottom>h.bottom-a&&(y=t.bottom-h.bottom+a,n<0&&t.top-y0&&t.right>h.right+O&&(O=t.right-h.right+s)):t.right>h.right-s&&(O=t.right-h.right+s,n<0&&t.lefth.bottom||t.lefth.right)&&(t={left:Math.max(t.left,h.left),right:Math.min(t.right,h.right),top:Math.max(t.top,h.top),bottom:Math.min(t.bottom,h.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function tfe(e,t=!0){let n=e.ownerDocument,i=null,r=null;for(let s=e.parentNode;s&&!(s==n.body||(!t||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),t&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}class det{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:n,focusNode:i}=t;this.set(n,Math.min(t.anchorOffset,n?Ud(n):0),i,Math.min(t.focusOffset,i?Ud(i):0))}set(t,n,i,r){this.anchorNode=t,this.anchorOffset=n,this.focusNode=i,this.focusOffset=r}}let Sp=null;xt.safari&&xt.safari_version>=26&&(Sp=!1);function nfe(e){if(e.setActive)return e.setActive();if(Sp)return e.focus(Sp);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(Sp==null?{get preventScroll(){return Sp={preventScroll:!0},!0}}:void 0),!Sp){Sp=!1;for(let n=0;nMath.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function rfe(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i>0)return{node:n,offset:i};if(n.nodeType==1&&i>0){if(n.contentEditable=="false")return null;n=n.childNodes[i-1],i=Ud(n)}else if(n.parentNode&&!d_(n))i=Ih(n),n=n.parentNode;else return null}}function sfe(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i=n){if(o.level==i)return a;(s<0||(r!=0?r<0?o.fromn:t[s].level>o.level))&&(s=a)}}if(s<0)throw new RangeError("Index out of range");return s}}function lfe(e,t){if(e.length!=t.length)return!1;for(let n=0;n=0;g-=3)if(Xc[g+1]==-p){let O=Xc[g+2],y=O&2?r:O&4?O&1?s:r:0;y&&(Vi[f]=Vi[Xc[g]]=y),o=g;break}}else{if(Xc.length==189)break;Xc[o++]=f,Xc[o++]=h,Xc[o++]=c}else if((b=Vi[f])==2||b==1){let g=b==r;c=g?0:1;for(let O=o-3;O>=0;O-=3){let y=Xc[O+2];if(y&2)break;if(g)Xc[O+2]|=2;else{if(y&4)break;Xc[O+2]|=4}}}}}function yet(e,t,n,i){for(let r=0,s=i;r<=n.length;r++){let a=r?n[r-1].to:e,o=rc;)b==O&&(b=n[--g].from,O=g?n[g-1].to:e),Vi[--b]=p;c=d}else s=u,c++}}}function yL(e,t,n,i,r,s,a){let o=i%2?2:1;if(i%2==r%2)for(let c=t,u=0;cc&&a.push(new fu(c,g.from,p));let O=g.direction==wm!=!(p%2);xL(e,O?i+1:i,r,g.inner,g.from,g.to,a),c=g.to}b=g.to}else{if(b==n||(d?Vi[b]!=o:Vi[b]==o))break;b++}h?yL(e,c,b,i+1,r,h,a):ct;){let d=!0,f=!1;if(!u||c>s[u-1].to){let g=Vi[c-1];g!=o&&(d=!1,f=g==16)}let h=!d&&o==1?[]:null,p=d?i:i+1,b=c;e:for(;;)if(u&&b==s[u-1].to){if(f)break e;let g=s[--u];if(!d)for(let O=g.from,y=u;;){if(O==t)break e;if(y&&s[y-1].to==O)O=s[--y].from;else{if(Vi[O-1]==o)break e;break}}if(h)h.push(g);else{g.toVi.length;)Vi[Vi.length]=256;let i=[],r=t==wm?0:1;return xL(e,r,r,n,0,e.length,i),i}function cfe(e){return[new fu(0,e,0)]}let ufe="";function vet(e,t,n,i,r){var s;let a=i.head-e.from,o=fu.find(t,a,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),c=t[o],u=c.side(r,n);if(a==u){let h=o+=r?1:-1;if(h<0||h>=t.length)return null;c=t[o=h],a=c.side(!r,n),u=c.side(r,n)}let d=Vs(e.text,a,c.forward(r,n));(dc.to)&&(d=u),ufe=e.text.slice(Math.min(a,d),Math.max(a,d));let f=o==(r?t.length-1:0)?null:t[o+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)e.some(t=>t)}),Ofe=St.define({combine:e=>e.some(t=>t)}),yfe=St.define();class L0{constructor(t,n,i,r,s,a=!1){this.range=t,this.y=n,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=a}map(t){return t.empty?this:new L0(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new L0($e.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const WS=fn.define({map:(e,t)=>e.map(t)}),xfe=fn.define();function fo(e,t,n){let i=e.facet(pfe);i.length?i[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const dd=St.define({combine:e=>e.length?e[0]:!0});let Eet=0;const d0=St.define({combine(e){return e.filter((t,n)=>{for(let i=0;i{let c=[];return a&&c.push(z2.of(u=>{let d=u.plugin(o);return d?a(d):Ht.none})),s&&c.push(s(o)),c})}static fromClass(t,n){return Vr.define((i,r)=>new t(i,r),n)}}class bR{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(i){if(fo(n.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(n){fo(t.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(i){fo(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const vfe=St.define(),V6=St.define(),z2=St.define(),wfe=St.define(),q6=St.define(),sw=St.define(),Sfe=St.define();function Gq(e,t){let n=e.state.facet(Sfe);if(!n.length)return n;let i=n.map(s=>s instanceof Function?s(e):s),r=[];return Qn.spans(i,t.from,t.to,{point(){},span(s,a,o,c){let u=s-t.from,d=a-t.from,f=r;for(let h=o.length-1;h>=0;h--,c--){let p=o[h].spec.bidiIsolate,b;if(p==null&&(p=wet(t.text,u,d)),c>0&&f.length&&(b=f[f.length-1]).to==u&&b.direction==p)b.to=d,f=b.inner;else{let g={from:u,to:d,direction:p,inner:[]};f.push(g),f=g.inner}}}}),r}const Efe=St.define();function X6(e){let t=0,n=0,i=0,r=0;for(let s of e.state.facet(Efe)){let a=s(e);a&&(a.left!=null&&(t=Math.max(t,a.left)),a.right!=null&&(n=Math.max(n,a.right)),a.top!=null&&(i=Math.max(i,a.top)),a.bottom!=null&&(r=Math.max(r,a.bottom)))}return{left:t,right:n,top:i,bottom:r}}const zy=St.define();class Nl{constructor(t,n,i,r){this.fromA=t,this.toA=n,this.fromB=i,this.toB=r}join(t){return new Nl(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let n=t.length,i=this;for(;n>0;n--){let r=t[n-1];if(!(r.fromA>i.toA)){if(r.toAr.push(new Nl(s,a,o,c))),this.changedRanges=r}static create(t,n,i){return new f_(t,n,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const ket=[];class zr{constructor(t,n,i=0){this.dom=t,this.length=n,this.flags=i,this.parent=null,t.cmTile=this}get breakAfter(){return this.flags&1}get children(){return ket}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&set(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,n=this.posAtStart){let i=n;for(let r of this.children){if(r==t)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,n,i){return null}domPosFor(t,n){let i=Ih(this.dom),r=this.length?t>0:n>0;return new bc(this.parent.dom,i+(r?1:0),t==0||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof q2)return t;return null}static get(t){return t.cmTile}}class V2 extends zr{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(this.flags&2)return;super.sync(t);let n=this.dom,i=null,r,s=(t==null?void 0:t.node)==n?t:null,a=0;for(let o of this.children){if(o.sync(t),a+=o.length+o.breakAfter,r=i?i.nextSibling:n.firstChild,s&&r!=o.dom&&(s.written=!0),o.dom.parentNode==n)for(;r&&r!=o.dom;)r=Yq(r);else n.insertBefore(o.dom,r);i=o.dom}for(r=i?i.nextSibling:n.firstChild,s&&r&&(s.written=!0);r;)r=Yq(r);this.length=a}}function Yq(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class q2 extends V2{constructor(t,n){super(n),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let n=zr.get(t);if(n&&this.owns(n))return n;t=t.parentNode}}blockTiles(t){for(let n=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!n.length)return;i=i.parent,i.breakAfter&&s++,r=n.pop()}else{let a=i.children[r++];if(a instanceof Nd)n.push(r),i=a,r=0;else{let o=s+a.length,c=t(a,s);if(c!==void 0)return c;s=o+a.breakAfter}}}resolveBlock(t,n){let i,r=-1,s,a=-1;if(this.blockTiles((o,c)=>{let u=c+o.length;if(t>=c&&t<=u){if(o.isWidget()&&n>=-1&&n<=1){if(o.flags&32)return!0;o.flags&16&&(i=void 0)}(ct||t==c&&(n>1?o.length:o.covers(-1)))&&(!s||!o.isWidget()&&s.isWidget())&&(s=o,a=t-c)}}),!i&&!s)throw new Error("No tile at position "+t);return i&&n<0||!s?{tile:i,offset:r}:{tile:s,offset:a}}}class Nd extends V2{constructor(t,n){super(t),this.wrapper=n}isBlock(){return!0}covers(t){return this.children.length?t<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(t,n){let i=new Nd(n||document.createElement(t.tagName),t);return n||(i.flags|=4),i}}class kb extends V2{constructor(t,n){super(t),this.attrs=n}isLine(){return!0}static start(t,n,i){let r=new kb(n||document.createElement("div"),t);return(!n||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(t,n,i){let r=null,s=-1,a=null,o=-1;function c(d,f){for(let h=0,p=0;h=f&&(b.isComposite()?c(b,f-p):(!a||a.isHidden&&(n>0&&!(a.flags&32)||i&&_et(a,b)))&&(g>f||b.flags&32)?(a=b,o=f-p):(pr&&(t=r);let s=t,a=t,o=0;t==0&&n<0||t==r&&n>=0?xt.chrome||xt.gecko||(t?(s--,o=1):a=0)?0:c.length-1];return xt.safari&&!o&&u.width==0&&(u=Array.prototype.find.call(c,d=>d.width)||u),i==null?u:q1(u,(o?o>0:n<0)==i)}static of(t,n){let i=new $p(n||document.createTextNode(t),t);return n||(i.flags|=2),i}}class Sm extends zr{constructor(t,n,i,r){super(t,n,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return this.flags&48?!1:(this.flags&(t<0?64:128))>0}coordsIn(t,n){return this.coordsInWidget(t,n,!1)}coordsInWidget(t,n,i){let r=this.widget.coordsAt(this.dom,t,n);if(r)return r;if(i)return q1(this.dom.getBoundingClientRect(),this.length?t==0:n<=0);{let s=this.dom.getClientRects(),a=null;if(!s.length)return null;let o=this.flags&16?!0:this.flags&32?!1:t>0;for(let c=o?s.length-1:0;a=s[c],!(t>0?c==0:c==s.length-1||a.top0==i)}}class Aet{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,n,i){let{tile:r,index:s,beforeBreak:a,parents:o}=this;for(;t||n>0;)if(r.isComposite())if(a){if(!t)break;i&&i.break(),t--,a=!1}else if(s==r.children.length){if(!t&&!o.length)break;i&&i.leave(r),a=!!r.breakAfter,{tile:r,index:s}=o.pop(),s++}else{let c=r.children[s],u=c.breakAfter;(n>0?c.length<=t:c.length=0;o--){let c=n.marks[o],u=r.lastChild;if(u instanceof lo&&u.mark.eq(c.mark))u.dom!=c.dom&&u.setDOM(OR(c.dom)),r=u;else{if(this.cache.reused.get(c)){let f=zr.get(c.dom);f&&f.setDOM(OR(c.dom))}let d=lo.of(c.mark,c.dom);r.append(d),r=d}this.cache.reused.set(c,2)}let s=zr.get(t.text);s&&this.cache.reused.set(s,2);let a=new $p(t.text,t.text.nodeValue);a.flags|=8,this.pos=t.range.toB,r.append(a)}addInlineWidget(t,n,i){let r=this.afterWidget&&t.flags&48&&(this.afterWidget.flags&48)==(t.flags&48);r||this.flushBuffer();let s=this.ensureMarks(n,i);!r&&!(t.flags&16)&&s.append(this.getBuffer(1)),s.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,n,i){this.flushBuffer(),this.ensureMarks(n,i).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let n=this.afterWidget||this.lastBlock;n.length+=t,this.pos+=t}addLineStart(t,n){var i;t||(t=kfe);let r=kb.start(t,n||((i=this.cache.find(kb))===null||i===void 0?void 0:i.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,n){var i;let r=this.curLine;for(let s=t.length-1;s>=0;s--){let a=t[s],o;if(n>0&&(o=r.lastChild)&&o instanceof lo&&o.mark.eq(a))r=o,n--;else{let c=lo.of(a,(i=this.cache.find(lo,u=>u.mark.eq(a)))===null||i===void 0?void 0:i.dom);r.append(c),r=c,n=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!Wq(this.curLine,!1)||t.dom.nodeName!="BR"&&t.isWidget()&&!(xt.ios&&Wq(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(yR,0,32)||new Sm(yR.toDOM(),0,yR,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to=this.pos){let n=t.rank*102+t.value.rank,i=new Cet(t.from,t.to,t.value,n),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let n=this.root;for(let i of this.wrappers){let r=n.lastChild;if(i.froma.wrapper.eq(i.wrapper)))===null||t===void 0?void 0:t.dom);n.append(s),n=s}}return n}blockPosCovered(){let t=this.lastBlock;return t!=null&&!t.breakAfter&&(!t.isWidget()||(t.flags&160)>0)}getBuffer(t){let n=2|(t<0?16:32),i=this.cache.find(h_,void 0,1);return i&&(i.flags=n),i||new h_(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class jet{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=r;let o=this.textOff=Math.min(t,r.length);return s?null:r.slice(0,o)}let n=Math.min(this.text.length,this.textOff+t),i=this.text.slice(this.textOff,n);return this.textOff=n,i}}const p_=[Sm,kb,$p,lo,h_,Nd,q2];for(let e=0;e[]),this.index=p_.map(()=>0),this.reused=new Map}add(t){let n=t.constructor.bucket,i=this.buckets[n];i.length<6?i.push(t):i[this.index[n]=(this.index[n]+1)%6]=t}find(t,n,i=2){let r=t.bucket,s=this.buckets[r],a=this.index[r];for(let o=0;o{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(t,n){let i=n&&this.getCompositionContext(n.text);for(let r=0,s=0,a=0;;){let o=ar){let u=c-r;this.preserve(u,!a,!o),r=c,s+=u}if(!o)break;n&&o.fromA<=n.range.fromA&&o.toA>=n.range.toA?(this.forward(o.fromA,n.range.fromA,n.range.fromA{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(c-o);else{let u=c>0||o{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof lo&&r.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?r.length&&(r.length=s=0):a instanceof lo&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,n){let i=null,r=this.builder,s=-1,a=Qn.spans(this.decorations,t,n,{point:(o,c,u,d,f,h)=>{if(u instanceof vm){if(this.disallowBlockEffectsFor[h]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(c>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=d.length,f>d.length)r.continueWidget(c-o);else{let p=u.widget||(u.block?Tb.block:Tb.inline),b=Det(u),g=this.cache.findWidget(p,c-o,b)||Sm.of(p,this.view,c-o,b);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(g)):(r.ensureLine(i),r.addInlineWidget(g,d,f))}i=null}else i=Pet(i,u);c>o&&this.text.skip(c-o)},span:(o,c,u,d)=>{for(let f=o;f-1&&(this.openWidget=a>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=a}forward(t,n,i=1){n-t<=10?this.old.advance(n-t,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-t-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(t){let n=[],i=null;for(let r=t.parentNode;;r=r.parentNode){let s=zr.get(r);if(r==this.view.contentDOM)break;s instanceof lo?n.push(s):s!=null&&s.isLine()?i=s:s instanceof Nd||(r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new kb(r,kfe):i||n.push(lo.of(new iw({tagName:r.nodeName.toLowerCase(),attributes:aet(r)}),r)))}return{line:i,marks:n}}}function Wq(e,t){let n=i=>{for(let r of i.children)if((t?r.isText():r.length)||n(r))return!0;return!1};return n(e)}function Det(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}const kfe={class:"cm-line"};function Pet(e,t){let n=t.spec.attributes,i=t.spec.class;return!n&&!i||(e||(e={class:"cm-line"}),n&&Q6(n,e),i&&(e.class+=" "+i)),e}function Met(e){let t=[];for(let n=e.parents.length;n>1;n--){let i=n==e.parents.length?e.tile:e.parents[n].tile;i instanceof lo&&t.push(i.mark)}return t}function OR(e){let t=zr.get(e);return t&&t.setDOM(e.cloneNode()),e}class Tb extends Dc{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Tb.inline=new Tb("span");Tb.block=new Tb("div");const yR=new class extends Dc{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Zq{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Ht.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new q2(t,t.contentDOM),this.updateInner([new Nl(0,0,0,t.state.doc.length)],null)}update(t){var n;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:d,toA:f})=>fthis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?r=this.domChanged.newSel.head:!qet(t.changes,this.hasComposition)&&!t.selectionSet&&(r=t.state.selection.main.head));let s=r>-1?$et(this.view,t.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;i=new Nl(d,f,t.changes.mapPos(d,-1),t.changes.mapPos(f,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(xt.ie||xt.chrome)&&!s&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.blockWrappers;this.updateDeco();let c=Fet(a,this.decorations,t.changes);c.length&&(i=Nl.extendWithRanges(i,c));let u=zet(o,this.blockWrappers,t.changes);return u.length&&(i=Nl.extendWithRanges(i,u)),s&&!i.some(d=>d.fromA<=s.range.fromA&&d.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,n){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(n||t.length){let a=this.tile,o=new Iet(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);n&&zr.get(n.text)&&o.cache.reused.set(zr.get(n.text),2),this.tile=o.run(t,n),wL(a,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=xt.chrome||xt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Rx(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||n||a))return;let o=this.forceSelection;this.forceSelection=!1;let c=this.view.state.selection.main,u,d;if(c.empty?d=u=this.inlineDOMNearPos(c.anchor,c.assoc||1):(d=this.inlineDOMNearPos(c.head,c.head==c.from?1:-1),u=this.inlineDOMNearPos(c.anchor,c.anchor==c.from?1:-1)),xt.gecko&&c.empty&&!this.hasComposition&&Let(u)){let h=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(h,u.node.childNodes[u.offset]||null)),u=d=new bc(h,0),o=!0}let f=this.view.observer.selectionRange;(o||!f.focusNode||(!Dx(u.node,u.offset,f.anchorNode,f.anchorOffset)||!Dx(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,c))&&(this.view.observer.ignore(()=>{xt.android&&xt.chrome&&i.contains(f.focusNode)&&Vet(f.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let h=V1(this.view.root);if(h)if(c.empty){if(xt.gecko){let p=Qet(u.node,u.offset);if(p&&p!=3){let b=(p==1?rfe:sfe)(u.node,u.offset);b&&(u=new bc(b.node,b.offset))}}h.collapse(u.node,u.offset),c.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=c.bidiLevel)}else if(h.extend){h.collapse(u.node,u.offset);try{h.extend(d.node,d.offset)}catch{}}else{let p=document.createRange();c.anchor>c.head&&([u,d]=[d,u]),p.setEnd(d.node,d.offset),p.setStart(u.node,u.offset),h.removeAllRanges(),h.addRange(p)}a&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new bc(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new bc(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(t,n){return this.hasComposition&&n.empty&&Dx(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,n=t.state.selection.main,i=V1(t.root),{anchorNode:r,anchorOffset:s}=t.observer.selectionRange;if(!i||!n.empty||!n.assoc||!i.modify)return;let a=this.lineAt(n.head,n.assoc);if(!a)return;let o=a.posAtStart;if(n.head==o||n.head==o+a.length)return;let c=this.coordsAt(n.head,-1),u=this.coordsAt(n.head,1);if(!c||!u||c.bottom>u.top)return;let d=this.domAtPos(n.head+n.assoc,n.assoc);i.collapse(d.node,d.offset),i.modify("move",n.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let f=t.observer.selectionRange;t.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=n.from&&i.collapse(r,s)}posFromDOM(t,n){let i=this.tile.nearest(t);if(!i)return this.tile.dom.compareDocumentPosition(t)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(t==i.dom)s=i.dom.childNodes[n];else{let a=Ud(t)==0?0:n==0?-1:1;for(;;){let o=t.parentNode;if(o==i.dom)break;a==0&&o.firstChild!=o.lastChild&&(t==o.firstChild?a=-1:a=1),t=o}a<0?s=t:s=t.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!zr.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let a=0,o=r;;a++){let c=i.children[a];if(c.dom==s)return o;o+=c.length+c.breakAfter}}else return i.isText()?t==i.dom?r+n:r+(n?i.length:0):r}domAtPos(t,n){let{tile:i,offset:r}=this.tile.resolveBlock(t,n);return i.isWidget()?i.domPosFor(r,n):i.domIn(r,n)}inlineDOMNearPos(t,n){let i,r=-1,s=!1,a,o=-1,c=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=t)return!0;u.flags&16&&(s=!0)}else{let f=d+u.length;if(d<=t&&(i=u,r=t-d,s=f=t&&!a&&(a=u,o=t-d,c=d>t),d>t&&a)return!0}}),!i&&!a?this.domAtPos(t,n):(s&&a?i=null:c&&i&&(a=null),i&&n<0||!a?i.domIn(r,n):a.domIn(o,n))}coordsAt(t,n,i){let{tile:r,offset:s}=this.tile.resolveBlock(t,n);return r.isWidget()?r.widget instanceof xR?null:r.coordsInWidget(s,n,!0):r.coordsIn(s,n,i)}lineAt(t,n){let{tile:i}=this.tile.resolveBlock(t,n);return i.isLine()?i:null}coordsForChar(t){let{tile:n,offset:i}=this.tile.resolveBlock(t,1);if(!n.isLine())return null;function r(s,a){if(s.isComposite())for(let o of s.children){if(o.length>=a){let c=r(o,a);if(c)return c}if(a-=o.length,a<0)break}else if(s.isText()&&aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,c=this.view.textDirection==qi.LTR,u=0,d=(f,h,p)=>{for(let b=0;br);b++){let g=f.children[b],O=h+g.length,y=g.dom.getBoundingClientRect(),{height:v}=y;if(p&&!b&&(u+=y.top-p.top),g instanceof Nd)O>i&&d(g,h,y);else if(h>=i&&(u>0&&n.push(-u),n.push(v+u),u=0,a)){let x=g.dom.lastChild,w=x?Ix(x):[];if(w.length){let E=w[w.length-1],S=c?E.right-y.left:y.right-E.left;S>o&&(o=S,this.minWidth=s,this.minWidthFrom=h,this.minWidthTo=O)}}p&&b==f.children.length-1&&(u+=p.bottom-y.bottom),h=O+g.breakAfter}};return d(this.tile,0,null),n}textDirectionAt(t){let{tile:n}=this.tile.resolveBlock(t,1);return getComputedStyle(n.dom).direction=="rtl"?qi.RTL:qi.LTR}measureTextSize(){let t=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let o=0,c;for(let u of a.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=Ix(u.dom);if(d.length!=1)return;o+=d[0].width,c=d[0].height}if(o)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:o/a.length,textHeight:c}}});if(t)return t;let n=document.createElement("div"),i,r,s;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let a=Ix(n.firstChild)[0];i=n.getBoundingClientRect().height,r=a&&a.width?a.width/27:7,s=a&&a.height?a.height:i,n.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let t=[],n=this.view.viewState;for(let i=0,r=0;;r++){let s=r==n.viewports.length?null:n.viewports[r],a=s?s.from-1:this.view.state.doc.length;if(a>i){let o=(n.lineBlockAt(a).bottom-n.lineBlockAt(i).top)/this.view.scaleY;t.push(Ht.replace({widget:new xR(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,a))}if(!s)break;i=s.to+1}return Ht.set(t)}updateDeco(){let t=1,n=this.view.state.facet(z2).map(s=>(this.dynamicDecorationMap[t++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(q6).map((s,a)=>{let o=typeof s=="function";return o&&(i=!0),o?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[t++]=i,n.push(Qn.join(r))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];ttypeof s=="function"?s(this.view):s)}scrollIntoView(t){if(t.isSnapshot){let u=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=u.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let u of this.view.state.facet(yfe))try{if(u(this.view,t.range,t))return!0}catch(d){fo(this.view.state,d,"scroll handler")}let{range:n}=t,i=this.coordsAt(n.head,n.assoc||(n.head>n.anchor?-1:1)),r;if(!i)return;!n.empty&&(r=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=X6(this.view),a={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:o,offsetHeight:c}=this.view.scrollDOM;if(uet(this.view.scrollDOM,a,n.head1&&(i.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||i.bottomi.isWidget()||i.children.some(n);return n(this.tile.resolveBlock(t,1).tile)}destroy(){wL(this.tile)}}function wL(e,t){let n=t==null?void 0:t.get(e);if(n!=1){n==null&&e.destroy();for(let i of e.children)wL(i,t)}}function Let(e){return e.node.nodeType==1&&e.node.firstChild&&(e.offset==0||e.node.childNodes[e.offset-1].contentEditable=="false")&&(e.offset==e.node.childNodes.length||e.node.childNodes[e.offset].contentEditable=="false")}function Tfe(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let i=rfe(n.focusNode,n.focusOffset),r=sfe(n.focusNode,n.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let o=zr.get(r.node);if(!o||o.isText()&&o.text!=r.node.nodeValue)s=r;else if(e.docView.lastCompositionAfterCursor){let c=zr.get(i.node);!c||c.isText()&&c.text!=i.node.nodeValue||(s=r)}}if(e.docView.lastCompositionAfterCursor=s!=i,!s)return null;let a=t-s.offset;return{from:a,to:a+s.node.nodeValue.length,node:s.node}}function $et(e,t,n){let i=Tfe(e,n);if(!i)return null;let{node:r,from:s,to:a}=i,o=r.nodeValue;if(/[\n\r]/.test(o)||e.state.doc.sliceString(i.from,i.to)!=o)return null;let c=t.invertedDesc;return{range:new Nl(c.mapPos(s),c.mapPos(a),s,a),text:r}}function Qet(e,t){return e.nodeType!=1?0:(t&&e.childNodes[t-1].contentEditable=="false"?1:0)|(t{it.from&&(n=!0)}),n}class xR extends Dc{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function Xet(e,t,n=1){let i=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(r.length==0)return $e.cursor(t);s==0?n=1:s==r.length&&(n=-1);let a=s,o=s;n<0?a=Vs(r.text,s,!1):o=Vs(r.text,s);let c=i(r.text.slice(a,o));for(;a>0;){let u=Vs(r.text,a,!1);if(i(r.text.slice(u,a))!=c)break;a=u}for(;oe.defaultLineHeight*1.5){let o=e.viewState.heightOracle.textHeight,c=Math.floor((r-n.top-(e.defaultLineHeight-o)*.5)/o);s+=c*e.viewState.heightOracle.lineLength}let a=e.state.sliceDoc(n.from,n.to);return n.from+uL(a,s,e.state.tabSize)}function SL(e,t,n){let i=e.lineBlockAt(t);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>t)break;if(!(s.tot)return s;(!r||s.type==oa.Text&&(r.type!=s.type||(n<0?s.fromt)))&&(r=s)}}return r||i}return i}function Get(e,t,n,i){let r=SL(e,t.head,t.assoc||-1),s=!i||r.type!=oa.Text||!(e.lineWrapping||r.widgetLineBreaks)?null:e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head);if(s){let a=e.dom.getBoundingClientRect(),o=e.textDirectionAt(r.from),c=e.posAtCoords({x:n==(o==qi.LTR)?a.right-1:a.left+1,y:(s.top+s.bottom)/2});if(c!=null)return $e.cursor(c,n?-1:1)}return $e.cursor(n?r.to:r.from,n?-1:1)}function Kq(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=e.bidiSpans(r),a=e.textDirectionAt(r.from);for(let o=t,c=null;;){let u=vet(r,s,a,o,n),d=ufe;if(!u){if(r.number==(n?e.state.doc.lines:1))return o;d=` +`,r=e.state.doc.line(r.number+(n?1:-1)),s=e.bidiSpans(r),u=e.visualLineSide(r,!n)}if(c){if(!c(d))return o}else{if(!i)return u;c=i(d)}o=u}}function Yet(e,t,n){let i=e.state.charCategorizer(t),r=i(n);return s=>{let a=i(s);return r==Er.Space&&(r=a),r==a}}function Wet(e,t,n,i){let r=t.head,s=n?1:-1;if(r==(n?e.state.doc.length:0))return $e.cursor(r,t.assoc);let a=t.goalColumn,o,c=e.contentDOM.getBoundingClientRect(),u=e.coordsAtPos(r,t.assoc||((t.empty?n:t.head==t.from)?1:-1)),d=e.documentTop;if(u)a==null&&(a=u.left-c.left),o=s<0?u.top:u.bottom;else{let b=e.viewState.lineBlockAt(r);a==null&&(a=Math.min(c.right-c.left,e.defaultCharacterWidth*(r-b.from))),o=(s<0?b.top:b.bottom)+d}let f=c.left+a,h=e.viewState.heightOracle.textHeight>>1,p=i??h;for(let b=0;;b+=h){let g=o+(p+b)*s,O=EL(e,{x:f,y:g},!1,s);if(n?g>c.bottom:go:v{if(t>s&&tr(e)),n.from,t.head>n.from?-1:1);return i==n.from?n:$e.cursor(i,ie.viewState.docHeight)return new su(e.state.doc.length,-1);if(u=e.elementAtHeight(c),i==null)break;if(u.type==oa.Text){if(i<0?u.toe.viewport.to)break;let h=e.docView.coordsAt(i<0?u.from:u.to,i>0?-1:1);if(h&&(i<0?h.top<=c+s:h.bottom>=c+s))break}let f=e.viewState.heightOracle.textHeight/2;c=i>0?u.bottom+f:u.top-f}if(e.viewport.from>=u.to||e.viewport.to<=u.from){if(n)return null;if(u.type==oa.Text){let f=Het(e,r,u,a,o);return new su(f,f==u.from?1:-1)}}if(u.type!=oa.Text)return c<(u.top+u.bottom)/2?new su(u.from,1):new su(u.to,-1);let d=e.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=e.docView.lineAt(u.from,-2)),new Zet(e,a,o,e.textDirectionAt(u.from)).scanTile(d,u.from)}class Zet{constructor(t,n,i,r){this.view=t,this.x=n,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(t){return(!this.line||this.line.from>t||this.line.to1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from>1;t:if(a.has(g)){let y=r+Math.floor(Math.random()*b);for(let v=0;v1)){if(v.bottomthis.y)(!u||u.top>v.top)&&(u=v),x=-1;else{let w=v.left>this.x?this.x-v.left:v.right(b+b+g)/3)return this.y=c.bottom-1,this.scan(t,n,!0);if(u&&u.top<(b+g+g)/3)return this.y=u.top+1,this.scan(t,n,!0)}let p=(o?this.dirAt(t[d],1):this.baseDir)==qi.LTR;return{i:d,after:this.x>(h.left+h.right)/2==p}}scanText(t,n){let i=[];for(let s=0;s{let a=i[s]-n,o=i[s+1]-n;return X1(t.dom,a,o).getClientRects()});return r.after?new su(i[r.i+1],-1):new su(i[r.i],1)}scanTile(t,n){if(!t.length)return new su(n,1);if(t.children.length==1){let o=t.children[0];if(o.isText())return this.scanText(o,n);if(o.isComposite())return this.scanTile(o,n)}let i=[n];for(let o=0,c=n;o{let c=t.children[o];return c.flags&48?null:(c.dom.nodeType==1?c.dom:X1(c.dom,0,c.length)).getClientRects()}),s=t.children[r.i],a=i[r.i];return s.isText()?this.scanText(s,a):s.isComposite()?this.scanTile(s,a):r.after?new su(i[r.i+1],-1):new su(a,1)}}const Mg="￿";class Ket{constructor(t,n){this.points=t,this.view=n,this.text="",this.lineSeparator=n.state.facet(qn.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=Mg}readRange(t,n){if(!t)return this;let i=t.parentNode;for(let r=t;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let a=zr.get(r),o=r.nextSibling;if(o==n){a!=null&&a.breakAfter&&!o&&i!=this.view.contentDOM&&this.lineBreak();break}let c=zr.get(o);(a&&c?a.breakAfter:(a?a.breakAfter:d_(r))||d_(o)&&(r.nodeName!="BR"||a!=null&&a.isWidget())&&this.text.length>s)&&!ett(o,n)&&this.lineBreak(),r=o}return this.findPointBefore(i,n),this}readTextNode(t){let n=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,n.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,a=1,o;if(this.lineSeparator?(s=n.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(o=r.exec(n))&&(s=o.index,a=o[0].length),this.append(n.slice(i,s<0?n.length:s)),s<0)break;if(this.lineBreak(),a>1)for(let c of this.points)c.node==t&&c.pos>this.text.length&&(c.pos-=a-1);i=s+a}}readNode(t){let n=zr.get(t),i=n&&n.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,n){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==n&&(i.pos=this.text.length)}findPointInside(t,n){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(Jet(t,i.node,i.offset)?n:0))}}function Jet(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:s,impreciseAnchor:a}=t.docView,o=t.state.selection;if(t.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=Afe(t.docView.tile,n,i,0))){let c=s||a?[]:itt(t),u=new Ket(c,t);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=rtt(c,this.bounds.from)}else{let c=t.observer.selectionRange,u=s&&s.node==c.focusNode&&s.offset==c.focusOffset||!bL(t.contentDOM,c.focusNode)?o.main.head:t.docView.posFromDOM(c.focusNode,c.focusOffset),d=a&&a.node==c.anchorNode&&a.offset==c.anchorOffset||!bL(t.contentDOM,c.anchorNode)?o.main.anchor:t.docView.posFromDOM(c.anchorNode,c.anchorOffset),f=t.viewport;if((xt.ios||xt.chrome)&&u!=d&&Math.min(u,d)<=o.main.from&&Math.max(u,d)>=o.main.to&&(f.from>0||f.to-1&&o.ranges.length>1)this.newSel=o.replaceRange($e.range(d,u));else if(t.lineWrapping&&d==u&&!(o.main.empty&&o.main.head==u)&&t.inputState.lastTouchTime>Date.now()-100){let h=t.coordsAtPos(u,-1),p=0;h&&(p=t.inputState.lastTouchY<=h.bottom?-1:1),this.newSel=$e.create([$e.cursor(u,p)])}else this.newSel=$e.single(d,u)}}}function Afe(e,t,n,i){if(e.isComposite()){let r=-1,s=-1,a=-1,o=-1;for(let c=0,u=i,d=i;cn)return Afe(f,t,n,u);if(h>=t&&r==-1&&(r=c,s=u),u>n&&f.dom.parentNode==e.dom){a=c,o=d;break}d=h,u=h+f.breakAfter}return{from:s,to:o<0?i+e.length:o,startDOM:(r?e.children[r-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:a=0?e.children[a].dom:null}}else return e.isText()?{from:i,to:i+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function Cfe(e,t){let n,{newSel:i}=t,{state:r}=e,s=r.selection.main,a=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:o,to:c}=t.bounds,u=s.from,d=null;(a===8||xt.android&&t.text.length=o&&s.to<=c&&(t.typeOver||f!=t.text)&&f.slice(0,s.from-o)==t.text.slice(0,s.from-o)&&f.slice(s.to-o)==t.text.slice(h=t.text.length-(f.length-(s.to-o)))?n={from:s.from,to:s.to,insert:gi.of(t.text.slice(s.from-o,h).split(Mg))}:(p=Nfe(f,t.text,u-o,d))&&(xt.chrome&&a==13&&p.toB==p.from+2&&t.text.slice(p.from,p.toB)==Mg+Mg&&p.toB--,n={from:o+p.from,to:o+p.toA,insert:gi.of(t.text.slice(p.from,p.toB).split(Mg))})}else i&&(!e.hasFocus&&r.facet(dd)||m_(i,s))&&(i=null);if(!n&&!i)return!1;if((xt.mac||xt.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())&&e.contentDOM.getAttribute("autocorrect")=="off"?(i&&n.insert.length==2&&(i=$e.single(i.main.anchor-1,i.main.head-1)),n={from:n.from,to:n.to,insert:gi.of([n.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).toDate.now()-50?n={from:s.from,to:s.to,insert:r.toText(e.inputState.insertingText)}:xt.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==` + `&&e.lineWrapping&&(i&&(i=$e.single(i.main.anchor-1,i.main.head-1)),n={from:s.from,to:s.to,insert:gi.of([" "])}),n)return H6(e,n,i,a);if(i&&!m_(i,s)){let o=!1,c="select";return e.inputState.lastSelectionTime>Date.now()-50&&(e.inputState.lastSelectionOrigin=="select"&&(o=!0),c=e.inputState.lastSelectionOrigin,c=="select.pointer"&&(i=_fe(r.facet(sw).map(u=>u(e)),i))),e.dispatch({selection:i,scrollIntoView:o,userEvent:c}),!0}else return!1}function H6(e,t,n,i=-1){if(xt.ios&&e.inputState.flushIOSKey(t))return!0;let r=e.state.selection.main;if(xt.android&&(t.to==r.to&&(t.from==r.from||t.from==r.from-1&&e.state.sliceDoc(t.from,r.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&M0(e.contentDOM,"Enter",13)||(t.from==r.from-1&&t.to==r.to&&t.insert.length==0||i==8&&t.insert.lengthr.head)&&M0(e.contentDOM,"Backspace",8)||t.from==r.from&&t.to==r.to+1&&t.insert.length==0&&M0(e.contentDOM,"Delete",46)))return!0;let s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a,o=()=>a||(a=ntt(e,t,n));return e.state.facet(mfe).some(c=>c(e,t.from,t.to,s,o))||e.dispatch(o()),!0}function ntt(e,t,n){let i,r=e.state,s=r.selection.main,a=-1;if(t.from==t.to&&t.froms.to){let c=t.fromf(e)),u,c);t.from==d&&(a=d)}if(a>-1)i={changes:t,selection:$e.cursor(t.from+t.insert.length,-1)};else if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let c=s.fromt.to?r.sliceDoc(t.to,s.to):"";i=r.replaceSelection(e.state.toText(c+t.insert.sliceString(0,void 0,e.state.lineBreak)+u))}else{let c=r.changes(t),u=n&&n.main.to<=c.newLength?n.main:void 0;if(r.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=s.to+10&&t.to>=s.to-10){let d=e.state.sliceDoc(t.from,t.to),f,h=n&&Tfe(e,n.main.head);if(h){let b=t.insert.length-(t.to-t.from);f={from:h.from,to:h.to-b}}else f=e.state.doc.lineAt(s.head);let p=s.to-t.to;i=r.changeByRange(b=>{if(b.from==s.from&&b.to==s.to)return{changes:c,range:u||b.map(c)};let g=b.to-p,O=g-d.length;if(e.state.sliceDoc(O,g)!=d||g>=f.from&&O<=f.to)return{range:b};let y=r.changes({from:O,to:g,insert:t.insert}),v=b.to-s.to;return{changes:y,range:u?$e.range(Math.max(0,u.anchor+v),Math.max(0,u.head+v)):b.map(y)}})}else i={changes:c,selection:u&&r.selection.replaceRange(u)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:o,scrollIntoView:!0})}function Nfe(e,t,n,i){let r=Math.min(e.length,t.length),s=0;for(;s0&&o>0&&e.charCodeAt(a-1)==t.charCodeAt(o-1);)a--,o--;if(i=="end"){let c=Math.max(0,s-Math.min(a,o));n-=a+c-s}if(a=a?s-n:0;s-=c,o=s+(o-a),a=s}else if(o=o?s-n:0;s-=c,a=s+(a-o),o=s}return{from:s,toA:a,toB:o}}function itt(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new Jq(n,i)),(r!=n||s!=i)&&t.push(new Jq(r,s))),t}function rtt(e,t){if(e.length==0)return null;let n=e[0].pos,i=e.length==2?e[1].pos:n;return n>-1&&i>-1?$e.single(n+t,i+t):null}function m_(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class stt{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,xt.safari&&t.contentDOM.addEventListener("input",()=>null),xt.gecko&&vtt(t.contentDOM.ownerDocument)}handleEvent(t){!ptt(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,n){let i=this.handlers[t];if(i){for(let r of i.observers)r(this.view,n);for(let r of i.handlers){if(n.defaultPrevented)break;if(r(this.view,n)){n.preventDefault();break}}}}ensureHandlers(t){let n=ott(t),i=this.handlers,r=this.view.contentDOM;for(let s in n)if(s!="scroll"){let a=!n[s].handlers.length,o=i[s];o&&a!=!o.handlers.length&&(r.removeEventListener(s,this.handleEvent),o=null),o||r.addEventListener(s,this.handleEvent,{passive:a})}for(let s in i)s!="scroll"&&!n[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=n}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&Rfe.indexOf(t.keyCode)<0&&(this.tabFocusMode=-1),xt.android&&xt.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;if(xt.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&(jfe.some(n=>n.keyCode==t.keyCode)&&!t.ctrlKey||ltt.indexOf(t.key)>-1&&t.ctrlKey)){let n={ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey};return n.shiftKey&&xt.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&att(this.view.win)&&(n.shiftKey=!1),this.pendingIOSKey={key:t.key,keyCode:t.keyCode,mods:n},setTimeout(()=>this.flushIOSKey(),250),!0}return t.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(t){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&t&&t.from0?!0:xt.safari&&!xt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function att(e){return e.visualViewport?e.visualViewport.height*e.visualViewport.scale/e.document.documentElement.clientHeight<.85:!1}function eX(e,t){return(n,i)=>{try{return t.call(e,i,n)}catch(r){fo(n.state,r)}}}function ott(e){let t=Object.create(null);function n(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of e){let r=i.spec,s=r&&r.plugin.domEventHandlers,a=r&&r.plugin.domEventObservers;if(s)for(let o in s){let c=s[o];c&&n(o).handlers.push(eX(i.value,c))}if(a)for(let o in a){let c=a[o];c&&n(o).observers.push(eX(i.value,c))}}for(let i in Tc)n(i).handlers.push(Tc[i]);for(let i in Va)n(i).observers.push(Va[i]);return t}const jfe=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ltt="dthko",Rfe=[16,17,18,20,91,92,224,225],ZS=6;function KS(e){return Math.max(0,e)*.7+8}function ctt(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}class utt{constructor(t,n,i,r){this.view=t,this.startEvent=n,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=tfe(t.contentDOM),this.atoms=t.state.facet(sw).map(a=>a(t));let s=t.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=t.state.facet(qn.allowMultipleSelections)&&dtt(t,n),this.dragging=htt(t,n)&&Pfe(n)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&ctt(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let n=0,i=0,r=0,s=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:o}=this.scrollParents.y.getBoundingClientRect());let c=X6(this.view);t.clientX-c.left<=r+ZS?n=-KS(r-t.clientX):t.clientX+c.right>=a-ZS&&(n=KS(t.clientX-a)),t.clientY-c.top<=s+ZS?i=-KS(s-t.clientY):t.clientY+c.bottom>=o-ZS&&(i=KS(t.clientY-o)),this.setScrollSpeed(n,i)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,n){this.scrollSpeed={x:t,y:n},t||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:n}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(t||n)&&this.view.win.scrollBy(t,n),this.dragging===!1&&this.select(this.lastEvent)}select(t){let{view:n}=this,i=_fe(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}}function dtt(e,t){let n=e.state.facet(dfe);return n.length?n[0](t):xt.mac?t.metaKey:t.ctrlKey}function ftt(e,t){let n=e.state.facet(ffe);return n.length?n[0](t):xt.mac?!t.altKey:!t.ctrlKey}function htt(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=V1(e.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s=t.clientX&&a.top<=t.clientY&&a.bottom>=t.clientY)return!0}return!1}function ptt(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,i;n!=e.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(i=zr.get(n))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0}const Tc=Object.create(null),Va=Object.create(null),Ife=xt.ie&&xt.ie_version<15||xt.ios&&xt.webkit_version<604;function mtt(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),Dfe(e,n.value)},50)}function X2(e,t,n){for(let i of e.facet(t))n=i(n,e);return n}function Dfe(e,t){t=X2(e.state,U6,t);let{state:n}=e,i,r=1,s=n.toText(t),a=s.lines==n.selection.ranges.length;if(kL!=null&&n.selection.ranges.every(c=>c.empty)&&kL==s.toString()){let c=-1;i=n.changeByRange(u=>{let d=n.doc.lineAt(u.from);if(d.from==c)return{range:u};c=d.from;let f=n.toText((a?s.line(r++).text:t)+n.lineBreak);return{changes:{from:d.from,insert:f},range:$e.cursor(u.from+f.length)}})}else a?i=n.changeByRange(c=>{let u=s.line(r++);return{changes:{from:c.from,to:c.to,insert:u.text},range:$e.cursor(c.from+u.length)}}):i=n.replaceSelection(s);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Va.scroll=e=>{let t=e.inputState;t.lastScrollTop=e.scrollDOM.scrollTop,t.lastScrollLeft=e.scrollDOM.scrollLeft,xt.ios&&!t.touchActive&&(t.lastIOSMomentumScroll=Date.now())};Va.wheel=Va.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()};Tc.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),t.keyCode==27&&e.inputState.tabFocusMode!=0&&(e.inputState.tabFocusMode=Date.now()+2e3),!1);Va.touchstart=(e,t)=>{let n=e.inputState,i=t.targetTouches[0];n.touchActive=!0,n.lastTouchTime=Date.now(),i&&(n.lastTouchX=i.clientX,n.lastTouchY=i.clientY),n.setSelectionOrigin("select.pointer")};Va.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")};Va.touchend=(e,t)=>{e.inputState.touchActive=!1};Tc.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of e.state.facet(hfe))if(n=i(e,t),n)break;if(!n&&t.button==0&&(n=btt(e,t)),n){let i=!e.hasFocus;e.inputState.startMouseSelection(new utt(e,t,n,i)),i&&e.observer.ignore(()=>{nfe(e.contentDOM);let s=e.root.activeElement;s&&!s.contains(e.contentDOM)&&s.blur()});let r=e.inputState.mouseSelection;if(r)return r.start(t),r.dragging===!1}else e.inputState.setSelectionOrigin("select.pointer");return!1};function tX(e,t,n,i){if(i==1)return $e.cursor(t,n);if(i==2)return Xet(e.state,t,n);{let r=e.docView.lineAt(t,n),s=e.state.doc.lineAt(r?r.posAtEnd:t),a=r?r.posAtStart:s.from,o=r?r.posAtEnd:s.to;return oDate.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(iX+1)%3:1}function btt(e,t){let n=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),i=Pfe(t),r=e.state.selection;return{update(s){s.docChanged&&(n.pos=s.changes.mapPos(n.pos),r=r.map(s.changes))},get(s,a,o){let c=e.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),u,d=tX(e,c.pos,c.assoc,i);if(n.pos!=c.pos&&!a){let f=tX(e,n.pos,n.assoc,i),h=Math.min(f.from,d.from),p=Math.max(f.to,d.to);d=h1&&(u=Ott(r,c.pos))?u:o?r.addRange(d):$e.create([d])}}}function Ott(e,t){for(let n=0;n=t)return $e.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}Tc.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.tile.nearest(t.target);if(r&&r.isWidget()){let s=r.posAtStart,a=s+r.length;(s>=n.to||a<=n.from)&&(n=$e.undirectionalRange(s,a))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",X2(e.state,z6,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1};Tc.dragend=e=>(e.inputState.draggedContent=null,!1);function sX(e,t,n,i){if(n=X2(e.state,U6,n),!n)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:s}=e.inputState,a=i&&s&&ftt(e,t)?{from:s.from,to:s.to}:null,o={from:r,insert:n},c=e.state.changes(a?[a,o]:o);e.focus(),e.dispatch({changes:c,selection:{anchor:c.mapPos(r,-1),head:c.mapPos(r,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Tc.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let i=Array(n.length),r=0,s=()=>{++r==n.length&&sX(e,t,i.filter(a=>a!=null).join(e.state.lineBreak),!1)};for(let a=0;a{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[a]=o.result),s()},o.readAsText(n[a])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return sX(e,t,i,!0),!0}return!1};Tc.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Ife?null:t.clipboardData;return n?(Dfe(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(mtt(e),!1)};function ytt(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function xtt(e){let t=[],n=[],i=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let r=-1;for(let{from:s}of e.selection.ranges){let a=e.doc.lineAt(s);a.number>r&&(t.push(a.text),n.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),r=a.number}i=!0}return{text:X2(e,z6,t.join(e.lineBreak)),ranges:n,linewise:i}}let kL=null;Tc.copy=Tc.cut=(e,t)=>{if(!Rx(e.contentDOM,e.observer.selectionRange))return!1;let{text:n,ranges:i,linewise:r}=xtt(e.state);if(!n&&!r)return!1;kL=r?n:null,t.type=="cut"&&!e.state.readOnly&&e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=Ife?null:t.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(ytt(e,n),!1)};const Mfe=Pu.define();function Lfe(e,t){let n=[];for(let i of e.facet(gfe)){let r=i(e,t);r&&n.push(r)}return n.length?e.update({effects:n,annotations:Mfe.of(!0)}):null}function $fe(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=Lfe(e.state,t);n?e.dispatch(n):e.update([])}},10)}Va.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),$fe(e)};Va.blur=e=>{e.observer.clearSelectionRange(),$fe(e)};Va.compositionstart=Va.compositionupdate=e=>{e.observer.editContext||(e.inputState.compositionFirstChange==null&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))};Va.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,xt.chrome&&xt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))};Va.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};Tc.beforeinput=(e,t)=>{var n,i;if((t.inputType=="insertText"||t.inputType=="insertCompositionText")&&(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),t.inputType=="insertReplacementText"&&e.observer.editContext){let s=(n=t.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),a=t.getTargetRanges();if(s&&a.length){let o=a[0],c=e.posAtDOM(o.startContainer,o.startOffset),u=e.posAtDOM(o.endContainer,o.endOffset);return H6(e,{from:c,to:u,insert:e.state.toText(s)},null),!0}}let r;if(xt.chrome&&xt.android&&(r=jfe.find(s=>s.inputType==t.inputType))&&(e.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>s+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return xt.ios&&t.inputType=="deleteContentForward"&&e.observer.flushSoon(),xt.safari&&t.inputType=="insertText"&&e.inputState.composing>=0&&setTimeout(()=>Va.compositionend(e,t),20),!1};const aX=new Set;function vtt(e){aX.has(e)||(aX.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}const oX=["pre-wrap","normal","pre-line","break-spaces"];let _b=!1;function lX(){_b=!1}class wtt{constructor(t){this.lineWrapping=t,this.doc=gi.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,n){let i=this.doc.lineAt(n).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((n-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return oX.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let n=!1;for(let i=0;i-1,c=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=n,this.charWidth=i,this.textHeight=r,this.lineLength=s,c){this.heightSamples={};for(let u=0;u0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>xk&&(_b=!0),this.height=t)}replace(t,n,i){return Ua.of(i)}decomposeLeft(t,n){n.push(this)}decomposeRight(t,n){n.push(this)}applyChanges(t,n,i,r){let s=this,a=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:c,toA:u,fromB:d,toB:f}=r[o],h=s.lineAt(c,rr.ByPosNoHeight,i.setDoc(n),0,0),p=h.to>=u?h:s.lineAt(u,rr.ByPosNoHeight,i,0,0);for(f+=p.to-u,u=p.to;o>0&&h.from<=r[o-1].toA;)c=r[o-1].fromA,d=r[o-1].fromB,o--,cs*2){let o=t[n-1];o.break?t.splice(--n,1,o.left,null,o.right):t.splice(--n,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(s>r*2){let o=t[i];o.break?t.splice(i,1,o.left,null,o.right):t.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else break;else if(r=s&&a(this.lineAt(0,rr.ByPos,i,r,s))}setMeasuredHeight(t){let n=t.heights[t.index++];n<0?(this.spaceAbove=-n,n=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Bo extends Qfe{constructor(t,n,i){super(t,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(t,n){return new pc(n,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,n,i){let r=i[0];return i.length==1&&(r instanceof Bo||r instanceof ea&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof ea?r=new Bo(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ua.of(i)}updateHeight(t,n=0,i=!1,r){return r&&r.from<=n&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class ea extends Ua{constructor(t){super(t,0)}heightMetrics(t,n){let i=t.doc.lineAt(n).number,r=t.doc.lineAt(n+this.length).number,s=r-i+1,a,o=0;if(t.lineWrapping){let c=Math.min(this.height,t.lineHeight*s);a=c/s,this.length>s+1&&(o=(this.height-c)/(this.length-s-1))}else a=this.height/s;return{firstLine:i,lastLine:r,perLine:a,perChar:o}}blockAt(t,n,i,r){let{firstLine:s,lastLine:a,perLine:o,perChar:c}=this.heightMetrics(n,r);if(n.lineWrapping){let u=r+(t0){let s=i[i.length-1];s instanceof ea?i[i.length-1]=new ea(s.length+r):i.push(null,new ea(r-1))}if(t>0){let s=i[0];s instanceof ea?i[0]=new ea(t+s.length):i.unshift(new ea(t-1),null)}return Ua.of(i)}decomposeLeft(t,n){n.push(new ea(t-1),null)}decomposeRight(t,n){n.push(null,new ea(this.length-t-1))}updateHeight(t,n=0,i=!1,r){let s=n+this.length;if(r&&r.from<=n+this.length&&r.more){let a=[],o=Math.max(n,r.from),c=-1;for(r.from>n&&a.push(new ea(r.from-n-1).updateHeight(t,n));o<=s&&r.more;){let d=t.doc.lineAt(o).length;a.length&&a.push(null);let f=r.heights[r.index++],h=0;f<0&&(h=-f,f=r.heights[r.index++]),c==-1?c=f:Math.abs(f-c)>=xk&&(c=-2);let p=new Bo(d,f,h);p.outdated=!1,a.push(p),o+=d+1}o<=s&&a.push(null,new ea(s-o).updateHeight(t,o));let u=Ua.of(a);return(c<0||Math.abs(u.height-this.height)>=xk||Math.abs(c-this.heightMetrics(t,n).perLine)>=xk)&&(_b=!0),g_(this,u)}else(i||this.outdated)&&(this.setHeight(t.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class ktt extends Ua{constructor(t,n,i){super(t.length+n+i.length,t.height+i.height,n|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,n,i,r){let s=i+this.left.height;return to))return u;let d=n==rr.ByPosNoHeight?rr.ByPosNoHeight:rr.ByPos;return c?u.join(this.right.lineAt(o,d,i,a,o)):this.left.lineAt(o,d,i,r,s).join(u)}forEachLine(t,n,i,r,s,a){let o=r+this.left.height,c=s+this.left.length+this.break;if(this.break)t=c&&this.right.forEachLine(t,n,i,o,c,a);else{let u=this.lineAt(c,rr.ByPos,i,r,s);t=t&&u.from<=n&&a(u),n>u.to&&this.right.forEachLine(u.to+1,n,i,o,c,a)}}replace(t,n,i){let r=this.left.length+this.break;if(nthis.left.length)return this.balanced(this.left,this.right.replace(t-r,n-r,i));let s=[];t>0&&this.decomposeLeft(t,s);let a=s.length;for(let o of i)s.push(o);if(t>0&&cX(s,a-1),n=i&&n.push(null)),t>i&&this.right.decomposeLeft(t-i,n)}decomposeRight(t,n){let i=this.left.length,r=i+this.break;if(t>=r)return this.right.decomposeRight(t-r,n);t2*n.size||n.size>2*t.size?Ua.of(this.break?[t,null,n]:[t,n]):(this.left=g_(this.left,t),this.right=g_(this.right,n),this.setHeight(t.height+n.height),this.outdated=t.outdated||n.outdated,this.size=t.size+n.size,this.length=t.length+this.break+n.length,this)}updateHeight(t,n=0,i=!1,r){let{left:s,right:a}=this,o=n+s.length+this.break,c=null;return r&&r.from<=n+s.length&&r.more?c=s=s.updateHeight(t,n,i,r):s.updateHeight(t,n,i),r&&r.from<=o+a.length&&r.more?c=a=a.updateHeight(t,o,i,r):a.updateHeight(t,o,i),c?this.balanced(s,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function cX(e,t){let n,i;e[t]==null&&(n=e[t-1])instanceof ea&&(i=e[t+1])instanceof ea&&e.splice(t-1,3,new ea(n.length+1+i.length))}const Ttt=5;class G6{constructor(t,n){this.pos=t,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,n){if(this.lineStart>-1){let i=Math.min(n,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Bo?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new Bo(i-this.pos,-1,0)),this.writtenTo=i,n>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(t,n,i){if(t=Ttt)&&this.addLineDeco(r,s,a)}else n>t&&this.span(t,n);this.lineEnd>-1&&this.lineEnd-1)return;let{from:t,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=n,this.writtenTot&&this.nodes.push(new Bo(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,n){let i=new ea(n-t);return this.oracle.doc.lineAt(t).to==n&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof Bo)return t;let n=new Bo(0,-1,0);return this.nodes.push(n),n}addBlock(t){this.enterLine();let n=t.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,n&&n.endSide>0&&(this.covering=t)}addLineDeco(t,n,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,t),r.breaks+=n,this.writtenTo=this.pos=this.pos+i}finish(t){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof Bo)&&!this.isCovered?this.nodes.push(new Bo(0,-1,0)):(this.writtenTod.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let h=d.getBoundingClientRect();s=Math.max(s,h.left),a=Math.min(a,h.right),o=Math.max(o,h.top),c=Math.min(u==e.parentNode?r.innerHeight:c,h.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:s-n.left,right:Math.max(s,a)-n.left,top:o-(n.top+t),bottom:Math.max(o,c)-(n.top+t)}}function Ntt(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left0&&t.top0}function jtt(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class wR{constructor(t,n,i,r){this.from=t,this.to=n,this.size=i,this.displaySize=r}static same(t,n){if(t.length!=n.length)return!1;for(let i=0;itypeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new wtt(i),this.stateDeco=fX(n),this.heightMap=Ua.empty().applyChanges(this.stateDeco,gi.empty,this.heightOracle.setDoc(n.doc),[new Nl(0,0,0,n.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Ht.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=t.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:n}=this.state.selection;for(let i=0;i<=1;i++){let r=i?n.head:n.anchor;if(!t.some(({from:s,to:a})=>r>=s&&r<=a)){let{from:s,to:a}=this.lineBlockAt(r);t.push(new JS(s,a))}}return this.viewports=t.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?dX:new Y6(this.heightOracle,this.heightMap,this.viewports),t.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(Vy(t,this.scaler))})}update(t,n=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=fX(this.state);let r=t.changedRanges,s=Nl.extendWithRanges(r,_tt(i,this.stateDeco,t?t.changes:_s.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);lX(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=a||_b)&&(t.flags|=2),o?(this.scrollAnchorPos=t.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let c=s.length?this.mapViewport(this.viewport,t.changes):this.viewport;(n&&(n.range.headc.to)||!this.viewportIsAppropriate(c))&&(c=this.getViewport(0,n));let u=c.from!=this.viewport.from||c.to!=this.viewport.to;this.viewport=c,t.flags|=this.updateForViewport(),(u||!t.changes.empty||t.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(Ofe)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:t}=this,n=t.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?qi.RTL:qi.LTR;let a=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",o=n.getBoundingClientRect(),c=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let u=0,d=0;if(o.width&&o.height){let{scaleX:E,scaleY:S}=efe(n,o);(E>.005&&Math.abs(this.scaleX-E)>.005||S>.005&&Math.abs(this.scaleY-S)>.005)&&(this.scaleX=E,this.scaleY=S,u|=16,a=c=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,h=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=h)&&(this.paddingTop=f,this.paddingBottom=h,u|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(c=!0),this.editorWidth=t.scrollDOM.clientWidth,u|=16);let p=tfe(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let b=this.getScrollOffset();this.scrollOffset!=b&&(this.scrollAnchorHeight=-1,this.scrollOffset=b),this.scrolledToBottom=ife(this.scrollParent||t.win);let g=(this.printing?jtt:Ctt)(n,this.paddingTop),O=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(c=!0)),!this.inView&&!this.scrollTarget&&!Ntt(t.dom))return 0;let x=o.width;if((this.contentDOMWidth!=x||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=t.scrollDOM.clientHeight,u|=16),c){let E=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(E)&&(a=!0),a||r.lineWrapping&&Math.abs(x-this.contentDOMWidth)>r.charWidth){let{lineHeight:S,charWidth:k,textHeight:T}=t.docView.measureTextSize();a=S>0&&r.refresh(s,S,k,T,Math.max(5,x/k),E),a&&(t.docView.minWidth=0,u|=16)}O>0&&y>0?d=Math.max(O,y):O<0&&y<0&&(d=Math.min(O,y)),lX();for(let S of this.viewports){let k=S.from==this.viewport.from?E:t.docView.measureVisibleLineHeights(S);this.heightMap=(a?Ua.empty().applyChanges(this.stateDeco,gi.empty,this.heightOracle,[new Nl(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,a,new Stt(S.from,k))}_b&&(u|=2)}let w=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return w&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||w)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,t)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,n){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,c=new JS(r.lineAt(a-i*1e3,rr.ByHeight,s,0,0).from,r.lineAt(o+(1-i)*1e3,rr.ByHeight,s,0,0).to);if(n){let{head:u}=n.range;if(uc.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,rr.ByPos,s,0,0),h;n.y=="center"?h=(f.top+f.bottom)/2-d/2:n.y=="start"||n.y=="nearest"&&u=o+Math.max(10,Math.min(i,250)))&&r>a-2*1e3&&s>1,a=r<<1;if(this.defaultTextDirection!=qi.LTR&&!i)return[];let o=[],c=(d,f,h,p)=>{if(f-dd&&yy.from>=h.from&&y.to<=h.to&&Math.abs(y.from-d)y.fromv));if(!O){if(fx.from<=f&&x.to>=f)){let x=n.moveToLineBoundary($e.cursor(f),!1,!0).head;x>d&&(f=x)}let y=this.gapSize(h,d,f,p),v=i||y<2e6?y:2e6;O=new wR(d,f,y,v)}o.push(O)},u=d=>{if(d.length2e6)for(let S of t)S.from>=d.from&&S.fromd.from&&c(d.from,p,d,f),bn.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let i=[];Qn.spans(n,this.viewport.from,this.viewport.to,{span(s,a){i.push({from:s,to:a})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(n=>n.from<=t&&n.to>=t)||Vy(this.heightMap.lineAt(t,rr.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=t&&n.bottom>=t)||Vy(this.heightMap.lineAt(this.scaler.fromDOM(t),rr.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(t){let n=this.lineBlockAtHeight(t+8);return n.from>=this.viewport.from||this.viewportLines[0].top-t>200?n:this.viewportLines[0]}elementAtHeight(t){return Vy(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class JS{constructor(t,n){this.from=t,this.to=n}}function Itt(e,t,n){let i=[],r=e,s=0;return Qn.spans(n,e,t,{span(){},point(a,o){a>r&&(i.push({from:r,to:a}),s+=a-r),r=o}},20),r=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let r=0;;r++){let{from:s,to:a}=t[r],o=a-s;if(i<=o)return s+i;i-=o}}function tE(e,t){let n=0;for(let{from:i,to:r}of e.ranges){if(t<=r){n+=t-i;break}n+=r-i}return n/e.total}function Dtt(e,t){for(let n of e)if(t(n))return n}const dX={toDOM(e){return e},fromDOM(e){return e},scale:1,eq(e){return e==this}};function fX(e){let t=e.facet(z2).filter(i=>typeof i!="function"),n=e.facet(q6).filter(i=>typeof i!="function");return n.length&&t.push(Qn.join(n)),t}class Y6{constructor(t,n,i){let r=0,s=0,a=0;this.viewports=i.map(({from:o,to:c})=>{let u=n.lineAt(o,rr.ByPos,t,0,0).top,d=n.lineAt(c,rr.ByPos,t,0,0).bottom;return r+=d-u,{from:o,to:c,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(n.height-r);for(let o of this.viewports)o.domTop=a+(o.top-s)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),s=o.bottom}toDOM(t){for(let n=0,i=0,r=0;;n++){let s=nn.from==t.viewports[i].from&&n.to==t.viewports[i].to):!1}}function Vy(e,t){if(t.scale==1)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new pc(e.from,e.length,n,i-n,Array.isArray(e._content)?e._content.map(r=>Vy(r,t)):e._content)}const nE=St.define({combine:e=>e.join(" ")}),TL=St.define({combine:e=>e.indexOf(!0)>-1}),_L=jh.newName(),Bfe=jh.newName(),Ffe=jh.newName(),Ufe={"&light":"."+Bfe,"&dark":"."+Ffe};function AL(e,t,n){return new jh(t,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return e;if(!n||!n[r])throw new RangeError(`Unsupported selector: ${r}`);return n[r]}):e+" "+i}})}const Ptt=AL("."+_L,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Ufe),Mtt={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},SR=xt.ie&&xt.ie_version<=11;class Ltt{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new det,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(n=>{for(let i of n)this.queue.push(i);(xt.ie&&xt.ie_version<=11||xt.ios&&t.composing)&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&xt.android&&t.constructor.EDIT_CONTEXT!==!1&&!(xt.chrome&&xt.chrome_version<126)&&(this.editContext=new Qtt(t),t.state.facet(dd)&&(t.contentDOM.editContext=this.editContext.editContext)),SR&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){(t.type=="change"||!t.type)&&!t.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((n,i)=>n!=t[i]))){this.gapIntersection.disconnect();for(let n of t)this.gapIntersection.observe(n);this.gaps=t}}onSelectionChange(t){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(dd)?i.root.activeElement!=this.dom:!Rx(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(t)){n||(this.selectionChanged=!1);return}(xt.ie&&xt.ie_version<=11||xt.android&&xt.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Dx(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,n=V1(t.root);if(!n)return!1;let i=xt.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&$tt(this.view,n)||n;if(!i||this.selectionRange.eq(i))return!1;let r=Rx(this.dom,i);return r&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&M0(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:n,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let n=-1,i=-1,r=!1;for(let s of t){let a=this.readMutation(s);a&&(a.typeOver&&(r=!0),n==-1?{from:n,to:i}=a:(n=Math.min(a.from,n),i=Math.max(a.to,i)))}return{from:n,to:i,typeOver:r}}readChange(){let{from:t,to:n,typeOver:i}=this.processRecords(),r=this.selectionChanged&&Rx(this.dom,this.selectionRange);if(t<0&&!r)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new ttt(this.view,t,n,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let i=this.view.state,r=Cfe(this.view,n);return this.view.state==i&&(n.domChanged||n.newSel&&!m_(this.view.state.selection,n.newSel.main))&&this.view.update([]),r}readMutation(t){let n=this.view.docView.tile.nearest(t.target);if(!n||n.isWidget())return null;if(n.markDirty(t.type=="attributes"),t.type=="childList"){let i=hX(n,t.previousSibling||t.target.previousSibling,-1),r=hX(n,t.nextSibling||t.target.nextSibling,1);return{from:i?n.posAfter(i):n.posAtStart,to:r?n.posBefore(r):n.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(dd)!=t.state.facet(dd)&&(t.view.contentDOM.editContext=t.state.facet(dd)?this.editContext.editContext:null))}destroy(){var t,n,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function hX(e,t,n){for(;t;){let i=zr.get(t);if(i&&i.parent==e)return i;let r=t.parentNode;t=r!=e.dom?r:n>0?t.nextSibling:t.previousSibling}return null}function pX(e,t){let n=t.startContainer,i=t.startOffset,r=t.endContainer,s=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor,1);return Dx(a.node,a.offset,r,s)&&([n,i,r,s]=[r,s,n,i]),{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}}function $tt(e,t){if(t.getComposedRanges){let r=t.getComposedRanges(e.root)[0];if(r)return pX(e,r)}let n=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),n=r.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),n?pX(e,n):null}class Qtt{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let n=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=i=>{let r=t.state.selection.main,{anchor:s,head:a}=r,o=this.toEditorPos(i.updateRangeStart),c=this.toEditorPos(i.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let u=c-o>i.text.length;o==this.from&&sthis.to&&(c=s);let d=Nfe(t.state.sliceDoc(o,c),i.text,(u?r.from:r.to)-o,u?"end":null);if(!d){let h=$e.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));m_(h,r)||t.dispatch({selection:h,userEvent:"select"});return}let f={from:d.from+o,to:d.toA+o,insert:gi.of(i.text.slice(d.from,d.toB).split(` +`))};if((xt.mac||xt.android)&&f.from==a-1&&/^\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:o,to:c,insert:gi.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!t.state.readOnly){let h=this.to-this.from+(f.to-f.from+f.insert.length);H6(t,f,$e.single(this.toEditorPos(i.selectionStart,h),this.toEditorPos(i.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),f.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let a=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);a{let r=[];for(let s of i.getTextFormats()){let a=s.underlineStyle,o=s.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let c=this.toEditorPos(s.rangeStart),u=this.toEditorPos(s.rangeEnd);if(c{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(t.state)}};for(let i in this.handlers)n.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=V1(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let n=0,i=!1,r=this.pendingContextChange;return t.changes.iterChanges((s,a,o,c,u)=>{if(i)return;let d=u.length-(a-s);if(r&&a>=r.to)if(r.from==s&&r.to==a&&r.insert.eq(u)){r=this.pendingContextChange=null,n+=d,this.to+=d;return}else r=null,this.revertPending(t.state);if(s+=n,a+=n,a<=this.from)this.from+=d,this.to+=d;else if(sthis.to||this.to-this.from+u.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(a),u.toString()),this.to+=d}n+=d}),r&&!i&&this.revertPending(t.state),!i}update(t){let n=this.pendingContextChange,i=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):!this.applyEdits(t)||!this.rangeIsValid(t.state)?(this.pendingContextChange=null,this.reset(t.state)):(t.docChanged||t.selectionSet||n)&&this.setSelection(t.state),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:n}=t.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(t.doc.length,n+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),t.doc.sliceString(n.from,n.to))}setSelection(t){let{main:n}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),r=this.toContextPos(n.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(t){let{head:n}=t.selection.main;return!(this.from>0&&n-this.from<500||this.to1e4*3)}toEditorPos(t,n=this.to-this.from){t=Math.min(t,n);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let n=this.composing;return n&&n.drifted?n.contextBase+(t-n.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}}class ht{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:i}=t;this.dispatchTransactions=t.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=t.root||fet(t.parent)||document,this.viewState=new uX(this,t.state||qn.create(t)),t.scrollTo&&t.scrollTo.is(WS)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(d0).map(r=>new bR(r));for(let r of this.plugins)r.update(this);this.observer=new Ltt(this),this.inputState=new stt(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Zq(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...t){let n=t.length==1&&t[0]instanceof hs?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(n,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,i=!1,r,s=this.state;for(let h of t){if(h.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=h.state}if(this.destroyed){this.viewState.state=s;return}let a=this.hasFocus,o=0,c=null;t.some(h=>h.annotation(Mfe))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,c=Lfe(s,a),c||(o=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(d=null)):this.observer.clear(),s.facet(qn.phrases)!=this.state.facet(qn.phrases))return this.setState(s);r=f_.create(this,s,t),r.flags|=o;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let h of t){if(f&&(f=f.map(h.changes)),h.scrollIntoView){let{main:p}=h.state.selection,{x:b,y:g}=this.state.facet(ht.cursorScrollMargin);f=new L0(p.empty?p:$e.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,b)}for(let p of h.effects)p.is(WS)&&(f=p.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=b_.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),n=this.docView.update(r),this.state.facet(zy)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(n,t.some(h=>h.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(nE)!=r.state.facet(nE)&&(this.viewState.mustMeasureContent=!0),(n||i||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!r.empty)for(let h of this.state.facet(vL))try{h(r)}catch(p){fo(this.state,p,"update listener")}(c||d)&&Promise.resolve().then(()=>{c&&this.state==c.startState&&this.dispatch(c),d&&!Cfe(this,d)&&u.force&&M0(this.contentDOM,u.key,u.keyCode)})}setState(t){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let n=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new uX(this,t),this.plugins=t.facet(d0).map(i=>new bR(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Zq(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(t){let n=t.startState.facet(d0),i=t.state.facet(d0);if(n!=i){let r=[];for(let s of i){let a=n.indexOf(s);if(a<0)r.push(new bR(s));else{let o=this.plugins[a];o.mustUpdate=t,r.push(o)}}for(let s of this.plugins)s.mustUpdate!=t&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=t;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let n=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:a}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(ife(i||this.win))s=-1,a=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,a=p.top}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];c&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(p=>{try{return p.read(this)}catch(b){return fo(this.state,b),mX}}),f=f_.create(this,this.state,[]),h=!1;f.flags|=c,n?n.flags|=c:n=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),h=this.docView.update(f),h&&this.docViewUpdate());for(let p=0;p1||b<-1)&&!(xt.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+b,i?i.scrollTop+=b:this.win.scrollBy(0,b),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let o of this.state.facet(vL))o(n)}get themeClasses(){return _L+" "+(this.state.facet(TL)?Ffe:Bfe)+" "+this.state.facet(nE)}updateAttrs(){let t=gX(this,vfe,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(dd)?"true":"false",class:"cm-content",style:`${xt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),gX(this,V6,n);let i=this.observer.ignore(()=>{let r=qq(this.contentDOM,this.contentAttrs,n),s=qq(this.dom,this.editorAttrs,t);return r||s});return this.editorAttrs=t,this.contentAttrs=n,i}showAnnouncements(t){let n=!0;for(let i of t)for(let r of i.effects)if(r.is(ht.announce)){n&&(this.announceDOM.textContent=""),n=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(zy);let t=this.state.facet(ht.cspNonce);jh.mount(this.root,this.styleModules.concat(Ptt).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let n=0;ni.plugin==t)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,n,i){return vR(this,t,Kq(this,t,n,i))}moveByGroup(t,n){return vR(this,t,Kq(this,t,n,i=>Yet(this,t.head,i)))}visualLineSide(t,n){let i=this.bidiSpans(t),r=this.textDirectionAt(t.from),s=i[n?i.length-1:0];return $e.cursor(s.side(n,r)+t.from,s.forward(!n,r)?1:-1)}moveToLineBoundary(t,n,i=!0){return Get(this,t,n,i)}moveVertically(t,n,i){return vR(this,t,Wet(this,t,n,i))}domAtPos(t,n=1){return this.docView.domAtPos(t,n)}posAtDOM(t,n=0){return this.docView.posFromDOM(t,n)}posAtCoords(t,n=!0){this.readMeasured();let i=EL(this,t,n);return i&&i.pos}posAndSideAtCoords(t,n=!0){return this.readMeasured(),EL(this,t,n)}coordsAtPos(t,n=1){this.readMeasured();let i=this.state.doc.lineAt(t),r=this.bidiSpans(i),s=r[fu.find(r,t-i.from,-1,n)];return this.docView.coordsAt(t,n,s.dir==qi.RTL)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(bfe)||tthis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>Btt)return cfe(t.length);let n=this.textDirectionAt(t.from),i;for(let s of this.bidiCache)if(s.from==t.from&&s.dir==n&&(s.fresh||lfe(s.isolates,i=Gq(this,t))))return s.order;i||(i=Gq(this,t));let r=xet(t.text,n,i);return this.bidiCache.push(new b_(t.from,t.to,n,i,!0,r)),r}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||xt.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{nfe(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,n={}){var i,r,s,a;return WS.of(new L0(typeof t=="number"?$e.cursor(t):t,(i=n.y)!==null&&i!==void 0?i:"nearest",(r=n.x)!==null&&r!==void 0?r:"nearest",(s=n.yMargin)!==null&&s!==void 0?s:5,(a=n.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:t,scrollLeft:n}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return WS.of(new L0($e.cursor(i.from),"start","start",i.top-t,n,!0))}setTabFocusMode(t){t==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof t=="boolean"?this.inputState.tabFocusMode=t?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return Vr.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return Vr.define(()=>({}),{eventObservers:t})}static theme(t,n){let i=jh.newName(),r=[nE.of(i),zy.of(AL(`.${i}`,t))];return n&&n.dark&&r.push(TL.of(!0)),r}static baseTheme(t){return tf.lowest(zy.of(AL("."+_L,t,Ufe)))}static findFromDOM(t){var n;let i=t.querySelector(".cm-content"),r=i&&zr.get(i)||zr.get(t);return((n=r==null?void 0:r.root)===null||n===void 0?void 0:n.view)||null}}ht.styleModule=zy;ht.inputHandler=mfe;ht.clipboardInputFilter=U6;ht.clipboardOutputFilter=z6;ht.scrollHandler=yfe;ht.focusChangeEffect=gfe;ht.perLineTextDirection=bfe;ht.exceptionSink=pfe;ht.updateListener=vL;ht.editable=dd;ht.mouseSelectionStyle=hfe;ht.dragMovesSelection=ffe;ht.clickAddsSelectionRange=dfe;ht.decorations=z2;ht.blockWrappers=wfe;ht.outerDecorations=q6;ht.atomicRanges=sw;ht.bidiIsolatedRanges=Sfe;ht.cursorScrollMargin=St.define({combine:e=>{let t=5,n=5;for(let i of e)typeof i=="number"?t=n=i:{x:t,y:n}=i;return{x:t,y:n}}});ht.scrollMargins=Efe;ht.darkTheme=TL;ht.cspNonce=St.define({combine:e=>e.length?e[0]:""});ht.contentAttributes=V6;ht.editorAttributes=vfe;ht.lineWrapping=ht.contentAttributes.of({class:"cm-lineWrapping"});ht.announce=fn.define();const Btt=4096,mX={};class b_{constructor(t,n,i,r,s,a){this.from=t,this.to=n,this.dir=i,this.isolates=r,this.fresh=s,this.order=a}static update(t,n){if(n.empty&&!t.some(s=>s.fresh))return t;let i=[],r=t.length?t[t.length-1].dir:qi.LTR;for(let s=Math.max(0,t.length-10);s=0;r--){let s=i[r],a=typeof s=="function"?s(e):s;a&&Q6(a,n)}return n}const Ftt=xt.mac?"mac":xt.windows?"win":xt.linux?"linux":"key";function Utt(e,t){const n=e.split(/-(?!$)/);let i=n[n.length-1];i=="Space"&&(i=" ");let r,s,a,o;for(let c=0;ci.concat(r),[]))),n}function Vtt(e,t,n){return Vfe(zfe(e.state),t,e,n)}let Ff=null;const qtt=4e3;function Xtt(e,t=Ftt){let n=Object.create(null),i=Object.create(null),r=(a,o)=>{let c=i[a];if(c==null)i[a]=o;else if(c!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},s=(a,o,c,u,d)=>{var f,h;let p=n[a]||(n[a]=Object.create(null)),b=o.split(/ (?!$)/).map(y=>Utt(y,t));for(let y=1;y{let w=Ff={view:x,prefix:v,scope:a};return setTimeout(()=>{Ff==w&&(Ff=null)},qtt),!0}]})}let g=b.join(" ");r(g,!1);let O=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((h=(f=p._any)===null||f===void 0?void 0:f.run)===null||h===void 0?void 0:h.slice())||[]});c&&O.run.push(c),u&&(O.preventDefault=!0),d&&(O.stopPropagation=!0)};for(let a of e){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let u of o){let d=n[u]||(n[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=a;for(let h in d)d[h].run.push(p=>f(p,CL))}let c=a[t]||a.key;if(c)for(let u of o)s(u,c,a.run,a.preventDefault,a.stopPropagation),a.shift&&s(u,"Shift-"+c,a.shift,a.preventDefault,a.stopPropagation)}return n}let CL=null;function Vfe(e,t,n,i){CL=t;let r=ret(t),s=ao(r,0),a=ru(s)==r.length&&r!=" ",o="",c=!1,u=!1,d=!1;Ff&&Ff.view==n&&Ff.scope==i&&(o=Ff.prefix+" ",Rfe.indexOf(t.keyCode)<0&&(u=!0,Ff=null));let f=new Set,h=O=>{if(O){for(let y of O.run)if(!f.has(y)&&(f.add(y),y(n)))return O.stopPropagation&&(d=!0),!0;O.preventDefault&&(O.stopPropagation&&(d=!0),u=!0)}return!1},p=e[i],b,g;return p&&(h(p[o+iE(r,t,!a)])?c=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(xt.windows&&t.ctrlKey&&t.altKey)&&!(xt.mac&&t.altKey&&!(t.ctrlKey||t.metaKey))&&(b=Rh[t.keyCode])&&b!=r?(h(p[o+iE(b,t,!0)])||t.shiftKey&&(g=U1[t.keyCode])!=r&&g!=b&&h(p[o+iE(g,t,!1)]))&&(c=!0):a&&t.shiftKey&&h(p[o+iE(r,t,!0)])&&(c=!0),!c&&h(p._any)&&(c=!0)),u&&(c=!0),c&&d&&t.stopPropagation(),CL=null,c}class im{constructor(t,n,i,r,s){this.className=t,this.left=n,this.top=i,this.width=r,this.height=s}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,n){return n.className!=this.className?!1:(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",this.width!=null&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,n,i){if(i.empty){let r=t.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=qfe(t);return[new im(n,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return Htt(t,n,i)}}function qfe(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==qi.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function OX(e,t,n,i){let r=e.coordsAtPos(t,n*2);if(!r)return i;let s=e.dom.getBoundingClientRect(),a=(r.top+r.bottom)/2,o=e.posAtCoords({x:s.left+1,y:a}),c=e.posAtCoords({x:s.right-1,y:a});return o==null||c==null?i:{from:Math.max(i.from,Math.min(o,c)),to:Math.min(i.to,Math.max(o,c))}}function Htt(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),s=e.textDirection==qi.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),c=qfe(e),u=a.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),h=o.right-(d?parseInt(d.paddingRight):0),p=SL(e,i,1),b=SL(e,r,-1),g=p.type==oa.Text?p:null,O=b.type==oa.Text?b:null;if(g&&(e.lineWrapping||p.widgetLineBreaks)&&(g=OX(e,i,1,g)),O&&(e.lineWrapping||b.widgetLineBreaks)&&(O=OX(e,r,-1,O)),g&&O&&g.from==O.from&&g.to==O.to)return v(x(n.from,n.to,g));{let E=g?x(n.from,null,g):w(p,!1),S=O?x(null,n.to,O):w(b,!0),k=[];return(g||p).to<(O||b).from-(g&&O?1:0)||p.widgetLineBreaks>1&&E.bottom+e.defaultLineHeight/2P&&D.from=j)break;M>$&&N(Math.max(B,$),E==null&&B<=P,Math.min(M,j),S==null&&M>=Q,F.dir)}if($=I.to+1,$>=j)break}return A.length==0&&N(P,E==null,Q,S==null,e.textDirection),{top:T,bottom:C,horizontal:A}}function w(E,S){let k=o.top+(S?E.top:E.bottom);return{top:k,bottom:k,horizontal:[]}}}function Gtt(e,t){return e.constructor==t.constructor&&e.eq(t)}class Ytt{constructor(t,n){this.view=t,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,t)}update(t){t.startState.facet(vk)!=t.state.facet(vk)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){this.layer.updateOnDocViewUpdate!==!1&&t.requestMeasure(this.measureReq)}setOrder(t){let n=0,i=t.facet(vk);for(;n!Gtt(n,this.drawn[i]))){let n=this.dom.firstChild,i=0;for(let r of t)r.update&&n&&r.constructor&&this.drawn[i].constructor&&r.update(n,this.drawn[i])?(n=n.nextSibling,i++):this.dom.insertBefore(r.draw(),n);for(;n;){let r=n.nextSibling;n.remove(),n=r}this.drawn=t,xt.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const vk=St.define();function Xfe(e){return[Vr.define(t=>new Ytt(t,e)),vk.of(e)]}const Ab=St.define({combine(e){return Mu(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(t,n)=>Math.min(t,n),drawRangeCursor:(t,n)=>t||n})}});function Wtt(e={}){return[Ab.of(e),Ztt,Ktt,Jtt,Ofe.of(!0)]}function Hfe(e){return e.startState.facet(Ab)!=e.state.facet(Ab)}const Ztt=Xfe({above:!0,markers(e){let{state:t}=e,n=t.facet(Ab),i=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty||n.drawRangeCursor&&!(s&&xt.ios&&n.iosSelectionHandles)){let a=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:$e.cursor(r.head,r.assoc);for(let c of im.forRange(e,a,o))i.push(c)}}return i},update(e,t){e.transactions.some(i=>i.selection)&&(t.style.animationName=t.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=Hfe(e);return n&&yX(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){yX(t.state,e)},class:"cm-cursorLayer"});function yX(e,t){t.style.animationDuration=e.facet(Ab).cursorBlinkRate+"ms"}const Ktt=Xfe({above:!1,markers(e){let t=[],{main:n,ranges:i}=e.state.selection;for(let r of i)if(!r.empty)for(let s of im.forRange(e,"cm-selectionBackground",r))t.push(s);if(xt.ios&&!n.empty&&e.state.facet(Ab).iosSelectionHandles){for(let r of im.forRange(e,"cm-selectionHandle cm-selectionHandle-start",$e.cursor(n.from,1)))t.push(r);for(let r of im.forRange(e,"cm-selectionHandle cm-selectionHandle-end",$e.cursor(n.to,1)))t.push(r)}return t},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||Hfe(e)},class:"cm-selectionLayer"}),Jtt=tf.highest(ht.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Gfe=fn.define({map(e,t){return e==null?null:t.mapPos(e)}}),qy=ca.define({create(){return null},update(e,t){return e!=null&&(e=t.changes.mapPos(e)),t.effects.reduce((n,i)=>i.is(Gfe)?i.value:n,e)}}),ent=Vr.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(qy);n==null?this.cursor!=null&&((t=this.cursor)===null||t===void 0||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(qy)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(qy),n=t!=null&&e.coordsAtPos(t);if(!n)return null;let i=e.scrollDOM.getBoundingClientRect();return{left:n.left-i.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-i.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(qy)!=e&&this.view.dispatch({effects:Gfe.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){(e.target==this.view.contentDOM||!this.view.contentDOM.contains(e.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function tnt(){return[qy,ent]}function xX(e,t,n,i,r){t.lastIndex=0;for(let s=e.iterRange(n,i),a=n,o;!s.next().done;a+=s.value.length)if(!s.lineBreak)for(;o=t.exec(s.value);)r(a+o.index,o)}function nnt(e,t){let n=e.visibleRanges;if(n.length==1&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class int{constructor(t){const{regexp:n,decoration:i,decorate:r,boundary:s,maxLength:a=1e3}=t;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,r)this.addMatch=(o,c,u,d)=>r(d,u,u+o[0].length,o,c);else if(typeof i=="function")this.addMatch=(o,c,u,d)=>{let f=i(o,c,u);f&&d(u,u+o[0].length,f)};else if(i)this.addMatch=(o,c,u,d)=>d(u,u+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=a}createDeco(t){let n=new Fd,i=n.add.bind(n);for(let{from:r,to:s}of nnt(t,this.maxLength))xX(t.state.doc,this.regexp,r,s,(a,o)=>this.addMatch(o,t,a,i));return n.finish()}updateDeco(t,n){let i=1e9,r=-1;return t.docChanged&&t.changes.iterChanges((s,a,o,c)=>{c>=t.view.viewport.from&&o<=t.view.viewport.to&&(i=Math.min(o,i),r=Math.max(c,r))}),t.viewportMoved||r-i>1e3?this.createDeco(t.view):r>-1?this.updateRange(t.view,n.map(t.changes),i,r):n}updateRange(t,n,i,r){for(let s of t.visibleRanges){let a=Math.max(s.from,i),o=Math.min(s.to,r);if(o>=a){let c=t.state.doc.lineAt(a),u=c.toc.from;a--)if(this.boundary.test(c.text[a-1-c.from])){d=a;break}for(;oh.push(y.range(g,O));if(c==u)for(this.regexp.lastIndex=d-c.from;(p=this.regexp.exec(c.text))&&p.indexthis.addMatch(O,t,g,b));n=n.update({filterFrom:d,filterTo:f,filter:(g,O)=>gf,add:h})}}return n}}const NL=/x/.unicode!=null?"gu":"g",rnt=new RegExp(`[\0-\b +--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,NL),snt={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let ER=null;function ant(){var e;if(ER==null&&typeof document<"u"&&document.body){let t=document.body.style;ER=((e=t.tabSize)!==null&&e!==void 0?e:t.MozTabSize)!=null}return ER||!1}const wk=St.define({combine(e){let t=Mu(e,{render:null,specialChars:rnt,addSpecialChars:null});return(t.replaceTabs=!ant())&&(t.specialChars=new RegExp(" |"+t.specialChars.source,NL)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,NL)),t}});function ont(e={}){return[wk.of(e),lnt()]}let vX=null;function lnt(){return vX||(vX=Vr.fromClass(class{constructor(e){this.view=e,this.decorations=Ht.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(wk)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new int({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:r}=n.state,s=ao(t[0],0);if(s==9){let a=r.lineAt(i),o=n.state.tabSize,c=kc(a.text,o,i-a.from);return Ht.replace({widget:new fnt((o-c%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=Ht.replace({widget:new dnt(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(wk);e.startState.facet(wk)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const cnt="•";function unt(e){return e>=32?cnt:e==10?"␤":String.fromCharCode(9216+e)}class dnt extends Dc{constructor(t,n){super(),this.options=t,this.code=n}eq(t){return t.code==this.code}toDOM(t){let n=unt(this.code),i=t.state.phrase("Control character")+" "+(snt[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,n);if(r)return r;let s=document.createElement("span");return s.textContent=n,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class fnt extends Dc{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}function hnt(){return mnt}const pnt=Ht.line({class:"cm-activeLine"}),mnt=Vr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let i of e.state.selection.ranges){let r=e.lineBlockAt(i.head);r.from>t&&(n.push(pnt.range(r.from)),t=r.from)}return Ht.set(n)}},{decorations:e=>e.decorations});class gnt extends Dc{constructor(t){super(),this.content=t}toDOM(t){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(t):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(t){let n=t.firstChild?Ix(t.firstChild):[];if(!n.length)return null;let i=window.getComputedStyle(t.parentNode),r=q1(n[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}}function bnt(e){let t=Vr.fromClass(class{constructor(n){this.view=n,this.placeholder=e?Ht.set([Ht.widget({widget:new gnt(e),side:1}).range(0)]):Ht.none}get decorations(){return this.view.state.doc.length?Ht.none:this.placeholder}},{decorations:n=>n.decorations});return typeof e=="string"?[t,ht.contentAttributes.of({"aria-placeholder":e})]:t}const jL=2e3;function Ont(e,t,n){let i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),s=[];if(t.off>jL||n.off>jL||t.col<0||n.col<0){let a=Math.min(t.off,n.off),o=Math.max(t.off,n.off);for(let c=i;c<=r;c++){let u=e.doc.line(c);u.length<=o&&s.push($e.range(u.from+a,u.to+o))}}else{let a=Math.min(t.col,n.col),o=Math.max(t.col,n.col);for(let c=i;c<=r;c++){let u=e.doc.line(c),d=uL(u.text,a,e.tabSize,!0);if(d<0)s.push($e.cursor(u.to));else{let f=uL(u.text,o,e.tabSize);s.push($e.range(u.from+d,u.from+f))}}}return s}function ynt(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function wX(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,s=r>jL?-1:r==i.length?ynt(e,t.clientX):kc(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function xnt(e,t){let n=wX(e,t),i=e.state.selection;return n?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(n.line).from),a=r.state.doc.lineAt(s);n={line:a.number,col:n.col,off:Math.min(n.off,a.length)},i=i.map(r.changes)}},get(r,s,a){let o=wX(e,r);if(!o)return i;let c=Ont(e.state,n,o);return c.length?a?$e.create(c.concat(i.ranges)):$e.create(c):i}}:null}function vnt(e){let t=n=>n.altKey&&n.button==0;return ht.mouseSelectionStyle.of((n,i)=>t(i)?xnt(n,i):null)}const wnt={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Snt={style:"cursor: crosshair"};function Ent(e={}){let[t,n]=wnt[e.key||"Alt"],i=Vr.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==t||n(r))},keyup(r){(r.keyCode==t||!n(r))&&this.set(!1)},mousemove(r){this.set(n(r))}}});return[i,ht.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.isDown?Snt:null})]}const rE="-10000px";class Yfe{constructor(t,n,i,r){this.facet=n,this.createTooltipView=i,this.removeTooltipView=r,this.input=t.state.facet(n),this.tooltips=this.input.filter(a=>a);let s=null;this.tooltipViews=this.tooltips.map(a=>s=i(a,s))}update(t,n){var i;let r=t.state.facet(this.facet),s=r.filter(c=>c);if(r===this.input){for(let c of this.tooltipViews)c.update&&c.update(t);return!1}let a=[],o=n?[]:null;for(let c=0;cn[u]=c),n.length=o.length),this.input=r,this.tooltips=s,this.tooltipViews=a,!0}}function knt(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const kR=St.define({combine:e=>{var t,n,i;return{position:xt.ios?"absolute":((t=e.find(r=>r.position))===null||t===void 0?void 0:t.position)||"fixed",parent:((n=e.find(r=>r.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((i=e.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||knt}}}),SX=new WeakMap,W6=Vr.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(kR);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new Yfe(e,Z6,(n,i)=>this.createTooltip(n,i),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(kR);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),i=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",n.dom.appendChild(r)}return n.dom.style.position=this.position,n.dom.style.top=rE,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(e=i.destroy)===null||e===void 0||e.call(i);this.parent&&this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(xt.safari){let a=s.getBoundingClientRect();n=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else n=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(e=s.width/this.parent.offsetWidth,t=s.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=X6(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,a)=>{let o=this.manager.tooltipViews[a];return o.getCoords?o.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(kR).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:n,space:i,scaleX:r,scaleY:s}=e,a=[];for(let o=0;o=Math.min(n.bottom,i.bottom)||f.rightMath.min(n.right,i.right)+.1)){d.style.top=rE;continue}let p=c.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,b=p?7:0,g=h.right-h.left,O=(t=SX.get(u))!==null&&t!==void 0?t:h.bottom-h.top,y=u.offset||_nt,v=this.view.textDirection==qi.LTR,x=h.width>i.right-i.left?v?i.left:i.right-h.width:v?Math.max(i.left,Math.min(f.left-(p?14:0)+y.x,i.right-g)):Math.min(Math.max(i.left,f.left-g+(p?14:0)-y.x),i.right-g),w=this.above[o];!c.strictSide&&(w?f.top-O-b-y.yi.bottom)&&w==i.bottom-f.bottom>f.top-i.top&&(w=this.above[o]=!w);let E=(w?f.top-i.top:i.bottom-f.bottom)-b;if(Ex&&T.topS&&(S=w?T.top-O-2-b:T.bottom+b+2);if(this.position=="absolute"?(d.style.top=(S-e.parent.top)/s+"px",EX(d,(x-e.parent.left)/r)):(d.style.top=S/s+"px",EX(d,x/r)),p){let T=f.left+(v?y.x:-y.x)-(x+14-7);p.style.left=T/r+"px"}u.overlap!==!0&&a.push({left:x,top:S,right:k,bottom:S+O}),d.classList.toggle("cm-tooltip-above",w),d.classList.toggle("cm-tooltip-below",!w),u.positioned&&u.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=rE}},{eventObservers:{scroll(){this.maybeMeasure()}}});function EX(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const Tnt=ht.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),_nt={x:0,y:0},Z6=St.define({enables:[W6,Tnt]}),O_=St.define({combine:e=>e.reduce((t,n)=>t.concat(n),[])});class H2{static create(t){return new H2(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Yfe(t,O_,(n,i)=>this.createHostedView(n,i),n=>n.dom.remove())}createHostedView(t,n){let i=t.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(t){for(let n of this.manager.tooltipViews)n.mount&&n.mount(t);this.mounted=!0}positioned(t){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let n of this.manager.tooltipViews)(t=n.destroy)===null||t===void 0||t.call(n)}passProp(t){let n;for(let i of this.manager.tooltipViews){let r=i[t];if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const Ant=Z6.compute([O_],e=>{let t=e.facet(O_);return t.length===0?null:{pos:Math.min(...t.map(n=>n.pos)),end:Math.max(...t.map(n=>{var i;return(i=n.end)!==null&&i!==void 0?i:n.pos})),create:H2.create,above:t[0].above,arrow:t.some(n=>n.arrow)}}),Wfe=St.define();class Cnt{constructor(t,n,i,r,s,a){this.view=t,this.source=n,this.field=i,this.locked=r,this.setHover=s,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(t){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let t=Date.now()-this.lastMove.time;ta.bottom||n.xa.right+t.defaultCharacterWidth)return;let o=t.bidiSpans(t.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),c=o&&o.dir==qi.RTL?-1:1;s=n.x{if(o&&!(Array.isArray(o)&&!o.length)){let c=Array.isArray(o)?o:[o];r&&this.locked.set(c,r),t.dispatch({effects:this.setHover.of(c)})}};if(s&&"then"in s){let o=this.pending={pos:n};s.then(c=>{this.pending==o&&(this.pending=null,a(c))},c=>fo(t.state,c,"hover tooltip"))}else a(s)}get tooltip(){let t=this.view.plugin(W6),n=t?t.manager.tooltips.findIndex(i=>i.create==H2.create):-1;return n>-1?t.manager.tooltipViews[n]:null}mousemove(t){var n,i;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&!this.locked.has(r)&&s&&!Nnt(s.dom,t)||this.pending){let{pos:a}=r[0]||this.pending,o=(i=(n=r[0])===null||n===void 0?void 0:n.end)!==null&&i!==void 0?i:a;(a==o?this.view.posAtCoords(this.lastMove)!=a:!jnt(this.view,a,o,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length&&!this.locked.has(n)){let{tooltip:i}=this;i&&i.dom.contains(t.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let n=i=>{t.removeEventListener("mouseleave",n);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const sE=4;function Nnt(e,t){let{left:n,right:i,top:r,bottom:s}=e.getBoundingClientRect(),a;if(a=e.querySelector(".cm-tooltip-arrow")){let o=a.getBoundingClientRect();r=Math.min(o.top,r),s=Math.max(o.bottom,s)}return t.clientX>=n-sE&&t.clientX<=i+sE&&t.clientY>=r-sE&&t.clientY<=s+sE}function jnt(e,t,n,i,r,s){let a=e.scrollDOM.getBoundingClientRect(),o=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>i||a.rightr||Math.min(a.bottom,o)=t&&c<=n}function Rnt(e,t={}){let n=fn.define(),i=new WeakMap,r=ca.define({create(){return[]},update(a,o){let c=i.get(a);if(a.length&&(t.hideOnChange&&(o.docChanged||o.selection)?a=[]:c&&c(o)?a=[]:t.hideOn&&(a=a.filter(u=>!t.hideOn(o,u)))),o.docChanged&&a.length){let u=[];for(let d of a){let f=o.changes.mapPos(d.pos,-1,ra.TrackDel);if(f!=null){let h=Object.assign(Object.create(null),d);h.pos=f,h.end!=null&&(h.end=o.changes.mapPos(h.end)),u.push(h)}}a=u}for(let u of o.effects)u.is(n)&&(a=u.value,c=void 0),(u.is(Dnt)&&!u.value||u.value==r)&&(a=[]);return a.length&&c&&i.set(a,c),a},provide:a=>O_.from(a)});const s=Vr.define(a=>new Cnt(a,e,r,i,n,t.hoverTime||300));return{active:r,extension:[r,s,Wfe.of(s),Ant]}}function Int(e,t,n,i={}){var r;let s=e.state.facet(Wfe).map(a=>e.plugin(a)).filter(a=>!!a);if(i.tooltip&&i.tooltip.active){let a=s.find(o=>o.field==i.tooltip.active);a&&(s=[a])}for(let a of s)a.activateHover(e,t,n,(r=i.until)!==null&&r!==void 0?r:()=>!1)}function Zfe(e,t){let n=e.plugin(W6);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const Dnt=fn.define(),kX=St.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function K6(e,t){let n=e.plugin(Kfe),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const Kfe=Vr.fromClass(class{constructor(e){this.input=e.state.facet(H1),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(e));let t=e.state.facet(kX);this.top=new aE(e,!0,t.topContainer),this.bottom=new aE(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(kX);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new aE(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new aE(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(H1);if(n!=this.input){let i=n.filter(c=>c),r=[],s=[],a=[],o=[];for(let c of i){let u=this.specs.indexOf(c),d;u<0?(d=c(e.view),o.push(d)):(d=this.panels[u],d.update&&d.update(e)),r.push(d),(d.top?s:a).push(d)}this.specs=i,this.panels=r,this.top.sync(s),this.bottom.sync(a);for(let c of o)c.dom.classList.add("cm-panel"),c.mount&&c.mount()}else for(let i of this.panels)i.update&&i.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>ht.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class aE{constructor(t,n,i){this.view=t,this.top=n,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let n of this.panels)n.destroy&&t.indexOf(n)<0&&n.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let t=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;t!=n.dom;)t=TX(t);t=t.nextSibling}else this.dom.insertBefore(n.dom,t);for(;t;)t=TX(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function TX(e){let t=e.nextSibling;return e.remove(),t}const H1=St.define({enables:Kfe});function Pnt(e,t){let n,i=new Promise(a=>n=a),r=a=>Mnt(a,t,n);e.state.field(TR,!1)?e.dispatch({effects:Jfe.of(r)}):e.dispatch({effects:fn.appendConfig.of(TR.init(()=>[r]))});let s=ehe.of(r);return{close:s,result:i.then(a=>((e.win.queueMicrotask||(c=>e.win.setTimeout(c,10)))(()=>{e.state.field(TR).indexOf(r)>-1&&e.dispatch({effects:s})}),a))}}const TR=ca.define({create(){return[]},update(e,t){for(let n of t.effects)n.is(Jfe)?e=[n.value].concat(e):n.is(ehe)&&(e=e.filter(i=>i!=n.value));return e},provide:e=>H1.computeN([e],t=>t.field(e))}),Jfe=fn.define(),ehe=fn.define();function Mnt(e,t,n){let i=t.content?t.content(e,()=>a(null)):null;if(!i){if(i=$i("form"),t.input){let o=$i("input",t.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),i.appendChild($i("label",(t.label||"")+": ",o))}else i.appendChild(document.createTextNode(t.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild($i("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let r=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let o=0;o{u.keyCode==27?(u.preventDefault(),a(null)):u.keyCode==13&&(u.preventDefault(),a(c))}),c.addEventListener("submit",u=>{u.preventDefault(),a(c)})}let s=$i("div",i,$i("button",{onclick:()=>a(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));t.class&&(s.className=t.class),s.classList.add("cm-dialog");function a(o){s.contains(s.ownerDocument.activeElement)&&e.focus(),n(o)}return{dom:s,top:t.top,mount:()=>{if(t.focus){let o;typeof t.focus=="string"?o=i.querySelector(t.focus):o=i.querySelector("input")||i.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class zd extends Nh{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}zd.prototype.elementClass="";zd.prototype.toDOM=void 0;zd.prototype.mapMode=ra.TrackBefore;zd.prototype.startSide=zd.prototype.endSide=-1;zd.prototype.point=!0;const Sk=St.define(),Lnt=St.define(),$nt={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Qn.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Mx=St.define();function Qnt(e){return[the(),Mx.of({...$nt,...e})]}const _X=St.define({combine:e=>e.some(t=>t)});function the(e){return[Bnt]}const Bnt=Vr.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Mx).map(t=>new CX(e,t)),this.fixed=!e.state.facet(_X);for(let t of this.gutters)t.config.side=="after"?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<(n.to-n.from)*.8)}if(e.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(_X)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Qn.iter(this.view.state.facet(Sk),this.view.viewport.from),i=[],r=this.gutters.map(s=>new Fnt(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let a=!0;for(let o of s.type)if(o.type==oa.Text&&a){RL(n,i,o.from);for(let c of r)c.line(this.view,o,i);a=!1}else if(o.widget)for(let c of r)c.widget(this.view,o)}else if(s.type==oa.Text){RL(n,i,s.from);for(let a of r)a.line(this.view,s,i)}else if(s.widget)for(let a of r)a.widget(this.view,s);for(let s of r)s.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(Mx),n=e.state.facet(Mx),i=e.docChanged||e.heightChanged||e.viewportChanged||!Qn.eq(e.startState.facet(Sk),e.state.facet(Sk),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let r of this.gutters)r.update(e)&&(i=!0);else{i=!0;let r=[];for(let s of n){let a=t.indexOf(s);a<0?r.push(new CX(this.view,s)):(this.gutters[a].update(e),r.push(this.gutters[a]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>ht.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||n.gutters.length==0||!n.fixed)return null;let i=n.dom.offsetWidth*t.scaleX,r=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==qi.LTR?{left:i,right:r}:{right:i,left:r}})});function AX(e){return Array.isArray(e)?e:[e]}function RL(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class Fnt{constructor(t,n,i){this.gutter=t,this.height=i,this.i=0,this.cursor=Qn.iter(t.markers,n.from)}addElement(t,n,i){let{gutter:r}=this,s=(n.top-this.height)/t.scaleY,a=n.height/t.scaleY;if(this.i==r.elements.length){let o=new nhe(t,a,s,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(t,a,s,i);this.height=n.bottom,this.i++}line(t,n,i){let r=[];RL(this.cursor,r,n.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(t,n,r);s&&r.unshift(s);let a=this.gutter;r.length==0&&!a.config.renderEmptyElements||this.addElement(t,n,r)}widget(t,n){let i=this.gutter.config.widgetMarker(t,n.widget,n),r=i?[i]:null;for(let s of t.state.facet(Lnt)){let a=s(t,n.widget,n);a&&(r||(r=[])).push(a)}r&&this.addElement(t,n,r)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let n=t.elements.pop();t.dom.removeChild(n.dom),n.destroy()}}}class CX{constructor(t,n){this.view=t,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in n.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,a;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let c=s.getBoundingClientRect();a=(c.top+c.bottom)/2}else a=r.clientY;let o=t.lineBlockAtHeight(a-t.documentTop);n.domEventHandlers[i](t,o,r)&&r.preventDefault()});this.markers=AX(n.markers(t)),n.initialSpacer&&(this.spacer=new nhe(t,0,0,[n.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let n=this.markers;if(this.markers=AX(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let i=t.view.viewport;return!Qn.eq(this.markers,n,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}}class nhe{constructor(t,n,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,n,i,r)}update(t,n,i,r){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),Unt(this.markers,r)||this.setMarkers(t,r)}setMarkers(t,n){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,a=0;;){let o=a,c=ss(o,c,u)||a(o,c,u):a}return i}})}});class _R extends zd{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function AR(e,t){return e.state.facet(f0).formatNumber(t,e.state)}const qnt=Mx.compute([f0],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(t){return t.state.facet(znt)},lineMarker(t,n,i){return i.some(r=>r.toDOM)?null:new _R(AR(t,t.state.doc.lineAt(n.from).number))},widgetMarker:(t,n,i)=>{for(let r of t.state.facet(Vnt)){let s=r(t,n,i);if(s)return s}return null},lineMarkerChange:t=>t.startState.facet(f0)!=t.state.facet(f0),initialSpacer(t){return new _R(AR(t,NX(t.state.doc.lines)))},updateSpacer(t,n){let i=AR(n.view,NX(n.view.state.doc.lines));return i==t.number?t:new _R(i)},domEventHandlers:e.facet(f0).domEventHandlers,side:"before"}));function Xnt(e={}){return[f0.of(e),the(),qnt]}function NX(e){let t=9;for(;t{let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.head).from;r>n&&(n=r,t.push(Hnt.range(r)))}return Qn.of(t)});function Ynt(){return Gnt}let Wnt=0,tu=class IL{constructor(t,n,i,r){this.name=t,this.set=n,this.base=i,this.modified=r,this.id=Wnt++}toString(){let{name:t}=this;for(let n of this.modified)n.name&&(t=`${n.name}(${t})`);return t}static define(t,n){let i=typeof t=="string"?t:"?";if(t instanceof IL&&(n=t),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let r=new IL(i,[],null,[]);if(r.set.push(r),n)for(let s of n.set)r.set.push(s);return r}static defineModifier(t){let n=new y_(t);return i=>i.modified.indexOf(n)>-1?i:y_.get(i.base||i,i.modified.concat(n).sort((r,s)=>r.id-s.id))}},Znt=0;class y_{constructor(t){this.name=t,this.instances=[],this.id=Znt++}static get(t,n){if(!n.length)return t;let i=n[0].instances.find(o=>o.base==t&&Knt(n,o.modified));if(i)return i;let r=[],s=new tu(t.name,r,t,n);for(let o of n)o.instances.push(s);let a=Jnt(n);for(let o of t.set)if(!o.modified.length)for(let c of a)r.push(y_.get(o,c));return s}}function Knt(e,t){return e.length==t.length&&e.every((n,i)=>n==t[i])}function Jnt(e){let t=[[]];for(let n=0;ni.length-n.length)}function nf(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let r of n.split(" "))if(r){let s=[],a=2,o=r;for(let f=0;;){if(o=="..."&&f>0&&f+3==r.length){a=1;break}let h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!h)throw new RangeError("Invalid path: "+r);if(s.push(h[0]=="*"?"":h[0][0]=='"'?JSON.parse(h[0]):h[0]),f+=h[0].length,f==r.length)break;let p=r[f++];if(f==r.length&&p=="!"){a=0;break}if(p!="/")throw new RangeError("Invalid path: "+r);o=r.slice(f)}let c=s.length-1,u=s[c];if(!u)throw new RangeError("Invalid path: "+r);let d=new G1(i,a,c>0?s.slice(0,c):null);t[u]=d.sort(t[u])}}return ihe.add(t)}const ihe=new un({combine(e,t){let n,i,r;for(;e||t;){if(!e||t&&e.depth>=t.depth?(r=t,t=t.next):(r=e,e=e.next),n&&n.mode==r.mode&&!r.context&&!n.context)continue;let s=new G1(r.tags,r.mode,r.context);n?n.next=s:i=s,n=s}return i}});let G1=class{constructor(t,n,i,r){this.tags=t,this.mode=n,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth{let a=r;for(let o of s)for(let c of o.set){let u=n[c.id];if(u){a=a?a+" "+u:u;break}}return a},scope:i}}function eit(e,t){let n=null;for(let i of e){let r=i.style(t);r&&(n=n?n+" "+r:r)}return n}function tit(e,t,n,i=0,r=e.length){let s=new nit(i,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),i,r,"",s.highlighters),s.flush(r)}class nit{constructor(t,n,i){this.at=t,this.highlighters=n,this.span=i,this.class=""}startSpan(t,n){n!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=n)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,n,i,r,s){let{type:a,from:o,to:c}=t;if(o>=i||c<=n)return;a.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(a)));let u=r,d=iit(t)||G1.empty,f=eit(s,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(n,o),u),d.opaque)return;let h=t.tree&&t.tree.prop(un.mounted);if(h&&h.overlay){let p=t.node.enter(h.overlay[0].from+o,1),b=this.highlighters.filter(O=>!O.scope||O.scope(h.tree.type)),g=t.firstChild();for(let O=0,y=o;;O++){let v=O=x||!t.nextSibling())););if(!v||x>i)break;y=v.to+o,y>n&&(this.highlightRange(p.cursor(),Math.max(n,v.from+o),Math.min(i,y),"",b),this.startSpan(Math.min(i,y),u))}g&&t.parent()}else if(t.firstChild()){h&&(r="");do if(!(t.to<=n)){if(t.from>=i)break;this.highlightRange(t,n,i,r,s),this.startSpan(Math.min(i,t.to),u)}while(t.nextSibling());t.parent()}}}function iit(e){let t=e.type.prop(ihe);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const pt=tu.define,oE=pt(),If=pt(),jX=pt(If),RX=pt(If),Df=pt(),lE=pt(Df),CR=pt(Df),Zc=pt(),op=pt(Zc),Hc=pt(),Gc=pt(),DL=pt(),dy=pt(DL),cE=pt(),W={comment:oE,lineComment:pt(oE),blockComment:pt(oE),docComment:pt(oE),name:If,variableName:pt(If),typeName:jX,tagName:pt(jX),propertyName:RX,attributeName:pt(RX),className:pt(If),labelName:pt(If),namespace:pt(If),macroName:pt(If),literal:Df,string:lE,docString:pt(lE),character:pt(lE),attributeValue:pt(lE),number:CR,integer:pt(CR),float:pt(CR),bool:pt(Df),regexp:pt(Df),escape:pt(Df),color:pt(Df),url:pt(Df),keyword:Hc,self:pt(Hc),null:pt(Hc),atom:pt(Hc),unit:pt(Hc),modifier:pt(Hc),operatorKeyword:pt(Hc),controlKeyword:pt(Hc),definitionKeyword:pt(Hc),moduleKeyword:pt(Hc),operator:Gc,derefOperator:pt(Gc),arithmeticOperator:pt(Gc),logicOperator:pt(Gc),bitwiseOperator:pt(Gc),compareOperator:pt(Gc),updateOperator:pt(Gc),definitionOperator:pt(Gc),typeOperator:pt(Gc),controlOperator:pt(Gc),punctuation:DL,separator:pt(DL),bracket:dy,angleBracket:pt(dy),squareBracket:pt(dy),paren:pt(dy),brace:pt(dy),content:Zc,heading:op,heading1:pt(op),heading2:pt(op),heading3:pt(op),heading4:pt(op),heading5:pt(op),heading6:pt(op),contentSeparator:pt(Zc),list:pt(Zc),quote:pt(Zc),emphasis:pt(Zc),strong:pt(Zc),link:pt(Zc),monospace:pt(Zc),strikethrough:pt(Zc),inserted:pt(),deleted:pt(),changed:pt(),invalid:pt(),meta:cE,documentMeta:pt(cE),annotation:pt(cE),processingInstruction:pt(cE),definition:tu.defineModifier("definition"),constant:tu.defineModifier("constant"),function:tu.defineModifier("function"),standard:tu.defineModifier("standard"),local:tu.defineModifier("local"),special:tu.defineModifier("special")};for(let e in W){let t=W[e];t instanceof tu&&(t.name=e)}rhe([{tag:W.link,class:"tok-link"},{tag:W.heading,class:"tok-heading"},{tag:W.emphasis,class:"tok-emphasis"},{tag:W.strong,class:"tok-strong"},{tag:W.keyword,class:"tok-keyword"},{tag:W.atom,class:"tok-atom"},{tag:W.bool,class:"tok-bool"},{tag:W.url,class:"tok-url"},{tag:W.labelName,class:"tok-labelName"},{tag:W.inserted,class:"tok-inserted"},{tag:W.deleted,class:"tok-deleted"},{tag:W.literal,class:"tok-literal"},{tag:W.string,class:"tok-string"},{tag:W.number,class:"tok-number"},{tag:[W.regexp,W.escape,W.special(W.string)],class:"tok-string2"},{tag:W.variableName,class:"tok-variableName"},{tag:W.local(W.variableName),class:"tok-variableName tok-local"},{tag:W.definition(W.variableName),class:"tok-variableName tok-definition"},{tag:W.special(W.variableName),class:"tok-variableName2"},{tag:W.definition(W.propertyName),class:"tok-propertyName tok-definition"},{tag:W.typeName,class:"tok-typeName"},{tag:W.namespace,class:"tok-namespace"},{tag:W.className,class:"tok-className"},{tag:W.macroName,class:"tok-macroName"},{tag:W.propertyName,class:"tok-propertyName"},{tag:W.operator,class:"tok-operator"},{tag:W.comment,class:"tok-comment"},{tag:W.meta,class:"tok-meta"},{tag:W.invalid,class:"tok-invalid"},{tag:W.punctuation,class:"tok-punctuation"}]);var NR;const Zf=new un;function G2(e){return St.define({combine:e?t=>t.concat(e):void 0})}const J6=new un;class Yo{constructor(t,n,i=[],r=""){this.data=t,this.name=r,qn.prototype.hasOwnProperty("tree")||Object.defineProperty(qn.prototype,"tree",{get(){return Fi(this)}}),this.parser=n,this.extension=[Dh.of(this),qn.languageData.of((s,a,o)=>{let c=IX(s,a,o),u=c.type.prop(Zf);if(!u)return[];let d=s.facet(u),f=c.type.prop(J6);if(f){let h=c.resolve(a-c.from,o);for(let p of f)if(p.test(h,s)){let b=s.facet(p.facet);return p.type=="replace"?b:b.concat(d)}}return d})].concat(i)}isActiveAt(t,n,i=-1){return IX(t,n,i).type.prop(Zf)==this.data}findRegions(t){let n=t.facet(Dh);if((n==null?void 0:n.data)==this.data)return[{from:0,to:t.doc.length}];if(!n||!n.allowsNesting)return[];let i=[],r=(s,a)=>{if(s.prop(Zf)==this.data){i.push({from:a,to:a+s.length});return}let o=s.prop(un.mounted);if(o){if(o.tree.prop(Zf)==this.data){if(o.overlay)for(let c of o.overlay)i.push({from:c.from+a,to:c.to+a});else i.push({from:a,to:a+s.length});return}else if(o.overlay){let c=i.length;if(r(o.tree,o.overlay[0].from+a),i.length>c)return}}for(let c=0;ci.isTop?n:void 0)]}),t.name)}configure(t,n){return new Vd(this.data,this.parser.configure(t),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Fi(e){let t=e.field(Yo.state,!1);return t?t.tree:Dn.empty}class rit{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,n){let i=this.cursorPos-this.string.length;return t=this.cursorPos?this.doc.sliceString(t,n):this.string.slice(t-i,n-i)}}let fy=null;class Em{constructor(t,n,i=[],r,s,a,o,c){this.parser=t,this.state=n,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=a,this.skipped=o,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(t,n,i){return new Em(t,n,[],Dn.empty,0,i,[],null)}startParse(){return this.parser.startParse(new rit(this.state.doc),this.fragments)}work(t,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Dn.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let r=Date.now()+t;t=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=t,this.tree=n,this.fragments=this.withoutTempSkipped(Cd.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let n=fy;fy=this;try{return t()}finally{fy=n}}withoutTempSkipped(t){for(let n;n=this.tempSkipped.pop();)t=DX(t,n.from,n.to);return t}changes(t,n){let{fragments:i,tree:r,treeLen:s,viewport:a,skipped:o}=this;if(this.takeTree(),!t.empty){let c=[];if(t.iterChangedRanges((u,d,f,h)=>c.push({fromA:u,toA:d,fromB:f,toB:h})),i=Cd.applyChanges(i,c),r=Dn.empty,s=0,a={from:t.mapPos(a.from,-1),to:t.mapPos(a.to,1)},this.skipped.length){o=[];for(let u of this.skipped){let d=t.mapPos(u.from,1),f=t.mapPos(u.to,-1);dt.from&&(this.fragments=DX(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,n){this.skipped.push({from:t,to:n})}static getSkippingParser(t){return new class extends B2{createParse(n,i,r){let s=r[0].from,a=r[r.length-1].to;return{parsedPos:s,advance(){let c=fy;if(c){for(let u of r)c.tempSkipped.push(u);t&&(c.scheduleOn=c.scheduleOn?Promise.all([c.scheduleOn,t]):t)}return this.parsedPos=a,new Dn(ms.none,[],[],a-s)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let n=this.fragments;return this.treeLen>=t&&n.length&&n[0].from==0&&n[0].to>=t}static get(){return fy}}function DX(e,t,n){return Cd.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class Cb{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new Cb(n)}static init(t){let n=Math.min(3e3,t.doc.length),i=Em.create(t.facet(Dh).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new Cb(i)}}Yo.state=ca.define({create:Cb.init,update(e,t){for(let n of t.effects)if(n.is(Yo.setState))return n.value;return t.startState.facet(Dh)!=t.state.facet(Dh)?Cb.init(t.state):e.apply(t)}});let she=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};typeof requestIdleCallback<"u"&&(she=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const jR=typeof navigator<"u"&&(!((NR=navigator.scheduling)===null||NR===void 0)&&NR.isInputPending)?()=>navigator.scheduling.isInputPending():null,sit=Vr.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let n=this.view.state.field(Yo.state).context;(n.updateViewport(t.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:t}=this.view,n=t.field(Yo.state);(n.tree!=n.context.tree||!n.context.isDone(t.doc.length))&&(this.working=she(this.work))}work(t){this.working=null;let n=Date.now();if(this.chunkEndr+1e3,c=s.context.work(()=>jR&&jR()||Date.now()>a,r+(o?0:1e5));this.chunkBudget-=Date.now()-n,(c||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Yo.setState.of(new Cb(s.context))})),this.chunkBudget>0&&!(c&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(n=>fo(this.view.state,n)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Dh=St.define({combine(e){return e.length?e[0]:null},enables:e=>[Yo.state,sit,ht.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class Ph{constructor(t,n=[]){this.language=t,this.support=n,this.extension=[t,n]}}class x_{constructor(t,n,i,r,s,a=void 0){this.name=t,this.alias=n,this.extensions=i,this.filename=r,this.loadFunc=s,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(t=>this.support=t,t=>{throw this.loading=null,t}))}static of(t){let{load:n,support:i}=t;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=()=>Promise.resolve(i)}return new x_(t.name,(t.alias||[]).concat(t.name).map(r=>r.toLowerCase()),t.extensions||[],t.filename,n,i)}static matchFilename(t,n){for(let r of t)if(r.filename&&r.filename.test(n))return r;let i=/\.([^.]+)$/.exec(n);if(i){for(let r of t)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(t,n,i=!0){n=n.toLowerCase();for(let r of t)if(r.alias.some(s=>s==n))return r;if(i)for(let r of t)for(let s of r.alias){let a=n.indexOf(s);if(a>-1&&(s.length>2||!/\w/.test(n[a-1])&&!/\w/.test(n[a+s.length])))return r}return null}}const ait=St.define(),yO=St.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(n=>n!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function km(e){let t=e.facet(yO);return t.charCodeAt(0)==9?e.tabSize*t.length:t.length}function Y1(e,t){let n="",i=e.tabSize,r=e.facet(yO)[0];if(r==" "){for(;t>=i;)n+=" ",t-=i;r=" "}for(let s=0;s=t?oit(e,n,t):null}class Y2{constructor(t,n={}){this.state=t,this.options=n,this.unit=km(t)}lineAt(t,n=1){let i=this.state.doc.lineAt(t),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==t?{text:"",from:t}:(n<0?r-1&&(s+=a-this.countColumn(i,i.search(/\S|$/))),s}countColumn(t,n=t.length){return kc(t,this.state.tabSize,n)}lineIndent(t,n=1){let{text:i,from:r}=this.lineAt(t,n),s=this.options.overrideIndentation;if(s){let a=s(r);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const rf=new un;function oit(e,t,n){let i=t.resolveStack(n),r=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(r!=i.node){let s=[];for(let a=r;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)s.push(a);for(let a=s.length-1;a>=0;a--)i={node:s[a],next:i}}return ahe(i,e,n)}function ahe(e,t,n){for(let i=e;i;i=i.next){let r=cit(i.node);if(r)return r(tQ.create(t,n,i))}return 0}function lit(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function cit(e){let t=e.type.prop(rf);if(t)return t;let n=e.firstChild,i;if(n&&(i=n.type.prop(un.closedBy))){let r=e.lastChild,s=r&&i.indexOf(r.name)>-1;return a=>ohe(a,!0,1,void 0,s&&!lit(a)?r.from:void 0)}return e.parent==null?uit:null}function uit(){return 0}class tQ extends Y2{constructor(t,n,i){super(t.state,t.options),this.base=t,this.pos=n,this.context=i}get node(){return this.context.node}static create(t,n,i){return new tQ(t,n,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let n=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(n.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(dit(i,t))break;n=this.state.doc.lineAt(i.from)}return this.lineIndent(n.from)}continue(){return ahe(this.context.next,this.base,this.pos)}}function dit(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function fit(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),a=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let o=n.to;;){let c=t.childAfter(o);if(!c||c==i)return null;if(!c.type.isSkipped){if(c.from>=a)return null;let u=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+u}}o=c.to}}function $0({closing:e,align:t=!0,units:n=1}){return i=>ohe(i,t,n,e)}function ohe(e,t,n,i,r){let s=e.textAfter,a=s.match(/^\s*/)[0].length,o=i&&s.slice(a,a+i.length)==i||r==e.pos+a,c=t?fit(e):null;return c?o?e.column(c.from):e.column(c.to):e.baseIndent+(o?0:e.unit*n)}const hit=e=>e.baseIndent;function Q0({except:e,units:t=1}={}){return n=>{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const pit=200;function mit(){return qn.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,r=n.lineAt(i);if(i>r.from+pit)return e;let s=n.sliceString(r.from,i);if(!t.some(u=>u.test(s)))return e;let{state:a}=e,o=-1,c=[];for(let{head:u}of a.selection.ranges){let d=a.doc.lineAt(u);if(d.from==o)continue;o=d.from;let f=eQ(a,d.from);if(f==null)continue;let h=/^\s*/.exec(d.text)[0],p=Y1(a,f);h!=p&&c.push({from:d.from,to:d.from+h.length,insert:p})}return c.length?[e,{changes:c,sequential:!0}]:e})}const lhe=St.define(),sf=new un;function aw(e){let t=e.firstChild,n=e.lastChild;return t&&t.ton)continue;if(s&&o.from=t&&u.to>n&&(s=u)}}return s}function bit(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function v_(e,t,n){for(let i of e.facet(lhe)){let r=i(e,t,n);if(r)return r}return git(e,t,n)}function che(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const W2=fn.define({map:che}),ow=fn.define({map:che});function uhe(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(i=>i.from<=n&&i.to>=n)||t.push(e.lineBlockAt(n));return t}const Tm=ca.define({create(){return Ht.none},update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((i,r)=>e=PX(e,i,r)),e=e.map(t.changes);let n=[];for(let i of t.effects)i.is(W2)&&!Oit(e,i.value.from,i.value.to)?n.push(i.value):i.is(ow)&&(e=e.update({filter:(r,s)=>i.value.from!=r||i.value.to!=s,filterFrom:i.value.from,filterTo:i.value.to}));if(n.length){let{preparePlaceholder:i}=t.state.facet(hhe),r=n.map(s=>(i?Ht.replace({widget:new kit(i(t.state,s))}):MX).range(s.from,s.to));e=e.update({add:r})}return t.selection&&(e=PX(e,t.selection.main.head)),e},provide:e=>ht.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(i,r)=>{n.push(i,r)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{rt&&(i=!0)}),i?e.update({filterFrom:t,filterTo:n,filter:(r,s)=>r>=n||s<=t}):e}function w_(e,t,n){var i;let r=null;return(i=e.field(Tm,!1))===null||i===void 0||i.between(t,n,(s,a)=>{(!r||r.from>s)&&(r={from:s,to:a})}),r}function Oit(e,t,n){let i=!1;return e.between(t,t,(r,s)=>{r==t&&s==n&&(i=!0)}),i}function dhe(e,t){return e.field(Tm,!1)?t:t.concat(fn.appendConfig.of(phe()))}const yit=e=>{for(let t of uhe(e)){let n=v_(e.state,t.from,t.to);if(n)return e.dispatch({effects:dhe(e.state,[W2.of(n),fhe(e,n)])}),!0}return!1},xit=e=>{if(!e.state.field(Tm,!1))return!1;let t=[];for(let n of uhe(e)){let i=w_(e.state,n.from,n.to);i&&t.push(ow.of(i),fhe(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0};function fhe(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return ht.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${r}.`)}const vit=e=>{let{state:t}=e,n=[];for(let i=0;i{let t=e.state.field(Tm,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(i,r)=>{n.push(ow.of({from:i,to:r}))}),e.dispatch({effects:n}),!0},Sit=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:yit},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:xit},{key:"Ctrl-Alt-[",run:vit},{key:"Ctrl-Alt-]",run:wit}],Eit={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},hhe=St.define({combine(e){return Mu(e,Eit)}});function phe(e){return[Tm,Ait]}function mhe(e,t){let{state:n}=e,i=n.facet(hhe),r=a=>{let o=e.lineBlockAt(e.posAtDOM(a.target)),c=w_(e.state,o.from,o.to);c&&e.dispatch({effects:ow.of(c)}),a.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,r,t);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}const MX=Ht.replace({widget:new class extends Dc{toDOM(e){return mhe(e,null)}}});class kit extends Dc{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return mhe(t,this.value)}}const Tit={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class RR extends zd{constructor(t,n){super(),this.config=t,this.open=n}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=t.state.phrase(this.open?"Fold line":"Unfold line"),n}}function _it(e={}){let t={...Tit,...e},n=new RR(t,!0),i=new RR(t,!1),r=Vr.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(Dh)!=a.state.facet(Dh)||a.startState.field(Tm,!1)!=a.state.field(Tm,!1)||Fi(a.startState)!=Fi(a.state)||t.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new Fd;for(let c of a.viewportLineBlocks){let u=w_(a.state,c.from,c.to)?i:v_(a.state,c.from,c.to)?n:null;u&&o.add(c.from,c.from,u)}return o.finish()}}),{domEventHandlers:s}=t;return[r,Qnt({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(r))===null||o===void 0?void 0:o.markers)||Qn.empty},initialSpacer(){return new RR(t,!1)},domEventHandlers:{...s,click:(a,o,c)=>{if(s.click&&s.click(a,o,c))return!0;let u=w_(a.state,o.from,o.to);if(u)return a.dispatch({effects:ow.of(u)}),!0;let d=v_(a.state,o.from,o.to);return d?(a.dispatch({effects:W2.of(d)}),!0):!1}}}),phe()]}const Ait=ht.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class lw{constructor(t,n){this.specs=t;let i;function r(o){let c=jh.newName();return(i||(i=Object.create(null)))["."+c]=o,c}const s=typeof n.all=="string"?n.all:n.all?r(n.all):void 0,a=n.scope;this.scope=a instanceof Yo?o=>o.prop(Zf)==a.data:a?o=>o==a:void 0,this.style=rhe(t.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:s}).style,this.module=i?new jh(i):null,this.themeType=n.themeType}static define(t,n){return new lw(t,n||{})}}const PL=St.define(),ghe=St.define({combine(e){return e.length?[e[0]]:null}});function IR(e){let t=e.facet(PL);return t.length?t:e.facet(ghe)}function bhe(e,t){let n=[Nit],i;return e instanceof lw&&(e.module&&n.push(ht.styleModule.of(e.module)),i=e.themeType),t!=null&&t.fallback?n.push(ghe.of(e)):i?n.push(PL.computeN([ht.darkTheme],r=>r.facet(ht.darkTheme)==(i=="dark")?[e]:[])):n.push(PL.of(e)),n}class Cit{constructor(t){this.markCache=Object.create(null),this.tree=Fi(t.state),this.decorations=this.buildDeco(t,IR(t.state)),this.decoratedTo=t.viewport.to}update(t){let n=Fi(t.state),i=IR(t.state),r=i!=IR(t.startState),{viewport:s}=t.view,a=t.changes.mapPos(this.decoratedTo,1);n.length=s.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=a):(n!=this.tree||t.viewportChanged||r)&&(this.tree=n,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=s.to)}buildDeco(t,n){if(!n||!this.tree.length)return Ht.none;let i=new Fd;for(let{from:r,to:s}of t.visibleRanges)tit(this.tree,n,(a,o,c)=>{i.add(a,o,this.markCache[c]||(this.markCache[c]=Ht.mark({class:c})))},r,s);return i.finish()}}const Nit=tf.high(Vr.fromClass(Cit,{decorations:e=>e.decorations})),jit=lw.define([{tag:W.meta,color:"#404740"},{tag:W.link,textDecoration:"underline"},{tag:W.heading,textDecoration:"underline",fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strong,fontWeight:"bold"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.keyword,color:"#708"},{tag:[W.atom,W.bool,W.url,W.contentSeparator,W.labelName],color:"#219"},{tag:[W.literal,W.inserted],color:"#164"},{tag:[W.string,W.deleted],color:"#a11"},{tag:[W.regexp,W.escape,W.special(W.string)],color:"#e40"},{tag:W.definition(W.variableName),color:"#00f"},{tag:W.local(W.variableName),color:"#30a"},{tag:[W.typeName,W.namespace],color:"#085"},{tag:W.className,color:"#167"},{tag:[W.special(W.variableName),W.macroName],color:"#256"},{tag:W.definition(W.propertyName),color:"#00c"},{tag:W.comment,color:"#940"},{tag:W.invalid,color:"#f00"}]),Rit=ht.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Ohe=1e4,yhe="()[]{}",xhe=St.define({combine(e){return Mu(e,{afterCursor:!0,brackets:yhe,maxScanDistance:Ohe,renderMatch:Pit})}}),Iit=Ht.mark({class:"cm-matchingBracket"}),Dit=Ht.mark({class:"cm-nonmatchingBracket"});function Pit(e){let t=[],n=e.matched?Iit:Dit;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}function LX(e){let t=[],n=e.facet(xhe);for(let i of e.selection.ranges){if(!i.empty)continue;let r=hu(e,i.head,-1,n)||i.head>0&&hu(e,i.head-1,1,n)||n.afterCursor&&(hu(e,i.head,1,n)||i.heade.decorations}),Lit=[Mit,Rit];function $it(e={}){return[xhe.of(e),Lit]}const vhe=new un;function ML(e,t,n){let i=e.prop(t<0?un.openedBy:un.closedBy);if(i)return i;if(e.name.length==1){let r=n.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function LL(e){let t=e.type.prop(vhe);return t?t(e.node):e}function hu(e,t,n,i={}){let r=i.maxScanDistance||Ohe,s=i.brackets||yhe,a=Fi(e),o=a.resolveInner(t,n);for(let c=o;c;c=c.parent){let u=ML(c.type,n,s);if(u&&c.from0?t>=d.from&&td.from&&t<=d.to))return Qit(e,t,n,c,d,u,s)}}return Bit(e,t,n,a,o.type,r,s)}function Qit(e,t,n,i,r,s,a){let o=i.parent,c={from:r.from,to:r.to},u=0,d=o==null?void 0:o.cursor();if(d&&(n<0?d.childBefore(i.from):d.childAfter(i.to)))do if(n<0?d.to<=i.from:d.from>=i.to){if(u==0&&s.indexOf(d.type.name)>-1&&d.from0)return null;let u={from:n<0?t-1:t,to:n>0?t+1:t},d=e.doc.iterRange(t,n>0?e.doc.length:0),f=0;for(let h=0;!d.next().done&&h<=s;){let p=d.value;n<0&&(h+=p.length);let b=t+h*n;for(let g=n>0?0:p.length-1,O=n>0?p.length:-1;g!=O;g+=n){let y=a.indexOf(p[g]);if(!(y<0||i.resolveInner(b+g,1).type!=r))if(y%2==0==n>0)f++;else{if(f==1)return{start:u,end:{from:b+g,to:b+g+1},matched:y>>1==c>>1};f--}}n>0&&(h+=p.length)}return d.done?{start:u,matched:!1}:null}function $X(e,t,n,i=0,r=0){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));let s=r;for(let a=i;a=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.posn}eatSpace(){let t=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t}skipToEnd(){this.pos=this.string.length}skipTo(t){let n=this.string.indexOf(t,this.pos);if(n>-1)return this.pos=n,!0}backUp(t){this.pos-=t}column(){return this.lastColumnPosi?a.toLowerCase():a,s=this.string.substr(this.pos,t.length);return r(s)==r(t)?(n!==!1&&(this.pos+=t.length),!0):null}else{let r=this.string.slice(this.pos).match(t);return r&&r.index>0?null:(r&&n!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}}function Fit(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||Uit,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||rQ,mergeTokens:e.mergeTokens!==!1}}function Uit(e){if(typeof e!="object")return e;let t={};for(let n in e){let i=e[n];t[n]=i instanceof Array?i.slice():i}return t}const QX=new WeakMap;class nQ extends Yo{constructor(t){let n=G2(t.languageData),i=Fit(t),r,s=new class extends B2{createParse(a,o,c){return new Vit(r,a,o,c)}};super(n,s,[],t.name),this.topNode=Hit(n,this),r=this,this.streamParser=i,this.stateAfter=new un({perNode:!0}),this.tokenTable=t.tokenTable?new The(i.tokenTable):Xit}static define(t){return new nQ(t)}getIndent(t){let n,{overrideIndentation:i}=t.options;i&&(n=QX.get(t.state),n!=null&&n1e4)return null;for(;s=i&&n+t.length<=r&&t.prop(e.stateAfter);if(s)return{state:e.streamParser.copyState(s),pos:n+t.length};for(let a=t.children.length-1;a>=0;a--){let o=t.children[a],c=n+t.positions[a],u=o instanceof Dn&&c=t.length)return t;!r&&n==0&&t.type==e.topNode&&(r=!0);for(let s=t.children.length-1;s>=0;s--){let a=t.positions[s],o=t.children[s],c;if(an&&iQ(e,s.tree,0-s.offset,n,o),u;if(c&&c.pos<=i&&(u=She(e,s.tree,n+s.offset,c.pos+s.offset,!1)))return{state:c.state,tree:u}}return{state:e.streamParser.startState(r?km(r):4),tree:Dn.empty}}let Vit=class{constructor(t,n,i,r){this.lang=t,this.input=n,this.fragments=i,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let s=Em.get(),a=r[0].from,{state:o,tree:c}=zit(t,i,a,this.to,s==null?void 0:s.state);this.state=o,this.parsedPos=this.chunkStart=a+c.length;for(let u=0;uu.from<=s.viewport.from&&u.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(km(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let t=Em.get(),n=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(n,this.chunkStart+512);for(t&&(i=Math.min(i,t.viewport.to));this.parsedPos=n?this.finish():t&&this.parsedPos>=t.viewport.to?(t.skipUntilInView(this.parsedPos,n),this.finish()):null}stopAt(t){this.stoppedAt=t}lineAfter(t){let n=this.input.chunk(t);if(this.input.lineChunks)n==` `&&(n="");else{let i=n.indexOf(` -`);i>-1&&(n=n.slice(0,i))}return t+n.length<=this.to?n:n.slice(0,this.to-t)}nextLine(){let t=this.parsedPos,n=this.lineAfter(t),i=t+n.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=i||(n=n.slice(0,s-(i-n.length)),r++,r==this.ranges.length))break;let a=this.ranges[r].from,o=this.lineAfter(a);n+=o,i=a+o.length}return{line:n,end:i}}skipGapsTo(t,n,i){for(;;){let r=this.ranges[this.rangeIndex].to,s=t+n;if(i>0?r>s:r>=s)break;let a=this.ranges[++this.rangeIndex].from;n+=a-r}return n}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(n,r,1),n+=r;let o=this.chunk.length;r=this.skipGapsTo(i,r,-1),i+=r,s+=this.chunk.length-o}let a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&a>=0&&this.chunk[a]==t&&this.chunk[a+2]==n?this.chunk[a+2]=i:this.chunk.push(t,n,i,s),r}parseLine(t){let{line:n,end:i}=this.nextLine(),r=0,{streamParser:s}=this.lang,a=new rhe(n,t?t.state.tabSize:4,t?gm(t.state):2);if(a.eol())s.blankLine(this.state,a.indentUnit);else for(;!a.eol();){let o=ahe(s.token,a,this.state);if(o&&(r=this.emitToken(this.lang.tokenTable.resolve(o),this.parsedPos+a.start,this.parsedPos+a.pos,r)),a.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPost.start)return r}throw new Error("Stream parser failed to advance stream.")}const Y6=Object.create(null),U1=[ls.none],Ait=new cO(U1),jX=[],RX=Object.create(null),ohe=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])ohe[e]=che(Y6,t);class lhe{constructor(t){this.extra=t,this.table=Object.assign(Object.create(null),ohe)}resolve(t){return t?this.table[t]||(this.table[t]=che(this.extra,t)):0}}const Cit=new lhe(Y6);function kR(e,t){jX.indexOf(e)>-1||(jX.push(e),console.warn(t))}function che(e,t){let n=[];for(let o of t.split(" ")){let c=[];for(let u of o.split(".")){let d=e[u]||W[u];d?typeof d=="function"?c.length?c=c.map(d):kR(u,`Modifier ${u} used at start of tag`):c.length?kR(u,`Tag ${u} used as modifier`):c=Array.isArray(d)?d:[d]:kR(u,`Unknown highlighting tag ${u}`)}for(let u of c)n.push(u)}if(!n.length)return 0;let i=t.replace(/ /g,"_"),r=i+" "+n.map(o=>o.id),s=RX[r];if(s)return s.id;let a=RX[r]=ls.define({id:U1.length,name:i,props:[Gd({[i]:n})]});return U1.push(a),a.id}function Nit(e,t){let n=ls.define({id:U1.length,name:"Document",props:[Xf.add(()=>e),Wd.add(()=>i=>t.getIndent(i))],top:!0});return U1.push(n),n}Bi.RTL,Bi.LTR;var DX={};class b_{constructor(t,n,i,r,s,a,o,c,u,d=0,f){this.p=t,this.stack=n,this.state=i,this.reducePos=r,this.pos=s,this.score=a,this.buffer=o,this.bufferBase=c,this.curContext=u,this.lookAhead=d,this.parent=f}toString(){return`[${this.stack.filter((t,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,n,i=0){let r=t.parser.context;return new b_(t,[],n,i,i,0,[],0,r?new IX(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var n;let i=t>>19,r=t&65535,{parser:s}=this.p,a=this.reducePos=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSizec;)this.stack.pop();this.reduceContext(r,u)}storeNode(t,n,i,r=4,s=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(n==i)return;if(this.buffer[a-2]>=n){this.buffer[a-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(t,n,i,r);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let c=a;c>0&&this.buffer[c-2]>i;c-=4)if(this.buffer[c-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>i;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,r>4&&(r-=4)}this.buffer[a]=t,this.buffer[a+1]=n,this.buffer[a+2]=i,this.buffer[a+3]=r}}shift(t,n,i,r){if(t&131072)this.pushState(t&65535,this.pos);else if(t&262144)this.pos=r,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,r,4);else{let s=t,{parser:a}=this.p;this.pos=r;let o=a.stateFlag(s,1);!o&&(r>i||n<=a.maxNode)&&(this.reducePos=r),this.pushState(s,o?i:Math.min(i,this.reducePos)),this.shiftContext(n,i),n<=a.maxNode&&this.buffer.push(n,i,r,4)}}apply(t,n,i,r){t&65536?this.reduce(t):this.shift(t,n,i,r)}useNode(t,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let r=this.pos;this.reducePos=this.pos=r+t.length,this.pushState(n,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let i=t.buffer.slice(n),r=t.bufferBase+n;for(;t&&r==t.bufferBase;)t=t.parent;return new b_(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,t)}recoverByDelete(t,n){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(t){for(let n=new jit(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,t);if(i==0)return!1;if(!(i&65536))return!0;n.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let r=[];for(let s=0,a;sc&1&&o==a)||r.push(n[s],a)}n=r}let i=[];for(let r=0;r>19,r=n&65535,s=this.stack.length-i*3;if(s<0||t.getGoto(this.stack[s],r,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;n=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:t}=this.p,n=[],i=(r,s)=>{if(!n.includes(r))return n.push(r),t.allActions(r,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-s;if(o>1){let c=a&65535,u=this.stack.length-o*3;if(u>=0&&t.getGoto(this.stack[u],c,!1)>=0)return o<<19|65536|c}}else{let o=i(a,s+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let n=0;n0&&this.emitLookAhead()}}class IX{constructor(t,n){this.tracker=t,this.context=n,this.hash=t.strict?t.hash(n):0}}class jit{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let n=t&65535,i=t>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}}class O_{constructor(t,n,i){this.stack=t,this.pos=n,this.index=i,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new O_(t,n,n-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new O_(this.stack,this.pos,this.index)}}function $y(e,t=Uint16Array){if(typeof e!="string")return e;let n=null;for(let i=0,r=0;i=92&&a--,a>=34&&a--;let c=a-32;if(c>=46&&(c-=46,o=!0),s+=c,o)break;s*=46}n?n[r++]=s:n=new t(s)}return n}class yk{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const PX=new yk;class Rit{constructor(t,n){this.input=t,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=PX,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(t,n){let i=this.range,r=this.rangeIndex,s=this.pos+t;for(;si.to:s>=i.to;){if(r==this.ranges.length-1)return null;let a=this.ranges[++r];s+=a.from-i.to,i=a}return s}clipPos(t){if(t>=this.range.from&&tt)return Math.max(t,n.from);return this.end}peek(t){let n=this.chunkOff+t,i,r;if(n>=0&&n=this.chunk2Pos&&io.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(t,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,n){if(n?(this.token=n,n.start=t,n.lookAhead=t+1,n.value=n.extended=-1):this.token=PX,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,n-this.chunkPos);if(t>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,n-this.chunk2Pos);if(t>=this.range.from&&n<=this.range.to)return this.input.read(t,n);let i="";for(let r of this.ranges){if(r.from>=n)break;r.to>t&&(i+=this.input.read(Math.max(r.from,t),Math.min(r.to,n)))}return i}}class R0{constructor(t,n){this.data=t,this.id=n}token(t,n){let{parser:i}=n.p;uhe(this.data,t,n,this.id,i.data,i.tokenPrecTable)}}R0.prototype.contextual=R0.prototype.fallback=R0.prototype.extend=!1;class y_{constructor(t,n,i){this.precTable=n,this.elseToken=i,this.data=typeof t=="string"?$y(t):t}token(t,n){let i=t.pos,r=0;for(;;){let s=t.next<0,a=t.resolveOffset(1,1);if(uhe(this.data,t,n,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,a==null)break;t.reset(a,t.token)}r&&(t.reset(i,t.token),t.acceptToken(this.elseToken,r))}}y_.prototype.contextual=R0.prototype.fallback=R0.prototype.extend=!1;class Zr{constructor(t,n={}){this.token=t,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function uhe(e,t,n,i,r,s){let a=0,o=1<0){let b=e[p];if(c.allows(b)&&(t.token.value==-1||t.token.value==b||Dit(b,t.token.value,r,s))){t.acceptToken(b);break}}let d=t.next,f=0,h=e[a+2];if(t.next<0&&h>f&&e[u+h*3-3]==65535){a=e[u+h*3-1];continue e}for(;f>1,b=u+p+(p<<1),g=e[b],O=e[b+1]||65536;if(d=O)f=p+1;else{a=e[b+2],t.advance();continue e}}break}}function MX(e,t,n){for(let i=t,r;(r=e[i])!=65535;i++)if(r==n)return i-t;return-1}function Dit(e,t,n,i){let r=MX(n,i,t);return r<0||MX(n,i,e)t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}let Iit=class{constructor(t,n){this.fragments=t,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?LX(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?LX(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(tt)return this.nextStart=a,null;if(s instanceof An){if(a==t){if(a=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(a),this.index.push(0))}else this.index[n]++,this.nextStart=a+s.length}}};class Pit{constructor(t,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(i=>new yk)}getActions(t){let n=0,i=null,{parser:r}=t.p,{tokenizers:s}=r,a=r.stateSlot(t.state,3),o=t.curContext?t.curContext.hash:0,c=0;for(let u=0;uf.end+25&&(c=Math.max(f.lookAhead,c)),f.value!=0)){let h=n;if(f.extended>-1&&(n=this.addActions(t,f.extended,f.end,n)),n=this.addActions(t,f.value,f.end,n),!d.extend&&(i=f,n>h))break}}for(;this.actions.length>n;)this.actions.pop();return c&&t.setLookAhead(c),!i&&t.pos==this.stream.end&&(i=new yk,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,n=this.addActions(t,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let n=new yk,{pos:i,p:r}=t;return n.start=i,n.end=Math.min(i+1,r.stream.end),n.value=i==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(t,n,i){let r=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(r,t),i),t.value>-1){let{parser:s}=i.p;for(let a=0;a=0&&i.p.parser.dialect.allows(o>>1)){o&1?t.extended=o>>1:t.value=o>>1;break}}}else t.value=0,t.end=this.stream.clipPos(r+1)}putAction(t,n,i,r){for(let s=0;st.bufferLength*4?new Iit(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,n=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&t.length==1){let[a]=t;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;an)i.push(o);else{if(this.advanceStack(o,i,t))continue;{r||(r=[],s=[]),r.push(o);let c=this.tokens.getMainToken(o);s.push(c.value,c.end)}}break}}if(!i.length){let a=r&&$it(r);if(a)return Eo&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Eo&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let a=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(a)return Eo&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(i.length>a)for(i.sort((o,c)=>c.score-o.score);i.length>a;)i.pop();i.some(o=>o.reducePos>n)&&this.recovering--}else if(i.length>1){e:for(let a=0;a500&&u.buffer.length>500)if((o.score-u.score||o.buffer.length-u.buffer.length)>0)i.splice(c--,1);else{i.splice(a--,1);continue e}}}i.length>12&&(i.sort((a,o)=>o.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let u=t.curContext&&t.curContext.tracker.strict,d=u?t.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let h=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(t.state,f.type.id):-1;if(h>-1&&f.length&&(!u||(f.prop(rn.contextHash)||0)==d))return t.useNode(f,h),Eo&&console.log(a+this.stackID(t)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof An)||f.children.length==0||f.positions[0]>0)break;let p=f.children[0];if(p instanceof An&&f.positions[0]==0)f=p;else break}}let o=s.stateSlot(t.state,4);if(o>0)return t.reduce(o),Eo&&console.log(a+this.stackID(t)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let c=this.tokens.getActions(t);for(let u=0;ur?n.push(b):i.push(b)}return!1}advanceFully(t,n){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return $X(t,n),!0}}runRecovery(t,n,i){let r=null,s=!1;for(let a=0;a ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),Eo&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let f=o.split(),h=d;for(let p=0;p<10&&f.forceReduce()&&(Eo&&console.log(h+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,i));p++)Eo&&(h=this.stackID(f)+" -> ");for(let p of o.recoverByInsert(c))Eo&&console.log(d+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,i);this.stream.end>o.pos?(u==o.pos&&(u++,c=0),o.recoverByDelete(c,u),Eo&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(c)})`),$X(o,i)):(!r||r.scoree;class q2{constructor(t){this.start=t.start,this.shift=t.shift||_R,this.reduce=t.reduce||_R,this.reuse=t.reuse||_R,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class Qd extends I2{constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let n=t.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let o=0;ot.topRules[o][1]),r=[];for(let o=0;o=0)s(d,c,o[u++]);else{let f=o[u+-d];for(let h=-d;h>0;h--)s(o[u++],c,f);u++}}}this.nodeSet=new cO(n.map((o,c)=>ls.define({name:c>=this.minRepeatTerm?void 0:o,id:c,props:r[c],top:i.indexOf(c)>-1,error:c==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(c)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=cde;let a=$y(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new R0(a,o):o),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,n,i){let r=new Mit(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}getGoto(t,n,i=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let a=r[s++],o=a&1,c=r[s++];if(o&&i)return c;for(let u=s+(a>>1);s0}validAction(t,n){return!!this.allActions(t,i=>i==n?!0:null)}allActions(t,n){let i=this.stateSlot(t,4),r=i?n(i):void 0;for(let s=this.stateSlot(t,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=td(this.data,s+2);else break;r=n(td(this.data,s+1))}return r}nextStates(t){let n=[];for(let i=this.stateSlot(t,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=td(this.data,i+2);else break;if(!(this.data[i+2]&1)){let r=this.data[i+1];n.some((s,a)=>a&1&&s==r)||n.push(this.data[i],r)}}return n}configure(t){let n=Object.assign(Object.create(Qd.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);n.top=i}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let r=t.tokenizers.find(s=>s.from==i);return r?r.to:i})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=t.specializers.find(o=>o.from==i.external);if(!s)return i;let a=Object.assign(Object.assign({},i),{external:s.to});return n.specializers[r]=QX(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let n=this.dynamicPrecedences;return n==null?0:n[t]||0}parseDialect(t){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(t)for(let s of t.split(" ")){let a=n.indexOf(s);a>=0&&(i[a]=!0)}let r=null;for(let s=0;si)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scoree.external(n,i)<<1|t}return e.get}const Qit=316,Bit=317,BX=1,Fit=2,Uit=3,zit=4,Vit=318,qit=320,Xit=321,Hit=5,Yit=6,Git=0,C5=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],dhe=125,Wit=59,N5=47,Zit=42,Kit=43,Jit=45,ert=60,trt=44,nrt=63,irt=46,rrt=91,srt=new q2({start:!1,shift(e,t){return t==Hit||t==Yit||t==qit?e:t==Xit},strict:!1}),art=new Zr((e,t)=>{let{next:n}=e;(n==dhe||n==-1||t.context)&&e.acceptToken(Vit)},{contextual:!0,fallback:!0}),ort=new Zr((e,t)=>{let{next:n}=e,i;C5.indexOf(n)>-1||n==N5&&((i=e.peek(1))==N5||i==Zit)||n!=dhe&&n!=Wit&&n!=-1&&!t.context&&e.acceptToken(Qit)},{contextual:!0}),lrt=new Zr((e,t)=>{e.next==rrt&&!t.context&&e.acceptToken(Bit)},{contextual:!0}),crt=new Zr((e,t)=>{let{next:n}=e;if(n==Kit||n==Jit){if(e.advance(),n==e.next){e.advance();let i=!t.context&&t.canShift(BX);e.acceptToken(i?BX:Fit)}}else n==nrt&&e.peek(1)==irt&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(Uit))},{contextual:!0});function AR(e,t){return e>=65&&e<=90||e>=97&&e<=122||e==95||e>=192||!t&&e>=48&&e<=57}const urt=new Zr((e,t)=>{if(e.next!=ert||!t.dialectEnabled(Git)||(e.advance(),e.next==N5))return;let n=0;for(;C5.indexOf(e.next)>-1;)e.advance(),n++;if(AR(e.next,!0)){for(e.advance(),n++;AR(e.next,!1);)e.advance(),n++;for(;C5.indexOf(e.next)>-1;)e.advance(),n++;if(e.next==trt)return;for(let i=0;;i++){if(i==7){if(!AR(e.next,!0))return;break}if(e.next!="extends".charCodeAt(i))break;e.advance(),n++}}e.acceptToken(zit,-n)}),drt=Gd({"get set async static":W.modifier,"for while do if else switch try catch finally return throw break continue default case defer":W.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":W.operatorKeyword,"let var const using function class extends":W.definitionKeyword,"import export from":W.moduleKeyword,"with debugger new":W.keyword,TemplateString:W.special(W.string),super:W.atom,BooleanLiteral:W.bool,this:W.self,null:W.null,Star:W.modifier,VariableName:W.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":W.function(W.variableName),VariableDefinition:W.definition(W.variableName),Label:W.labelName,PropertyName:W.propertyName,PrivatePropertyName:W.special(W.propertyName),"CallExpression/MemberExpression/PropertyName":W.function(W.propertyName),"FunctionDeclaration/VariableDefinition":W.function(W.definition(W.variableName)),"ClassDeclaration/VariableDefinition":W.definition(W.className),"NewExpression/VariableName":W.className,PropertyDefinition:W.definition(W.propertyName),PrivatePropertyDefinition:W.definition(W.special(W.propertyName)),UpdateOp:W.updateOperator,"LineComment Hashbang":W.lineComment,BlockComment:W.blockComment,Number:W.number,String:W.string,Escape:W.escape,ArithOp:W.arithmeticOperator,LogicOp:W.logicOperator,BitOp:W.bitwiseOperator,CompareOp:W.compareOperator,RegExp:W.regexp,Equals:W.definitionOperator,Arrow:W.function(W.punctuation),": Spread":W.punctuation,"( )":W.paren,"[ ]":W.squareBracket,"{ }":W.brace,"InterpolationStart InterpolationEnd":W.special(W.brace),".":W.derefOperator,", ;":W.separator,"@":W.meta,TypeName:W.typeName,TypeDefinition:W.definition(W.typeName),"type enum interface implements namespace module declare":W.definitionKeyword,"abstract global Privacy readonly override":W.modifier,"is keyof unique infer asserts":W.operatorKeyword,JSXAttributeValue:W.attributeValue,JSXText:W.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":W.angleBracket,"JSXIdentifier JSXNameSpacedName":W.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":W.attributeName,"JSXBuiltin/JSXIdentifier":W.standard(W.tagName)}),frt={__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},hrt={__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},prt={__proto__:null,"<":193},mrt=Qd.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:srt,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:[drt],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:[ort,lrt,crt,urt,2,3,4,5,6,7,8,9,10,11,12,13,14,art,new y_("$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 y_("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:e=>frt[e]||-1},{term:343,get:e=>hrt[e]||-1},{term:95,get:e=>prt[e]||-1}],tokenPrec:15201});class G6{constructor(t,n,i,r){this.state=t,this.pos=n,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let n=Mi(this.state).resolveInner(this.pos,-1);for(;n&&t.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(t){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),r=n.text.slice(i-n.from,this.pos-n.from),s=r.search(hhe(t,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(t,n,i){t=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function FX(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function grt(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[n,i]=t.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:grt(t);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:t,validFor:n}:null}}function fhe(e,t){return n=>{for(let i=Mi(n.state).resolveInner(n.pos,-1);i;i=i.parent){if(e.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return t(n)}}class UX{constructor(t,n,i,r){this.completion=t,this.source=n,this.match=i,this.score=r}}function Gp(e){return e.selection.main.from}function hhe(e,t){var n;let{source:i}=e,r=t&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?e:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(n=e.flags)!==null&&n!==void 0?n:e.ignoreCase?"i":"")}const Z6=Eu.define();function brt(e,t,n,i){let{main:r}=e.selection,s=n-r.from,a=i-r.from;return{...e.changeByRange(o=>{if(o!=r&&n!=i&&e.sliceDoc(o.from+s,o.from+a)!=e.sliceDoc(n,i))return{range:o};let c=e.toText(t);return{changes:{from:o.from+s,to:i==r.from?o.to:o.from+a,insert:c},range:$e.cursor(o.from+s+c.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const zX=new WeakMap;function Ort(e){if(!Array.isArray(e))return e;let t=zX.get(e);return t||zX.set(e,t=W6(e)),t}const x_=an.define(),z1=an.define();class yrt{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(S=E6(E))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!v||k==1&&O||w==0&&k!=0)&&(n[f]==E||i[f]==E&&(h=!0)?a[f++]=v:a.length&&(y=!1)),w=k,v+=Hc(E)}return f==c&&a[0]==0&&y?this.result(-100+(h?-200:0),a,t):p==c&&b==0?this.ret(-200-t.length+(g==t.length?0:-100),[0,g]):o>-1?this.ret(-700-t.length,[o,o+this.pattern.length]):p==c?this.ret(-900-t.length,[b,g]):f==c?this.result(-100+(h?-200:0)+-700+(y?0:-1100),a,t):n.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,t)}result(t,n,i){let r=[],s=0;for(let a of n){let o=a+(this.astral?Hc(eo(i,a)):1);s&&r[s-1]==a?r[s-1]=o:(r[s++]=a,r[s++]=o)}return this.ret(t-i.length,r)}}class xrt{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:vrt,filterStrict:!1,compareCompletions:(t,n)=>(t.sortText||t.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,n)=>t&&n,closeOnBlur:(t,n)=>t&&n,icons:(t,n)=>t&&n,tooltipClass:(t,n)=>i=>VX(t(i),n(i)),optionClass:(t,n)=>i=>VX(t(i),n(i)),addToOptions:(t,n)=>t.concat(n),filterStrict:(t,n)=>t||n})}});function VX(e,t){return e?t?e+" "+t:e:t}function vrt(e,t,n,i,r,s){let a=e.textDirection==Bi.RTL,o=a,c=!1,u="top",d,f,h=t.left-r.left,p=r.right-t.right,b=i.right-i.left,g=i.bottom-i.top;if(o&&h=g||v>t.top?d=n.bottom-t.top:(u="bottom",d=t.bottom-n.top)}let O=(t.bottom-t.top)/s.offsetHeight,y=(t.right-t.left)/s.offsetWidth;return{style:`${u}: ${d/O}px; max-width: ${f/y}px`,class:"cm-completionInfo-"+(c?a?"left-narrow":"right-narrow":o?"left":"right")}}const K6=an.define();function wrt(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),t.push({render(n,i,r,s){let a=document.createElement("span");a.className="cm-completionLabel";let o=n.displayLabel||n.label,c=0;for(let u=0;uc&&a.appendChild(document.createTextNode(o.slice(c,d)));let h=a.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(o.slice(d,f))),h.className="cm-completionMatchedText",c=f}return cn.position-i.position).map(n=>n.render)}function CR(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let r=Math.floor(t/n);return{from:r*n,to:(r+1)*n}}let i=Math.ceil((e-t)/n);return{from:e-i*n,to:e-(i-1)*n}}class Srt{constructor(t,n,i){this.view=t,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:c=>this.placeInfo(c),key:this},this.space=null,this.currentClass="";let r=t.state.field(n),{options:s,selected:a}=r.open,o=t.state.facet(Ms);this.optionContent=wrt(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=CR(s.length,a,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",c=>{let{options:u}=t.state.field(n).open;for(let d=c.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(t.dispatch({effects:K6.of(d)}),c.preventDefault())}}),this.dom.addEventListener("focusout",c=>{let u=t.state.field(this.stateField,!1);u&&u.tooltip&&t.state.facet(Ms).closeOnBlur&&c.relatedTarget!=t.contentDOM&&t.dispatch({effects:z1.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(t,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var n;let i=t.state.field(this.stateField),r=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),i!=r){let{options:s,selected:a,disabled:o}=i.open;(!r.open||r.open.options!=s)&&(this.range=CR(s.length,a,t.state.facet(Ms).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=((n=r.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(t){let n=this.tooltipClass(t);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),n=t.open;(n.selected>-1&&n.selected=this.range.to)&&(this.range=CR(n.options.length,n.selected,this.view.state.facet(Ms).maxRenderedOptions),this.showOptions(n.options,t.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:s}=r;if(!s)return;let a=typeof s=="string"?document.createTextNode(s):s(r);if(!a)return;"then"in a?a.then(o=>{o&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(o,r)}).catch(o=>so(this.view.state,o,"completion info")):(this.addInfoPane(a,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),t.nodeType!=null)i.appendChild(t),this.infoDestroy=null;else{let{dom:r,destroy:s}=t;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let n=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&krt(this.list,n),n}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=t.getBoundingClientRect(),s=this.space;if(!s){let a=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return r.top>Math.min(s.bottom,n.bottom)-10||r.bottom{a.target==r&&a.preventDefault()});let s=null;for(let a=i.from;ai.from||i.from==0))if(s=h,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let p=r.appendChild(document.createElement("completion-section"));p.textContent=h}}const d=r.appendChild(document.createElement("li"));d.id=n+"-"+a,d.setAttribute("role","option");let f=this.optionClass(o);f&&(d.className=f);for(let h of this.optionContent){let p=h(o,this.view.state,this.view,c);p&&d.appendChild(p)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew Srt(n,e,t)}function krt(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=n.height/e.offsetHeight;i.topn.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/r)}function qX(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function Trt(e,t){let n=[],i=null,r=null,s=d=>{n.push(d);let{section:f}=d.completion;if(f){i||(i=[]);let h=typeof f=="string"?f:f.name;i.some(p=>p.name==h)||i.push(typeof f=="string"?{name:h}:f)}},a=t.facet(Ms);for(let d of e)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let h of d.result.options)s(new UX(h,d.source,f?f(h):[],1e9-n.length));else{let h=t.sliceDoc(d.from,d.to),p,b=a.filterStrict?new xrt(h):new yrt(h);for(let g of d.result.options)if(p=b.match(g.label)){let O=g.displayLabel?f?f(g,p.matched):[]:p.matched,y=p.score+(g.boost||0);if(s(new UX(g,d.source,O,y)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:v}=g.section;r||(r=Object.create(null)),r[v]=Math.max(y,r[v]||-1e9)}}}}if(i){let d=Object.create(null),f=0,h=(p,b)=>(p.rank==="dynamic"&&b.rank==="dynamic"?r[b.name]-r[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof b.rank=="number"?b.rank:1e9)||(p.nameh.score-f.score||u(f.completion,h.completion))){let f=d.completion;!c||c.label!=f.label||c.detail!=f.detail||c.type!=null&&f.type!=null&&c.type!=f.type||c.apply!=f.apply||c.boost!=f.boost?o.push(d):qX(d.completion)>qX(c)&&(o[o.length-1]=d),c=d.completion}return o}class s0{constructor(t,n,i,r,s,a){this.options=t,this.attrs=n,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=a}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new s0(this.options,XX(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,i,r,s,a){if(r&&!a&&t.some(u=>u.isPending))return r.setDisabled();let o=Trt(t,n);if(!o.length)return r&&t.some(u=>u.isPending)?r.setDisabled():null;let c=n.facet(Ms).selectOnOpen?0:-1;if(r&&r.selected!=c&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;dd.hasResult()?Math.min(u,d.from):u,1e8),create:Rrt,above:s.aboveCursor},r?r.timestamp:Date.now(),c,!1)}map(t){return new s0(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new s0(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class v_{constructor(t,n,i){this.active=t,this.id=n,this.open=i}static start(){return new v_(Nrt,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,i=n.facet(Ms),s=(i.override||n.languageDataAt("autocomplete",Gp(n)).map(Ort)).map(c=>(this.active.find(d=>d.source==c)||new vl(c,this.active.some(d=>d.state!=0)?1:0)).update(t,i));s.length==this.active.length&&s.every((c,u)=>c==this.active[u])&&(s=this.active);let a=this.open,o=t.effects.some(c=>c.is(J6));a&&t.docChanged&&(a=a.map(t.changes)),t.selection||s.some(c=>c.hasResult()&&t.changes.touchesRange(c.from,c.to))||!_rt(s,this.active)||o?a=s0.build(s,n,this.id,a,i,o):a&&a.disabled&&!s.some(c=>c.isPending)&&(a=null),!a&&s.every(c=>!c.isPending)&&s.some(c=>c.hasResult())&&(s=s.map(c=>c.hasResult()?new vl(c.source,0):c));for(let c of t.effects)c.is(K6)&&(a=a&&a.setSelected(c.value,this.id));return s==this.active&&a==this.open?this:new v_(s,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Art:Crt}}function _rt(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n-1&&(n["aria-activedescendant"]=e+"-"+t),n}const Nrt=[];function phe(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(Z6);if(i&&t.activateOnCompletion(i))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class vl{constructor(t,n,i=!1){this.source=t,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let i=phe(t,n),r=this;(i&8||i&16&&this.touches(t))&&(r=new vl(r.source,0)),i&4&&r.state==0&&(r=new vl(this.source,1)),r=r.updateFor(t,i);for(let s of t.effects)if(s.is(x_))r=new vl(r.source,1,s.value);else if(s.is(z1))r=new vl(r.source,0);else if(s.is(J6))for(let a of s.value)a.source==r.source&&(r=a);return r}updateFor(t,n){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange(Gp(t.state))}}class D0 extends vl{constructor(t,n,i,r,s,a){super(t,3,n),this.limit=i,this.result=r,this.from=s,this.to=a}hasResult(){return!0}updateFor(t,n){var i;if(!(n&3))return this.map(t.changes);let r=this.result;r.map&&!t.changes.empty&&(r=r.map(r,t.changes));let s=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),o=Gp(t.state);if(o>a||!r||n&2&&(Gp(t.startState)==this.from||on.map(t))}}),to=ra.define({create(){return v_.start()},update(e,t){return e.update(t)},provide:e=>[F6.from(e,t=>t.tooltip),ht.contentAttributes.from(e,t=>t.attrs)]});function eQ(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(to).active.find(r=>r.source==t.source);return i instanceof D0?(typeof n=="string"?e.dispatch({...brt(e.state,n,i.from,i.to),annotations:Z6.of(t.completion)}):n(e,t.completion,i.from,i.to),!0):!1}const Rrt=Ert(to,eQ);function aE(e,t="option"){return n=>{let i=n.state.field(to,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o=t=="page"?0:a-1:o>=a&&(o=t=="page"?a-1:0),n.dispatch({effects:K6.of(o)}),!0}}const Drt=e=>{let t=e.state.field(to,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.state.field(to,!1)?(e.dispatch({effects:x_.of(!0)}),!0):!1,Irt=e=>{let t=e.state.field(to,!1);return!t||!t.active.some(n=>n.state!=0)?!1:(e.dispatch({effects:z1.of(null)}),!0)};class Prt{constructor(t,n){this.active=t,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const Mrt=50,Lrt=1e3,$rt=Qr.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(to).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(to),n=e.state.facet(Ms);if(!e.selectionSet&&!e.docChanged&&e.startState.field(to)==t)return;let i=e.transactions.some(s=>{let a=phe(s,n);return a&8||(s.selection||s.docChanged)&&!(a&3)});for(let s=0;sMrt&&Date.now()-a.time>Lrt){for(let o of a.context.abortListeners)try{o()}catch(c){so(this.view.state,c)}a.context.abortListeners=null,this.running.splice(s--,1)}else a.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(s=>s.effects.some(a=>a.is(x_)))&&(this.pendingStart=!0);let r=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(s=>s.isPending&&!this.running.some(a=>a.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of e.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(to);for(let n of t.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ms).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=Gp(t),i=new G6(t,n,e.explicit,this.view),r=new Prt(e,i);this.running.push(r),Promise.resolve(e.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:z1.of(null)}),so(this.view.state,s)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ms).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(Ms),i=this.view.state.field(to);for(let r=0;ro.source==s.active.source);if(a&&a.isPending)if(s.done==null){let o=new vl(s.active.source,0);for(let c of s.updates)o=o.update(c,n);o.isPending||t.push(o)}else this.startQuery(a)}(t.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:J6.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(to,!1);if(t&&t.tooltip&&this.view.state.facet(Ms).closeOnBlur){let n=t.open&&Dfe(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:z1.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:x_.of(!1)}),20),this.composing=0}}}),Qrt=typeof navigator=="object"&&/Win/.test(navigator.platform),Brt=Yd.highest(ht.domEventHandlers({keydown(e,t){let n=t.state.field(to,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(Qrt&&e.altKey)||e.metaKey)return!1;let i=n.open.options[n.open.selected],r=n.active.find(a=>a.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(e.key)>-1&&eQ(t,i),!1}})),mhe=ht.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Frt{constructor(t,n,i,r){this.field=t,this.line=n,this.from=i,this.to=r}}class tQ{constructor(t,n,i){this.field=t,this.from=n,this.to=i}map(t){let n=t.mapPos(this.from,-1,Ks.TrackDel),i=t.mapPos(this.to,1,Ks.TrackDel);return n==null||i==null?null:new tQ(this.field,n,i)}}class nQ{constructor(t,n){this.lines=t,this.fieldPositions=n}instantiate(t,n){let i=[],r=[n],s=t.doc.lineAt(n),a=/^\s*/.exec(s.text)[0];for(let c of this.lines){if(i.length){let u=a,d=/^\t*/.exec(c)[0].length;for(let f=0;fnew tQ(c.field,r[c.line]+c.from,r[c.line]+c.to));return{text:i,ranges:o}}static parse(t){let n=[],i=[],r=[],s;for(let a of t.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=s[1]?+s[1]:null,c=s[2]||s[3]||"",u=-1;o===0&&(o=1e9);let d=c.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=u&&h.field++}for(let f of r)if(f.line==i.length&&f.from>s.index){let h=s[2]?3+(s[1]||"").length:2;f.from-=h,f.to-=h}r.push(new Frt(u,i.length,s.index,s.index+d.length)),a=a.slice(0,s.index)+c+a.slice(s.index+s[0].length)}a=a.replace(/\\([{}])/g,(o,c,u)=>{for(let d of r)d.line==i.length&&d.from>u&&(d.from--,d.to--);return c}),i.push(a)}return new nQ(i,r)}}let Urt=Ut.widget({widget:new class extends Ec{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),zrt=Ut.mark({class:"cm-snippetField"});class fO{constructor(t,n){this.ranges=t,this.active=n,this.deco=Ut.set(t.map(i=>(i.from==i.to?Urt:zrt).range(i.from,i.to)),!0)}map(t){let n=[];for(let i of this.ranges){let r=i.map(t);if(!r)return null;n.push(r)}return new fO(n,this.active)}selectionInsideField(t){return t.ranges.every(n=>this.ranges.some(i=>i.field==this.active&&i.from<=n.from&&i.to>=n.to))}}const tw=an.define({map(e,t){return e&&e.map(t)}}),Vrt=an.define(),V1=ra.define({create(){return null},update(e,t){for(let n of t.effects){if(n.is(tw))return n.value;if(n.is(Vrt)&&e)return new fO(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>ht.decorations.from(e,t=>t?t.deco:Ut.none)});function iQ(e,t){return $e.create(e.filter(n=>n.field==t).map(n=>$e.range(n.from,n.to)))}function qrt(e){let t=nQ.parse(e);return(n,i,r,s)=>{let{text:a,ranges:o}=t.instantiate(n.state,r),{main:c}=n.state.selection,u={changes:{from:r,to:s==c.from?c.to:s,insert:li.of(a)},scrollIntoView:!0,annotations:i?[Z6.of(i),as.userEvent.of("input.complete")]:void 0};if(o.length&&(u.selection=iQ(o,0)),o.some(d=>d.field>0)){let d=new fO(o,0),f=u.effects=[tw.of(d)];n.state.field(V1,!1)===void 0&&f.push(an.appendConfig.of([V1,Wrt,Zrt,mhe]))}n.dispatch(n.state.update(u))}}function ghe(e){return({state:t,dispatch:n})=>{let i=t.field(V1,!1);if(!i||e<0&&i.active==0)return!1;let r=i.active+e,s=e>0&&!i.ranges.some(a=>a.field==r+e);return n(t.update({selection:iQ(i.ranges,r),effects:tw.of(s?null:new fO(i.ranges,r)),scrollIntoView:!0})),!0}}const Xrt=({state:e,dispatch:t})=>e.field(V1,!1)?(t(e.update({effects:tw.of(null)})),!0):!1,Hrt=ghe(1),Yrt=ghe(-1),Grt=[{key:"Tab",run:Hrt,shift:Yrt},{key:"Escape",run:Xrt}],HX=vt.define({combine(e){return e.length?e[0]:Grt}}),Wrt=Yd.highest(uO.compute([HX],e=>e.facet(HX)));function _r(e,t){return{...t,apply:qrt(e)}}const Zrt=ht.domEventHandlers({mousedown(e,t){let n=t.state.field(V1,!1),i;if(!n||(i=t.posAtCoords({x:e.clientX,y:e.clientY}))==null)return!1;let r=n.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==n.active?!1:(t.dispatch({selection:iQ(n.ranges,r.field),effects:tw.of(n.ranges.some(s=>s.field>r.field)?new fO(n.ranges,r.field):null),scrollIntoView:!0}),!0)}}),q1={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Np=an.define({map(e,t){let n=t.mapPos(e,-1,Ks.TrackAfter);return n??void 0}}),rQ=new class extends kh{};rQ.startSide=1;rQ.endSide=-1;const bhe=ra.define({create(){return Pn.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of t.effects)n.is(Np)&&(e=e.update({add:[rQ.range(n.value,n.value+1)]}));return e}});function Krt(){return[est,bhe]}const jR="()[]{}<>«»»«[]{}";function Ohe(e){for(let t=0;t{if((Jrt?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(i.length>2||i.length==2&&Hc(eo(i,0))==1||t!=r.from||n!=r.to)return!1;let s=ist(e.state,i);return s?(e.dispatch(s),!0):!1}),tst=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=yhe(e,e.selection.main.head).brackets||q1.brackets,r=null,s=e.changeByRange(a=>{if(a.empty){let o=rst(e.doc,a.head);for(let c of i)if(c==o&&X2(e.doc,a.head)==Ohe(eo(c,0)))return{changes:{from:a.head-c.length,to:a.head+c.length},range:$e.cursor(a.head-c.length)}}return{range:r=a}});return r||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},nst=[{key:"Backspace",run:tst}];function ist(e,t){let n=yhe(e,e.selection.main.head),i=n.brackets||q1.brackets;for(let r of i){let s=Ohe(eo(r,0));if(t==r)return s==r?ost(e,r,i.indexOf(r+r+r)>-1,n):sst(e,r,s,n.before||q1.before);if(t==s&&xhe(e,e.selection.main.from))return ast(e,r,s)}return null}function xhe(e,t){let n=!1;return e.field(bhe).between(0,e.doc.length,i=>{i==t&&(n=!0)}),n}function X2(e,t){let n=e.sliceString(t,t+2);return n.slice(0,Hc(eo(n,0)))}function rst(e,t){let n=e.sliceString(t-2,t);return Hc(eo(n,0))==n.length?n:n.slice(1)}function sst(e,t,n,i){let r=null,s=e.changeByRange(a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:Np.of(a.to+t.length),range:$e.range(a.anchor+t.length,a.head+t.length)};let o=X2(e.doc,a.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:Np.of(a.head+t.length),range:$e.cursor(a.head+t.length)}:{range:r=a}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function ast(e,t,n){let i=null,r=e.changeByRange(s=>s.empty&&X2(e.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:$e.cursor(s.head+n.length)}:i={range:s});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function ost(e,t,n,i){let r=i.stringPrefixes||q1.stringPrefixes,s=null,a=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:t,from:o.to}],effects:Np.of(o.to+t.length),range:$e.range(o.anchor+t.length,o.head+t.length)};let c=o.head,u=X2(e.doc,c),d;if(u==t){if(YX(e,c))return{changes:{insert:t+t,from:c},effects:Np.of(c+t.length),range:$e.cursor(c+t.length)};if(xhe(e,c)){let h=n&&e.sliceDoc(c,c+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:c,to:c+h.length,insert:h},range:$e.cursor(c+h.length)}}}else{if(n&&e.sliceDoc(c-2*t.length,c)==t+t&&(d=GX(e,c-2*t.length,r))>-1&&YX(e,d))return{changes:{insert:t+t+t+t,from:c},effects:Np.of(c+t.length),range:$e.cursor(c+t.length)};if(e.charCategorizer(c)(u)!=mr.Word&&GX(e,c,r)>-1&&!lst(e,c,t,r))return{changes:{insert:t+t,from:c},effects:Np.of(c+t.length),range:$e.cursor(c+t.length)}}return{range:s=o}});return s?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function YX(e,t){let n=Mi(e).resolveInner(t+1);return n.parent&&n.from==t}function lst(e,t,n,i){let r=Mi(e).resolveInner(t,-1),s=i.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=e.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),c=o.indexOf(n);if(!c||c>-1&&i.indexOf(o.slice(0,c))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>n.length+c;){if(e.sliceDoc(d.to-n.length,d.to)==n)return!1;d=d.firstChild}return!0}let u=r.to==t&&r.parent;if(!u)break;r=u}return!1}function GX(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=mr.Word)return t;for(let r of n){let s=t-r.length;if(e.sliceDoc(s,t)==r&&i(e.sliceDoc(s-1,s))!=mr.Word)return s}return-1}function cst(e={}){return[Brt,to,Ms.of(e),$rt,ust,mhe]}const vhe=[{key:"Ctrl-Space",run:NR},{mac:"Alt-`",run:NR},{mac:"Alt-i",run:NR},{key:"Escape",run:Irt},{key:"ArrowDown",run:aE(!0)},{key:"ArrowUp",run:aE(!1)},{key:"PageDown",run:aE(!0,"page")},{key:"PageUp",run:aE(!1,"page")},{key:"Enter",run:Drt}],ust=Yd.highest(uO.computeN([Ms],e=>e.facet(Ms).defaultKeymap?[vhe]:[])),whe=[_r("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),_r("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),_r("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),_r("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),_r("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),_r(`try { +`);i>-1&&(n=n.slice(0,i))}return t+n.length<=this.to?n:n.slice(0,this.to-t)}nextLine(){let t=this.parsedPos,n=this.lineAfter(t),i=t+n.length;for(let r=this.rangeIndex;;){let s=this.ranges[r].to;if(s>=i||(n=n.slice(0,s-(i-n.length)),r++,r==this.ranges.length))break;let a=this.ranges[r].from,o=this.lineAfter(a);n+=o,i=a+o.length}return{line:n,end:i}}skipGapsTo(t,n,i){for(;;){let r=this.ranges[this.rangeIndex].to,s=t+n;if(i>0?r>s:r>=s)break;let a=this.ranges[++this.rangeIndex].from;n+=a-r}return n}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){r=this.skipGapsTo(n,r,1),n+=r;let o=this.chunk.length;r=this.skipGapsTo(i,r,-1),i+=r,s+=this.chunk.length-o}let a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&a>=0&&this.chunk[a]==t&&this.chunk[a+2]==n?this.chunk[a+2]=i:this.chunk.push(t,n,i,s),r}parseLine(t){let{line:n,end:i}=this.nextLine(),r=0,{streamParser:s}=this.lang,a=new whe(n,t?t.state.tabSize:4,t?km(t.state):2);if(a.eol())s.blankLine(this.state,a.indentUnit);else for(;!a.eol();){let o=Ehe(s.token,a,this.state);if(o&&(r=this.emitToken(this.lang.tokenTable.resolve(o),this.parsedPos+a.start,this.parsedPos+a.pos,r)),a.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPost.start)return r}throw new Error("Stream parser failed to advance stream.")}const rQ=Object.create(null),W1=[ms.none],qit=new bO(W1),BX=[],FX=Object.create(null),khe=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])khe[e]=_he(rQ,t);class The{constructor(t){this.extra=t,this.table=Object.assign(Object.create(null),khe)}resolve(t){return t?this.table[t]||(this.table[t]=_he(this.extra,t)):0}}const Xit=new The(rQ);function DR(e,t){BX.indexOf(e)>-1||(BX.push(e),console.warn(t))}function _he(e,t){let n=[];for(let o of t.split(" ")){let c=[];for(let u of o.split(".")){let d=e[u]||W[u];d?typeof d=="function"?c.length?c=c.map(d):DR(u,`Modifier ${u} used at start of tag`):c.length?DR(u,`Tag ${u} used as modifier`):c=Array.isArray(d)?d:[d]:DR(u,`Unknown highlighting tag ${u}`)}for(let u of c)n.push(u)}if(!n.length)return 0;let i=t.replace(/ /g,"_"),r=i+" "+n.map(o=>o.id),s=FX[r];if(s)return s.id;let a=FX[r]=ms.define({id:W1.length,name:i,props:[nf({[i]:n})]});return W1.push(a),a.id}function Hit(e,t){let n=ms.define({id:W1.length,name:"Document",props:[Zf.add(()=>e),rf.add(()=>i=>t.getIndent(i))],top:!0});return W1.push(n),n}qi.RTL,qi.LTR;var UX={};class S_{constructor(t,n,i,r,s,a,o,c,u,d=0,f){this.p=t,this.stack=n,this.state=i,this.reducePos=r,this.pos=s,this.score=a,this.buffer=o,this.bufferBase=c,this.curContext=u,this.lookAhead=d,this.parent=f}toString(){return`[${this.stack.filter((t,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,n,i=0){let r=t.parser.context;return new S_(t,[],n,i,i,0,[],0,r?new zX(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var n;let i=t>>19,r=t&65535,{parser:s}=this.p,a=this.reducePos=2e3&&!(!((n=this.p.parser.nodeSet.types[r])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSizec;)this.stack.pop();this.reduceContext(r,u)}storeNode(t,n,i,r=4,s=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(n==i)return;if(this.buffer[a-2]>=n){this.buffer[a-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(t,n,i,r);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let c=a;c>0&&this.buffer[c-2]>i;c-=4)if(this.buffer[c-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>i;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,r>4&&(r-=4)}this.buffer[a]=t,this.buffer[a+1]=n,this.buffer[a+2]=i,this.buffer[a+3]=r}}shift(t,n,i,r){if(t&131072)this.pushState(t&65535,this.pos);else if(t&262144)this.pos=r,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,r,4);else{let s=t,{parser:a}=this.p;this.pos=r;let o=a.stateFlag(s,1);!o&&(r>i||n<=a.maxNode)&&(this.reducePos=r),this.pushState(s,o?i:Math.min(i,this.reducePos)),this.shiftContext(n,i),n<=a.maxNode&&this.buffer.push(n,i,r,4)}}apply(t,n,i,r){t&65536?this.reduce(t):this.shift(t,n,i,r)}useNode(t,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let r=this.pos;this.reducePos=this.pos=r+t.length,this.pushState(n,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let i=t.buffer.slice(n),r=t.bufferBase+n;for(;t&&r==t.bufferBase;)t=t.parent;return new S_(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,t)}recoverByDelete(t,n){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(t){for(let n=new Git(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,t);if(i==0)return!1;if(!(i&65536))return!0;n.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let r=[];for(let s=0,a;sc&1&&o==a)||r.push(n[s],a)}n=r}let i=[];for(let r=0;r>19,r=n&65535,s=this.stack.length-i*3;if(s<0||t.getGoto(this.stack[s],r,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;n=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:t}=this.p,n=[],i=(r,s)=>{if(!n.includes(r))return n.push(r),t.allActions(r,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-s;if(o>1){let c=a&65535,u=this.stack.length-o*3;if(u>=0&&t.getGoto(this.stack[u],c,!1)>=0)return o<<19|65536|c}}else{let o=i(a,s+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let n=0;n0&&this.emitLookAhead()}}class zX{constructor(t,n){this.tracker=t,this.context=n,this.hash=t.strict?t.hash(n):0}}class Git{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let n=t&65535,i=t>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=r}}class E_{constructor(t,n,i){this.stack=t,this.pos=n,this.index=i,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new E_(t,n,n-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new E_(this.stack,this.pos,this.index)}}function Xy(e,t=Uint16Array){if(typeof e!="string")return e;let n=null;for(let i=0,r=0;i=92&&a--,a>=34&&a--;let c=a-32;if(c>=46&&(c-=46,o=!0),s+=c,o)break;s*=46}n?n[r++]=s:n=new t(s)}return n}class Ek{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const VX=new Ek;class Yit{constructor(t,n){this.input=t,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=VX,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(t,n){let i=this.range,r=this.rangeIndex,s=this.pos+t;for(;si.to:s>=i.to;){if(r==this.ranges.length-1)return null;let a=this.ranges[++r];s+=a.from-i.to,i=a}return s}clipPos(t){if(t>=this.range.from&&tt)return Math.max(t,n.from);return this.end}peek(t){let n=this.chunkOff+t,i,r;if(n>=0&&n=this.chunk2Pos&&io.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(t,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,n){if(n?(this.token=n,n.start=t,n.lookAhead=t+1,n.value=n.extended=-1):this.token=VX,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,n-this.chunkPos);if(t>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,n-this.chunk2Pos);if(t>=this.range.from&&n<=this.range.to)return this.input.read(t,n);let i="";for(let r of this.ranges){if(r.from>=n)break;r.to>t&&(i+=this.input.read(Math.max(r.from,t),Math.min(r.to,n)))}return i}}class B0{constructor(t,n){this.data=t,this.id=n}token(t,n){let{parser:i}=n.p;Ahe(this.data,t,n,this.id,i.data,i.tokenPrecTable)}}B0.prototype.contextual=B0.prototype.fallback=B0.prototype.extend=!1;class k_{constructor(t,n,i){this.precTable=n,this.elseToken=i,this.data=typeof t=="string"?Xy(t):t}token(t,n){let i=t.pos,r=0;for(;;){let s=t.next<0,a=t.resolveOffset(1,1);if(Ahe(this.data,t,n,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,a==null)break;t.reset(a,t.token)}r&&(t.reset(i,t.token),t.acceptToken(this.elseToken,r))}}k_.prototype.contextual=B0.prototype.fallback=B0.prototype.extend=!1;class rs{constructor(t,n={}){this.token=t,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function Ahe(e,t,n,i,r,s){let a=0,o=1<0){let b=e[p];if(c.allows(b)&&(t.token.value==-1||t.token.value==b||Wit(b,t.token.value,r,s))){t.acceptToken(b);break}}let d=t.next,f=0,h=e[a+2];if(t.next<0&&h>f&&e[u+h*3-3]==65535){a=e[u+h*3-1];continue e}for(;f>1,b=u+p+(p<<1),g=e[b],O=e[b+1]||65536;if(d=O)f=p+1;else{a=e[b+2],t.advance();continue e}}break}}function qX(e,t,n){for(let i=t,r;(r=e[i])!=65535;i++)if(r==n)return i-t;return-1}function Wit(e,t,n,i){let r=qX(n,i,t);return r<0||qX(n,i,e)t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}let Zit=class{constructor(t,n){this.fragments=t,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?XX(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?XX(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(tt)return this.nextStart=a,null;if(s instanceof Dn){if(a==t){if(a=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(a),this.index.push(0))}else this.index[n]++,this.nextStart=a+s.length}}};class Kit{constructor(t,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(i=>new Ek)}getActions(t){let n=0,i=null,{parser:r}=t.p,{tokenizers:s}=r,a=r.stateSlot(t.state,3),o=t.curContext?t.curContext.hash:0,c=0;for(let u=0;uf.end+25&&(c=Math.max(f.lookAhead,c)),f.value!=0)){let h=n;if(f.extended>-1&&(n=this.addActions(t,f.extended,f.end,n)),n=this.addActions(t,f.value,f.end,n),!d.extend&&(i=f,n>h))break}}for(;this.actions.length>n;)this.actions.pop();return c&&t.setLookAhead(c),!i&&t.pos==this.stream.end&&(i=new Ek,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,n=this.addActions(t,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let n=new Ek,{pos:i,p:r}=t;return n.start=i,n.end=Math.min(i+1,r.stream.end),n.value=i==r.stream.end?r.parser.eofTerm:0,n}updateCachedToken(t,n,i){let r=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(r,t),i),t.value>-1){let{parser:s}=i.p;for(let a=0;a=0&&i.p.parser.dialect.allows(o>>1)){o&1?t.extended=o>>1:t.value=o>>1;break}}}else t.value=0,t.end=this.stream.clipPos(r+1)}putAction(t,n,i,r){for(let s=0;st.bufferLength*4?new Zit(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,n=this.minStackPos,i=this.stacks=[],r,s;if(this.bigReductionCount>300&&t.length==1){let[a]=t;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;an)i.push(o);else{if(this.advanceStack(o,i,t))continue;{r||(r=[],s=[]),r.push(o);let c=this.tokens.getMainToken(o);s.push(c.value,c.end)}}break}}if(!i.length){let a=r&&trt(r);if(a)return Ro&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Ro&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&r){let a=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,i);if(a)return Ro&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(i.length>a)for(i.sort((o,c)=>c.score-o.score);i.length>a;)i.pop();i.some(o=>o.reducePos>n)&&this.recovering--}else if(i.length>1){e:for(let a=0;a500&&u.buffer.length>500)if((o.score-u.score||o.buffer.length-u.buffer.length)>0)i.splice(c--,1);else{i.splice(a--,1);continue e}}}i.length>12&&(i.sort((a,o)=>o.score-a.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let a=1;a ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let u=t.curContext&&t.curContext.tracker.strict,d=u?t.curContext.hash:0;for(let f=this.fragments.nodeAt(r);f;){let h=this.parser.nodeSet.types[f.type.id]==f.type?s.getGoto(t.state,f.type.id):-1;if(h>-1&&f.length&&(!u||(f.prop(un.contextHash)||0)==d))return t.useNode(f,h),Ro&&console.log(a+this.stackID(t)+` (via reuse of ${s.getName(f.type.id)})`),!0;if(!(f instanceof Dn)||f.children.length==0||f.positions[0]>0)break;let p=f.children[0];if(p instanceof Dn&&f.positions[0]==0)f=p;else break}}let o=s.stateSlot(t.state,4);if(o>0)return t.reduce(o),Ro&&console.log(a+this.stackID(t)+` (via always-reduce ${s.getName(o&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let c=this.tokens.getActions(t);for(let u=0;ur?n.push(b):i.push(b)}return!1}advanceFully(t,n){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return HX(t,n),!0}}runRecovery(t,n,i){let r=null,s=!1;for(let a=0;a ":"";if(o.deadEnd&&(s||(s=!0,o.restart(),Ro&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let f=o.split(),h=d;for(let p=0;p<10&&f.forceReduce()&&(Ro&&console.log(h+this.stackID(f)+" (via force-reduce)"),!this.advanceFully(f,i));p++)Ro&&(h=this.stackID(f)+" -> ");for(let p of o.recoverByInsert(c))Ro&&console.log(d+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,i);this.stream.end>o.pos?(u==o.pos&&(u++,c=0),o.recoverByDelete(c,u),Ro&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(c)})`),HX(o,i)):(!r||r.scoree;class Z2{constructor(t){this.start=t.start,this.shift=t.shift||MR,this.reduce=t.reduce||MR,this.reuse=t.reuse||MR,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class qd extends B2{constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let n=t.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let o=0;ot.topRules[o][1]),r=[];for(let o=0;o=0)s(d,c,o[u++]);else{let f=o[u+-d];for(let h=-d;h>0;h--)s(o[u++],c,f);u++}}}this.nodeSet=new bO(n.map((o,c)=>ms.define({name:c>=this.minRepeatTerm?void 0:o,id:c,props:r[c],top:i.indexOf(c)>-1,error:c==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(c)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=_de;let a=Xy(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new B0(a,o):o),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,n,i){let r=new Jit(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}getGoto(t,n,i=!1){let r=this.goto;if(n>=r[0])return-1;for(let s=r[n+1];;){let a=r[s++],o=a&1,c=r[s++];if(o&&i)return c;for(let u=s+(a>>1);s0}validAction(t,n){return!!this.allActions(t,i=>i==n?!0:null)}allActions(t,n){let i=this.stateSlot(t,4),r=i?n(i):void 0;for(let s=this.stateSlot(t,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=od(this.data,s+2);else break;r=n(od(this.data,s+1))}return r}nextStates(t){let n=[];for(let i=this.stateSlot(t,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=od(this.data,i+2);else break;if(!(this.data[i+2]&1)){let r=this.data[i+1];n.some((s,a)=>a&1&&s==r)||n.push(this.data[i],r)}}return n}configure(t){let n=Object.assign(Object.create(qd.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);n.top=i}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let r=t.tokenizers.find(s=>s.from==i);return r?r.to:i})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,r)=>{let s=t.specializers.find(o=>o.from==i.external);if(!s)return i;let a=Object.assign(Object.assign({},i),{external:s.to});return n.specializers[r]=GX(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let n=this.dynamicPrecedences;return n==null?0:n[t]||0}parseDialect(t){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(t)for(let s of t.split(" ")){let a=n.indexOf(s);a>=0&&(i[a]=!0)}let r=null;for(let s=0;si)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scoree.external(n,i)<<1|t}return e.get}const nrt=316,irt=317,YX=1,rrt=2,srt=3,art=4,ort=318,lrt=320,crt=321,urt=5,drt=6,frt=0,$L=[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],Che=125,hrt=59,QL=47,prt=42,mrt=43,grt=45,brt=60,Ort=44,yrt=63,xrt=46,vrt=91,wrt=new Z2({start:!1,shift(e,t){return t==urt||t==drt||t==lrt?e:t==crt},strict:!1}),Srt=new rs((e,t)=>{let{next:n}=e;(n==Che||n==-1||t.context)&&e.acceptToken(ort)},{contextual:!0,fallback:!0}),Ert=new rs((e,t)=>{let{next:n}=e,i;$L.indexOf(n)>-1||n==QL&&((i=e.peek(1))==QL||i==prt)||n!=Che&&n!=hrt&&n!=-1&&!t.context&&e.acceptToken(nrt)},{contextual:!0}),krt=new rs((e,t)=>{e.next==vrt&&!t.context&&e.acceptToken(irt)},{contextual:!0}),Trt=new rs((e,t)=>{let{next:n}=e;if(n==mrt||n==grt){if(e.advance(),n==e.next){e.advance();let i=!t.context&&t.canShift(YX);e.acceptToken(i?YX:rrt)}}else n==yrt&&e.peek(1)==xrt&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(srt))},{contextual:!0});function LR(e,t){return e>=65&&e<=90||e>=97&&e<=122||e==95||e>=192||!t&&e>=48&&e<=57}const _rt=new rs((e,t)=>{if(e.next!=brt||!t.dialectEnabled(frt)||(e.advance(),e.next==QL))return;let n=0;for(;$L.indexOf(e.next)>-1;)e.advance(),n++;if(LR(e.next,!0)){for(e.advance(),n++;LR(e.next,!1);)e.advance(),n++;for(;$L.indexOf(e.next)>-1;)e.advance(),n++;if(e.next==Ort)return;for(let i=0;;i++){if(i==7){if(!LR(e.next,!0))return;break}if(e.next!="extends".charCodeAt(i))break;e.advance(),n++}}e.acceptToken(art,-n)}),Art=nf({"get set async static":W.modifier,"for while do if else switch try catch finally return throw break continue default case defer":W.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":W.operatorKeyword,"let var const using function class extends":W.definitionKeyword,"import export from":W.moduleKeyword,"with debugger new":W.keyword,TemplateString:W.special(W.string),super:W.atom,BooleanLiteral:W.bool,this:W.self,null:W.null,Star:W.modifier,VariableName:W.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":W.function(W.variableName),VariableDefinition:W.definition(W.variableName),Label:W.labelName,PropertyName:W.propertyName,PrivatePropertyName:W.special(W.propertyName),"CallExpression/MemberExpression/PropertyName":W.function(W.propertyName),"FunctionDeclaration/VariableDefinition":W.function(W.definition(W.variableName)),"ClassDeclaration/VariableDefinition":W.definition(W.className),"NewExpression/VariableName":W.className,PropertyDefinition:W.definition(W.propertyName),PrivatePropertyDefinition:W.definition(W.special(W.propertyName)),UpdateOp:W.updateOperator,"LineComment Hashbang":W.lineComment,BlockComment:W.blockComment,Number:W.number,String:W.string,Escape:W.escape,ArithOp:W.arithmeticOperator,LogicOp:W.logicOperator,BitOp:W.bitwiseOperator,CompareOp:W.compareOperator,RegExp:W.regexp,Equals:W.definitionOperator,Arrow:W.function(W.punctuation),": Spread":W.punctuation,"( )":W.paren,"[ ]":W.squareBracket,"{ }":W.brace,"InterpolationStart InterpolationEnd":W.special(W.brace),".":W.derefOperator,", ;":W.separator,"@":W.meta,TypeName:W.typeName,TypeDefinition:W.definition(W.typeName),"type enum interface implements namespace module declare":W.definitionKeyword,"abstract global Privacy readonly override":W.modifier,"is keyof unique infer asserts":W.operatorKeyword,JSXAttributeValue:W.attributeValue,JSXText:W.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":W.angleBracket,"JSXIdentifier JSXNameSpacedName":W.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":W.attributeName,"JSXBuiltin/JSXIdentifier":W.standard(W.tagName)}),Crt={__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},Nrt={__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},jrt={__proto__:null,"<":193},Rrt=qd.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:wrt,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:[Art],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:[Ert,krt,Trt,_rt,2,3,4,5,6,7,8,9,10,11,12,13,14,Srt,new k_("$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 k_("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:e=>Crt[e]||-1},{term:343,get:e=>Nrt[e]||-1},{term:95,get:e=>jrt[e]||-1}],tokenPrec:15201});class sQ{constructor(t,n,i,r){this.state=t,this.pos=n,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let n=Fi(this.state).resolveInner(this.pos,-1);for(;n&&t.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(t){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),r=n.text.slice(i-n.from,this.pos-n.from),s=r.search(jhe(t,!1));return s<0?null:{from:i+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(t,n,i){t=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function WX(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Irt(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let s=1;stypeof r=="string"?{label:r}:r),[n,i]=t.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:Irt(t);return r=>{let s=r.matchBefore(i);return s||r.explicit?{from:s?s.from:r.pos,options:t,validFor:n}:null}}function Nhe(e,t){return n=>{for(let i=Fi(n.state).resolveInner(n.pos,-1);i;i=i.parent){if(e.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return t(n)}}class ZX{constructor(t,n,i,r){this.completion=t,this.source=n,this.match=i,this.score=r}}function rm(e){return e.selection.main.from}function jhe(e,t){var n;let{source:i}=e,r=t&&i[0]!="^",s=i[i.length-1]!="$";return!r&&!s?e:new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,(n=e.flags)!==null&&n!==void 0?n:e.ignoreCase?"i":"")}const oQ=Pu.define();function Drt(e,t,n,i){let{main:r}=e.selection,s=n-r.from,a=i-r.from;return{...e.changeByRange(o=>{if(o!=r&&n!=i&&e.sliceDoc(o.from+s,o.from+a)!=e.sliceDoc(n,i))return{range:o};let c=e.toText(t);return{changes:{from:o.from+s,to:i==r.from?o.to:o.from+a,insert:c},range:$e.cursor(o.from+s+c.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const KX=new WeakMap;function Prt(e){if(!Array.isArray(e))return e;let t=KX.get(e);return t||KX.set(e,t=aQ(e)),t}const T_=fn.define(),Z1=fn.define();class Mrt{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(S=D6(E))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!v||k==1&&O||w==0&&k!=0)&&(n[f]==E||i[f]==E&&(h=!0)?a[f++]=v:a.length&&(y=!1)),w=k,v+=ru(E)}return f==c&&a[0]==0&&y?this.result(-100+(h?-200:0),a,t):p==c&&b==0?this.ret(-200-t.length+(g==t.length?0:-100),[0,g]):o>-1?this.ret(-700-t.length,[o,o+this.pattern.length]):p==c?this.ret(-900-t.length,[b,g]):f==c?this.result(-100+(h?-200:0)+-700+(y?0:-1100),a,t):n.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,t)}result(t,n,i){let r=[],s=0;for(let a of n){let o=a+(this.astral?ru(ao(i,a)):1);s&&r[s-1]==a?r[s-1]=o:(r[s++]=a,r[s++]=o)}return this.ret(t-i.length,r)}}class Lrt{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:$rt,filterStrict:!1,compareCompletions:(t,n)=>(t.sortText||t.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,n)=>t&&n,closeOnBlur:(t,n)=>t&&n,icons:(t,n)=>t&&n,tooltipClass:(t,n)=>i=>JX(t(i),n(i)),optionClass:(t,n)=>i=>JX(t(i),n(i)),addToOptions:(t,n)=>t.concat(n),filterStrict:(t,n)=>t||n})}});function JX(e,t){return e?t?e+" "+t:e:t}function $rt(e,t,n,i,r,s){let a=e.textDirection==qi.RTL,o=a,c=!1,u="top",d,f,h=t.left-r.left,p=r.right-t.right,b=i.right-i.left,g=i.bottom-i.top;if(o&&h=g||v>t.top?d=n.bottom-t.top:(u="bottom",d=t.bottom-n.top)}let O=(t.bottom-t.top)/s.offsetHeight,y=(t.right-t.left)/s.offsetWidth;return{style:`${u}: ${d/O}px; max-width: ${f/y}px`,class:"cm-completionInfo-"+(c?a?"left-narrow":"right-narrow":o?"left":"right")}}const lQ=fn.define();function Qrt(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),t.push({render(n,i,r,s){let a=document.createElement("span");a.className="cm-completionLabel";let o=n.displayLabel||n.label,c=0;for(let u=0;uc&&a.appendChild(document.createTextNode(o.slice(c,d)));let h=a.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(o.slice(d,f))),h.className="cm-completionMatchedText",c=f}return cn.position-i.position).map(n=>n.render)}function $R(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let r=Math.floor(t/n);return{from:r*n,to:(r+1)*n}}let i=Math.ceil((e-t)/n);return{from:e-i*n,to:e-(i-1)*n}}class Brt{constructor(t,n,i){this.view=t,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:c=>this.placeInfo(c),key:this},this.space=null,this.currentClass="";let r=t.state.field(n),{options:s,selected:a}=r.open,o=t.state.facet(Us);this.optionContent=Qrt(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=$R(s.length,a,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",c=>{let{options:u}=t.state.field(n).open;for(let d=c.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(t.dispatch({effects:lQ.of(d)}),c.preventDefault())}}),this.dom.addEventListener("focusout",c=>{let u=t.state.field(this.stateField,!1);u&&u.tooltip&&t.state.facet(Us).closeOnBlur&&c.relatedTarget!=t.contentDOM&&t.dispatch({effects:Z1.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(t,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var n;let i=t.state.field(this.stateField),r=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),i!=r){let{options:s,selected:a,disabled:o}=i.open;(!r.open||r.open.options!=s)&&(this.range=$R(s.length,a,t.state.facet(Us).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),o!=((n=r.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(t){let n=this.tooltipClass(t);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),n=t.open;(n.selected>-1&&n.selected=this.range.to)&&(this.range=$R(n.options.length,n.selected,this.view.state.facet(Us).maxRenderedOptions),this.showOptions(n.options,t.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:s}=r;if(!s)return;let a=typeof s=="string"?document.createTextNode(s):s(r);if(!a)return;"then"in a?a.then(o=>{o&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(o,r)}).catch(o=>fo(this.view.state,o,"completion info")):(this.addInfoPane(a,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),t.nodeType!=null)i.appendChild(t),this.infoDestroy=null;else{let{dom:r,destroy:s}=t;i.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let n=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&Urt(this.list,n),n}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=t.getBoundingClientRect(),s=this.space;if(!s){let a=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return r.top>Math.min(s.bottom,n.bottom)-10||r.bottom{a.target==r&&a.preventDefault()});let s=null;for(let a=i.from;ai.from||i.from==0))if(s=h,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let p=r.appendChild(document.createElement("completion-section"));p.textContent=h}}const d=r.appendChild(document.createElement("li"));d.id=n+"-"+a,d.setAttribute("role","option");let f=this.optionClass(o);f&&(d.className=f);for(let h of this.optionContent){let p=h(o,this.view.state,this.view,c);p&&d.appendChild(p)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew Brt(n,e,t)}function Urt(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=n.height/e.offsetHeight;i.topn.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/r)}function eH(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function zrt(e,t){let n=[],i=null,r=null,s=d=>{n.push(d);let{section:f}=d.completion;if(f){i||(i=[]);let h=typeof f=="string"?f:f.name;i.some(p=>p.name==h)||i.push(typeof f=="string"?{name:h}:f)}},a=t.facet(Us);for(let d of e)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let h of d.result.options)s(new ZX(h,d.source,f?f(h):[],1e9-n.length));else{let h=t.sliceDoc(d.from,d.to),p,b=a.filterStrict?new Lrt(h):new Mrt(h);for(let g of d.result.options)if(p=b.match(g.label)){let O=g.displayLabel?f?f(g,p.matched):[]:p.matched,y=p.score+(g.boost||0);if(s(new ZX(g,d.source,O,y)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:v}=g.section;r||(r=Object.create(null)),r[v]=Math.max(y,r[v]||-1e9)}}}}if(i){let d=Object.create(null),f=0,h=(p,b)=>(p.rank==="dynamic"&&b.rank==="dynamic"?r[b.name]-r[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof b.rank=="number"?b.rank:1e9)||(p.nameh.score-f.score||u(f.completion,h.completion))){let f=d.completion;!c||c.label!=f.label||c.detail!=f.detail||c.type!=null&&f.type!=null&&c.type!=f.type||c.apply!=f.apply||c.boost!=f.boost?o.push(d):eH(d.completion)>eH(c)&&(o[o.length-1]=d),c=d.completion}return o}class h0{constructor(t,n,i,r,s,a){this.options=t,this.attrs=n,this.tooltip=i,this.timestamp=r,this.selected=s,this.disabled=a}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new h0(this.options,tH(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,i,r,s,a){if(r&&!a&&t.some(u=>u.isPending))return r.setDisabled();let o=zrt(t,n);if(!o.length)return r&&t.some(u=>u.isPending)?r.setDisabled():null;let c=n.facet(Us).selectOnOpen?0:-1;if(r&&r.selected!=c&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;dd.hasResult()?Math.min(u,d.from):u,1e8),create:Yrt,above:s.aboveCursor},r?r.timestamp:Date.now(),c,!1)}map(t){return new h0(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new h0(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class __{constructor(t,n,i){this.active=t,this.id=n,this.open=i}static start(){return new __(Hrt,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,i=n.facet(Us),s=(i.override||n.languageDataAt("autocomplete",rm(n)).map(Prt)).map(c=>(this.active.find(d=>d.source==c)||new jl(c,this.active.some(d=>d.state!=0)?1:0)).update(t,i));s.length==this.active.length&&s.every((c,u)=>c==this.active[u])&&(s=this.active);let a=this.open,o=t.effects.some(c=>c.is(cQ));a&&t.docChanged&&(a=a.map(t.changes)),t.selection||s.some(c=>c.hasResult()&&t.changes.touchesRange(c.from,c.to))||!Vrt(s,this.active)||o?a=h0.build(s,n,this.id,a,i,o):a&&a.disabled&&!s.some(c=>c.isPending)&&(a=null),!a&&s.every(c=>!c.isPending)&&s.some(c=>c.hasResult())&&(s=s.map(c=>c.hasResult()?new jl(c.source,0):c));for(let c of t.effects)c.is(lQ)&&(a=a&&a.setSelected(c.value,this.id));return s==this.active&&a==this.open?this:new __(s,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?qrt:Xrt}}function Vrt(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n-1&&(n["aria-activedescendant"]=e+"-"+t),n}const Hrt=[];function Rhe(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(oQ);if(i&&t.activateOnCompletion(i))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class jl{constructor(t,n,i=!1){this.source=t,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let i=Rhe(t,n),r=this;(i&8||i&16&&this.touches(t))&&(r=new jl(r.source,0)),i&4&&r.state==0&&(r=new jl(this.source,1)),r=r.updateFor(t,i);for(let s of t.effects)if(s.is(T_))r=new jl(r.source,1,s.value);else if(s.is(Z1))r=new jl(r.source,0);else if(s.is(cQ))for(let a of s.value)a.source==r.source&&(r=a);return r}updateFor(t,n){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange(rm(t.state))}}class F0 extends jl{constructor(t,n,i,r,s,a){super(t,3,n),this.limit=i,this.result=r,this.from=s,this.to=a}hasResult(){return!0}updateFor(t,n){var i;if(!(n&3))return this.map(t.changes);let r=this.result;r.map&&!t.changes.empty&&(r=r.map(r,t.changes));let s=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),o=rm(t.state);if(o>a||!r||n&2&&(rm(t.startState)==this.from||on.map(t))}}),oo=ca.define({create(){return __.start()},update(e,t){return e.update(t)},provide:e=>[Z6.from(e,t=>t.tooltip),ht.contentAttributes.from(e,t=>t.attrs)]});function uQ(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(oo).active.find(r=>r.source==t.source);return i instanceof F0?(typeof n=="string"?e.dispatch({...Drt(e.state,n,i.from,i.to),annotations:oQ.of(t.completion)}):n(e,t.completion,i.from,i.to),!0):!1}const Yrt=Frt(oo,uQ);function uE(e,t="option"){return n=>{let i=n.state.field(oo,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(e?1:-1):e?0:a-1;return o<0?o=t=="page"?0:a-1:o>=a&&(o=t=="page"?a-1:0),n.dispatch({effects:lQ.of(o)}),!0}}const Wrt=e=>{let t=e.state.field(oo,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.state.field(oo,!1)?(e.dispatch({effects:T_.of(!0)}),!0):!1,Zrt=e=>{let t=e.state.field(oo,!1);return!t||!t.active.some(n=>n.state!=0)?!1:(e.dispatch({effects:Z1.of(null)}),!0)};class Krt{constructor(t,n){this.active=t,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const Jrt=50,est=1e3,tst=Vr.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(oo).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(oo),n=e.state.facet(Us);if(!e.selectionSet&&!e.docChanged&&e.startState.field(oo)==t)return;let i=e.transactions.some(s=>{let a=Rhe(s,n);return a&8||(s.selection||s.docChanged)&&!(a&3)});for(let s=0;sJrt&&Date.now()-a.time>est){for(let o of a.context.abortListeners)try{o()}catch(c){fo(this.view.state,c)}a.context.abortListeners=null,this.running.splice(s--,1)}else a.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(s=>s.effects.some(a=>a.is(T_)))&&(this.pendingStart=!0);let r=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(s=>s.isPending&&!this.running.some(a=>a.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of e.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(oo);for(let n of t.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Us).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=rm(t),i=new sQ(t,n,e.explicit,this.view),r=new Krt(e,i);this.running.push(r),Promise.resolve(e.source(i)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Z1.of(null)}),fo(this.view.state,s)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Us).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(Us),i=this.view.state.field(oo);for(let r=0;ro.source==s.active.source);if(a&&a.isPending)if(s.done==null){let o=new jl(s.active.source,0);for(let c of s.updates)o=o.update(c,n);o.isPending||t.push(o)}else this.startQuery(a)}(t.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:cQ.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(oo,!1);if(t&&t.tooltip&&this.view.state.facet(Us).closeOnBlur){let n=t.open&&Zfe(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Z1.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:T_.of(!1)}),20),this.composing=0}}}),nst=typeof navigator=="object"&&/Win/.test(navigator.platform),ist=tf.highest(ht.domEventHandlers({keydown(e,t){let n=t.state.field(oo,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(nst&&e.altKey)||e.metaKey)return!1;let i=n.open.options[n.open.selected],r=n.active.find(a=>a.source==i.source),s=i.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(e.key)>-1&&uQ(t,i),!1}})),Ihe=ht.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class rst{constructor(t,n,i,r){this.field=t,this.line=n,this.from=i,this.to=r}}class dQ{constructor(t,n,i){this.field=t,this.from=n,this.to=i}map(t){let n=t.mapPos(this.from,-1,ra.TrackDel),i=t.mapPos(this.to,1,ra.TrackDel);return n==null||i==null?null:new dQ(this.field,n,i)}}class fQ{constructor(t,n){this.lines=t,this.fieldPositions=n}instantiate(t,n){let i=[],r=[n],s=t.doc.lineAt(n),a=/^\s*/.exec(s.text)[0];for(let c of this.lines){if(i.length){let u=a,d=/^\t*/.exec(c)[0].length;for(let f=0;fnew dQ(c.field,r[c.line]+c.from,r[c.line]+c.to));return{text:i,ranges:o}}static parse(t){let n=[],i=[],r=[],s;for(let a of t.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=s[1]?+s[1]:null,c=s[2]||s[3]||"",u=-1;o===0&&(o=1e9);let d=c.replace(/\\[{}]/g,f=>f[1]);for(let f=0;f=u&&h.field++}for(let f of r)if(f.line==i.length&&f.from>s.index){let h=s[2]?3+(s[1]||"").length:2;f.from-=h,f.to-=h}r.push(new rst(u,i.length,s.index,s.index+d.length)),a=a.slice(0,s.index)+c+a.slice(s.index+s[0].length)}a=a.replace(/\\([{}])/g,(o,c,u)=>{for(let d of r)d.line==i.length&&d.from>u&&(d.from--,d.to--);return c}),i.push(a)}return new fQ(i,r)}}let sst=Ht.widget({widget:new class extends Dc{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),ast=Ht.mark({class:"cm-snippetField"});class xO{constructor(t,n){this.ranges=t,this.active=n,this.deco=Ht.set(t.map(i=>(i.from==i.to?sst:ast).range(i.from,i.to)),!0)}map(t){let n=[];for(let i of this.ranges){let r=i.map(t);if(!r)return null;n.push(r)}return new xO(n,this.active)}selectionInsideField(t){return t.ranges.every(n=>this.ranges.some(i=>i.field==this.active&&i.from<=n.from&&i.to>=n.to))}}const cw=fn.define({map(e,t){return e&&e.map(t)}}),ost=fn.define(),K1=ca.define({create(){return null},update(e,t){for(let n of t.effects){if(n.is(cw))return n.value;if(n.is(ost)&&e)return new xO(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>ht.decorations.from(e,t=>t?t.deco:Ht.none)});function hQ(e,t){return $e.create(e.filter(n=>n.field==t).map(n=>$e.range(n.from,n.to)))}function lst(e){let t=fQ.parse(e);return(n,i,r,s)=>{let{text:a,ranges:o}=t.instantiate(n.state,r),{main:c}=n.state.selection,u={changes:{from:r,to:s==c.from?c.to:s,insert:gi.of(a)},scrollIntoView:!0,annotations:i?[oQ.of(i),hs.userEvent.of("input.complete")]:void 0};if(o.length&&(u.selection=hQ(o,0)),o.some(d=>d.field>0)){let d=new xO(o,0),f=u.effects=[cw.of(d)];n.state.field(K1,!1)===void 0&&f.push(fn.appendConfig.of([K1,hst,pst,Ihe]))}n.dispatch(n.state.update(u))}}function Dhe(e){return({state:t,dispatch:n})=>{let i=t.field(K1,!1);if(!i||e<0&&i.active==0)return!1;let r=i.active+e,s=e>0&&!i.ranges.some(a=>a.field==r+e);return n(t.update({selection:hQ(i.ranges,r),effects:cw.of(s?null:new xO(i.ranges,r)),scrollIntoView:!0})),!0}}const cst=({state:e,dispatch:t})=>e.field(K1,!1)?(t(e.update({effects:cw.of(null)})),!0):!1,ust=Dhe(1),dst=Dhe(-1),fst=[{key:"Tab",run:ust,shift:dst},{key:"Escape",run:cst}],nH=St.define({combine(e){return e.length?e[0]:fst}}),hst=tf.highest(OO.compute([nH],e=>e.facet(nH)));function jr(e,t){return{...t,apply:lst(e)}}const pst=ht.domEventHandlers({mousedown(e,t){let n=t.state.field(K1,!1),i;if(!n||(i=t.posAtCoords({x:e.clientX,y:e.clientY}))==null)return!1;let r=n.ranges.find(s=>s.from<=i&&s.to>=i);return!r||r.field==n.active?!1:(t.dispatch({selection:hQ(n.ranges,r.field),effects:cw.of(n.ranges.some(s=>s.field>r.field)?new xO(n.ranges,r.field):null),scrollIntoView:!0}),!0)}}),J1={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Qp=fn.define({map(e,t){let n=t.mapPos(e,-1,ra.TrackAfter);return n??void 0}}),pQ=new class extends Nh{};pQ.startSide=1;pQ.endSide=-1;const Phe=ca.define({create(){return Qn.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of t.effects)n.is(Qp)&&(e=e.update({add:[pQ.range(n.value,n.value+1)]}));return e}});function mst(){return[bst,Phe]}const BR="()[]{}<>«»»«[]{}";function Mhe(e){for(let t=0;t{if((gst?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(i.length>2||i.length==2&&ru(ao(i,0))==1||t!=r.from||n!=r.to)return!1;let s=xst(e.state,i);return s?(e.dispatch(s),!0):!1}),Ost=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Lhe(e,e.selection.main.head).brackets||J1.brackets,r=null,s=e.changeByRange(a=>{if(a.empty){let o=vst(e.doc,a.head);for(let c of i)if(c==o&&K2(e.doc,a.head)==Mhe(ao(c,0)))return{changes:{from:a.head-c.length,to:a.head+c.length},range:$e.cursor(a.head-c.length)}}return{range:r=a}});return r||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},yst=[{key:"Backspace",run:Ost}];function xst(e,t){let n=Lhe(e,e.selection.main.head),i=n.brackets||J1.brackets;for(let r of i){let s=Mhe(ao(r,0));if(t==r)return s==r?Est(e,r,i.indexOf(r+r+r)>-1,n):wst(e,r,s,n.before||J1.before);if(t==s&&$he(e,e.selection.main.from))return Sst(e,r,s)}return null}function $he(e,t){let n=!1;return e.field(Phe).between(0,e.doc.length,i=>{i==t&&(n=!0)}),n}function K2(e,t){let n=e.sliceString(t,t+2);return n.slice(0,ru(ao(n,0)))}function vst(e,t){let n=e.sliceString(t-2,t);return ru(ao(n,0))==n.length?n:n.slice(1)}function wst(e,t,n,i){let r=null,s=e.changeByRange(a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:Qp.of(a.to+t.length),range:$e.range(a.anchor+t.length,a.head+t.length)};let o=K2(e.doc,a.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:Qp.of(a.head+t.length),range:$e.cursor(a.head+t.length)}:{range:r=a}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Sst(e,t,n){let i=null,r=e.changeByRange(s=>s.empty&&K2(e.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:$e.cursor(s.head+n.length)}:i={range:s});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function Est(e,t,n,i){let r=i.stringPrefixes||J1.stringPrefixes,s=null,a=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:t,from:o.to}],effects:Qp.of(o.to+t.length),range:$e.range(o.anchor+t.length,o.head+t.length)};let c=o.head,u=K2(e.doc,c),d;if(u==t){if(iH(e,c))return{changes:{insert:t+t,from:c},effects:Qp.of(c+t.length),range:$e.cursor(c+t.length)};if($he(e,c)){let h=n&&e.sliceDoc(c,c+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:c,to:c+h.length,insert:h},range:$e.cursor(c+h.length)}}}else{if(n&&e.sliceDoc(c-2*t.length,c)==t+t&&(d=rH(e,c-2*t.length,r))>-1&&iH(e,d))return{changes:{insert:t+t+t+t,from:c},effects:Qp.of(c+t.length),range:$e.cursor(c+t.length)};if(e.charCategorizer(c)(u)!=Er.Word&&rH(e,c,r)>-1&&!kst(e,c,t,r))return{changes:{insert:t+t,from:c},effects:Qp.of(c+t.length),range:$e.cursor(c+t.length)}}return{range:s=o}});return s?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function iH(e,t){let n=Fi(e).resolveInner(t+1);return n.parent&&n.from==t}function kst(e,t,n,i){let r=Fi(e).resolveInner(t,-1),s=i.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=e.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),c=o.indexOf(n);if(!c||c>-1&&i.indexOf(o.slice(0,c))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>n.length+c;){if(e.sliceDoc(d.to-n.length,d.to)==n)return!1;d=d.firstChild}return!0}let u=r.to==t&&r.parent;if(!u)break;r=u}return!1}function rH(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=Er.Word)return t;for(let r of n){let s=t-r.length;if(e.sliceDoc(s,t)==r&&i(e.sliceDoc(s-1,s))!=Er.Word)return s}return-1}function Tst(e={}){return[ist,oo,Us.of(e),tst,_st,Ihe]}const Qhe=[{key:"Ctrl-Space",run:QR},{mac:"Alt-`",run:QR},{mac:"Alt-i",run:QR},{key:"Escape",run:Zrt},{key:"ArrowDown",run:uE(!0)},{key:"ArrowUp",run:uE(!1)},{key:"PageDown",run:uE(!0,"page")},{key:"PageUp",run:uE(!1,"page")},{key:"Enter",run:Wrt}],_st=tf.highest(OO.computeN([Us],e=>e.facet(Us).defaultKeymap?[Qhe]:[])),Bhe=[jr("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),jr("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),jr("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),jr("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),jr("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),jr(`try { \${} } catch (\${error}) { \${} -}`,{label:"try",detail:"/ catch block",type:"keyword"}),_r("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),_r(`if (\${}) { +}`,{label:"try",detail:"/ catch block",type:"keyword"}),jr("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),jr(`if (\${}) { \${} } else { \${} -}`,{label:"if",detail:"/ else block",type:"keyword"}),_r(`class \${name} { +}`,{label:"if",detail:"/ else block",type:"keyword"}),jr(`class \${name} { constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),_r('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),_r('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],dst=whe.concat([_r("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),_r("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),_r("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),WX=new S6,She=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function sy(e){return(t,n)=>{let i=t.node.getChild("VariableDefinition");return i&&n(i,e),!0}}const fst=["FunctionDeclaration"],hst={FunctionDeclaration:sy("function"),ClassDeclaration:sy("class"),ClassExpression:()=>!0,EnumDeclaration:sy("constant"),TypeAliasDeclaration:sy("type"),NamespaceDeclaration:sy("namespace"),VariableDefinition(e,t){e.matchContext(fst)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function Ehe(e,t){let n=WX.get(t);if(n)return n;let i=[],r=!0;function s(a,o){let c=e.sliceString(a.from,a.to);i.push({label:c,type:o})}return t.cursor(fi.IncludeAnonymous).iterate(a=>{if(r)r=!1;else if(a.name){let o=hst[a.name];if(o&&o(a,s)||She.has(a.name))return!1}else if(a.to-a.from>8192){for(let o of Ehe(e,a.node))i.push(o);return!1}}),WX.set(t,i),i}const ZX=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,khe=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function pst(e){let t=Mi(e.state).resolveInner(e.pos,-1);if(khe.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&ZX.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)She.has(r.name)&&(i=i.concat(Ehe(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:ZX}}const uu=$d.define({name:"javascript",parser:mrt.configure({props:[Wd.add({IfStatement:j0({except:/^\s*({|else\b)/}),TryStatement:j0({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Wnt,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),i=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:i?1:2)*e.unit},Block:N0({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":j0({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),Zd.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Kv,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name=="JSXSelfClosingTag")return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let n=(t=e.firstChild)===null||t===void 0?void 0:t.nextSibling,i=e.lastChild;return!n||n.type.isError?null:{from:n.to,to:i.type.isError?e.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),The={test:e=>/^JSX/.test(e.name),facet:U2({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_he=uu.configure({dialect:"ts"},"typescript"),Ahe=uu.configure({dialect:"jsx",props:[z6.add(e=>e.isTop?[The]:void 0)]}),Che=uu.configure({dialect:"jsx ts",props:[z6.add(e=>e.isTop?[The]:void 0)]},"typescript");let Nhe=e=>({label:e,type:"keyword"});const jhe="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Nhe),mst=jhe.concat(["declare","implements","private","protected","public"].map(Nhe));function j5(e={}){let t=e.jsx?e.typescript?Che:Ahe:e.typescript?_he:uu,n=e.typescript?dst.concat(mst):whe.concat(jhe);return new Nh(t,[uu.data.of({autocomplete:fhe(khe,W6(n))}),uu.data.of({autocomplete:pst}),e.jsx?Ost:[]])}function gst(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(e.name=="JSXEscape"||!e.parent)return null;e=e.parent}}function KX(e,t,n=e.length){for(let i=t==null?void 0:t.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return e.sliceString(i.from,Math.min(i.to,n));return""}const bst=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Ost=ht.inputHandler.of((e,t,n,i,r)=>{if((bst?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||i!=">"&&i!="/"||!uu.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,o=a.changeByRange(c=>{var u;let{head:d}=c,f=Mi(a).resolveInner(d-1,-1),h;if(f.name=="JSXStartTag"&&(f=f.parent),!(a.doc.sliceString(d-1,d)!=i||f.name=="JSXAttributeValue"&&f.to>d)){if(i==">"&&f.name=="JSXFragmentTag")return{range:c,changes:{from:d,insert:""}};if(i=="/"&&f.name=="JSXStartCloseTag"){let p=f.parent,b=p.parent;if(b&&p.from==d-2&&((h=KX(a.doc,b.firstChild,d))||((u=b.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let g=`${h}>`;return{range:$e.cursor(d+g.length,-1),changes:{from:d,insert:g}}}}else if(i==">"){let p=gst(f);if(p&&p.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(a.doc.sliceString(d,d+2))&&(h=KX(a.doc,p,d)))return{range:c,changes:{from:d,insert:``}}}}return{range:c}});return o.changes.empty?!1:(e.dispatch([s,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),yst=Gd({String:W.string,Number:W.number,"True False":W.bool,PropertyName:W.propertyName,Null:W.null,", :":W.separator,"[ ]":W.squareBracket,"{ }":W.brace}),xst=Qd.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[yst],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),vst=$d.define({name:"json",parser:xst.configure({props:[Wd.add({Object:j0({except:/^\s*\}/}),Array:j0({except:/^\s*\]/})}),Zd.add({"Object Array":Kv})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function wst(){return new Nh(vst)}class w_{static create(t,n,i,r,s){let a=r+(r<<8)+t+(n<<4)|0;return new w_(t,n,i,a,s,[],[])}constructor(t,n,i,r,s,a,o){this.type=t,this.value=n,this.from=i,this.hash=r,this.end=s,this.children=a,this.positions=o,this.hashProp=[[rn.contextHash,r]]}addChild(t,n){t.prop(rn.contextHash)!=this.hash&&(t=new An(t.type,t.children,t.positions,t.length,this.hashProp)),this.children.push(t),this.positions.push(n)}toTree(t,n=this.end){let i=this.children.length-1;return i>=0&&(n=Math.max(n,this.positions[i]+this.children[i].length+this.from)),new An(t.types[this.type],this.children,this.positions,n-this.from).balance({makeTree:(r,s,a)=>new An(ls.none,r,s,a,this.hashProp)})}}var ot;(function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.Autolink=33]="Autolink",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel",e[e.URL=44]="URL"})(ot||(ot={}));class Sst{constructor(t,n){this.start=t,this.content=n,this.marks=[],this.parsers=[]}}class Est{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let t=this.skipSpace(this.basePos);this.indent=this.countIndent(t,this.pos,this.indent),this.pos=t,this.next=t==this.text.length?-1:this.text.charCodeAt(t)}skipSpace(t){return Cx(this.text,t)}reset(t){for(this.text=t,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(t){this.basePos=t,this.baseIndent=this.countIndent(t,this.pos,this.indent)}moveBaseColumn(t){this.baseIndent=t,this.basePos=this.findColumn(t)}addMarker(t){this.markers.push(t)}countIndent(t,n=0,i=0){for(let r=n;r=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let i=(e.type==ot.OrderedList?oQ:aQ)(n,t,!1);return i>0&&(e.type!=ot.BulletList||sQ(n,t,!1)<0)&&n.text.charCodeAt(n.pos+i-1)==e.value}const Rhe={[ot.Blockquote](e,t,n){return n.next!=62?!1:(n.markers.push(Jn(ot.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(Dl(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0)},[ot.ListItem](e,t,n){return n.indent-1?!1:(n.moveBaseColumn(n.baseIndent+e.value),!0)},[ot.OrderedList]:JX,[ot.BulletList]:JX,[ot.Document](){return!0}};function Dl(e){return e==32||e==9||e==10||e==13}function Cx(e,t=0){for(;tn&&Dl(e.charCodeAt(t-1));)t--;return t}function Dhe(e){if(e.next!=96&&e.next!=126)return-1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length&&t.parser.leafBlockParsers.indexOf(Fhe.SetextHeading)>-1||i<3?-1:1}function Phe(e,t){for(let n=e.stack.length-1;n>=0;n--)if(e.stack[n].type==t)return!0;return!1}function aQ(e,t,n){return(e.next==45||e.next==43||e.next==42)&&(e.pos==e.text.length-1||Dl(e.text.charCodeAt(e.pos+1)))&&(!n||Phe(t,ot.BulletList)||e.skipSpace(e.pos+2)=48&&r<=57;){i++;if(i==e.text.length)return-1;r=e.text.charCodeAt(i)}return i==e.pos||i>e.pos+9||r!=46&&r!=41||ie.pos+1||e.next!=49)?-1:i+1-e.pos}function Mhe(e){if(e.next!=35)return-1;let t=e.pos+1;for(;t6?-1:n}function Lhe(e){if(e.next!=45&&e.next!=61||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,Qhe=/\?>/,D5=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,ipe=/\?>/,UL=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(s)return e.append(Jn(ot.Comment,n,n+1+s[0].length));let a=/^\?[^]*?\?>/.exec(i);if(a)return e.append(Jn(ot.ProcessingInstruction,n,n+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return o?e.append(Jn(ot.HTMLTag,n,n+1+o[0].length)):-1},Emphasis(e,t,n){if(t!=95&&t!=42)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),a=H1.test(r),o=H1.test(s),c=/\s|^$/.test(r),u=/\s|^$/.test(s),d=!u&&(!o||c||a),f=!c&&(!a||u||o),h=d&&(t==42||!f||a),p=f&&(t==42||!d||o);return e.append(new Do(t==95?Xhe:Hhe,n,i,(h?1:0)|(p?2:0)))},HardBreak(e,t,n){if(t==92&&e.char(n+1)==10)return e.append(Jn(ot.HardBreak,n,n+2));if(t==32){let i=n+1;for(;e.char(i)==32;)i++;if(e.char(i)==10&&i>=n+2)return e.append(Jn(ot.HardBreak,n,i+1))}return-1},Link(e,t,n){return t==91?e.append(new Do(yp,n,n+1,1)):-1},Image(e,t,n){return t==33&&e.char(n+1)==91?e.append(new Do(S_,n,n+2,1)):-1},LinkEnd(e,t,n){if(t!=93)return-1;for(let i=e.parts.length-1;i>=0;i--){let r=e.parts[i];if(r instanceof Do&&(r.type==yp||r.type==S_)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[i]=null,-1;let s=e.takeContent(i),a=e.parts[i]=Nst(e,s,r.type==yp?ot.Link:ot.Image,r.from,n+1);if(r.type==yp)for(let o=0;ot?Jn(ot.URL,t+n,s+n):s==e.length?null:!1}}function Ghe(e,t,n){let i=e.charCodeAt(t);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let s=t+1,a=!1;s=this.end?-1:this.text.charCodeAt(t-this.offset)}get end(){return this.offset+this.text.length}slice(t,n){return this.text.slice(t-this.offset,n-this.offset)}append(t){return this.parts.push(t),t.to}addDelimiter(t,n,i,r,s){return this.append(new Do(t,n,i,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof Do&&(n.type==yp||n.type==S_))return!0}return!1}addElement(t){return this.append(t)}resolveMarkers(t){for(let i=t;i=t;c--){let g=this.parts[c];if(g instanceof Do&&g.side&1&&g.type==r.type&&!(s&&(r.side&1||g.side&2)&&(g.to-g.from+a)%3==0&&((g.to-g.from)%3||a%3))){o=g;break}}if(!o)continue;let u=r.type.resolve,d=[],f=o.from,h=r.to;if(s){let g=Math.min(2,o.to-o.from,a);f=o.to-g,h=r.from+g,u=g==1?"Emphasis":"StrongEmphasis"}o.type.mark&&d.push(this.elt(o.type.mark,f,o.to));for(let g=c+1;g=0;n--){let i=this.parts[n];if(i instanceof Do&&i.type==t&&i.side&1)return n}return null}takeContent(t){let n=this.resolveMarkers(t);return this.parts.length=t,n}getDelimiterAt(t){let n=this.parts[t];return n instanceof Do?n:null}skipSpace(t){return Cx(this.text,t-this.offset)+this.offset}elt(t,n,i,r){return typeof t=="string"?Jn(this.parser.getNodeType(t),n,i,r):new qhe(t,n)}}lQ.linkStart=yp;lQ.imageStart=S_;function P5(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let r of t){for(;i(t?t-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` -`;)s--;this.fragmentEnd=s?s-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=t+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=n;if(!i.childAfter(r))return!1}}matches(t){let n=this.cursor.tree;return n&&n.prop(rn.contextHash)==t}takeNodes(t){let n=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=t.absoluteLineStart,a=s,o=t.block.children.length,c=a,u=o;for(;;){if(n.to-i>r){if(n.type.isAnonymous&&n.firstChild())continue;break}let d=Zhe(n.from-i,t.ranges);if(n.to-i<=t.ranges[t.rangeI].to)t.addNode(n.tree,d);else{let f=new An(t.parser.nodeSet.types[ot.Paragraph],[],[],0,t.block.hashProp);t.reusePlaceholders.set(f,n.tree),t.addNode(f,d)}if(n.type.is("Block")&&(jst.indexOf(n.type.id)<0?(a=n.to-i,o=t.block.children.length):(a=c,o=u),c=n.to-i,u=t.block.children.length),!n.nextSibling())break}for(;t.block.children.length>o;)t.block.children.pop(),t.block.positions.pop();return a-s}}function Zhe(e,t){let n=e;for(let i=1;ioE[e]),Object.keys(oE).map(e=>Fhe[e]),Object.keys(oE),_st,Rhe,Object.keys(DR).map(e=>DR[e]),Object.keys(DR),[]);function Pst(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let a=r?r.from:n;if(a>s&&i.push({from:s,to:a}),!r)break;s=r.to}return i}function Mst(e){let{codeParser:t,htmlParser:n}=e;return{wrap:hde((r,s)=>{let a=r.type.id;if(t&&(a==ot.CodeBlock||a==ot.FencedCode)){let o="";if(a==ot.FencedCode){let u=r.node.getChild(ot.CodeInfo);u&&(o=s.read(u.from,u.to))}let c=t(o);if(c)return{parser:c,overlay:u=>u.type.id==ot.CodeText,bracketed:a==ot.FencedCode}}else if(n&&(a==ot.HTMLBlock||a==ot.HTMLTag||a==ot.CommentBlock))return{parser:n,overlay:Pst(r.node,r.from,r.to)};return null})}}const Lst={resolve:"Strikethrough",mark:"StrikethroughMark"},$st={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":W.strikethrough}},{name:"StrikethroughMark",style:W.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),a=/\s|^$/.test(r),o=H1.test(i),c=H1.test(r);return e.addDelimiter(Lst,n,n+2,!a&&(!c||s||o),!s&&(!o||a||c))},after:"Emphasis"}]};function Nx(e,t,n=0,i,r=0){let s=0,a=!0,o=-1,c=-1,u=!1,d=()=>{i.push(e.elt("TableCell",r+o,r+c,e.parser.parseInline(t.slice(o,c),r+o)))};for(let f=n;f-1)&&s++,a=!1,i&&(o>-1&&d(),i.push(e.elt("TableDelimiter",f+r,f+r+1))),o=c=-1):(u||h!=32&&h!=9)&&(o<0&&(o=f),c=f+1),u=!u&&h==92}return o>-1&&(s++,i&&d()),s}function iH(e,t){for(let n=t;n\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class rH{constructor(){this.rows=null}nextLine(t,n,i){if(this.rows==null){this.rows=!1;let r;if((n.next==45||n.next==58||n.next==124)&&Khe.test(r=n.text.slice(n.pos))){let s=[];Nx(t,i.content,0,s,i.start)==Nx(t,r,0)&&(this.rows=[t.elt("TableHeader",i.start,i.start+i.content.length,s),t.elt("TableDelimiter",t.lineStart+n.pos,t.lineStart+n.text.length)])}}else if(this.rows){let r=[];Nx(t,n.text,n.pos,r,t.lineStart),this.rows.push(t.elt("TableRow",t.lineStart+n.pos,t.lineStart+n.text.length,r))}return!1}finish(t,n){return this.rows?(t.addLeafElement(n,t.elt("Table",n.start,n.start+n.content.length,this.rows)),!0):!1}}const Qst={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":W.heading}},"TableRow",{name:"TableCell",style:W.content},{name:"TableDelimiter",style:W.processingInstruction}],parseBlock:[{name:"Table",leaf(e,t){return iH(t.content,0)?new rH:null},endLeaf(e,t,n){if(n.parsers.some(r=>r instanceof rH)||!iH(t.text,t.basePos))return!1;let i=e.peekLine();return Khe.test(i)&&Nx(e,t.text,t.basePos)==Nx(e,i,t.basePos)},before:"SetextHeading"}]};class Bst{nextLine(){return!1}finish(t,n){return t.addLeafElement(n,t.elt("Task",n.start,n.start+n.content.length,[t.elt("TaskMarker",n.start,n.start+3),...t.parser.parseInline(n.content.slice(3),n.start+3)])),!0}}const Fst={defineNodes:[{name:"Task",block:!0,style:W.list},{name:"TaskMarker",style:W.atom}],parseBlock:[{name:"TaskList",leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name=="ListItem"?new Bst:null},after:"SetextHeading"}]},sH=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,aH=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,Ust=/[\w-]+\.[\w-]+($|[/:])/,oH=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,lH=/\/[a-zA-Z\d@.]+/gy;function cH(e,t,n,i){let r=0;for(let s=t;s-1)return-1;let i=t+n[0].length;for(;;){let r=e[i-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&cH(e,t,i,")")>cH(e,t,i,"("))i--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,i))))i=t+s.index;else break}return i}function uH(e,t){oH.lastIndex=t;let n=oH.exec(e);if(!n)return-1;let i=n[0][n[0].length-1];return i=="_"||i=="-"?-1:t+n[0].length-(i=="."?1:0)}const Vst={parseInline:[{name:"Autolink",parse(e,t,n){let i=n-e.offset;if(i&&/\w/.test(e.text[i-1]))return-1;sH.lastIndex=i;let r=sH.exec(e.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=zst(e.text,i+r[0].length),s>-1&&e.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(i,s));s=i+a[0].length}}else r[3]?s=uH(e.text,i):(s=uH(e.text,i+r[0].length),s>-1&&r[0]=="xmpp:"&&(lH.lastIndex=s,r=lH.exec(e.text),r&&(s=r.index+r[0].length)));return s<0?-1:(e.addElement(e.elt("URL",n,s+e.offset)),s+e.offset)}}]},qst=[Qst,Fst,$st,Vst];function Jhe(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let a=[i.elt(n,s,s+1)];for(let o=s+1;o=65&&e<=90||e==95||e>=97&&e<=122||e>=161}let pH=null,mH=null,gH=0;function L5(e,t){let n=e.pos+t;if(gH==n&&mH==e)return pH;let i=e.peek(t),r="";for(;Oat(i);)r+=String.fromCharCode(i),i=e.peek(++t);return mH=e,gH=n,pH=r?r.toLowerCase():i==yat||i==xat?void 0:null}const ope=60,E_=62,uQ=47,yat=63,xat=33,vat=45;function bH(e,t){this.name=e,this.parent=t}const wat=[cQ,ipe,epe,tpe,npe],Sat=new q2({start:null,shift(e,t,n,i){return wat.indexOf(t)>-1?new bH(L5(i,1)||"",e):e},reduce(e,t){return t==rpe&&e?e.parent:e},reuse(e,t,n,i){let r=t.type.id;return r==cQ||r==fat?new bH(L5(i,1)||"",e):e},strict:!1}),Eat=new Zr((e,t)=>{if(e.next!=ope){e.next<0&&t.context&&e.acceptToken(IR);return}e.advance();let n=e.next==uQ;n&&e.advance();let i=L5(e,0);if(i===void 0)return;if(!i)return e.acceptToken(n?aat:sat);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(nat);if(r&&bat[r])return e.acceptToken(IR,-2);if(t.dialectEnabled(pat))return e.acceptToken(iat);for(let s=t.context;s;s=s.parent)if(s.name==i)return;e.acceptToken(rat)}else{if(i=="script")return e.acceptToken(epe);if(i=="style")return e.acceptToken(tpe);if(i=="textarea")return e.acceptToken(npe);if(gat.hasOwnProperty(i))return e.acceptToken(ipe);r&&hH[r]&&hH[r][i]?e.acceptToken(IR,-1):e.acceptToken(cQ)}},{contextual:!0}),kat=new Zr(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(fH);break}if(e.next==vat)t++;else if(e.next==E_&&t>=2){n>=3&&e.acceptToken(fH,-2);break}else t=0;e.advance()}});function Tat(e){for(;e;e=e.parent)if(e.name=="svg"||e.name=="math")return!0;return!1}const _at=new Zr((e,t)=>{if(e.next==uQ&&e.peek(1)==E_){let n=t.dialectEnabled(mat)||Tat(t.context);e.acceptToken(n?tat:dH,2)}else e.next==E_&&e.acceptToken(dH,1)});function dQ(e,t,n){let i=2+e.length;return new Zr(r=>{for(let s=0,a=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(t);break}if(s==0&&r.next==ope||s==1&&r.next==uQ||s>=2&&sa?r.acceptToken(t,-a):r.acceptToken(n,-(a-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(t,1);break}else s=a=0;r.advance()}})}const Aat=dQ("script",Gst,Wst),Cat=dQ("style",Zst,Kst),Nat=dQ("textarea",Jst,eat),jat=Gd({"Text RawText IncompleteTag IncompleteCloseTag":W.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":W.angleBracket,TagName:W.tagName,"MismatchedCloseTag/TagName":[W.tagName,W.invalid],AttributeName:W.attributeName,"AttributeValue UnquotedAttributeValue":W.attributeValue,Is:W.definitionOperator,"EntityReference CharacterReference":W.character,Comment:W.blockComment,ProcessingInst:W.processingInstruction,DoctypeDecl:W.documentMeta}),Rat=Qd.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Sat,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[jat],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==cat)return PR(o,c,n);if(u==uat)return PR(o,c,i);if(u==dat)return PR(o,c,r);if(u==rpe&&s.length){let d=o.node,f=d.firstChild,h=f&&OH(f,c),p;if(h){for(let b of s)if(b.tag==h&&(!b.attrs||b.attrs(p||(p=lpe(f,c))))){let g=d.lastChild,O=g.type.id==hat?g.from:d.to;if(O>f.to)return{parser:b.parser,overlay:[{from:f.to,to:O}]}}}}if(a&&u==spe){let d=o.node,f;if(f=d.firstChild){let h=a[c.read(f.from,f.to)];if(h)for(let p of h){if(p.tagName&&p.tagName!=OH(d.parent,c))continue;let b=d.lastChild;if(b.type.id==M5){let g=b.from+1,O=b.lastChild,y=b.to-(O&&O.isError?0:1);if(y>g)return{parser:p.parser,overlay:[{from:g,to:y}],bracketed:!0}}else if(b.type.id==ape)return{parser:p.parser,overlay:[{from:b.from,to:b.to}]}}}}return null})}const Dat=145,yH=1,Iat=146,Pat=147,upe=2,Mat=148,Lat=3,$at=4,dpe=[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],Qat=58,Bat=40,fpe=95,Fat=91,xk=45,Uat=46,zat=35,Vat=37,qat=38,Xat=92,Hat=10,Yat=42;function Y1(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function fQ(e){return e>=48&&e<=57}function xH(e){return fQ(e)||e>=97&&e<=102||e>=65&&e<=70}const hpe=(e,t,n)=>(i,r)=>{for(let s=!1,a=0,o=0;;o++){let{next:c}=i;if(Y1(c)||c==xk||c==fpe||s&&fQ(c))!s&&(c!=xk||o>0)&&(s=!0),a===o&&c==xk&&a++,i.advance();else if(c==Xat&&i.peek(1)!=Hat){if(i.advance(),xH(i.next)){do i.advance();while(xH(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(a==2&&r.canShift(upe)?t:c==Bat?n:e);break}}},Gat=new Zr(hpe(Iat,upe,Pat),{contextual:!0}),Wat=new Zr(hpe(Mat,Lat,$at),{contextual:!0}),Zat=new Zr(e=>{if(dpe.includes(e.peek(-1))){let{next:t}=e;(Y1(t)||t==fpe||t==zat||t==Uat||t==Yat||t==Fat||t==Qat&&Y1(e.peek(1))||t==xk||t==qat)&&e.acceptToken(Dat)}}),Kat=new Zr(e=>{if(!dpe.includes(e.peek(-1))){let{next:t}=e;if(t==Vat&&(e.advance(),e.acceptToken(yH)),Y1(t)){do e.advance();while(Y1(e.next)||fQ(e.next));e.acceptToken(yH)}}}),Jat=Gd({"AtKeyword import charset namespace keyframes media supports font-feature-values":W.definitionKeyword,"from to selector scope MatchFlag":W.keyword,NamespaceName:W.namespace,KeyframeName:W.labelName,KeyframeRangeName:W.operatorKeyword,TagName:W.tagName,ClassName:W.className,PseudoClassName:W.constant(W.className),IdName:W.labelName,"FeatureName PropertyName":W.propertyName,AttributeName:W.attributeName,NumberLiteral:W.number,KeywordQuery:W.keyword,UnaryQueryOp:W.operatorKeyword,"CallTag ValueName FontName":W.atom,VariableName:W.variableName,Callee:W.operatorKeyword,Unit:W.unit,"UniversalSelector NestingSelector":W.definitionOperator,"MatchOp CompareOp":W.compareOperator,"ChildOp SiblingOp, LogicOp":W.logicOperator,BinOp:W.arithmeticOperator,Important:W.modifier,Comment:W.blockComment,ColorLiteral:W.color,"ParenthesizedContent StringLiteral":W.string,":":W.punctuation,"PseudoOp #":W.derefOperator,"; , |":W.separator,"( )":W.paren,"[ ]":W.squareBracket,"{ }":W.brace}),eot={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},tot={__proto__:null,or:104,and:104,not:112,only:112,layer:206},not={__proto__:null,selector:118,style:124,layer:202},iot={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},rot={__proto__:null,to:243},sot=Qd.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[Zat,Kat,Gat,Wat,1,2,3,4,new y_("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:e=>eot[e]||-1},{term:148,get:e=>tot[e]||-1},{term:4,get:e=>not[e]||-1},{term:28,get:e=>iot[e]||-1},{term:146,get:e=>rot[e]||-1}],tokenPrec:2405});let MR=null;function LR(){if(!MR&&typeof document=="object"&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)i!="cssText"&&i!="cssFloat"&&typeof e[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));MR=t.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return MR||[]}const vH=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),wH=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),aot=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),oot=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),Uu=/^(\w[\w-]*|-\w[\w-]*|)$/,lot=/^-(-[\w-]*)?$/;function cot(e,t){var n;if((e.name=="("||e.type.isError)&&(e=e.parent||e),e.name!="ArgList")return!1;let i=(n=e.parent)===null||n===void 0?void 0:n.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:t.sliceString(i.from,i.to)=="var"}const SH=new S6,uot=["Declaration"];function dot(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function ppe(e,t,n){if(t.to-t.from>4096){let i=SH.get(t);if(i)return i;let r=[],s=new Set,a=t.cursor(fi.IncludeAnonymous);if(a.firstChild())do for(let o of ppe(e,a.node,n))s.has(o.label)||(s.add(o.label),r.push(o));while(a.nextSibling());return SH.set(t,r),r}else{let i=[],r=new Set;return t.cursor().iterate(s=>{var a;if(n(s)&&s.matchContext(uot)&&((a=s.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let o=e.sliceString(s.from,s.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}const fot=e=>t=>{let{state:n,pos:i}=t,r=Mi(n).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&n.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:LR(),validFor:Uu};if(r.name=="ValueName")return{from:r.from,options:wH,validFor:Uu};if(r.name=="PseudoClassName")return{from:r.from,options:vH,validFor:Uu};if(e(r)||(t.explicit||s)&&cot(r,n.doc))return{from:e(r)||s?r.from:i,options:ppe(n.doc,dot(r),e),validFor:lot};if(r.name=="TagName"){for(let{parent:c}=r;c;c=c.parent)if(c.name=="Block")return{from:r.from,options:LR(),validFor:Uu};return{from:r.from,options:aot,validFor:Uu}}if(r.name=="AtKeyword")return{from:r.from,options:oot,validFor:Uu};if(!t.explicit)return null;let a=r.resolve(i),o=a.childBefore(i);return o&&o.name==":"&&a.name=="PseudoClassSelector"?{from:i,options:vH,validFor:Uu}:o&&o.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:i,options:wH,validFor:Uu}:a.name=="Block"||a.name=="Styles"?{from:i,options:LR(),validFor:Uu}:null},hot=fot(e=>e.name=="VariableName"),k_=$d.define({name:"css",parser:sot.configure({props:[Wd.add({Declaration:j0()}),Zd.add({"Block KeyframeList":Kv})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function pot(){return new Nh(k_,k_.data.of({autocomplete:hot}))}const oy=["_blank","_self","_top","_parent"],$R=["ascii","utf-8","utf-16","latin1","latin1"],QR=["get","post","put","delete"],BR=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],ko=["true","false"],Bt={},mot={a:{attrs:{href:null,ping:null,type:null,media:null,target:oy,hreflang:null}},abbr:Bt,address:Bt,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Bt,aside:Bt,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Bt,base:{attrs:{href:null,target:oy}},bdi:Bt,bdo:Bt,blockquote:{attrs:{cite:null}},body:Bt,br:Bt,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:BR,formmethod:QR,formnovalidate:["novalidate"],formtarget:oy,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Bt,center:Bt,cite:Bt,code:Bt,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Bt,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Bt,div:Bt,dl:Bt,dt:Bt,em:Bt,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Bt,figure:Bt,footer:Bt,form:{attrs:{action:null,name:null,"accept-charset":$R,autocomplete:["on","off"],enctype:BR,method:QR,novalidate:["novalidate"],target:oy}},h1:Bt,h2:Bt,h3:Bt,h4:Bt,h5:Bt,h6:Bt,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Bt,hgroup:Bt,hr:Bt,html:{attrs:{manifest:null}},i:Bt,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:BR,formmethod:QR,formnovalidate:["novalidate"],formtarget:oy,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Bt,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Bt,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Bt,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:$R,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Bt,noscript:Bt,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Bt,param:{attrs:{name:null,value:null}},pre:Bt,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Bt,rt:Bt,ruby:Bt,samp:Bt,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:$R}},section:Bt,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Bt,source:{attrs:{src:null,type:null,media:null}},span:Bt,strong:Bt,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Bt,summary:Bt,sup:Bt,table:Bt,tbody:Bt,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Bt,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Bt,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Bt,time:{attrs:{datetime:null}},title:Bt,tr:Bt,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Bt,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Bt},mpe={accesskey:null,class:null,contenteditable:ko,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:ko,autocorrect:ko,autocapitalize:ko,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":ko,"aria-autocomplete":["inline","list","both","none"],"aria-busy":ko,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":ko,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":ko,"aria-hidden":ko,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":ko,"aria-multiselectable":ko,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":ko,"aria-relevant":null,"aria-required":ko,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},gpe="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of gpe)mpe[e]=null;class G1{constructor(t,n){this.tags={...mot,...t},this.globalAttrs={...mpe,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}G1.default=new G1;function Sb(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Eb(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function bpe(e,t,n){let i=n.tags[Sb(e,Eb(t))];return(i==null?void 0:i.children)||n.allTags}function hQ(e,t){let n=[];for(let i=Eb(t);i&&!i.type.isTop;i=Eb(i.parent)){let r=Sb(e,i);if(r&&i.lastChild.name=="CloseTag")break;r&&n.indexOf(r)<0&&(t.name=="EndTag"||t.from>=i.firstChild.to)&&n.push(r)}return n}const Ope=/^[:\-\.\w\u00b7-\uffff]*$/;function EH(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">",a=Eb(n,n.name=="StartTag"||n.name=="TagName");return{from:i,to:r,options:bpe(e.doc,a,t).map(o=>({label:o,type:"type"})).concat(hQ(e.doc,n).map((o,c)=>({label:"/"+o,apply:"/"+o+s,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function kH(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:hQ(e.doc,t).map((s,a)=>({label:s,apply:s+r,type:"type",boost:99-a})),validFor:Ope}}function got(e,t,n,i){let r=[],s=0;for(let a of bpe(e.doc,n,t))r.push({label:"<"+a,type:"type"});for(let a of hQ(e.doc,n))r.push({label:"",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function bot(e,t,n,i,r){let s=Eb(n),a=s?t.tags[Sb(e.doc,s)]:null,o=a&&a.attrs?Object.keys(a.attrs):[],c=a&&a.globalAttrs===!1?o:o.length?o.concat(t.globalAttrNames):t.globalAttrNames;return{from:i,to:r,options:c.map(u=>({label:u,type:"property"})),validFor:Ope}}function Oot(e,t,n,i,r){var s;let a=(s=n.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),o=[],c;if(a){let u=e.sliceDoc(a.from,a.to),d=t.globalAttrs[u];if(!d){let f=Eb(n),h=f?t.tags[Sb(e.doc,f)]:null;d=(h==null?void 0:h.attrs)&&h.attrs[u]}if(d){let f=e.sliceDoc(i,r).toLowerCase(),h='"',p='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",p=e.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),i++):c=/^[^\s<>='"]*$/;for(let b of d)o.push({label:b,apply:h+b+p,type:"constant"})}}return{from:i,to:r,options:o,validFor:c}}function ype(e,t){let{state:n,pos:i}=t,r=Mi(n).resolveInner(i,-1),s=r.resolve(i);for(let a=i,o;s==r&&(o=r.childBefore(a));){let c=o.lastChild;if(!c||!c.type.isError||c.fromype(i,r)}const vot=uu.parser.configure({top:"SingleExpression"}),xpe=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:_he.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Ahe.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:Che.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:vot},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:uu.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:k_.parser}],vpe=[{name:"style",parser:k_.parser.configure({top:"Styles"})}].concat(gpe.map(e=>({name:e,parser:uu.parser}))),wpe=$d.define({name:"html",parser:Rat.configure({props:[Wd.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),vk=wpe.configure({wrap:cpe(xpe,vpe)});function wot(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=cpe((e.nestedLanguages||[]).concat(xpe),(e.nestedAttributes||[]).concat(vpe)));let i=n?wpe.configure({wrap:n,dialect:t}):t?vk.configure({dialect:t}):vk;return new Nh(i,[vk.data.of({autocomplete:xot(e)}),e.autoCloseTags!==!1?Sot:[],j5().support,pot().support])}const TH=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Sot=ht.inputHandler.of((e,t,n,i,r)=>{if(e.composing||e.state.readOnly||t!=n||i!=">"&&i!="/"||!vk.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,o=a.changeByRange(c=>{var u,d,f;let h=a.doc.sliceString(c.from-1,c.to)==i,{head:p}=c,b=Mi(a).resolveInner(p,-1),g;if(h&&i==">"&&b.name=="EndTag"){let O=b.parent;if(((d=(u=O.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(g=Sb(a.doc,O.parent,p))&&!TH.has(g)){let y=p+(a.doc.sliceString(p,p+1)===">"?1:0),v=``;return{range:c,changes:{from:p,to:y,insert:v}}}}else if(h&&i=="/"&&b.name=="IncompleteCloseTag"){let O=b.parent;if(b.from==p-2&&((f=O.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(g=Sb(a.doc,O,p))&&!TH.has(g)){let y=p+(a.doc.sliceString(p,p+1)===">"?1:0),v=`${g}>`;return{range:$e.cursor(p+v.length,-1),changes:{from:p,to:y,insert:v}}}}return{range:c}});return o.changes.empty?!1:(e.dispatch([s,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Spe=U2({commentTokens:{block:{open:""}}}),Epe=new rn,kpe=Ist.configure({props:[Zd.add(e=>!e.is("Block")||e.is("Document")||$5(e)!=null||Eot(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Epe.add($5),Wd.add({Document:()=>null}),Xf.add({Document:Spe})]});function $5(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Eot(e){return e.name=="OrderedList"||e.name=="BulletList"}function kot(e,t){let n=e;for(;;){let i=n.nextSibling,r;if(!i||(r=$5(i.type))!=null&&r<=t)break;n=i}return n.to}const Tot=Vfe.of((e,t,n)=>{for(let i=Mi(e).resolveInner(n,-1);i&&!(i.fromn)return{from:n,to:s}}return null});function pQ(e){return new Fo(Spe,e,[],"markdown")}const _ot=pQ(kpe),Aot=kpe.configure([qst,Hst,Xst,Yst,{props:[Zd.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),T_=pQ(Aot);function Cot(e,t){return n=>{if(n&&e){let i=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?i=e(n):i=p_.matchLanguageName(e,n,!0),i instanceof p_)return i.support?i.support.language.parser:mm.getSkippingParser(i.load());if(i)return i.parser}return t?t.parser:null}}let FR=class{constructor(t,n,i,r,s,a,o){this.node=t,this.from=n,this.to=i,this.spaceBefore=r,this.spaceAfter=s,this.type=a,this.item=o}blank(t,n=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;i.length0;r--)i+=" ";return i+(n?this.spaceAfter:"")}}marker(t,n){let i=this.node.name=="OrderedList"?String(+_pe(this.item,t)[2]+n):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function Tpe(e,t){let n=[],i=[];for(let r=e;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&n.push(r)}for(let r=n.length-1;r>=0;r--){let s=n[r],a,o=t.lineAt(s.from),c=s.from-o.from;if(s.name=="Blockquote"&&(a=/^ *>( ?)/.exec(o.text.slice(c))))i.push(new FR(s,c,c+a[0].length,"",a[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(c)))){let u=a[3],d=a[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),i.push(new FR(s.parent,c,c+d,a[1],u,a[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(c)))){let u=a[4],d=a[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=a[2];a[3]&&(f+=a[3].replace(/[xX]/," ")),i.push(new FR(s.parent,c,c+d,a[1],u,f,s))}}return i}function _pe(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function UR(e,t,n,i=0){for(let r=-1,s=e;;){if(s.name=="ListItem"){let o=_pe(s,t),c=+o[2];if(r>=0){if(c!=r+1)return;n.push({from:s.from+o[1].length,to:s.from+o[0].length,insert:String(r+2+i)})}r=c}let a=s.nextSibling;if(!a)break;s=a}}function mQ(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(dO)!=" ")return e;let i=mc(e,4,n),r="";for(let s=i;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+e.slice(n)}const Not=(e={})=>({state:t,dispatch:n})=>{let i=Mi(t),{doc:r}=t,s=null,a=t.changeByRange(o=>{if(!o.empty||!T_.isActiveAt(t,o.from,-1)&&!T_.isActiveAt(t,o.from,1))return s={range:o};let c=o.from,u=r.lineAt(c),d=Tpe(i.resolveInner(c,-1),r);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return s={range:o};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return s={range:o};let h=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&h){let y=f.node.firstChild,v=f.node.getChild("ListItem","ListItem");if(y.to>=c||v&&v.to0&&!/[^\s>]/.test(r.lineAt(u.from-1).text)||e.nonTightLists===!1){let x=d.length>1?d[d.length-2]:null,w,E="";x&&x.item?(w=u.from+x.from,E=x.marker(r,1)):w=u.from+(x?x.to:0);let S=[{from:w,to:c,insert:E}];return f.node.name=="OrderedList"&&UR(f.item,r,S,-2),x&&x.node.name=="OrderedList"&&UR(x.item,r,S),{range:$e.cursor(w+E.length),changes:S}}else{let x=AH(d,t,u);return{range:$e.cursor(c+x.length+1),changes:{from:u.from,insert:x+t.lineBreak}}}}if(f.node.name=="Blockquote"&&h&&u.from){let y=r.lineAt(u.from-1),v=/>\s*$/.exec(y.text);if(v&&v.index==f.from){let x=t.changes([{from:y.from+v.index,to:y.to},{from:u.from+f.from,to:u.to}]);return{range:o.map(x),changes:x}}}let p=[];f.node.name=="OrderedList"&&UR(f.item,r,p);let b=f.item&&f.item.from]*/.exec(u.text)[0].length>=f.to)for(let y=0,v=d.length-1;y<=v;y++)g+=y==v&&!b?d[y].marker(r,1):d[y].blank(yu.from&&/\s/.test(u.text.charAt(O-u.from-1));)O--;return g=mQ(g,t),Rot(f.node,t.doc)&&(g=AH(d,t,u)+t.lineBreak+g),p.push({from:O,to:c,insert:t.lineBreak+g}),{range:$e.cursor(O+g.length+1),changes:p}});return s?!1:(n(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},jot=Not();function _H(e){return e.name=="QuoteMark"||e.name=="ListMark"}function Rot(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,i=e.getChild("ListItem","ListItem");if(!i)return!1;let r=t.lineAt(n.to),s=t.lineAt(i.from),a=/^[\s>]*$/.test(r.text);return r.number+(a?0:1){let n=Mi(e),i=null,r=e.changeByRange(s=>{let a=s.from,{doc:o}=e;if(s.empty&&T_.isActiveAt(e,s.from)){let c=o.lineAt(a),u=Tpe(Dot(n,a),o);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(a-c.from>f&&!/\S/.test(c.text.slice(f,a-c.from)))return{range:$e.cursor(c.from+f),changes:{from:c.from+f,to:a}};if(a-c.from==f&&(d.item&&c.from<=d.item.from||/^[\s>]*$/.test(c.text.slice(0,d.to)))){let h=c.from+d.from;if(d.item&&d.node.from{var n;let{main:i}=t.state.selection;if(i.empty)return!1;let r=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!T_.isActiveAt(t.state,i.from,1)))return!1;let s=Mi(t.state),a=!1;return s.iterate({from:i.from,to:i.to,enter:o=>{(o.from>i.from||Qot.test(o.name))&&(a=!0)},leave:o=>{o.to=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const Blt=new Zr((e,t)=>{let n;if(e.next<0)e.acceptToken(Vot);else if(t.context.flags&wk)VR(e.next)&&e.acceptToken(zot,1);else if(((n=e.peek(-1))<0||VR(n))&&t.canShift(CH)){let i=0;for(;e.next==gQ||e.next==Y2;)e.advance(),i++;(e.next==Om||e.next==W1||e.next==bQ)&&e.acceptToken(CH,-i)}else VR(e.next)&&e.acceptToken(Uot,1)},{contextual:!0}),Flt=new Zr((e,t)=>{let n=t.context;if(n.flags)return;let i=e.peek(-1);if(i==Om||i==W1){let r=0,s=0;for(;;){if(e.next==gQ)r++;else if(e.next==Y2)r+=8-r%8;else break;e.advance(),s++}r!=n.indent&&e.next!=Om&&e.next!=W1&&e.next!=bQ&&(r[e,t|Ppe])),Vlt=new q2({start:Ult,reduce(e,t,n,i){return e.flags&wk&&Qlt.has(t)||(t==olt||t==Rpe)&&e.flags&Ppe?e.parent:e},shift(e,t,n,i){return t==Cpe?new Sk(e,zlt(i.read(i.pos,n.pos)),0):t==Npe?e.parent:t==Hot||t==Zot||t==elt||t==jpe?new Sk(e,0,wk):DH.has(t)?new Sk(e,0,DH.get(t)|e.flags&wk):e},hash(e){return e.hash}}),qlt=new Zr(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let n=e.peek(t);if(!(n==gQ||n==Y2)){n!=Rlt&&n!=Dlt&&n!=Om&&n!=W1&&n!=bQ&&e.acceptToken(Fot);return}}}),Xlt=new Zr((e,t)=>{let{flags:n}=t.context,i=n&Yu?Ipe:Dpe,r=(n&Gu)>0,s=!(n&Wu),a=(n&Zu)>0,o=e.pos;for(;!(e.next<0);)if(a&&e.next==Q5)if(e.peek(1)==Q5)e.advance(2);else{if(e.pos==o){e.acceptToken(jpe,1);return}break}else if(s&&e.next==RH){if(e.pos==o){e.advance();let c=e.next;c>=0&&(e.advance(),Hlt(e,c)),e.acceptToken(Xot);return}break}else if(e.next==RH&&!s&&e.peek(1)>-1)e.advance(2);else if(e.next==i&&(!r||e.peek(1)==i&&e.peek(2)==i)){if(e.pos==o){e.acceptToken(NH,r?3:1);return}break}else if(e.next==Om){if(r)e.advance();else if(e.pos==o){e.acceptToken(NH);return}break}else e.advance();e.pos>o&&e.acceptToken(qot)});function Hlt(e,t){if(t==Ilt)for(let n=0;n<2&&e.next>=48&&e.next<=55;n++)e.advance();else if(t==Plt)for(let n=0;n<2&&qR(e.next);n++)e.advance();else if(t==Llt)for(let n=0;n<4&&qR(e.next);n++)e.advance();else if(t==$lt)for(let n=0;n<8&&qR(e.next);n++)e.advance();else if(t==Mlt&&e.next==Q5){for(e.advance();e.next>=0&&e.next!=jH&&e.next!=Dpe&&e.next!=Ipe&&e.next!=Om;)e.advance();e.next==jH&&e.advance()}}const Ylt=Gd({'async "*" "**" FormatConversion FormatSpec':W.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":W.controlKeyword,"in not and or is del":W.operatorKeyword,"from def class global nonlocal lambda":W.definitionKeyword,import:W.moduleKeyword,"with as print":W.keyword,Boolean:W.bool,None:W.null,VariableName:W.variableName,"CallExpression/VariableName":W.function(W.variableName),"FunctionDefinition/VariableName":W.function(W.definition(W.variableName)),"ClassDefinition/VariableName":W.definition(W.className),PropertyName:W.propertyName,"CallExpression/MemberExpression/PropertyName":W.function(W.propertyName),Comment:W.lineComment,Number:W.number,String:W.string,FormatString:W.special(W.string),Escape:W.escape,UpdateOp:W.updateOperator,"ArithOp!":W.arithmeticOperator,BitOp:W.bitwiseOperator,CompareOp:W.compareOperator,AssignOp:W.definitionOperator,Ellipsis:W.punctuation,At:W.meta,"( )":W.paren,"[ ]":W.squareBracket,"{ }":W.brace,".":W.derefOperator,", ;":W.separator}),Glt={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Wlt=Qd.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[qlt,Flt,Blt,Xlt,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>Glt[e]||-1}],tokenPrec:7668}),IH=new S6,Mpe=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function cE(e){return(t,n,i)=>{if(i)return!1;let r=t.node.getChild("VariableName");return r&&n(r,e),!0}}const Zlt={FunctionDefinition:cE("function"),ClassDefinition:cE("class"),ForStatement(e,t,n){if(n){for(let i=e.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")t(i,"variable");else if(i.name=="in")break}},ImportStatement(e,t){var n,i;let{node:r}=e,s=((n=r.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let a=r.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((i=a.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&t(a,s?"variable":"namespace")},AssignStatement(e,t){for(let n=e.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")t(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(e,t){for(let n=null,i=e.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&t(i,"variable"),n=i},CapturePattern:cE("variable"),AsPattern:cE("variable"),__proto__:null};function Lpe(e,t){let n=IH.get(t);if(n)return n;let i=[],r=!0;function s(a,o){let c=e.sliceString(a.from,a.to);i.push({label:c,type:o})}return t.cursor(fi.IncludeAnonymous).iterate(a=>{if(a.name){let o=Zlt[a.name];if(o&&o(a,s,r)||!r&&Mpe.has(a.name))return!1;r=!1}else if(a.to-a.from>8192){for(let o of Lpe(e,a.node))i.push(o);return!1}}),IH.set(t,i),i}const PH=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,$pe=["String","FormatString","Comment","PropertyName"];function Klt(e){let t=Mi(e.state).resolveInner(e.pos,-1);if($pe.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&PH.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)Mpe.has(r.name)&&(i=i.concat(Lpe(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:PH}}const Jlt=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),ect=[_r("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),_r("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),_r("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),_r("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),_r(`if \${}: +`);i=r<0?n:n.slice(0,r)}return t+i.length>this.to?i.slice(0,this.to-t):i}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(t,n,i=0){this.block=A_.create(t,i,this.lineStart+n,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(t,n,i=0){this.startContext(this.parser.getNodeType(t),n,i)}addNode(t,n,i){typeof t=="number"&&(t=new Dn(this.parser.nodeSet.types[t],Nb,Nb,(i??this.prevLineEnd())-n)),this.block.addChild(t,n-this.block.from)}addElement(t){this.block.addChild(t.toTree(this.parser.nodeSet),t.from-this.block.from)}addLeafElement(t,n){this.addNode(this.buffer.writeElements(VL(n.children,t.marks),-n.from).finish(n.type,n.to-n.from),n.from)}finishContext(){let t=this.stack.pop(),n=this.stack[this.stack.length-1];n.addChild(t.toTree(this.parser.nodeSet),t.from-n.from),this.block=n}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(t){return this.ranges.length>1?ape(this.ranges,0,t.topNode,this.ranges[0].from,this.reusePlaceholders):t}finishLeaf(t){for(let i of t.parsers)if(i.finish(this,t))return;let n=VL(this.parser.parseInline(t.content,t.start),t.marks);this.addNode(this.buffer.writeElements(n,-t.start).finish(ct.Paragraph,t.content.length),t.start)}elt(t,n,i,r){return typeof t=="string"?si(this.parser.getNodeType(t),n,i,r):new cpe(t,n)}get buffer(){return new lpe(this.parser.nodeSet)}}function ape(e,t,n,i,r){let s=e[t].to,a=[],o=[],c=n.from+i;function u(d,f){for(;f?d>=s:d>s;){let h=e[t+1].from-s;i+=h,d+=h,t++,s=e[t].to}}for(let d=n.firstChild;d;d=d.nextSibling){u(d.from+i,!0);let f=d.from+i,h,p=r.get(d.tree);p?h=p:d.to+i>s?(h=ape(e,t,d,i,r),u(d.to+i,!1)):h=d.toTree(),a.push(h),o.push(f-c)}return u(n.to+i,!1),new Dn(n.type,a,o,n.to+i-c,n.tree?n.tree.propValues:void 0)}class J2 extends B2{constructor(t,n,i,r,s,a,o,c,u){super(),this.nodeSet=t,this.blockParsers=n,this.leafBlockParsers=i,this.blockNames=r,this.endLeafBlock=s,this.skipContextMarkup=a,this.inlineParsers=o,this.inlineNames=c,this.wrappers=u,this.nodeTypes=Object.create(null);for(let d of t.types)this.nodeTypes[d.name]=d.id}createParse(t,n,i){let r=new Xst(this,t,n,i);for(let s of this.wrappers)r=s(r,t,n,i);return r}configure(t){let n=zL(t);if(!n)return this;let{nodeSet:i,skipContextMarkup:r}=this,s=this.blockParsers.slice(),a=this.leafBlockParsers.slice(),o=this.blockNames.slice(),c=this.inlineParsers.slice(),u=this.inlineNames.slice(),d=this.endLeafBlock.slice(),f=this.wrappers;if(py(n.defineNodes)){r=Object.assign({},r);let h=i.types.slice(),p;for(let b of n.defineNodes){let{name:g,block:O,composite:y,style:v}=typeof b=="string"?{name:b}:b;if(h.some(E=>E.name==g))continue;y&&(r[h.length]=(E,S,k)=>y(S,k,E.value));let x=h.length,w=y?["Block","BlockContext"]:O?x>=ct.ATXHeading1&&x<=ct.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;h.push(ms.define({id:x,name:g,props:w&&[[un.group,w]]})),v&&(p||(p={}),Array.isArray(v)||v instanceof tu?p[g]=v:Object.assign(p,v))}i=new bO(h),p&&(i=i.extend(nf(p)))}if(py(n.props)&&(i=i.extend(...n.props)),py(n.remove))for(let h of n.remove){let p=this.blockNames.indexOf(h),b=this.inlineNames.indexOf(h);p>-1&&(s[p]=a[p]=void 0),b>-1&&(c[b]=void 0)}if(py(n.parseBlock))for(let h of n.parseBlock){let p=o.indexOf(h.name);if(p>-1)s[p]=h.parse,a[p]=h.leaf;else{let b=h.before?fE(o,h.before):h.after?fE(o,h.after)+1:o.length-1;s.splice(b,0,h.parse),a.splice(b,0,h.leaf),o.splice(b,0,h.name)}h.endLeaf&&d.push(h.endLeaf)}if(py(n.parseInline))for(let h of n.parseInline){let p=u.indexOf(h.name);if(p>-1)c[p]=h.parse;else{let b=h.before?fE(u,h.before):h.after?fE(u,h.after)+1:u.length-1;c.splice(b,0,h.parse),u.splice(b,0,h.name)}}return n.wrap&&(f=f.concat(n.wrap)),new J2(i,s,a,o,d,r,c,u,f)}getNodeType(t){let n=this.nodeTypes[t];if(n==null)throw new RangeError(`Unknown node type '${t}'`);return n}parseInline(t,n){let i=new OQ(this,t,n);e:for(let r=n;r=0){r=o;continue e}}r++}return i.resolveMarkers(0)}}function py(e){return e!=null&&e.length>0}function zL(e){if(!Array.isArray(e))return e;if(e.length==0)return null;let t=zL(e[0]);if(e.length==1)return t;let n=zL(e.slice(1));if(!n||!t)return t||n;let i=(a,o)=>(a||Nb).concat(o||Nb),r=t.wrap,s=n.wrap;return{props:i(t.props,n.props),defineNodes:i(t.defineNodes,n.defineNodes),parseBlock:i(t.parseBlock,n.parseBlock),parseInline:i(t.parseInline,n.parseInline),remove:i(t.remove,n.remove),wrap:r?s?(a,o,c,u)=>r(s(a,o,c,u),o,c,u):r:s}}function fE(e,t){let n=e.indexOf(t);if(n<0)throw new RangeError(`Position specified relative to unknown parser ${t}`);return n}let ope=[ms.none];for(let e=1,t;t=ct[e];e++)ope[e]=ms.define({id:e,name:t,props:e>=ct.Escape?[]:[[un.group,e in Whe?["Block","BlockContext"]:["Block","LeafBlock"]]],top:t=="Document"});const Nb=[];class lpe{constructor(t){this.nodeSet=t,this.content=[],this.nodes=[]}write(t,n,i,r=0){return this.content.push(t,n,i,4+r*4),this}writeElements(t,n=0){for(let i of t)i.writeTo(this,n);return this}finish(t,n){return Dn.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:t,length:n})}}let ev=class{constructor(t,n,i,r=Nb){this.type=t,this.from=n,this.to=i,this.children=r}writeTo(t,n){let i=t.content.length;t.writeElements(this.children,n),t.content.push(this.type,this.from+n,this.to+n,t.content.length+4-i)}toTree(t){return new lpe(t).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class cpe{constructor(t,n){this.tree=t,this.from=n}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Nb}writeTo(t,n){t.nodes.push(this.tree),t.content.push(t.nodes.length-1,this.from+n,this.to+n,-1)}toTree(){return this.tree}}function si(e,t,n,i){return new ev(e,t,n,i)}const upe={resolve:"Emphasis",mark:"EmphasisMark"},dpe={resolve:"Emphasis",mark:"EmphasisMark"},Ap={},C_={};class Fo{constructor(t,n,i,r){this.type=t,this.from=n,this.to=i,this.side=r}}const dH="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let tv=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{tv=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const UR={Escape(e,t,n){if(t!=92||n==e.end-1)return-1;let i=e.char(n+1);for(let r=0;r]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(i);if(r)return e.append(si(ct.Autolink,n,n+1+r[0].length,[si(ct.LinkMark,n,n+1),si(ct.URL,n+1,n+r[0].length),si(ct.LinkMark,n+r[0].length,n+1+r[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(i);if(s)return e.append(si(ct.Comment,n,n+1+s[0].length));let a=/^\?[^]*?\?>/.exec(i);if(a)return e.append(si(ct.ProcessingInstruction,n,n+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return o?e.append(si(ct.HTMLTag,n,n+1+o[0].length)):-1},Emphasis(e,t,n){if(t!=95&&t!=42)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),a=tv.test(r),o=tv.test(s),c=/\s|^$/.test(r),u=/\s|^$/.test(s),d=!u&&(!o||c||a),f=!c&&(!a||u||o),h=d&&(t==42||!f||a),p=f&&(t==42||!d||o);return e.append(new Fo(t==95?upe:dpe,n,i,(h?1:0)|(p?2:0)))},HardBreak(e,t,n){if(t==92&&e.char(n+1)==10)return e.append(si(ct.HardBreak,n,n+2));if(t==32){let i=n+1;for(;e.char(i)==32;)i++;if(e.char(i)==10&&i>=n+2)return e.append(si(ct.HardBreak,n,i+1))}return-1},Link(e,t,n){return t==91?e.append(new Fo(Ap,n,n+1,1)):-1},Image(e,t,n){return t==33&&e.char(n+1)==91?e.append(new Fo(C_,n,n+2,1)):-1},LinkEnd(e,t,n){if(t!=93)return-1;for(let i=e.parts.length-1;i>=0;i--){let r=e.parts[i];if(r instanceof Fo&&(r.type==Ap||r.type==C_)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[i]=null,-1;let s=e.takeContent(i),a=e.parts[i]=Hst(e,s,r.type==Ap?ct.Link:ct.Image,r.from,n+1);if(r.type==Ap)for(let o=0;ot?si(ct.URL,t+n,s+n):s==e.length?null:!1}}function hpe(e,t,n){let i=e.charCodeAt(t);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let s=t+1,a=!1;s=this.end?-1:this.text.charCodeAt(t-this.offset)}get end(){return this.offset+this.text.length}slice(t,n){return this.text.slice(t-this.offset,n-this.offset)}append(t){return this.parts.push(t),t.to}addDelimiter(t,n,i,r,s){return this.append(new Fo(t,n,i,(r?1:0)|(s?2:0)))}get hasOpenLink(){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof Fo&&(n.type==Ap||n.type==C_))return!0}return!1}addElement(t){return this.append(t)}resolveMarkers(t){for(let i=t;i=t;c--){let g=this.parts[c];if(g instanceof Fo&&g.side&1&&g.type==r.type&&!(s&&(r.side&1||g.side&2)&&(g.to-g.from+a)%3==0&&((g.to-g.from)%3||a%3))){o=g;break}}if(!o)continue;let u=r.type.resolve,d=[],f=o.from,h=r.to;if(s){let g=Math.min(2,o.to-o.from,a);f=o.to-g,h=r.from+g,u=g==1?"Emphasis":"StrongEmphasis"}o.type.mark&&d.push(this.elt(o.type.mark,f,o.to));for(let g=c+1;g=0;n--){let i=this.parts[n];if(i instanceof Fo&&i.type==t&&i.side&1)return n}return null}takeContent(t){let n=this.resolveMarkers(t);return this.parts.length=t,n}getDelimiterAt(t){let n=this.parts[t];return n instanceof Fo?n:null}skipSpace(t){return Lx(this.text,t-this.offset)+this.offset}elt(t,n,i,r){return typeof t=="string"?si(this.parser.getNodeType(t),n,i,r):new cpe(t,n)}}OQ.linkStart=Ap;OQ.imageStart=C_;function VL(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let r of t){for(;i(t?t-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=t+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=n;if(!i.childAfter(r))return!1}}matches(t){let n=this.cursor.tree;return n&&n.prop(un.contextHash)==t}takeNodes(t){let n=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),s=t.absoluteLineStart,a=s,o=t.block.children.length,c=a,u=o;for(;;){if(n.to-i>r){if(n.type.isAnonymous&&n.firstChild())continue;break}let d=mpe(n.from-i,t.ranges);if(n.to-i<=t.ranges[t.rangeI].to)t.addNode(n.tree,d);else{let f=new Dn(t.parser.nodeSet.types[ct.Paragraph],[],[],0,t.block.hashProp);t.reusePlaceholders.set(f,n.tree),t.addNode(f,d)}if(n.type.is("Block")&&(Gst.indexOf(n.type.id)<0?(a=n.to-i,o=t.block.children.length):(a=c,o=u),c=n.to-i,u=t.block.children.length),!n.nextSibling())break}for(;t.block.children.length>o;)t.block.children.pop(),t.block.positions.pop();return a-s}}function mpe(e,t){let n=e;for(let i=1;idE[e]),Object.keys(dE).map(e=>spe[e]),Object.keys(dE),Vst,Whe,Object.keys(UR).map(e=>UR[e]),Object.keys(UR),[]);function Kst(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let a=r?r.from:n;if(a>s&&i.push({from:s,to:a}),!r)break;s=r.to}return i}function Jst(e){let{codeParser:t,htmlParser:n}=e;return{wrap:jde((r,s)=>{let a=r.type.id;if(t&&(a==ct.CodeBlock||a==ct.FencedCode)){let o="";if(a==ct.FencedCode){let u=r.node.getChild(ct.CodeInfo);u&&(o=s.read(u.from,u.to))}let c=t(o);if(c)return{parser:c,overlay:u=>u.type.id==ct.CodeText,bracketed:a==ct.FencedCode}}else if(n&&(a==ct.HTMLBlock||a==ct.HTMLTag||a==ct.CommentBlock))return{parser:n,overlay:Kst(r.node,r.from,r.to)};return null})}}const eat={resolve:"Strikethrough",mark:"StrikethroughMark"},tat={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":W.strikethrough}},{name:"StrikethroughMark",style:W.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(t!=126||e.char(n+1)!=126||e.char(n+2)==126)return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),a=/\s|^$/.test(r),o=tv.test(i),c=tv.test(r);return e.addDelimiter(eat,n,n+2,!a&&(!c||s||o),!s&&(!o||a||c))},after:"Emphasis"}]};function $x(e,t,n=0,i,r=0){let s=0,a=!0,o=-1,c=-1,u=!1,d=()=>{i.push(e.elt("TableCell",r+o,r+c,e.parser.parseInline(t.slice(o,c),r+o)))};for(let f=n;f-1)&&s++,a=!1,i&&(o>-1&&d(),i.push(e.elt("TableDelimiter",f+r,f+r+1))),o=c=-1):(u||h!=32&&h!=9)&&(o<0&&(o=f),c=f+1),u=!u&&h==92}return o>-1&&(s++,i&&d()),s}function fH(e,t){for(let n=t;n\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class hH{constructor(){this.rows=null}nextLine(t,n,i){if(this.rows==null){this.rows=!1;let r;if((n.next==45||n.next==58||n.next==124)&&gpe.test(r=n.text.slice(n.pos))){let s=[];$x(t,i.content,0,s,i.start)==$x(t,r,0)&&(this.rows=[t.elt("TableHeader",i.start,i.start+i.content.length,s),t.elt("TableDelimiter",t.lineStart+n.pos,t.lineStart+n.text.length)])}}else if(this.rows){let r=[];$x(t,n.text,n.pos,r,t.lineStart),this.rows.push(t.elt("TableRow",t.lineStart+n.pos,t.lineStart+n.text.length,r))}return!1}finish(t,n){return this.rows?(t.addLeafElement(n,t.elt("Table",n.start,n.start+n.content.length,this.rows)),!0):!1}}const nat={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":W.heading}},"TableRow",{name:"TableCell",style:W.content},{name:"TableDelimiter",style:W.processingInstruction}],parseBlock:[{name:"Table",leaf(e,t){return fH(t.content,0)?new hH:null},endLeaf(e,t,n){if(n.parsers.some(r=>r instanceof hH)||!fH(t.text,t.basePos))return!1;let i=e.peekLine();return gpe.test(i)&&$x(e,t.text,t.basePos)==$x(e,i,t.basePos)},before:"SetextHeading"}]};class iat{nextLine(){return!1}finish(t,n){return t.addLeafElement(n,t.elt("Task",n.start,n.start+n.content.length,[t.elt("TaskMarker",n.start,n.start+3),...t.parser.parseInline(n.content.slice(3),n.start+3)])),!0}}const rat={defineNodes:[{name:"Task",block:!0,style:W.list},{name:"TaskMarker",style:W.atom}],parseBlock:[{name:"TaskList",leaf(e,t){return/^\[[ xX]\][ \t]/.test(t.content)&&e.parentType().name=="ListItem"?new iat:null},after:"SetextHeading"}]},pH=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,mH=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,sat=/[\w-]+\.[\w-]+($|[/:])/,gH=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,bH=/\/[a-zA-Z\d@.]+/gy;function OH(e,t,n,i){let r=0;for(let s=t;s-1)return-1;let i=t+n[0].length;for(;;){let r=e[i-1],s;if(/[?!.,:*_~]/.test(r)||r==")"&&OH(e,t,i,")")>OH(e,t,i,"("))i--;else if(r==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(t,i))))i=t+s.index;else break}return i}function yH(e,t){gH.lastIndex=t;let n=gH.exec(e);if(!n)return-1;let i=n[0][n[0].length-1];return i=="_"||i=="-"?-1:t+n[0].length-(i=="."?1:0)}const oat={parseInline:[{name:"Autolink",parse(e,t,n){let i=n-e.offset;if(i&&/\w/.test(e.text[i-1]))return-1;pH.lastIndex=i;let r=pH.exec(e.text),s=-1;if(!r)return-1;if(r[1]||r[2]){if(s=aat(e.text,i+r[0].length),s>-1&&e.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(e.text.slice(i,s));s=i+a[0].length}}else r[3]?s=yH(e.text,i):(s=yH(e.text,i+r[0].length),s>-1&&r[0]=="xmpp:"&&(bH.lastIndex=s,r=bH.exec(e.text),r&&(s=r.index+r[0].length)));return s<0?-1:(e.addElement(e.elt("URL",n,s+e.offset)),s+e.offset)}}]},lat=[nat,rat,tat,oat];function bpe(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let a=[i.elt(n,s,s+1)];for(let o=s+1;o=65&&e<=90||e==95||e>=97&&e<=122||e>=161}let SH=null,EH=null,kH=0;function XL(e,t){let n=e.pos+t;if(kH==n&&EH==e)return SH;let i=e.peek(t),r="";for(;Pat(i);)r+=String.fromCharCode(i),i=e.peek(++t);return EH=e,kH=n,SH=r?r.toLowerCase():i==Mat||i==Lat?void 0:null}const kpe=60,N_=62,xQ=47,Mat=63,Lat=33,$at=45;function TH(e,t){this.name=e,this.parent=t}const Qat=[yQ,vpe,Ope,ype,xpe],Bat=new Z2({start:null,shift(e,t,n,i){return Qat.indexOf(t)>-1?new TH(XL(i,1)||"",e):e},reduce(e,t){return t==wpe&&e?e.parent:e},reuse(e,t,n,i){let r=t.type.id;return r==yQ||r==Cat?new TH(XL(i,1)||"",e):e},strict:!1}),Fat=new rs((e,t)=>{if(e.next!=kpe){e.next<0&&t.context&&e.acceptToken(zR);return}e.advance();let n=e.next==xQ;n&&e.advance();let i=XL(e,0);if(i===void 0)return;if(!i)return e.acceptToken(n?Sat:wat);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(yat);if(r&&Dat[r])return e.acceptToken(zR,-2);if(t.dialectEnabled(jat))return e.acceptToken(xat);for(let s=t.context;s;s=s.parent)if(s.name==i)return;e.acceptToken(vat)}else{if(i=="script")return e.acceptToken(Ope);if(i=="style")return e.acceptToken(ype);if(i=="textarea")return e.acceptToken(xpe);if(Iat.hasOwnProperty(i))return e.acceptToken(vpe);r&&wH[r]&&wH[r][i]?e.acceptToken(zR,-1):e.acceptToken(yQ)}},{contextual:!0}),Uat=new rs(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(vH);break}if(e.next==$at)t++;else if(e.next==N_&&t>=2){n>=3&&e.acceptToken(vH,-2);break}else t=0;e.advance()}});function zat(e){for(;e;e=e.parent)if(e.name=="svg"||e.name=="math")return!0;return!1}const Vat=new rs((e,t)=>{if(e.next==xQ&&e.peek(1)==N_){let n=t.dialectEnabled(Rat)||zat(t.context);e.acceptToken(n?Oat:xH,2)}else e.next==N_&&e.acceptToken(xH,1)});function vQ(e,t,n){let i=2+e.length;return new rs(r=>{for(let s=0,a=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(t);break}if(s==0&&r.next==kpe||s==1&&r.next==xQ||s>=2&&sa?r.acceptToken(t,-a):r.acceptToken(n,-(a-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(t,1);break}else s=a=0;r.advance()}})}const qat=vQ("script",fat,hat),Xat=vQ("style",pat,mat),Hat=vQ("textarea",gat,bat),Gat=nf({"Text RawText IncompleteTag IncompleteCloseTag":W.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":W.angleBracket,TagName:W.tagName,"MismatchedCloseTag/TagName":[W.tagName,W.invalid],AttributeName:W.attributeName,"AttributeValue UnquotedAttributeValue":W.attributeValue,Is:W.definitionOperator,"EntityReference CharacterReference":W.character,Comment:W.blockComment,ProcessingInst:W.processingInstruction,DoctypeDecl:W.documentMeta}),Yat=qd.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Bat,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Gat],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let u=o.type.id;if(u==Tat)return VR(o,c,n);if(u==_at)return VR(o,c,i);if(u==Aat)return VR(o,c,r);if(u==wpe&&s.length){let d=o.node,f=d.firstChild,h=f&&_H(f,c),p;if(h){for(let b of s)if(b.tag==h&&(!b.attrs||b.attrs(p||(p=Tpe(f,c))))){let g=d.lastChild,O=g.type.id==Nat?g.from:d.to;if(O>f.to)return{parser:b.parser,overlay:[{from:f.to,to:O}]}}}}if(a&&u==Spe){let d=o.node,f;if(f=d.firstChild){let h=a[c.read(f.from,f.to)];if(h)for(let p of h){if(p.tagName&&p.tagName!=_H(d.parent,c))continue;let b=d.lastChild;if(b.type.id==qL){let g=b.from+1,O=b.lastChild,y=b.to-(O&&O.isError?0:1);if(y>g)return{parser:p.parser,overlay:[{from:g,to:y}],bracketed:!0}}else if(b.type.id==Epe)return{parser:p.parser,overlay:[{from:b.from,to:b.to}]}}}}return null})}const Wat=145,AH=1,Zat=146,Kat=147,Ape=2,Jat=148,eot=3,tot=4,Cpe=[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],not=58,iot=40,Npe=95,rot=91,kk=45,sot=46,aot=35,oot=37,lot=38,cot=92,uot=10,dot=42;function nv(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function wQ(e){return e>=48&&e<=57}function CH(e){return wQ(e)||e>=97&&e<=102||e>=65&&e<=70}const jpe=(e,t,n)=>(i,r)=>{for(let s=!1,a=0,o=0;;o++){let{next:c}=i;if(nv(c)||c==kk||c==Npe||s&&wQ(c))!s&&(c!=kk||o>0)&&(s=!0),a===o&&c==kk&&a++,i.advance();else if(c==cot&&i.peek(1)!=uot){if(i.advance(),CH(i.next)){do i.advance();while(CH(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();s=!0}else{s&&i.acceptToken(a==2&&r.canShift(Ape)?t:c==iot?n:e);break}}},fot=new rs(jpe(Zat,Ape,Kat),{contextual:!0}),hot=new rs(jpe(Jat,eot,tot),{contextual:!0}),pot=new rs(e=>{if(Cpe.includes(e.peek(-1))){let{next:t}=e;(nv(t)||t==Npe||t==aot||t==sot||t==dot||t==rot||t==not&&nv(e.peek(1))||t==kk||t==lot)&&e.acceptToken(Wat)}}),mot=new rs(e=>{if(!Cpe.includes(e.peek(-1))){let{next:t}=e;if(t==oot&&(e.advance(),e.acceptToken(AH)),nv(t)){do e.advance();while(nv(e.next)||wQ(e.next));e.acceptToken(AH)}}}),got=nf({"AtKeyword import charset namespace keyframes media supports font-feature-values":W.definitionKeyword,"from to selector scope MatchFlag":W.keyword,NamespaceName:W.namespace,KeyframeName:W.labelName,KeyframeRangeName:W.operatorKeyword,TagName:W.tagName,ClassName:W.className,PseudoClassName:W.constant(W.className),IdName:W.labelName,"FeatureName PropertyName":W.propertyName,AttributeName:W.attributeName,NumberLiteral:W.number,KeywordQuery:W.keyword,UnaryQueryOp:W.operatorKeyword,"CallTag ValueName FontName":W.atom,VariableName:W.variableName,Callee:W.operatorKeyword,Unit:W.unit,"UniversalSelector NestingSelector":W.definitionOperator,"MatchOp CompareOp":W.compareOperator,"ChildOp SiblingOp, LogicOp":W.logicOperator,BinOp:W.arithmeticOperator,Important:W.modifier,Comment:W.blockComment,ColorLiteral:W.color,"ParenthesizedContent StringLiteral":W.string,":":W.punctuation,"PseudoOp #":W.derefOperator,"; , |":W.separator,"( )":W.paren,"[ ]":W.squareBracket,"{ }":W.brace}),bot={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},Oot={__proto__:null,or:104,and:104,not:112,only:112,layer:206},yot={__proto__:null,selector:118,style:124,layer:202},xot={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},vot={__proto__:null,to:243},wot=qd.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[pot,mot,fot,hot,1,2,3,4,new k_("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:e=>bot[e]||-1},{term:148,get:e=>Oot[e]||-1},{term:4,get:e=>yot[e]||-1},{term:28,get:e=>xot[e]||-1},{term:146,get:e=>vot[e]||-1}],tokenPrec:2405});let qR=null;function XR(){if(!qR&&typeof document=="object"&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)i!="cssText"&&i!="cssFloat"&&typeof e[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));qR=t.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return qR||[]}const NH=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),jH=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),Sot=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),Eot=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),Gu=/^(\w[\w-]*|-\w[\w-]*|)$/,kot=/^-(-[\w-]*)?$/;function Tot(e,t){var n;if((e.name=="("||e.type.isError)&&(e=e.parent||e),e.name!="ArgList")return!1;let i=(n=e.parent)===null||n===void 0?void 0:n.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:t.sliceString(i.from,i.to)=="var"}const RH=new I6,_ot=["Declaration"];function Aot(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function Rpe(e,t,n){if(t.to-t.from>4096){let i=RH.get(t);if(i)return i;let r=[],s=new Set,a=t.cursor(xi.IncludeAnonymous);if(a.firstChild())do for(let o of Rpe(e,a.node,n))s.has(o.label)||(s.add(o.label),r.push(o));while(a.nextSibling());return RH.set(t,r),r}else{let i=[],r=new Set;return t.cursor().iterate(s=>{var a;if(n(s)&&s.matchContext(_ot)&&((a=s.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let o=e.sliceString(s.from,s.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}const Cot=e=>t=>{let{state:n,pos:i}=t,r=Fi(n).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&n.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:XR(),validFor:Gu};if(r.name=="ValueName")return{from:r.from,options:jH,validFor:Gu};if(r.name=="PseudoClassName")return{from:r.from,options:NH,validFor:Gu};if(e(r)||(t.explicit||s)&&Tot(r,n.doc))return{from:e(r)||s?r.from:i,options:Rpe(n.doc,Aot(r),e),validFor:kot};if(r.name=="TagName"){for(let{parent:c}=r;c;c=c.parent)if(c.name=="Block")return{from:r.from,options:XR(),validFor:Gu};return{from:r.from,options:Sot,validFor:Gu}}if(r.name=="AtKeyword")return{from:r.from,options:Eot,validFor:Gu};if(!t.explicit)return null;let a=r.resolve(i),o=a.childBefore(i);return o&&o.name==":"&&a.name=="PseudoClassSelector"?{from:i,options:NH,validFor:Gu}:o&&o.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:i,options:jH,validFor:Gu}:a.name=="Block"||a.name=="Styles"?{from:i,options:XR(),validFor:Gu}:null},Not=Cot(e=>e.name=="VariableName"),j_=Vd.define({name:"css",parser:wot.configure({props:[rf.add({Declaration:Q0()}),sf.add({"Block KeyframeList":aw})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function jot(){return new Ph(j_,j_.data.of({autocomplete:Not}))}const my=["_blank","_self","_top","_parent"],HR=["ascii","utf-8","utf-16","latin1","latin1"],GR=["get","post","put","delete"],YR=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Io=["true","false"],qt={},Rot={a:{attrs:{href:null,ping:null,type:null,media:null,target:my,hreflang:null}},abbr:qt,address:qt,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:qt,aside:qt,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:qt,base:{attrs:{href:null,target:my}},bdi:qt,bdo:qt,blockquote:{attrs:{cite:null}},body:qt,br:qt,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:YR,formmethod:GR,formnovalidate:["novalidate"],formtarget:my,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:qt,center:qt,cite:qt,code:qt,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:qt,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:qt,div:qt,dl:qt,dt:qt,em:qt,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:qt,figure:qt,footer:qt,form:{attrs:{action:null,name:null,"accept-charset":HR,autocomplete:["on","off"],enctype:YR,method:GR,novalidate:["novalidate"],target:my}},h1:qt,h2:qt,h3:qt,h4:qt,h5:qt,h6:qt,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:qt,hgroup:qt,hr:qt,html:{attrs:{manifest:null}},i:qt,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:YR,formmethod:GR,formnovalidate:["novalidate"],formtarget:my,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:qt,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:qt,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:qt,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:HR,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:qt,noscript:qt,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:qt,param:{attrs:{name:null,value:null}},pre:qt,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:qt,rt:qt,ruby:qt,samp:qt,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:HR}},section:qt,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:qt,source:{attrs:{src:null,type:null,media:null}},span:qt,strong:qt,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:qt,summary:qt,sup:qt,table:qt,tbody:qt,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:qt,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:qt,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:qt,time:{attrs:{datetime:null}},title:qt,tr:qt,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:qt,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:qt},Ipe={accesskey:null,class:null,contenteditable:Io,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Io,autocorrect:Io,autocapitalize:Io,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Io,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Io,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Io,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Io,"aria-hidden":Io,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Io,"aria-multiselectable":Io,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Io,"aria-relevant":null,"aria-required":Io,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Dpe="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Dpe)Ipe[e]=null;class iv{constructor(t,n){this.tags={...Rot,...t},this.globalAttrs={...Ipe,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}iv.default=new iv;function jb(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Rb(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function Ppe(e,t,n){let i=n.tags[jb(e,Rb(t))];return(i==null?void 0:i.children)||n.allTags}function SQ(e,t){let n=[];for(let i=Rb(t);i&&!i.type.isTop;i=Rb(i.parent)){let r=jb(e,i);if(r&&i.lastChild.name=="CloseTag")break;r&&n.indexOf(r)<0&&(t.name=="EndTag"||t.from>=i.firstChild.to)&&n.push(r)}return n}const Mpe=/^[:\-\.\w\u00b7-\uffff]*$/;function IH(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">",a=Rb(n,n.name=="StartTag"||n.name=="TagName");return{from:i,to:r,options:Ppe(e.doc,a,t).map(o=>({label:o,type:"type"})).concat(SQ(e.doc,n).map((o,c)=>({label:"/"+o,apply:"/"+o+s,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function DH(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:SQ(e.doc,t).map((s,a)=>({label:s,apply:s+r,type:"type",boost:99-a})),validFor:Mpe}}function Iot(e,t,n,i){let r=[],s=0;for(let a of Ppe(e.doc,n,t))r.push({label:"<"+a,type:"type"});for(let a of SQ(e.doc,n))r.push({label:"",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Dot(e,t,n,i,r){let s=Rb(n),a=s?t.tags[jb(e.doc,s)]:null,o=a&&a.attrs?Object.keys(a.attrs):[],c=a&&a.globalAttrs===!1?o:o.length?o.concat(t.globalAttrNames):t.globalAttrNames;return{from:i,to:r,options:c.map(u=>({label:u,type:"property"})),validFor:Mpe}}function Pot(e,t,n,i,r){var s;let a=(s=n.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),o=[],c;if(a){let u=e.sliceDoc(a.from,a.to),d=t.globalAttrs[u];if(!d){let f=Rb(n),h=f?t.tags[jb(e.doc,f)]:null;d=(h==null?void 0:h.attrs)&&h.attrs[u]}if(d){let f=e.sliceDoc(i,r).toLowerCase(),h='"',p='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,h="",p=e.sliceDoc(r,r+1)==f[0]?"":f[0],f=f.slice(1),i++):c=/^[^\s<>='"]*$/;for(let b of d)o.push({label:b,apply:h+b+p,type:"constant"})}}return{from:i,to:r,options:o,validFor:c}}function Lpe(e,t){let{state:n,pos:i}=t,r=Fi(n).resolveInner(i,-1),s=r.resolve(i);for(let a=i,o;s==r&&(o=r.childBefore(a));){let c=o.lastChild;if(!c||!c.type.isError||c.fromLpe(i,r)}const $ot=vu.parser.configure({top:"SingleExpression"}),$pe=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:qhe.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Xhe.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:Hhe.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:$ot},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:vu.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:j_.parser}],Qpe=[{name:"style",parser:j_.parser.configure({top:"Styles"})}].concat(Dpe.map(e=>({name:e,parser:vu.parser}))),Bpe=Vd.define({name:"html",parser:Yat.configure({props:[rf.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Tk=Bpe.configure({wrap:_pe($pe,Qpe)});function Qot(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=_pe((e.nestedLanguages||[]).concat($pe),(e.nestedAttributes||[]).concat(Qpe)));let i=n?Bpe.configure({wrap:n,dialect:t}):t?Tk.configure({dialect:t}):Tk;return new Ph(i,[Tk.data.of({autocomplete:Lot(e)}),e.autoCloseTags!==!1?Bot:[],BL().support,jot().support])}const PH=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Bot=ht.inputHandler.of((e,t,n,i,r)=>{if(e.composing||e.state.readOnly||t!=n||i!=">"&&i!="/"||!Tk.isActiveAt(e.state,t,-1))return!1;let s=r(),{state:a}=s,o=a.changeByRange(c=>{var u,d,f;let h=a.doc.sliceString(c.from-1,c.to)==i,{head:p}=c,b=Fi(a).resolveInner(p,-1),g;if(h&&i==">"&&b.name=="EndTag"){let O=b.parent;if(((d=(u=O.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(g=jb(a.doc,O.parent,p))&&!PH.has(g)){let y=p+(a.doc.sliceString(p,p+1)===">"?1:0),v=``;return{range:c,changes:{from:p,to:y,insert:v}}}}else if(h&&i=="/"&&b.name=="IncompleteCloseTag"){let O=b.parent;if(b.from==p-2&&((f=O.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(g=jb(a.doc,O,p))&&!PH.has(g)){let y=p+(a.doc.sliceString(p,p+1)===">"?1:0),v=`${g}>`;return{range:$e.cursor(p+v.length,-1),changes:{from:p,to:y,insert:v}}}}return{range:c}});return o.changes.empty?!1:(e.dispatch([s,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Fpe=G2({commentTokens:{block:{open:""}}}),Upe=new un,zpe=Zst.configure({props:[sf.add(e=>!e.is("Block")||e.is("Document")||HL(e)!=null||Fot(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Upe.add(HL),rf.add({Document:()=>null}),Zf.add({Document:Fpe})]});function HL(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Fot(e){return e.name=="OrderedList"||e.name=="BulletList"}function Uot(e,t){let n=e;for(;;){let i=n.nextSibling,r;if(!i||(r=HL(i.type))!=null&&r<=t)break;n=i}return n.to}const zot=lhe.of((e,t,n)=>{for(let i=Fi(e).resolveInner(n,-1);i&&!(i.fromn)return{from:n,to:s}}return null});function EQ(e){return new Yo(Fpe,e,[],"markdown")}const Vot=EQ(zpe),qot=zpe.configure([lat,uat,cat,dat,{props:[sf.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),R_=EQ(qot);function Xot(e,t){return n=>{if(n&&e){let i=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?i=e(n):i=x_.matchLanguageName(e,n,!0),i instanceof x_)return i.support?i.support.language.parser:Em.getSkippingParser(i.load());if(i)return i.parser}return t?t.parser:null}}let WR=class{constructor(t,n,i,r,s,a,o){this.node=t,this.from=n,this.to=i,this.spaceBefore=r,this.spaceAfter=s,this.type=a,this.item=o}blank(t,n=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;i.length0;r--)i+=" ";return i+(n?this.spaceAfter:"")}}marker(t,n){let i=this.node.name=="OrderedList"?String(+qpe(this.item,t)[2]+n):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function Vpe(e,t){let n=[],i=[];for(let r=e;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&n.push(r)}for(let r=n.length-1;r>=0;r--){let s=n[r],a,o=t.lineAt(s.from),c=s.from-o.from;if(s.name=="Blockquote"&&(a=/^ *>( ?)/.exec(o.text.slice(c))))i.push(new WR(s,c,c+a[0].length,"",a[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(c)))){let u=a[3],d=a[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),i.push(new WR(s.parent,c,c+d,a[1],u,a[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(c)))){let u=a[4],d=a[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=a[2];a[3]&&(f+=a[3].replace(/[xX]/," ")),i.push(new WR(s.parent,c,c+d,a[1],u,f,s))}}return i}function qpe(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function ZR(e,t,n,i=0){for(let r=-1,s=e;;){if(s.name=="ListItem"){let o=qpe(s,t),c=+o[2];if(r>=0){if(c!=r+1)return;n.push({from:s.from+o[1].length,to:s.from+o[0].length,insert:String(r+2+i)})}r=c}let a=s.nextSibling;if(!a)break;s=a}}function kQ(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(yO)!=" ")return e;let i=kc(e,4,n),r="";for(let s=i;s>0;)s>=4?(r+=" ",s-=4):(r+=" ",s--);return r+e.slice(n)}const Hot=(e={})=>({state:t,dispatch:n})=>{let i=Fi(t),{doc:r}=t,s=null,a=t.changeByRange(o=>{if(!o.empty||!R_.isActiveAt(t,o.from,-1)&&!R_.isActiveAt(t,o.from,1))return s={range:o};let c=o.from,u=r.lineAt(c),d=Vpe(i.resolveInner(c,-1),r);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return s={range:o};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return s={range:o};let h=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&h){let y=f.node.firstChild,v=f.node.getChild("ListItem","ListItem");if(y.to>=c||v&&v.to0&&!/[^\s>]/.test(r.lineAt(u.from-1).text)||e.nonTightLists===!1){let x=d.length>1?d[d.length-2]:null,w,E="";x&&x.item?(w=u.from+x.from,E=x.marker(r,1)):w=u.from+(x?x.to:0);let S=[{from:w,to:c,insert:E}];return f.node.name=="OrderedList"&&ZR(f.item,r,S,-2),x&&x.node.name=="OrderedList"&&ZR(x.item,r,S),{range:$e.cursor(w+E.length),changes:S}}else{let x=LH(d,t,u);return{range:$e.cursor(c+x.length+1),changes:{from:u.from,insert:x+t.lineBreak}}}}if(f.node.name=="Blockquote"&&h&&u.from){let y=r.lineAt(u.from-1),v=/>\s*$/.exec(y.text);if(v&&v.index==f.from){let x=t.changes([{from:y.from+v.index,to:y.to},{from:u.from+f.from,to:u.to}]);return{range:o.map(x),changes:x}}}let p=[];f.node.name=="OrderedList"&&ZR(f.item,r,p);let b=f.item&&f.item.from]*/.exec(u.text)[0].length>=f.to)for(let y=0,v=d.length-1;y<=v;y++)g+=y==v&&!b?d[y].marker(r,1):d[y].blank(yu.from&&/\s/.test(u.text.charAt(O-u.from-1));)O--;return g=kQ(g,t),Yot(f.node,t.doc)&&(g=LH(d,t,u)+t.lineBreak+g),p.push({from:O,to:c,insert:t.lineBreak+g}),{range:$e.cursor(O+g.length+1),changes:p}});return s?!1:(n(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},Got=Hot();function MH(e){return e.name=="QuoteMark"||e.name=="ListMark"}function Yot(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,i=e.getChild("ListItem","ListItem");if(!i)return!1;let r=t.lineAt(n.to),s=t.lineAt(i.from),a=/^[\s>]*$/.test(r.text);return r.number+(a?0:1){let n=Fi(e),i=null,r=e.changeByRange(s=>{let a=s.from,{doc:o}=e;if(s.empty&&R_.isActiveAt(e,s.from)){let c=o.lineAt(a),u=Vpe(Wot(n,a),o);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(a-c.from>f&&!/\S/.test(c.text.slice(f,a-c.from)))return{range:$e.cursor(c.from+f),changes:{from:c.from+f,to:a}};if(a-c.from==f&&(d.item&&c.from<=d.item.from||/^[\s>]*$/.test(c.text.slice(0,d.to)))){let h=c.from+d.from;if(d.item&&d.node.from{var n;let{main:i}=t.state.selection;if(i.empty)return!1;let r=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!R_.isActiveAt(t.state,i.from,1)))return!1;let s=Fi(t.state),a=!1;return s.iterate({from:i.from,to:i.to,enter:o=>{(o.from>i.from||nlt.test(o.name))&&(a=!0)},leave:o=>{o.to=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const ict=new rs((e,t)=>{let n;if(e.next<0)e.acceptToken(olt);else if(t.context.flags&_k)JR(e.next)&&e.acceptToken(alt,1);else if(((n=e.peek(-1))<0||JR(n))&&t.canShift($H)){let i=0;for(;e.next==TQ||e.next==eC;)e.advance(),i++;(e.next==_m||e.next==rv||e.next==_Q)&&e.acceptToken($H,-i)}else JR(e.next)&&e.acceptToken(slt,1)},{contextual:!0}),rct=new rs((e,t)=>{let n=t.context;if(n.flags)return;let i=e.peek(-1);if(i==_m||i==rv){let r=0,s=0;for(;;){if(e.next==TQ)r++;else if(e.next==eC)r+=8-r%8;else break;e.advance(),s++}r!=n.indent&&e.next!=_m&&e.next!=rv&&e.next!=_Q&&(r[e,t|Jpe])),oct=new Z2({start:sct,reduce(e,t,n,i){return e.flags&_k&&nct.has(t)||(t==Elt||t==Wpe)&&e.flags&Jpe?e.parent:e},shift(e,t,n,i){return t==Hpe?new Ak(e,act(i.read(i.pos,n.pos)),0):t==Gpe?e.parent:t==ult||t==plt||t==blt||t==Ype?new Ak(e,0,_k):UH.has(t)?new Ak(e,0,UH.get(t)|e.flags&_k):e},hash(e){return e.hash}}),lct=new rs(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let n=e.peek(t);if(!(n==TQ||n==eC)){n!=Ylt&&n!=Wlt&&n!=_m&&n!=rv&&n!=_Q&&e.acceptToken(rlt);return}}}),cct=new rs((e,t)=>{let{flags:n}=t.context,i=n&ed?Kpe:Zpe,r=(n&td)>0,s=!(n&nd),a=(n&id)>0,o=e.pos;for(;!(e.next<0);)if(a&&e.next==GL)if(e.peek(1)==GL)e.advance(2);else{if(e.pos==o){e.acceptToken(Ype,1);return}break}else if(s&&e.next==FH){if(e.pos==o){e.advance();let c=e.next;c>=0&&(e.advance(),uct(e,c)),e.acceptToken(clt);return}break}else if(e.next==FH&&!s&&e.peek(1)>-1)e.advance(2);else if(e.next==i&&(!r||e.peek(1)==i&&e.peek(2)==i)){if(e.pos==o){e.acceptToken(QH,r?3:1);return}break}else if(e.next==_m){if(r)e.advance();else if(e.pos==o){e.acceptToken(QH);return}break}else e.advance();e.pos>o&&e.acceptToken(llt)});function uct(e,t){if(t==Zlt)for(let n=0;n<2&&e.next>=48&&e.next<=55;n++)e.advance();else if(t==Klt)for(let n=0;n<2&&eI(e.next);n++)e.advance();else if(t==ect)for(let n=0;n<4&&eI(e.next);n++)e.advance();else if(t==tct)for(let n=0;n<8&&eI(e.next);n++)e.advance();else if(t==Jlt&&e.next==GL){for(e.advance();e.next>=0&&e.next!=BH&&e.next!=Zpe&&e.next!=Kpe&&e.next!=_m;)e.advance();e.next==BH&&e.advance()}}const dct=nf({'async "*" "**" FormatConversion FormatSpec':W.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":W.controlKeyword,"in not and or is del":W.operatorKeyword,"from def class global nonlocal lambda":W.definitionKeyword,import:W.moduleKeyword,"with as print":W.keyword,Boolean:W.bool,None:W.null,VariableName:W.variableName,"CallExpression/VariableName":W.function(W.variableName),"FunctionDefinition/VariableName":W.function(W.definition(W.variableName)),"ClassDefinition/VariableName":W.definition(W.className),PropertyName:W.propertyName,"CallExpression/MemberExpression/PropertyName":W.function(W.propertyName),Comment:W.lineComment,Number:W.number,String:W.string,FormatString:W.special(W.string),Escape:W.escape,UpdateOp:W.updateOperator,"ArithOp!":W.arithmeticOperator,BitOp:W.bitwiseOperator,CompareOp:W.compareOperator,AssignOp:W.definitionOperator,Ellipsis:W.punctuation,At:W.meta,"( )":W.paren,"[ ]":W.squareBracket,"{ }":W.brace,".":W.derefOperator,", ;":W.separator}),fct={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},hct=qd.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[lct,rct,ict,cct,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>fct[e]||-1}],tokenPrec:7668}),zH=new I6,eme=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function hE(e){return(t,n,i)=>{if(i)return!1;let r=t.node.getChild("VariableName");return r&&n(r,e),!0}}const pct={FunctionDefinition:hE("function"),ClassDefinition:hE("class"),ForStatement(e,t,n){if(n){for(let i=e.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")t(i,"variable");else if(i.name=="in")break}},ImportStatement(e,t){var n,i;let{node:r}=e,s=((n=r.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let a=r.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((i=a.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&t(a,s?"variable":"namespace")},AssignStatement(e,t){for(let n=e.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")t(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(e,t){for(let n=null,i=e.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&t(i,"variable"),n=i},CapturePattern:hE("variable"),AsPattern:hE("variable"),__proto__:null};function tme(e,t){let n=zH.get(t);if(n)return n;let i=[],r=!0;function s(a,o){let c=e.sliceString(a.from,a.to);i.push({label:c,type:o})}return t.cursor(xi.IncludeAnonymous).iterate(a=>{if(a.name){let o=pct[a.name];if(o&&o(a,s,r)||!r&&eme.has(a.name))return!1;r=!1}else if(a.to-a.from>8192){for(let o of tme(e,a.node))i.push(o);return!1}}),zH.set(t,i),i}const VH=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,nme=["String","FormatString","Comment","PropertyName"];function mct(e){let t=Fi(e.state).resolveInner(e.pos,-1);if(nme.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&VH.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let r=t;r;r=r.parent)eme.has(r.name)&&(i=i.concat(tme(e.state.doc,r)));return{options:i,from:n?t.from:e.pos,validFor:VH}}const gct=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),bct=[jr("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),jr("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),jr("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),jr("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),jr(`if \${}: -`,{label:"if",detail:"block",type:"keyword"}),_r("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),_r("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),_r("import ${module}",{label:"import",detail:"statement",type:"keyword"}),_r("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],tct=fhe($pe,W6(Jlt.concat(ect)));function XR(e){let{node:t,pos:n}=e,i=e.lineIndent(n,-1),r=null;for(;;){let s=t.childBefore(n);if(s)if(s.name=="Comment")n=s.from;else if(s.name=="Body"||s.name=="MatchBody")e.baseIndentFor(s)+e.unit<=i&&(r=s),t=s;else if(s.name=="MatchClause")t=s;else if(s.type.is("Statement"))t=s;else break;else break}return r}function HR(e,t){let n=e.baseIndentFor(t),i=e.lineAt(e.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&e.node.ton?null:n+e.unit}const YR=$d.define({name:"python",parser:Wlt.configure({props:[Wd.add({Body:e=>{var t;let n=/^\s*(#|$)/.test(e.textAfter)&&XR(e)||e.node;return(t=HR(e,n))!==null&&t!==void 0?t:e.continue()},MatchBody:e=>{var t;let n=XR(e);return(t=HR(e,n||e.node))!==null&&t!==void 0?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":N0({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":N0({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":N0({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let n=XR(e);return(t=n&&HR(e,n))!==null&&t!==void 0?t:e.continue()}}),Zd.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":Kv,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function nct(){return new Nh(YR,[YR.data.of({autocomplete:Klt}),YR.data.of({autocomplete:tct})])}const Cg=63,MH=64,ict=1,rct=2,Qpe=3,sct=4,Bpe=5,act=6,oct=7,Fpe=65,lct=66,cct=8,uct=9,dct=10,fct=11,hct=12,Upe=13,pct=19,mct=20,gct=29,bct=33,Oct=34,yct=47,xct=0,OQ=1,B5=2,Z1=3,F5=4;class xp{constructor(t,n,i){this.parent=t,this.depth=n,this.type=i,this.hash=(t?t.hash+t.hash<<8:0)+n+(n<<4)+i}}xp.top=new xp(null,-1,xct);function jx(e,t){for(let n=0,i=t-e.pos-1;;i--,n++){let r=e.peek(i);if(Bd(r)||r==-1)return n}}function U5(e){return e==32||e==9}function Bd(e){return e==10||e==13}function zpe(e){return U5(e)||Bd(e)}function jp(e){return e<0||zpe(e)}const vct=new q2({start:xp.top,reduce(e,t){return e.type==Z1&&(t==mct||t==Oct)?e.parent:e},shift(e,t,n,i){if(t==Qpe)return new xp(e,jx(i,i.pos),OQ);if(t==Fpe||t==Bpe)return new xp(e,jx(i,i.pos),B5);if(t==Cg)return e.parent;if(t==pct||t==bct)return new xp(e,0,Z1);if(t==Upe&&e.type==F5)return e.parent;if(t==yct){let r=/[1-9]/.exec(i.read(i.pos,n.pos));if(r)return new xp(e,e.depth+ +r[0],F5)}return e},hash(e){return e.hash}});function kb(e,t,n=0){return e.peek(n)==t&&e.peek(n+1)==t&&e.peek(n+2)==t&&jp(e.peek(n+3))}const wct=new Zr((e,t)=>{if(e.next==-1&&t.canShift(MH))return e.acceptToken(MH);let n=e.peek(-1);if((Bd(n)||n<0)&&t.context.type!=Z1){if(kb(e,45))if(t.canShift(Cg))e.acceptToken(Cg);else return e.acceptToken(ict,3);if(kb(e,46))if(t.canShift(Cg))e.acceptToken(Cg);else return e.acceptToken(rct,3);let i=0;for(;e.next==32;)i++,e.advance();(i{if(t.context.type==Z1){e.next==63&&(e.advance(),jp(e.next)&&e.acceptToken(oct));return}if(e.next==45)e.advance(),jp(e.next)&&e.acceptToken(t.context.type==OQ&&t.context.depth==jx(e,e.pos-1)?sct:Qpe);else if(e.next==63)e.advance(),jp(e.next)&&e.acceptToken(t.context.type==B5&&t.context.depth==jx(e,e.pos-1)?act:Bpe);else{let n=e.pos;for(;;)if(U5(e.next)){if(e.pos==n)return;e.advance()}else if(e.next==33)Vpe(e);else if(e.next==38)z5(e);else if(e.next==42){z5(e);break}else if(e.next==39||e.next==34){if(yQ(e,!0))break;return}else if(e.next==91||e.next==123){if(!kct(e))return;break}else{qpe(e,!0,!1,0);break}for(;U5(e.next);)e.advance();if(e.next==58){if(e.pos==n&&t.canShift(gct))return;let i=e.peek(1);jp(i)&&e.acceptTokenTo(t.context.type==B5&&t.context.depth==jx(e,n)?lct:Fpe,n)}}},{contextual:!0});function Ect(e){return e>32&&e<127&&e!=34&&e!=37&&e!=44&&e!=60&&e!=62&&e!=92&&e!=94&&e!=96&&e!=123&&e!=124&&e!=125}function LH(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function $H(e,t){return e.next==37?(e.advance(),LH(e.next)&&e.advance(),LH(e.next)&&e.advance(),!0):Ect(e.next)||t&&e.next==44?(e.advance(),!0):!1}function Vpe(e){if(e.advance(),e.next==60){for(e.advance();;)if(!$H(e,!0)){e.next==62&&e.advance();break}}else for(;$H(e,!1););}function z5(e){for(e.advance();!jp(e.next)&&__(e.next)!="f";)e.advance()}function yQ(e,t){let n=e.next,i=!1,r=e.pos;for(e.advance();;){let s=e.next;if(s<0)break;if(e.advance(),s==n)if(s==39)if(e.next==39)e.advance();else break;else break;else if(s==92&&n==34)e.next>=0&&e.advance();else if(Bd(s)){if(t)return!1;i=!0}else if(t&&e.pos>=r+1024)return!1}return!i}function kct(e){for(let t=[],n=e.pos+1024;;)if(e.next==91||e.next==123)t.push(e.next),e.advance();else if(e.next==39||e.next==34){if(!yQ(e,!0))return!1}else if(e.next==93||e.next==125){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>n||Bd(e.next))return!1;e.advance()}}const Tct="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function __(e){return e<33?"u":e>125?"s":Tct[e-33]}function GR(e,t){let n=__(e);return n!="u"&&!(t&&n=="f")}function qpe(e,t,n,i){if(__(e.next)=="s"||(e.next==63||e.next==58||e.next==45)&&GR(e.peek(1),n))e.advance();else return!1;let r=e.pos;for(;;){let s=e.next,a=0,o=i+1;for(;zpe(s);){if(Bd(s)){if(t)return!1;o=0}else o++;s=e.peek(++a)}if(!(s>=0&&(s==58?GR(e.peek(a+1),n):s==35?e.peek(a-1)!=32:GR(s,n)))||!n&&o<=i||o==0&&!n&&(kb(e,45,a)||kb(e,46,a)))break;if(t&&__(s)=="f")return!1;for(let u=a;u>=0;u--)e.advance();if(t&&e.pos>r+1024)return!1}return!0}const _ct=new Zr((e,t)=>{if(e.next==33)Vpe(e),e.acceptToken(hct);else if(e.next==38||e.next==42){let n=e.next==38?dct:fct;z5(e),e.acceptToken(n)}else e.next==39||e.next==34?(yQ(e,!1),e.acceptToken(uct)):qpe(e,!1,t.context.type==Z1,t.context.depth)&&e.acceptToken(cct)}),Act=new Zr((e,t)=>{let n=t.context.type==F5?t.context.depth:-1,i=e.pos;e:for(;;){let r=0,s=e.next;for(;s==32;)s=e.peek(++r);if(!r&&(kb(e,45,r)||kb(e,46,r))||!Bd(s)&&(n<0&&(n=Math.max(t.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:vct,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[Cct],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[wct,Sct,_ct,Act,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),jct=$d.define({name:"yaml",parser:Nct.configure({props:[Wd.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if(t.name=="BlockLiteralContent"&&t.frome.pos)return null}}return null},FlowMapping:N0({closing:"}"}),FlowSequence:N0({closing:"]"})}),Zd.add({"FlowMapping FlowSequence":Kv,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Rct(){return new Nh(jct)}function Dct(e){Xpe(e,"start");var t={},n=e.languageData||{},i=!1;for(var r in e)if(r!=n&&e.hasOwnProperty(r))for(var s=t[r]=[],a=e[r],o=0;o2&&a.token&&typeof a.token!="string"){n.pending=[];for(var u=2;u-1)return null;var r=n.indent.length-1,s=e[n.state];e:for(;;){for(var a=0;a{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=vQ(e.state,n.from);return i.line?Gct(e):i.block?Zct(e):!1};function xQ(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return r?(i(n.update(r)),!0):!1}}const Gct=xQ(eut,0),Wct=xQ(Zpe,0),Zct=xQ((e,t)=>Zpe(e,t,Jct(t)),0);function vQ(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const ly=50;function Kct(e,{open:t,close:n},i,r){let s=e.sliceDoc(i-ly,i),a=e.sliceDoc(r,r+ly),o=/\s*$/.exec(s)[0].length,c=/^\s*/.exec(a)[0].length,u=s.length-o;if(s.slice(u-t.length,u)==t&&a.slice(c,c+n.length)==n)return{open:{pos:i-o,margin:o&&1},close:{pos:r+c,margin:c&&1}};let d,f;r-i<=2*ly?d=f=e.sliceDoc(i,r):(d=e.sliceDoc(i,i+ly),f=e.sliceDoc(r-ly,r));let h=/^\s*/.exec(d)[0].length,p=/\s*$/.exec(f)[0].length,b=f.length-p-n.length;return d.slice(h,h+t.length)==t&&f.slice(b,b+n.length)==n?{open:{pos:i+h+t.length,margin:/\s/.test(d.charAt(h+t.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(f.charAt(b-1))?1:0}}:null}function Jct(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to);r.from>i.from&&r.from==n.to&&(r=n.to==i.to+1?i:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return t}function Zpe(e,t,n=t.selection.ranges){let i=n.map(s=>vQ(t,s.from).block);if(!i.every(s=>s))return null;let r=n.map((s,a)=>Kct(t,i[a],s.from,s.to));if(e!=2&&!r.every(s=>s))return{changes:t.changes(n.map((s,a)=>r[a]?[]:[{from:s.from,insert:i[a].open+" "},{from:s.to,insert:" "+i[a].close}]))};if(e!=1&&r.some(s=>s)){let s=[];for(let a=0,o;ar&&(s==a||a>f.from)){r=f.from;let h=/^\s*/.exec(f.text)[0].length,p=h==f.length,b=f.text.slice(h,h+u.length)==u?h:-1;hs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:o,token:c,indent:u,empty:d,single:f}of i)(f||!d)&&s.push({from:o.from+u,insert:c+" "});let a=t.changes(s);return{changes:a,selection:t.selection.map(a,1)}}else if(e!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:a,comment:o,token:c}of i)if(o>=0){let u=a.from+o,d=u+c.length;a.text[d-a.from]==" "&&d++,s.push({from:u,to:d})}return{changes:s}}return null}const q5=Eu.define(),tut=Eu.define(),nut=vt.define(),Kpe=vt.define({combine(e){return ku(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(i,r)=>t(i,r)||n(i,r)})}}),Jpe=ra.define({create(){return iu.empty},update(e,t){let n=t.state.facet(Kpe),i=t.annotation(q5);if(i){let c=ao.fromTransaction(t,i.selection),u=i.side,d=u==0?e.undone:e.done;return c?d=A_(d,d.length,n.minDepth,c):d=nme(d,t.startState.selection),new iu(u==0?i.rest:d,u==0?d:i.rest)}let r=t.annotation(tut);if((r=="full"||r=="before")&&(e=e.isolate()),t.annotation(as.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let s=ao.fromTransaction(t),a=t.annotation(as.time),o=t.annotation(as.userEvent);return s?e=e.addChanges(s,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),(r=="full"||r=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new iu(e.done.map(ao.fromJSON),e.undone.map(ao.fromJSON))}});function iut(e={}){return[Jpe,Kpe.of(e),ht.domEventHandlers({beforeinput(t,n){let i=t.inputType=="historyUndo"?eme:t.inputType=="historyRedo"?X5:null;return i?(t.preventDefault(),i(n)):!1}})]}function G2(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(Jpe,!1);if(!r)return!1;let s=r.pop(e,n,t);return s?(i(s),!0):!1}}const eme=G2(0,!1),X5=G2(1,!1),rut=G2(0,!0),sut=G2(1,!0);class ao{constructor(t,n,i,r,s){this.changes=t,this.effects=n,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(t){return new ao(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,i;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(t){return new ao(t.changes&&ys.fromJSON(t.changes),[],t.mapped&&cu.fromJSON(t.mapped),t.startSelection&&$e.fromJSON(t.startSelection),t.selectionsAfter.map($e.fromJSON))}static fromTransaction(t,n){let i=wl;for(let r of t.startState.facet(nut)){let s=r(t);s.length&&(i=i.concat(s))}return!i.length&&t.changes.empty?null:new ao(t.changes.invert(t.startState.doc),i,void 0,n||t.startState.selection,wl)}static selection(t){return new ao(void 0,wl,void 0,void 0,t)}}function A_(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function aut(e,t){let n=[],i=!1;return e.iterChangedRanges((r,s)=>n.push(r,s)),t.iterChangedRanges((r,s,a,o)=>{for(let c=0;c=u&&a<=d&&(i=!0)}}),i}function out(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,i)=>n.empty!=t.ranges[i].empty).length===0}function tme(e,t){return e.length?t.length?e.concat(t):e:t}const wl=[],lut=200;function nme(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-lut));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),A_(e,e.length-1,1e9,n.setSelAfter(i)))}else return[ao.selection([t])]}function cut(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function WR(e,t){if(!e.length)return e;let n=e.length,i=wl;for(;n;){let r=uut(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=e.slice(0,n);return s[n-1]=r,s}else t=r.mapped,n--,i=r.selectionsAfter}return i.length?[ao.selection(i)]:wl}function uut(e,t,n){let i=tme(e.selectionsAfter.length?e.selectionsAfter.map(o=>o.map(t)):wl,n);if(!e.changes)return ao.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(s):s;return new ao(r,an.mapEffects(e.effects,t),a,e.startSelection.map(s),i)}const dut=/^(input\.type|delete)($|\.)/;class iu{constructor(t,n,i=0,r=void 0){this.done=t,this.undone=n,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new iu(this.done,this.undone):this}addChanges(t,n,i,r,s){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&t.changes&&(!i||dut.test(i))&&(!o.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?e.moveByChar(n,t):W2(n,t))}function ya(e){return e.textDirectionAt(e.state.selection.main.head)==Bi.LTR}const rme=e=>ime(e,!ya(e)),sme=e=>ime(e,ya(e));function ame(e,t){return Tc(e,n=>n.empty?e.moveByGroup(n,t):W2(n,t))}const hut=e=>ame(e,!ya(e)),put=e=>ame(e,ya(e));function mut(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Z2(e,t,n){let i=Mi(e).resolveInner(t.head),r=n?rn.closedBy:rn.openedBy;for(let c=t.head;;){let u=n?i.childAfter(c):i.childBefore(c);if(!u)break;mut(e,u,r)?i=u:c=n?u.to:u.from}let s=i.type.prop(r),a,o;return s&&(a=n?nu(e,i.from,1):nu(e,i.to,-1))&&a.matched?o=n?a.end.to:a.end.from:o=n?i.to:i.from,$e.cursor(o,n?-1:1)}const gut=e=>Tc(e,t=>Z2(e.state,t,!ya(e))),but=e=>Tc(e,t=>Z2(e.state,t,ya(e)));function ome(e,t){return Tc(e,n=>{if(!n.empty)return W2(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const lme=e=>ome(e,!1),cme=e=>ome(e,!0);function ume(e){let t=e.scrollDOM.clientHeighta.empty?e.moveVertically(a,t,n.height):W2(a,t));if(r.eq(i.selection))return!1;let s;if(n.selfScroll){let a=e.coordsAtPos(i.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),c=o.top+n.marginTop,u=o.bottom-n.marginBottom;a&&a.top>c&&a.bottomdme(e,!1),H5=e=>dme(e,!0);function Bh(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let s=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&t.head!=i.from+s&&(r=$e.cursor(i.from+s))}return r}const Out=e=>Tc(e,t=>Bh(e,t,!0)),yut=e=>Tc(e,t=>Bh(e,t,!1)),xut=e=>Tc(e,t=>Bh(e,t,!ya(e))),vut=e=>Tc(e,t=>Bh(e,t,ya(e))),wut=e=>Tc(e,t=>$e.cursor(e.lineBlockAt(t.head).from,1)),Sut=e=>Tc(e,t=>$e.cursor(e.lineBlockAt(t.head).to,-1));function Eut(e,t,n){let i=!1,r=hO(e.selection,s=>{let a=nu(e,s.head,-1)||nu(e,s.head,1)||s.head>0&&nu(e,s.head-1,1)||s.headEut(e,t);function Il(e,t,n){let i=hO(e.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=t&&(r=$e.range(r.head,r.anchor));let s=n(r);return $e.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(e.state.selection)?!1:(e.dispatch(kc(e.state,i)),!0)}function fme(e,t){return Il(e,t,n=>e.moveByChar(n,t))}const hme=e=>fme(e,!ya(e)),pme=e=>fme(e,ya(e));function mme(e,t){return Il(e,t,n=>e.moveByGroup(n,t))}const Tut=e=>mme(e,!ya(e)),_ut=e=>mme(e,ya(e)),Aut=e=>{let t=!ya(e);return Il(e,t,n=>Z2(e.state,n,t))},Cut=e=>{let t=ya(e);return Il(e,t,n=>Z2(e.state,n,t))};function gme(e,t){return Il(e,t,n=>e.moveVertically(n,t))}const bme=e=>gme(e,!1),Ome=e=>gme(e,!0);function yme(e,t){return Il(e,t,n=>e.moveVertically(n,t,ume(e).height))}const BH=e=>yme(e,!1),FH=e=>yme(e,!0),Nut=e=>Il(e,!0,t=>Bh(e,t,!0)),jut=e=>Il(e,!1,t=>Bh(e,t,!1)),Rut=e=>{let t=!ya(e);return Il(e,t,n=>Bh(e,n,t))},Dut=e=>{let t=ya(e);return Il(e,t,n=>Bh(e,n,t))},Iut=e=>Il(e,!1,t=>$e.cursor(e.lineBlockAt(t.head).from)),Put=e=>Il(e,!0,t=>$e.cursor(e.lineBlockAt(t.head).to)),UH=({state:e,dispatch:t})=>(t(kc(e,{anchor:0})),!0),zH=({state:e,dispatch:t})=>(t(kc(e,{anchor:e.doc.length})),!0),VH=({state:e,dispatch:t})=>(t(kc(e,{anchor:e.selection.main.anchor,head:0})),!0),qH=({state:e,dispatch:t})=>(t(kc(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Mut=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Lut=({state:e,dispatch:t})=>{let n=K2(e).map(({from:i,to:r})=>$e.range(i,Math.min(r+1,e.doc.length)));return t(e.update({selection:$e.create(n),userEvent:"select"})),!0},$ut=({state:e,dispatch:t})=>{let n=hO(e.selection,i=>{let r=Mi(e),s=r.resolveStack(i.from,1);if(i.empty){let a=r.resolveStack(i.from,-1);a.node.from>=s.node.from&&a.node.to<=s.node.to&&(s=a)}for(let a=s;a;a=a.next){let{node:o}=a;if((o.from=i.to||o.to>i.to&&o.from<=i.from)&&a.next)return $e.range(o.to,o.from)}return i});return n.eq(e.selection)?!1:(t(kc(e,n)),!0)};function xme(e,t){let{state:n}=e,i=n.selection,r=n.selection.ranges.slice();for(let s of n.selection.ranges){let a=n.doc.lineAt(s.head);if(t?a.to0)for(let o=s;;){let c=e.moveVertically(o,t);if(c.heada.to){r.some(u=>u.head==c.head)||r.push(c);break}else{if(c.head==o.head)break;o=c}}}return r.length==i.ranges.length?!1:(e.dispatch(kc(n,$e.create(r,r.length-1))),!0)}const Qut=e=>xme(e,!1),But=e=>xme(e,!0),Fut=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=$e.create([n.main]):n.main.empty||(i=$e.create([$e.cursor(n.main.head)])),i?(t(kc(e,i)),!0):!1};function nw(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(s=>{let{from:a,to:o}=s;if(a==o){let c=t(s);ca&&(n="delete.forward",c=uE(e,c,!0)),a=Math.min(a,c),o=Math.max(o,c)}else a=uE(e,a,!1),o=uE(e,o,!0);return a==o?{range:s}:{changes:{from:a,to:o},range:$e.cursor(a,ar(e)))i.between(t,t,(r,s)=>{rt&&(t=n?s:r)});return t}const vme=(e,t,n)=>nw(e,i=>{let r=i.from,{state:s}=e,a=s.doc.lineAt(r),o,c;if(n&&!t&&r>a.from&&rvme(e,!1,!0),wme=e=>vme(e,!0,!1),Sme=(e,t)=>nw(e,n=>{let i=n.head,{state:r}=e,s=r.doc.lineAt(i),a=r.charCategorizer(i);for(let o=null;;){if(i==(t?s.to:s.from)){i==n.head&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let c=$s(s.text,i-s.from,t)+s.from,u=s.text.slice(Math.min(i,c)-s.from,Math.max(i,c)-s.from),d=a(u);if(o!=null&&d!=o)break;(u!=" "||i!=n.head)&&(o=d),i=c}return i}),Eme=e=>Sme(e,!1),Uut=e=>Sme(e,!0),zut=e=>nw(e,t=>{let n=e.lineBlockAt(t.head).to;return t.headnw(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),qut=e=>nw(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:li.of(["",""])},range:$e.cursor(i.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Hut=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{if(!i.empty||i.from==0||i.from==e.doc.length)return{range:i};let r=i.from,s=e.doc.lineAt(r),a=r==s.from?r-1:$s(s.text,r-s.from,!1)+s.from,o=r==s.to?r+1:$s(s.text,r-s.from,!0)+s.from;return{changes:{from:a,to:o,insert:e.doc.slice(r,o).append(e.doc.slice(a,r))},range:$e.cursor(o)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function K2(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=e.doc.lineAt(i.to-1)),n>=r.number){let a=t[t.length-1];a.to=s.to,a.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function kme(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let s of K2(e)){if(n?s.to==e.doc.length:s.from==0)continue;let a=e.doc.lineAt(n?s.to+1:s.from-1),o=a.length+1;if(n){i.push({from:s.to,to:a.to},{from:s.from,insert:a.text+e.lineBreak});for(let c of s.ranges)r.push($e.range(Math.min(e.doc.length,c.anchor+o),Math.min(e.doc.length,c.head+o)))}else{i.push({from:a.from,to:s.from},{from:s.to,insert:e.lineBreak+a.text});for(let c of s.ranges)r.push($e.range(c.anchor-o,c.head-o))}}return i.length?(t(e.update({changes:i,scrollIntoView:!0,selection:$e.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const Yut=({state:e,dispatch:t})=>kme(e,t,!1),Gut=({state:e,dispatch:t})=>kme(e,t,!0);function Tme(e,t,n){if(e.readOnly)return!1;let i=[];for(let s of K2(e))n?i.push({from:s.from,insert:e.doc.slice(s.from,s.to)+e.lineBreak}):i.push({from:s.to,insert:e.lineBreak+e.doc.slice(s.from,s.to)});let r=e.changes(i);return t(e.update({changes:r,selection:e.selection.map(r,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Wut=({state:e,dispatch:t})=>Tme(e,t,!1),Zut=({state:e,dispatch:t})=>Tme(e,t,!0),Kut=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(K2(t).map(({from:r,to:s})=>(r>0?r--:s{let s;if(e.lineWrapping){let a=e.lineBlockAt(r.head),o=e.coordsAtPos(r.head,r.assoc||1);o&&(s=a.bottom+e.documentTop-o.bottom+e.defaultLineHeight/2)}return e.moveVertically(r,!0,s)}).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Jut(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=Mi(e).resolveInner(t),i=n.childBefore(t),r=n.childAfter(t),s;return i&&r&&i.to<=t&&r.from>=t&&(s=i.type.prop(rn.closedBy))&&s.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const XH=_me(!1),edt=_me(!0);function _me(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{let{from:s,to:a}=r,o=t.doc.lineAt(s),c=!e&&s==a&&Jut(t,s);e&&(s=a=(a<=o.to?o:t.doc.lineAt(a)).to);let u=new z2(t,{simulateBreak:s,simulateDoubleBreak:!!c}),d=V6(u,s);for(d==null&&(d=mc(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ao.from&&s{let r=[];for(let a=i.from;a<=i.to;){let o=e.doc.lineAt(a);o.number>n&&(i.empty||i.to>o.from)&&(t(o,r,i),n=o.number),a=o.to+1}let s=e.changes(r);return{changes:r,range:$e.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const tdt=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new z2(e,{overrideIndentation:s=>{let a=n[s];return a??-1}}),r=wQ(e,(s,a,o)=>{let c=V6(i,s.from);if(c==null)return;/\S/.test(s.text)||(c=0);let u=/^\s*/.exec(s.text)[0],d=F1(e,c);(u!=d||o.frome.readOnly?!1:(t(e.update(wQ(e,(n,i)=>{i.push({from:n.from,insert:e.facet(dO)})}),{userEvent:"input.indent"})),!0),Cme=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(wQ(e,(n,i)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let s=mc(r,e.tabSize),a=0,o=F1(e,Math.max(0,s-gm(e)));for(;a(e.setTabFocusMode(),!0),idt=[{key:"Ctrl-b",run:rme,shift:hme,preventDefault:!0},{key:"Ctrl-f",run:sme,shift:pme},{key:"Ctrl-p",run:lme,shift:bme},{key:"Ctrl-n",run:cme,shift:Ome},{key:"Ctrl-a",run:wut,shift:Iut},{key:"Ctrl-e",run:Sut,shift:Put},{key:"Ctrl-d",run:wme},{key:"Ctrl-h",run:Y5},{key:"Ctrl-k",run:zut},{key:"Ctrl-Alt-h",run:Eme},{key:"Ctrl-o",run:Xut},{key:"Ctrl-t",run:Hut},{key:"Ctrl-v",run:H5}],rdt=[{key:"ArrowLeft",run:rme,shift:hme,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:hut,shift:Tut,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:xut,shift:Rut,preventDefault:!0},{key:"ArrowRight",run:sme,shift:pme,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:put,shift:_ut,preventDefault:!0},{mac:"Cmd-ArrowRight",run:vut,shift:Dut,preventDefault:!0},{key:"ArrowUp",run:lme,shift:bme,preventDefault:!0},{mac:"Cmd-ArrowUp",run:UH,shift:VH},{mac:"Ctrl-ArrowUp",run:QH,shift:BH},{key:"ArrowDown",run:cme,shift:Ome,preventDefault:!0},{mac:"Cmd-ArrowDown",run:zH,shift:qH},{mac:"Ctrl-ArrowDown",run:H5,shift:FH},{key:"PageUp",run:QH,shift:BH},{key:"PageDown",run:H5,shift:FH},{key:"Home",run:yut,shift:jut,preventDefault:!0},{key:"Mod-Home",run:UH,shift:VH},{key:"End",run:Out,shift:Nut,preventDefault:!0},{key:"Mod-End",run:zH,shift:qH},{key:"Enter",run:XH,shift:XH},{key:"Mod-a",run:Mut},{key:"Backspace",run:Y5,shift:Y5,preventDefault:!0},{key:"Delete",run:wme,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Eme,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Uut,preventDefault:!0},{mac:"Mod-Backspace",run:Vut,preventDefault:!0},{mac:"Mod-Delete",run:qut,preventDefault:!0}].concat(idt.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),sdt=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:gut,shift:Aut},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:but,shift:Cut},{key:"Alt-ArrowUp",run:Yut},{key:"Shift-Alt-ArrowUp",run:Wut},{key:"Alt-ArrowDown",run:Gut},{key:"Shift-Alt-ArrowDown",run:Zut},{key:"Mod-Alt-ArrowUp",run:Qut},{key:"Mod-Alt-ArrowDown",run:But},{key:"Escape",run:Fut},{key:"Mod-Enter",run:edt},{key:"Alt-l",mac:"Ctrl-l",run:Lut},{key:"Mod-i",run:$ut,preventDefault:!0},{key:"Mod-[",run:Cme},{key:"Mod-]",run:Ame},{key:"Mod-Alt-\\",run:tdt},{key:"Shift-Mod-k",run:Kut},{key:"Shift-Mod-\\",run:kut},{key:"Mod-/",run:Yct},{key:"Alt-A",run:Wct},{key:"Ctrl-m",mac:"Shift-Alt-m",run:ndt}].concat(rdt),adt={key:"Tab",run:Ame,shift:Cme},HH=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Tb{constructor(t,n,i=0,r=t.length,s,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,r),this.bufferStart=i,this.normalize=s?o=>s(HH(o)):HH,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return eo(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=E6(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=Hc(t);let r=this.normalize(n);if(r.length)for(let s=0,a=i,o=!0;;s++){let c=r.charCodeAt(s),u=this.match(c,a,o,this.bufferPos+this.bufferStart,s==r.length-1);if(u)return this.value=u,this;if(s==r.length-1)break;o&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,r=i+n[0].length;if(this.matchPos=C_(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=n){let o=new I0(n,t.sliceString(n,i));return ZR.set(t,o),o}if(r.from==n&&r.to==i)return r;let{text:s,from:a}=r;return a>n&&(s=t.sliceString(n,a)+s,a=n),r.to=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,r=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this.matchPos=C_(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=I0.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(jme.prototype[Symbol.iterator]=Rme.prototype[Symbol.iterator]=function(){return this});function odt(e){try{return new RegExp(e,SQ),!0}catch{return!1}}function C_(e,t){if(t>=e.length)return t;let n=e.lineAt(t),i;for(;t=56320&&i<57344;)t++;return t}const ldt=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:i,result:r}=Ont(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return r.then(s=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:i});return}let o=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=a,h=d?+d.slice(1):0,p=u?+u:o.number;if(u&&f){let O=p/100;c&&(O=O*(c=="-"?-1:1)+o.number/t.doc.lines),p=Math.round(t.doc.lines*O)}else u&&c&&(p=p*(c=="-"?-1:1)+o.number);let b=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),g=$e.cursor(b.from+Math.max(0,Math.min(h,b.length)));e.dispatch({effects:[i,ht.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},cdt={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},udt=vt.define({combine(e){return ku(e,cdt,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function ddt(e){return[gdt,mdt]}const fdt=Ut.mark({class:"cm-selectionMatch"}),hdt=Ut.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function YH(e,t,n,i){return(n==0||e(t.sliceDoc(n-1,n))!=mr.Word)&&(i==t.doc.length||e(t.sliceDoc(i,i+1))!=mr.Word)}function pdt(e,t,n,i){return e(t.sliceDoc(n,n+1))==mr.Word&&e(t.sliceDoc(i-1,i))==mr.Word}const mdt=Qr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(udt),{state:n}=e,i=n.selection;if(i.ranges.length>1)return Ut.none;let r=i.main,s,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return Ut.none;let c=n.wordAt(r.head);if(!c)return Ut.none;a=n.charCategorizer(r.head),s=n.sliceDoc(c.from,c.to)}else{let c=r.to-r.from;if(c200)return Ut.none;if(t.wholeWords){if(s=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!(YH(a,n,r.from,r.to)&&pdt(a,n,r.from,r.to)))return Ut.none}else if(s=n.sliceDoc(r.from,r.to),!s)return Ut.none}let o=[];for(let c of e.visibleRanges){let u=new Tb(n.doc,s,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!a||YH(a,n,d,f))&&(r.empty&&d<=r.from&&f>=r.to?o.push(hdt.range(d,f)):(d>=r.to||f<=r.from)&&o.push(fdt.range(d,f)),o.length>t.maxMatches))return Ut.none}}return Ut.set(o)}},{decorations:e=>e.decorations}),gdt=ht.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),bdt=({state:e,dispatch:t})=>{let{selection:n}=e,i=$e.create(n.ranges.map(r=>e.wordAt(r.head)||$e.cursor(r.head)),n.mainIndex);return i.eq(n)?!1:(t(e.update({selection:i})),!0)};function Odt(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let a=!1,o=new Tb(e.doc,t,i[i.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new Tb(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(c=>c.from==o.value.from))continue;if(s){let c=e.wordAt(o.value.from);if(!c||c.from!=o.value.from||c.to!=o.value.to)continue}return o.value}}const ydt=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(s=>s.from===s.to))return bdt({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(s=>e.sliceDoc(s.from,s.to)!=i))return!1;let r=Odt(e,i);return r?(t(e.update({selection:e.selection.addRange($e.range(r.from,r.to),!1),effects:ht.scrollIntoView(r.to)})),!0):!1},pO=vt.define({combine(e){return ku(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new Ddt(t),scrollToMatch:t=>ht.scrollIntoView(t)})}});class Dme{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||odt(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?` -`:i=="r"?"\r":i=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new kdt(this):new wdt(this)}getCursor(t,n=0,i){let r=t.doc?t:zn.create({doc:t});return i==null&&(i=r.doc.length),this.regexp?jg(this,r,n,i):Ng(this,r,n,i)}}class Ime{constructor(t){this.spec=t}}function xdt(e,t,n){return(i,r,s,a)=>{if(n&&!n(i,r,s,a))return!1;let o=i>=a&&r<=a+s.length?s.slice(i-a,r-a):t.doc.sliceString(i,r);return e(o,t,i,r)}}function Ng(e,t,n,i){let r;return e.wholeWord&&(r=vdt(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(r=xdt(e.test,t,r)),new Tb(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:s=>s.toLowerCase(),r)}function vdt(e,t){return(n,i,r,s)=>((s>n||s+r.length=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=Ng(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function Sdt(e,t,n){return(i,r,s)=>(!n||n(i,r,s))&&e(s[0],t,i,r)}function jg(e,t,n,i){let r;return e.wholeWord&&(r=Edt(t.charCategorizer(t.selection.main.head))),e.test&&(r=Sdt(e.test,t,r)),new jme(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:r},n,i)}function N_(e,t){return e.slice($s(e,t,!1),t)}function j_(e,t){return e.slice(t,$s(e,t))}function Edt(e){return(t,n,i)=>!i[0].length||(e(N_(i.input,i.index))!=mr.Word||e(j_(i.input,i.index))!=mr.Word)&&(e(j_(i.input,i.index+i[0].length))!=mr.Word||e(N_(i.input,i.index+i[0].length))!=mr.Word)}class kdt extends Ime{nextMatch(t,n,i){let r=jg(this.spec,t,i,t.doc.length).next();return r.done&&(r=jg(this.spec,t,0,n).next()),r.done?null:r.value}prevMatchInRange(t,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),a=jg(this.spec,t,s,i),o=null;for(;!a.next().done;)o=a.value;if(o&&(s==n||o.from>s+10))return o;if(s==n)return null}}prevMatch(t,n,i){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return t.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=jg(this.spec,t,Math.max(0,n-250),Math.min(i+250,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const K1=an.define(),EQ=an.define(),oh=ra.define({create(e){return new KR(G5(e).create(),null)},update(e,t){for(let n of t.effects)n.is(K1)?e=new KR(n.value.create(),e.panel):n.is(EQ)&&(e=new KR(e.query,n.value?kQ:null));return e},provide:e=>Q1.from(e,t=>t.panel)});class KR{constructor(t,n){this.query=t,this.panel=n}}const Tdt=Ut.mark({class:"cm-searchMatch"}),_dt=Ut.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Adt=Qr.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(oh))}update(e){let t=e.state.field(oh);(t!=e.startState.field(oh)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Ut.none;let{view:n}=this,i=new Pd;for(let r=0,s=n.visibleRanges,a=s.length;rs[r+1].from-2*250;)c=s[++r].to;e.highlight(n.state,o,c,(u,d)=>{let f=n.state.selection.ranges.some(h=>h.from==u&&h.to==d);i.add(u,d,f?_dt:Tdt)})}return i.finish()}},{decorations:e=>e.decorations});function iw(e){return t=>{let n=t.state.field(oh,!1);return n&&n.query.spec.valid?e(t,n):Lme(t)}}const R_=iw((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);if(!i)return!1;let r=$e.single(i.from,i.to),s=e.state.facet(pO);return e.dispatch({selection:r,effects:[TQ(e,i),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),Mme(e),!0}),D_=iw((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);if(!r)return!1;let s=$e.single(r.from,r.to),a=e.state.facet(pO);return e.dispatch({selection:s,effects:[TQ(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Mme(e),!0}),Cdt=iw((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:$e.create(n.map(i=>$e.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Ndt=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],a=0;for(let o=new Tb(e.doc,e.sliceDoc(i,r));!o.next().done;){if(s.length>1e3)return!1;o.value.from==i&&(a=s.length),s.push($e.range(o.value.from,o.value.to))}return t(e.update({selection:$e.create(s,a),userEvent:"select.search.matches"})),!0},GH=iw((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let a=s,o=[],c,u,d=[];a.precise?a.from==i&&a.to==r&&(u=n.toText(t.getReplacement(a)),o.push({from:a.from,to:a.to,insert:u}),a=t.nextMatch(n,a.from,a.to),d.push(ht.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))):a=t.nextMatch(n,a.from,a.to);let f=e.state.changes(o);return a&&(c=$e.single(a.from,a.to).map(f),d.push(TQ(e,a)),d.push(n.facet(pO).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),jdt=iw((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:s,to:a,precise:o}=r;o&&n.push({from:s,to:a,insert:t.getReplacement(r)})}if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:ht.announce.of(i),userEvent:"input.replace.all"}),!0});function kQ(e){return e.state.facet(pO).createPanel(e)}function G5(e,t){var n,i,r,s,a;let o=e.selection.main,c=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!c)return t;let u=e.facet(pO);return new Dme({search:((n=t==null?void 0:t.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(i=t==null?void 0:t.caseSensitive)!==null&&i!==void 0?i:u.caseSensitive,literal:(r=t==null?void 0:t.literal)!==null&&r!==void 0?r:u.literal,regexp:(s=t==null?void 0:t.regexp)!==null&&s!==void 0?s:u.regexp,wholeWord:(a=t==null?void 0:t.wholeWord)!==null&&a!==void 0?a:u.wholeWord})}function Pme(e){let t=U6(e,kQ);return t&&t.dom.querySelector("[main-field]")}function Mme(e){let t=Pme(e);t&&t==e.root.activeElement&&t.select()}const Lme=e=>{let t=e.state.field(oh,!1);if(t&&t.panel){let n=Pme(e);if(n&&n!=e.root.activeElement){let i=G5(e.state,t.query.spec);i.valid&&e.dispatch({effects:K1.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[EQ.of(!0),t?K1.of(G5(e.state,t.query.spec)):an.appendConfig.of(Pdt)]});return!0},$me=e=>{let t=e.state.field(oh,!1);if(!t||!t.panel)return!1;let n=U6(e,kQ);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:EQ.of(!1)}),!0},Rdt=[{key:"Mod-f",run:Lme,scope:"editor search-panel"},{key:"F3",run:R_,shift:D_,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:R_,shift:D_,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:$me,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Ndt},{key:"Mod-Alt-g",run:ldt},{key:"Mod-d",run:ydt,preventDefault:!0}];class Ddt{constructor(t){this.view=t;let n=this.query=t.state.field(oh).query.spec;this.commit=this.commit.bind(this),this.searchField=Di("input",{value:n.search,placeholder:To(t,"Find"),"aria-label":To(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Di("input",{value:n.replace,placeholder:To(t,"Replace"),"aria-label":To(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Di("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Di("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Di("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,a){return Di("button",{class:"cm-button",name:r,onclick:s,type:"button"},a)}this.dom=Di("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>R_(t),[To(t,"next")]),i("prev",()=>D_(t),[To(t,"previous")]),i("select",()=>Cdt(t),[To(t,"all")]),Di("label",null,[this.caseField,To(t,"match case")]),Di("label",null,[this.reField,To(t,"regexp")]),Di("label",null,[this.wordField,To(t,"by word")]),...t.state.readOnly?[]:[Di("br"),this.replaceField,i("replace",()=>GH(t),[To(t,"replace")]),i("replaceAll",()=>jdt(t),[To(t,"replace all")])],Di("button",{name:"close",onclick:()=>$me(t),"aria-label":To(t,"close"),type:"button"},["×"])])}commit(){let t=new Dme({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:K1.of(t)}))}keydown(t){_tt(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?D_:R_)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),GH(this.view))}update(t){for(let n of t.transactions)for(let i of n.effects)i.is(K1)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(pO).top}}function To(e,t){return e.state.phrase(t)}const dE=30,fE=/[\s\.,:;?!]/;function TQ(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-dE),a=Math.min(r,n+dE),o=e.state.sliceDoc(s,a);if(s!=i.from){for(let c=0;co.length-dE;c--)if(!fE.test(o[c-1])&&fE.test(o[c])){o=o.slice(0,c);break}}return ht.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${i.number}.`)}const Idt=ht.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Pdt=[oh,Yd.low(Adt),Idt];class WH{constructor(t,n,i){this.from=t,this.to=n,this.diagnostic=i}}class vp{constructor(t,n,i){this.diagnostics=t,this.panel=n,this.selected=i}static init(t,n,i){let r=i.facet(J1).markerFilter;r&&(t=r(t,i));let s=t.slice().sort((p,b)=>p.from-b.from||p.to-b.to),a=new Pd,o=[],c=0,u=i.doc.iter(),d=0,f=i.doc.length;for(let p=0;;){let b=p==s.length?null:s[p];if(!b&&!o.length)break;let g,O;if(o.length)g=c,O=o.reduce((x,w)=>Math.min(x,w.to),b&&b.from>g?b.from:1e8);else{if(g=b.from,g>f)break;O=b.to,o.push(b),p++}for(;px.from||x.to==g))o.push(x),p++,O=Math.min(x.to,O);else{O=Math.min(x.from,O);break}}O=Math.min(O,f);let y=!1;if(o.some(x=>x.from==g&&(x.to==O||O==f))&&(y=g==O,!y&&O-g<10)){let x=g-(d+u.value.length);x>0&&(u.next(x),d=g);for(let w=g;;){if(w>=O){y=!0;break}if(!u.lineBreak&&d+u.value.length>w)break;w=d+u.value.length,d+=u.value.length,u.next()}}let v=Ydt(o);if(y)a.add(g,g,Ut.widget({widget:new Vdt(v),diagnostics:o.slice()}));else{let x=o.reduce((w,E)=>E.markClass?w+" "+E.markClass:w,"");a.add(g,O,Ut.mark({class:"cm-lintRange cm-lintRange-"+v+x,diagnostics:o.slice(),inclusiveEnd:o.some(w=>w.to>O)}))}if(c=O,c==f)break;for(let x=0;x{if(!(t&&a.diagnostics.indexOf(t)<0))if(!i)i=new WH(r,s,t||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new WH(i.from,s,i.diagnostic)}}),i}function Mdt(e,t){let n=t.pos,i=t.end||n,r=e.state.facet(J1).hideOn(e,n,i);if(r!=null)return r;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(a=>a.is(Qme))||e.changes.touchesRange(s.from,Math.max(s.to,i)))}function Ldt(e,t){return e.field(Uo,!1)?t:t.concat(an.appendConfig.of(Gdt))}const Qme=an.define(),_Q=an.define(),Bme=an.define(),Uo=ra.define({create(){return new vp(Ut.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,r=e.panel;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);i=jh(n,e.selected.diagnostic,s)||jh(n,null,s)}!n.size&&r&&t.state.facet(J1).autoPanel&&(r=null),e=new vp(n,r,i)}for(let n of t.effects)if(n.is(Qme)){let i=t.state.facet(J1).autoPanel?n.value.length?ev.open:null:e.panel;e=vp.init(n.value,i,t.state)}else n.is(_Q)?e=new vp(e.diagnostics,n.value?ev.open:null,e.selected):n.is(Bme)&&(e=new vp(e.diagnostics,e.panel,n.value));return e},provide:e=>[Q1.from(e,t=>t.panel),ht.decorations.from(e,t=>t.diagnostics)]}),$dt=Ut.mark({class:"cm-lintRange cm-lintRange-active"});function Qdt(e,t,n){let{diagnostics:i}=e.state.field(Uo),r,s=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(tUme(e,n,!1)))}const Fdt=e=>{let t=e.state.field(Uo,!1);(!t||!t.panel)&&e.dispatch({effects:Ldt(e.state,[_Q.of(!0)])});let n=U6(e,ev.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},ZH=e=>{let t=e.state.field(Uo,!1);return!t||!t.panel?!1:(e.dispatch({effects:_Q.of(!1)}),!0)},Udt=e=>{let t=e.state.field(Uo,!1);if(!t)return!1;let n=e.state.selection.main,i=jh(t.diagnostics,null,n.to+1);return!i&&(i=jh(t.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),gnt(e,i.from,1,{tooltip:zme,until:r=>r.docChanged||r.newSelection.main.headi.to}),!0)},zdt=[{key:"Mod-Shift-m",run:Fdt,preventDefault:!0},{key:"F8",run:Udt}],J1=vt.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...ku(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:KH,tooltipFilter:KH,needsRefresh:(t,n)=>t?n?i=>t(i)||n(i):t:n,hideOn:(t,n)=>t?n?(i,r,s)=>t(i,r,s)||n(i,r,s):t:n,autoPanel:(t,n)=>t||n})}}});function KH(e,t){return e?t?(n,i)=>t(e(n,i),i):e:t}function Fme(e){let t=[];if(e)e:for(let{name:n}of e){for(let i=0;is.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function Ume(e,t,n){var i;let r=n?Fme(t.actions):[];return Di("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Di("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(i=t.actions)===null||i===void 0?void 0:i.map((s,a)=>{let o=!1,c=p=>{if(p.preventDefault(),o)return;o=!0;let b=jh(e.state.field(Uo).diagnostics,t);b&&s.apply(e,b.from,b.to)},{name:u}=s,d=r[a]?u.indexOf(r[a]):-1,f=d<0?u:[u.slice(0,d),Di("u",u.slice(d,d+1)),u.slice(d+1)],h=s.markClass?" "+s.markClass:"";return Di("button",{type:"button",class:"cm-diagnosticAction"+h,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[a]})"`}.`},f)}),t.source&&Di("div",{class:"cm-diagnosticSource"},t.source))}class Vdt extends Ec{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return Di("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class JH{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Ume(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ev{constructor(t){this.view=t,this.items=[];let n=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)ZH(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],a=Fme(s.actions);for(let o=0;o{for(let s=0;sZH(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Uo).selected;if(!t)return-1;for(let n=0;n{for(let d of u.diagnostics){if(a.has(d))continue;a.add(d);let f=-1,h;for(let p=i;pi&&(this.items.splice(i,f-i),r=!0)),n&&h.diagnostic==n.diagnostic?h.dom.hasAttribute("aria-selected")||(h.dom.setAttribute("aria-selected","true"),s=h):h.dom.hasAttribute("aria-selected")&&h.dom.removeAttribute("aria-selected"),i++}});i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:c})=>{let u=c.height/this.list.offsetHeight;o.topc.bottom&&(this.list.scrollTop+=(o.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let t=this.list.firstChild;function n(){let i=t;t=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)n();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(Uo),i=jh(n.diagnostics,this.items[t].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:Bme.of(i)})}static open(t){return new ev(t)}}function qdt(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function hE(e){return qdt(``,'width="6" height="3"')}const Xdt=ht.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:hE("#f11")},".cm-lintRange-warning":{backgroundImage:hE("orange")},".cm-lintRange-info":{backgroundImage:hE("#999")},".cm-lintRange-hint":{backgroundImage:hE("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function Hdt(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function Ydt(e){let t="hint",n=1;for(let i of e){let r=Hdt(i.severity);r>n&&(n=r,t=i.severity)}return t}const zme=mnt(Qdt,{hideOn:Mdt}),Gdt=[Uo,ht.decorations.compute([Uo],e=>{let{selected:t,panel:n}=e.field(Uo);return!t||!n||t.from==t.to?Ut.none:Ut.set([$dt.range(t.from,t.to)])}),zme,Xdt];var eY=function(t){t===void 0&&(t={});var n=t,i=n.crosshairCursor,r=i===void 0?!1:i,s=[];t.closeBracketsKeymap!==!1&&(s=s.concat(nst)),t.defaultKeymap!==!1&&(s=s.concat(sdt)),t.searchKeymap!==!1&&(s=s.concat(Rdt)),t.historyKeymap!==!1&&(s=s.concat(fut)),t.foldKeymap!==!1&&(s=s.concat(ait)),t.completionKeymap!==!1&&(s=s.concat(vhe)),t.lintKeymap!==!1&&(s=s.concat(zdt));var a=[];return t.lineNumbers!==!1&&a.push(Cnt()),t.highlightActiveLineGutter!==!1&&a.push(Rnt()),t.highlightSpecialChars!==!1&&a.push(Vtt()),t.history!==!1&&a.push(iut()),t.foldGutter!==!1&&a.push(uit()),t.drawSelection!==!1&&a.push(Dtt()),t.dropCursor!==!1&&a.push($tt()),t.allowMultipleSelections!==!1&&a.push(zn.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&a.push(Knt()),t.syntaxHighlighting!==!1&&a.push(Jfe(pit,{fallback:!0})),t.bracketMatching!==!1&&a.push(vit()),t.closeBrackets!==!1&&a.push(Krt()),t.autocompletion!==!1&&a.push(cst()),t.rectangularSelection!==!1&&a.push(rnt()),r!==!1&&a.push(ont()),t.highlightActiveLine!==!1&&a.push(Wtt()),t.highlightSelectionMatches!==!1&&a.push(ddt()),t.tabSize&&typeof t.tabSize=="number"&&a.push(dO.of(" ".repeat(t.tabSize))),a.concat([uO.of(s.flat())]).filter(Boolean)};const Wdt="#e5c07b",tY="#e06c75",Zdt="#56b6c2",Kdt="#ffffff",Ek="#abb2bf",W5="#7d8799",Jdt="#61afef",eft="#98c379",nY="#d19a66",tft="#c678dd",nft="#21252b",iY="#2c313a",rY="#282c34",JR="#353a42",ift="#3E4451",sY="#528bff",rft=ht.theme({"&":{color:Ek,backgroundColor:rY},".cm-content":{caretColor:sY},".cm-cursor, .cm-dropCursor":{borderLeftColor:sY},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:ift},".cm-panels":{backgroundColor:nft,color:Ek},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:rY,color:W5,border:"none"},".cm-activeLineGutter":{backgroundColor:iY},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:JR},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:JR,borderBottomColor:JR},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:iY,color:Ek}}},{dark:!0}),sft=ew.define([{tag:W.keyword,color:tft},{tag:[W.name,W.deleted,W.character,W.propertyName,W.macroName],color:tY},{tag:[W.function(W.variableName),W.labelName],color:Jdt},{tag:[W.color,W.constant(W.name),W.standard(W.name)],color:nY},{tag:[W.definition(W.name),W.separator],color:Ek},{tag:[W.typeName,W.className,W.number,W.changed,W.annotation,W.modifier,W.self,W.namespace],color:Wdt},{tag:[W.operator,W.operatorKeyword,W.url,W.escape,W.regexp,W.link,W.special(W.string)],color:Zdt},{tag:[W.meta,W.comment],color:W5},{tag:W.strong,fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.link,color:W5,textDecoration:"underline"},{tag:W.heading,fontWeight:"bold",color:tY},{tag:[W.atom,W.bool,W.special(W.variableName)],color:nY},{tag:[W.processingInstruction,W.string,W.inserted],color:eft},{tag:W.invalid,color:Kdt}]),aft=[rft,Jfe(sft)];var oft=ht.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),lft=function(t){t===void 0&&(t={});var n=t,i=n.indentWithTab,r=i===void 0?!0:i,s=n.editable,a=s===void 0?!0:s,o=n.readOnly,c=o===void 0?!1:o,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,h=f===void 0?"":f,p=n.basicSetup,b=p===void 0?!0:p,g=[];switch(r&&g.unshift(uO.of([adt])),b&&(typeof b=="boolean"?g.unshift(eY()):g.unshift(eY(b))),h&&g.unshift(ent(h)),d){case"light":g.push(oft);break;case"dark":g.push(aft);break;case"none":break;default:g.push(d);break}return a===!1&&g.push(ht.editable.of(!1)),c&&g.push(zn.readOnly.of(!0)),[...g]},cft=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class uft{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class aY{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var eD=null,dft=()=>typeof window>"u"?new aY:(eD||(eD=new aY),eD),fft=ht.theme({"& .cm-scroller":{height:"100% !important"}}),oY=null,tD=null;function hft(e,t,n,i,r,s){if(!e&&!t&&!n&&!i&&!r&&!s)return null;var a=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s});return a===oY||(oY=a,tD=ht.theme({"&":{height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s}})),tD}var lY=Eu.define(),pft=200,mft=[];function gft(e){var t=e.value,n=e.selection,i=e.onChange,r=e.onStatistics,s=e.onCreateEditor,a=e.onUpdate,o=e.extensions,c=o===void 0?mft:o,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,h=e.height,p=h===void 0?null:h,b=e.minHeight,g=b===void 0?null:b,O=e.maxHeight,y=O===void 0?null:O,v=e.width,x=v===void 0?null:v,w=e.minWidth,E=w===void 0?null:w,S=e.maxWidth,k=S===void 0?null:S,T=e.placeholder,C=T===void 0?"":T,A=e.editable,R=A===void 0?!0:A,P=e.readOnly,B=P===void 0?!1:P,I=e.indentWithTab,$=I===void 0?!0:I,j=e.basicSetup,D=j===void 0?!0:j,F=e.root,Q=e.initialState,M=m.useState(),G=M[0],H=M[1],U=m.useState(),q=U[0],ie=U[1],fe=m.useState(),me=fe[0],ce=fe[1],K=m.useState(()=>({current:null}))[0],ee=m.useState(()=>({current:null}))[0],ye=hft(p,g,y,x,E,k),ve=ht.updateListener.of(De=>{if(De.docChanged&&typeof i=="function"&&!De.transactions.some(Oe=>Oe.annotation(lY))){K.current?K.current.reset():(K.current=new uft(()=>{if(ee.current){var Oe=ee.current;ee.current=null,Oe()}K.current=null},pft),dft().add(K.current));var he=De.state.doc,Ee=he.toString();i(Ee,De)}r&&r(cft(De))}),Re=lft({theme:f,editable:R,readOnly:B,placeholder:C,indentWithTab:$,basicSetup:D}),Pe=[ve,...ye?[ye]:[],fft,...Re];return a&&typeof a=="function"&&Pe.push(ht.updateListener.of(a)),Pe=Pe.concat(c),m.useLayoutEffect(()=>{if(G&&!me){var De={doc:t,selection:n,extensions:Pe},he=Q?zn.fromJSON(Q.json,De,Q.fields):zn.create(De);if(ce(he),!q){var Ee=new ht({state:he,parent:G,root:F});ie(Ee),s&&s(Ee,he)}}return()=>{q&&(ce(void 0),ie(void 0))}},[G,me]),m.useEffect(()=>{e.container&&H(e.container)},[e.container]),m.useEffect(()=>()=>{q&&(q.destroy(),ie(void 0)),K.current&&(K.current.cancel(),K.current=null)},[q]),m.useEffect(()=>{u&&q&&q.focus()},[u,q]),m.useEffect(()=>{q&&q.dispatch({effects:an.reconfigure.of(Pe)})},[f,c,p,g,y,x,E,k,C,R,B,$,D,i,a]),m.useEffect(()=>{if(t!==void 0){var De=q?q.state.doc.toString():"";if(q&&t!==De){var he=K.current&&!K.current.isDone,Ee=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[lY.of(!0)]})};he?ee.current=Ee:Ee()}}},[t,q]),{state:me,setState:ce,view:q,setView:ie,container:G,setContainer:H}}var bft=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Vme=m.forwardRef((e,t)=>{var n=e.className,i=e.value,r=i===void 0?"":i,s=e.selection,a=e.extensions,o=a===void 0?[]:a,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,h=e.autoFocus,p=e.theme,b=p===void 0?"light":p,g=e.height,O=e.minHeight,y=e.maxHeight,v=e.width,x=e.minWidth,w=e.maxWidth,E=e.basicSetup,S=e.placeholder,k=e.indentWithTab,T=e.editable,C=e.readOnly,A=e.root,R=e.initialState,P=Hct(e,bft),B=m.useRef(null),I=gft({root:A,value:r,autoFocus:h,theme:b,height:g,minHeight:O,maxHeight:y,width:v,minWidth:x,maxWidth:w,basicSetup:E,placeholder:S,indentWithTab:k,editable:T,readOnly:C,selection:s,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:o,initialState:R}),$=I.state,j=I.view,D=I.container,F=I.setContainer;m.useImperativeHandle(t,()=>({editor:B.current,state:$,view:j}),[B,D,$,j]);var Q=m.useCallback(G=>{B.current=G,F(G)},[F]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var M=typeof b=="string"?"cm-theme-"+b:"cm-theme";return l.jsx("div",V5({ref:Q,className:""+M+(n?" "+n:"")},P))});Vme.displayName="CodeMirror";function Oft(e){const t=e.toLowerCase(),n=t.split("/").pop()??t,i=n.includes(".")?n.split(".").pop():"";return n==="dockerfile"||n.startsWith("dockerfile.")||n.endsWith(".dockerfile")?[X6.define(Xct)]:i==="py"||i==="pyi"?[nct()]:["ts","tsx","mts","cts"].includes(i??"")?[j5({typescript:!0,jsx:i==="tsx"})]:["js","jsx","mjs","cjs"].includes(i??"")?[j5({jsx:i==="jsx"})]:i==="json"||i==="jsonc"?[wst()]:i==="yaml"||i==="yml"?[Rct()]:["md","markdown"].includes(i??"")?[Mot()]:[]}function AQ({value:e,path:t,onChange:n,readOnly:i=!1}){const r=m.useMemo(()=>Oft(t),[t]);return l.jsx(Vme,{value:e,height:"100%",theme:"light",extensions:r,editable:!i,onChange:n,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightActiveLineGutter:!0,autocompletion:!1}})}const CQ=Object.freeze(Object.defineProperty({__proto__:null,default:AQ},Symbol.toStringTag,{value:"Module"}));function yft(e){var s;const t=e.split(/\r?\n/);if(((s=t[0])==null?void 0:s.trim())!=="---")return{body:e,frontmatter:[]};const n=t.findIndex((a,o)=>o>0&&a.trim()==="---");if(n<0)return{body:e,frontmatter:[]};const i=ode(t.slice(1,n).join(` +`,{label:"if",detail:"block",type:"keyword"}),jr("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),jr("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),jr("import ${module}",{label:"import",detail:"statement",type:"keyword"}),jr("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],Oct=Nhe(nme,aQ(gct.concat(bct)));function tI(e){let{node:t,pos:n}=e,i=e.lineIndent(n,-1),r=null;for(;;){let s=t.childBefore(n);if(s)if(s.name=="Comment")n=s.from;else if(s.name=="Body"||s.name=="MatchBody")e.baseIndentFor(s)+e.unit<=i&&(r=s),t=s;else if(s.name=="MatchClause")t=s;else if(s.type.is("Statement"))t=s;else break;else break}return r}function nI(e,t){let n=e.baseIndentFor(t),i=e.lineAt(e.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&e.node.ton?null:n+e.unit}const iI=Vd.define({name:"python",parser:hct.configure({props:[rf.add({Body:e=>{var t;let n=/^\s*(#|$)/.test(e.textAfter)&&tI(e)||e.node;return(t=nI(e,n))!==null&&t!==void 0?t:e.continue()},MatchBody:e=>{var t;let n=tI(e);return(t=nI(e,n||e.node))!==null&&t!==void 0?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":$0({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":$0({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":$0({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let n=tI(e);return(t=n&&nI(e,n))!==null&&t!==void 0?t:e.continue()}}),sf.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":aw,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function yct(){return new Ph(iI,[iI.data.of({autocomplete:mct}),iI.data.of({autocomplete:Oct})])}const Lg=63,qH=64,xct=1,vct=2,ime=3,wct=4,rme=5,Sct=6,Ect=7,sme=65,kct=66,Tct=8,_ct=9,Act=10,Cct=11,Nct=12,ame=13,jct=19,Rct=20,Ict=29,Dct=33,Pct=34,Mct=47,Lct=0,AQ=1,YL=2,sv=3,WL=4;class Cp{constructor(t,n,i){this.parent=t,this.depth=n,this.type=i,this.hash=(t?t.hash+t.hash<<8:0)+n+(n<<4)+i}}Cp.top=new Cp(null,-1,Lct);function Qx(e,t){for(let n=0,i=t-e.pos-1;;i--,n++){let r=e.peek(i);if(Xd(r)||r==-1)return n}}function ZL(e){return e==32||e==9}function Xd(e){return e==10||e==13}function ome(e){return ZL(e)||Xd(e)}function Bp(e){return e<0||ome(e)}const $ct=new Z2({start:Cp.top,reduce(e,t){return e.type==sv&&(t==Rct||t==Pct)?e.parent:e},shift(e,t,n,i){if(t==ime)return new Cp(e,Qx(i,i.pos),AQ);if(t==sme||t==rme)return new Cp(e,Qx(i,i.pos),YL);if(t==Lg)return e.parent;if(t==jct||t==Dct)return new Cp(e,0,sv);if(t==ame&&e.type==WL)return e.parent;if(t==Mct){let r=/[1-9]/.exec(i.read(i.pos,n.pos));if(r)return new Cp(e,e.depth+ +r[0],WL)}return e},hash(e){return e.hash}});function Ib(e,t,n=0){return e.peek(n)==t&&e.peek(n+1)==t&&e.peek(n+2)==t&&Bp(e.peek(n+3))}const Qct=new rs((e,t)=>{if(e.next==-1&&t.canShift(qH))return e.acceptToken(qH);let n=e.peek(-1);if((Xd(n)||n<0)&&t.context.type!=sv){if(Ib(e,45))if(t.canShift(Lg))e.acceptToken(Lg);else return e.acceptToken(xct,3);if(Ib(e,46))if(t.canShift(Lg))e.acceptToken(Lg);else return e.acceptToken(vct,3);let i=0;for(;e.next==32;)i++,e.advance();(i{if(t.context.type==sv){e.next==63&&(e.advance(),Bp(e.next)&&e.acceptToken(Ect));return}if(e.next==45)e.advance(),Bp(e.next)&&e.acceptToken(t.context.type==AQ&&t.context.depth==Qx(e,e.pos-1)?wct:ime);else if(e.next==63)e.advance(),Bp(e.next)&&e.acceptToken(t.context.type==YL&&t.context.depth==Qx(e,e.pos-1)?Sct:rme);else{let n=e.pos;for(;;)if(ZL(e.next)){if(e.pos==n)return;e.advance()}else if(e.next==33)lme(e);else if(e.next==38)KL(e);else if(e.next==42){KL(e);break}else if(e.next==39||e.next==34){if(CQ(e,!0))break;return}else if(e.next==91||e.next==123){if(!Uct(e))return;break}else{cme(e,!0,!1,0);break}for(;ZL(e.next);)e.advance();if(e.next==58){if(e.pos==n&&t.canShift(Ict))return;let i=e.peek(1);Bp(i)&&e.acceptTokenTo(t.context.type==YL&&t.context.depth==Qx(e,n)?kct:sme,n)}}},{contextual:!0});function Fct(e){return e>32&&e<127&&e!=34&&e!=37&&e!=44&&e!=60&&e!=62&&e!=92&&e!=94&&e!=96&&e!=123&&e!=124&&e!=125}function XH(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function HH(e,t){return e.next==37?(e.advance(),XH(e.next)&&e.advance(),XH(e.next)&&e.advance(),!0):Fct(e.next)||t&&e.next==44?(e.advance(),!0):!1}function lme(e){if(e.advance(),e.next==60){for(e.advance();;)if(!HH(e,!0)){e.next==62&&e.advance();break}}else for(;HH(e,!1););}function KL(e){for(e.advance();!Bp(e.next)&&I_(e.next)!="f";)e.advance()}function CQ(e,t){let n=e.next,i=!1,r=e.pos;for(e.advance();;){let s=e.next;if(s<0)break;if(e.advance(),s==n)if(s==39)if(e.next==39)e.advance();else break;else break;else if(s==92&&n==34)e.next>=0&&e.advance();else if(Xd(s)){if(t)return!1;i=!0}else if(t&&e.pos>=r+1024)return!1}return!i}function Uct(e){for(let t=[],n=e.pos+1024;;)if(e.next==91||e.next==123)t.push(e.next),e.advance();else if(e.next==39||e.next==34){if(!CQ(e,!0))return!1}else if(e.next==93||e.next==125){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>n||Xd(e.next))return!1;e.advance()}}const zct="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function I_(e){return e<33?"u":e>125?"s":zct[e-33]}function rI(e,t){let n=I_(e);return n!="u"&&!(t&&n=="f")}function cme(e,t,n,i){if(I_(e.next)=="s"||(e.next==63||e.next==58||e.next==45)&&rI(e.peek(1),n))e.advance();else return!1;let r=e.pos;for(;;){let s=e.next,a=0,o=i+1;for(;ome(s);){if(Xd(s)){if(t)return!1;o=0}else o++;s=e.peek(++a)}if(!(s>=0&&(s==58?rI(e.peek(a+1),n):s==35?e.peek(a-1)!=32:rI(s,n)))||!n&&o<=i||o==0&&!n&&(Ib(e,45,a)||Ib(e,46,a)))break;if(t&&I_(s)=="f")return!1;for(let u=a;u>=0;u--)e.advance();if(t&&e.pos>r+1024)return!1}return!0}const Vct=new rs((e,t)=>{if(e.next==33)lme(e),e.acceptToken(Nct);else if(e.next==38||e.next==42){let n=e.next==38?Act:Cct;KL(e),e.acceptToken(n)}else e.next==39||e.next==34?(CQ(e,!1),e.acceptToken(_ct)):cme(e,!1,t.context.type==sv,t.context.depth)&&e.acceptToken(Tct)}),qct=new rs((e,t)=>{let n=t.context.type==WL?t.context.depth:-1,i=e.pos;e:for(;;){let r=0,s=e.next;for(;s==32;)s=e.peek(++r);if(!r&&(Ib(e,45,r)||Ib(e,46,r))||!Xd(s)&&(n<0&&(n=Math.max(t.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:$ct,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[Xct],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[Qct,Bct,Vct,qct,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),Gct=Vd.define({name:"yaml",parser:Hct.configure({props:[rf.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if(t.name=="BlockLiteralContent"&&t.frome.pos)return null}}return null},FlowMapping:$0({closing:"}"}),FlowSequence:$0({closing:"]"})}),sf.add({"FlowMapping FlowSequence":aw,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Yct(){return new Ph(Gct)}function Wct(e){ume(e,"start");var t={},n=e.languageData||{},i=!1;for(var r in e)if(r!=n&&e.hasOwnProperty(r))for(var s=t[r]=[],a=e[r],o=0;o2&&a.token&&typeof a.token!="string"){n.pending=[];for(var u=2;u-1)return null;var r=n.indent.length-1,s=e[n.state];e:for(;;){for(var a=0;a{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=jQ(e.state,n.from);return i.line?fut(e):i.block?put(e):!1};function NQ(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return r?(i(n.update(r)),!0):!1}}const fut=NQ(but,0),hut=NQ(mme,0),put=NQ((e,t)=>mme(e,t,gut(t)),0);function jQ(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const gy=50;function mut(e,{open:t,close:n},i,r){let s=e.sliceDoc(i-gy,i),a=e.sliceDoc(r,r+gy),o=/\s*$/.exec(s)[0].length,c=/^\s*/.exec(a)[0].length,u=s.length-o;if(s.slice(u-t.length,u)==t&&a.slice(c,c+n.length)==n)return{open:{pos:i-o,margin:o&&1},close:{pos:r+c,margin:c&&1}};let d,f;r-i<=2*gy?d=f=e.sliceDoc(i,r):(d=e.sliceDoc(i,i+gy),f=e.sliceDoc(r-gy,r));let h=/^\s*/.exec(d)[0].length,p=/\s*$/.exec(f)[0].length,b=f.length-p-n.length;return d.slice(h,h+t.length)==t&&f.slice(b,b+n.length)==n?{open:{pos:i+h+t.length,margin:/\s/.test(d.charAt(h+t.length))?1:0},close:{pos:r-p-n.length,margin:/\s/.test(f.charAt(b-1))?1:0}}:null}function gut(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to);r.from>i.from&&r.from==n.to&&(r=n.to==i.to+1?i:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return t}function mme(e,t,n=t.selection.ranges){let i=n.map(s=>jQ(t,s.from).block);if(!i.every(s=>s))return null;let r=n.map((s,a)=>mut(t,i[a],s.from,s.to));if(e!=2&&!r.every(s=>s))return{changes:t.changes(n.map((s,a)=>r[a]?[]:[{from:s.from,insert:i[a].open+" "},{from:s.to,insert:" "+i[a].close}]))};if(e!=1&&r.some(s=>s)){let s=[];for(let a=0,o;ar&&(s==a||a>f.from)){r=f.from;let h=/^\s*/.exec(f.text)[0].length,p=h==f.length,b=f.text.slice(h,h+u.length)==u?h:-1;hs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:o,token:c,indent:u,empty:d,single:f}of i)(f||!d)&&s.push({from:o.from+u,insert:c+" "});let a=t.changes(s);return{changes:a,selection:t.selection.map(a,1)}}else if(e!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:a,comment:o,token:c}of i)if(o>=0){let u=a.from+o,d=u+c.length;a.text[d-a.from]==" "&&d++,s.push({from:u,to:d})}return{changes:s}}return null}const e5=Pu.define(),Out=Pu.define(),yut=St.define(),gme=St.define({combine(e){return Mu(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(i,r)=>t(i,r)||n(i,r)})}}),bme=ca.define({create(){return pu.empty},update(e,t){let n=t.state.facet(gme),i=t.annotation(e5);if(i){let c=ho.fromTransaction(t,i.selection),u=i.side,d=u==0?e.undone:e.done;return c?d=D_(d,d.length,n.minDepth,c):d=xme(d,t.startState.selection),new pu(u==0?i.rest:d,u==0?d:i.rest)}let r=t.annotation(Out);if((r=="full"||r=="before")&&(e=e.isolate()),t.annotation(hs.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let s=ho.fromTransaction(t),a=t.annotation(hs.time),o=t.annotation(hs.userEvent);return s?e=e.addChanges(s,a,o,n,t):t.selection&&(e=e.addSelection(t.startState.selection,a,o,n.newGroupDelay)),(r=="full"||r=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new pu(e.done.map(ho.fromJSON),e.undone.map(ho.fromJSON))}});function xut(e={}){return[bme,gme.of(e),ht.domEventHandlers({beforeinput(t,n){let i=t.inputType=="historyUndo"?Ome:t.inputType=="historyRedo"?t5:null;return i?(t.preventDefault(),i(n)):!1}})]}function tC(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(bme,!1);if(!r)return!1;let s=r.pop(e,n,t);return s?(i(s),!0):!1}}const Ome=tC(0,!1),t5=tC(1,!1),vut=tC(0,!0),wut=tC(1,!0);class ho{constructor(t,n,i,r,s){this.changes=t,this.effects=n,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(t){return new ho(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,i;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(t){return new ho(t.changes&&_s.fromJSON(t.changes),[],t.mapped&&xu.fromJSON(t.mapped),t.startSelection&&$e.fromJSON(t.startSelection),t.selectionsAfter.map($e.fromJSON))}static fromTransaction(t,n){let i=Rl;for(let r of t.startState.facet(yut)){let s=r(t);s.length&&(i=i.concat(s))}return!i.length&&t.changes.empty?null:new ho(t.changes.invert(t.startState.doc),i,void 0,n||t.startState.selection,Rl)}static selection(t){return new ho(void 0,Rl,void 0,void 0,t)}}function D_(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function Sut(e,t){let n=[],i=!1;return e.iterChangedRanges((r,s)=>n.push(r,s)),t.iterChangedRanges((r,s,a,o)=>{for(let c=0;c=u&&a<=d&&(i=!0)}}),i}function Eut(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,i)=>n.empty!=t.ranges[i].empty).length===0}function yme(e,t){return e.length?t.length?e.concat(t):e:t}const Rl=[],kut=200;function xme(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-kut));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),D_(e,e.length-1,1e9,n.setSelAfter(i)))}else return[ho.selection([t])]}function Tut(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function sI(e,t){if(!e.length)return e;let n=e.length,i=Rl;for(;n;){let r=_ut(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=e.slice(0,n);return s[n-1]=r,s}else t=r.mapped,n--,i=r.selectionsAfter}return i.length?[ho.selection(i)]:Rl}function _ut(e,t,n){let i=yme(e.selectionsAfter.length?e.selectionsAfter.map(o=>o.map(t)):Rl,n);if(!e.changes)return ho.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(s):s;return new ho(r,fn.mapEffects(e.effects,t),a,e.startSelection.map(s),i)}const Aut=/^(input\.type|delete)($|\.)/;class pu{constructor(t,n,i=0,r=void 0){this.done=t,this.undone=n,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new pu(this.done,this.undone):this}addChanges(t,n,i,r,s){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&t.changes&&(!i||Aut.test(i))&&(!o.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?e.moveByChar(n,t):nC(n,t))}function Aa(e){return e.textDirectionAt(e.state.selection.main.head)==qi.LTR}const wme=e=>vme(e,!Aa(e)),Sme=e=>vme(e,Aa(e));function Eme(e,t){return Mc(e,n=>n.empty?e.moveByGroup(n,t):nC(n,t))}const Nut=e=>Eme(e,!Aa(e)),jut=e=>Eme(e,Aa(e));function Rut(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function iC(e,t,n){let i=Fi(e).resolveInner(t.head),r=n?un.closedBy:un.openedBy;for(let c=t.head;;){let u=n?i.childAfter(c):i.childBefore(c);if(!u)break;Rut(e,u,r)?i=u:c=n?u.to:u.from}let s=i.type.prop(r),a,o;return s&&(a=n?hu(e,i.from,1):hu(e,i.to,-1))&&a.matched?o=n?a.end.to:a.end.from:o=n?i.to:i.from,$e.cursor(o,n?-1:1)}const Iut=e=>Mc(e,t=>iC(e.state,t,!Aa(e))),Dut=e=>Mc(e,t=>iC(e.state,t,Aa(e)));function kme(e,t){return Mc(e,n=>{if(!n.empty)return nC(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const Tme=e=>kme(e,!1),_me=e=>kme(e,!0);function Ame(e){let t=e.scrollDOM.clientHeighta.empty?e.moveVertically(a,t,n.height):nC(a,t));if(r.eq(i.selection))return!1;let s;if(n.selfScroll){let a=e.coordsAtPos(i.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),c=o.top+n.marginTop,u=o.bottom-n.marginBottom;a&&a.top>c&&a.bottomCme(e,!1),n5=e=>Cme(e,!0);function qh(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let s=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&t.head!=i.from+s&&(r=$e.cursor(i.from+s))}return r}const Put=e=>Mc(e,t=>qh(e,t,!0)),Mut=e=>Mc(e,t=>qh(e,t,!1)),Lut=e=>Mc(e,t=>qh(e,t,!Aa(e))),$ut=e=>Mc(e,t=>qh(e,t,Aa(e))),Qut=e=>Mc(e,t=>$e.cursor(e.lineBlockAt(t.head).from,1)),But=e=>Mc(e,t=>$e.cursor(e.lineBlockAt(t.head).to,-1));function Fut(e,t,n){let i=!1,r=vO(e.selection,s=>{let a=hu(e,s.head,-1)||hu(e,s.head,1)||s.head>0&&hu(e,s.head-1,1)||s.headFut(e,t);function Vl(e,t,n){let i=vO(e.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=t&&(r=$e.range(r.head,r.anchor));let s=n(r);return $e.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(e.state.selection)?!1:(e.dispatch(Pc(e.state,i)),!0)}function Nme(e,t){return Vl(e,t,n=>e.moveByChar(n,t))}const jme=e=>Nme(e,!Aa(e)),Rme=e=>Nme(e,Aa(e));function Ime(e,t){return Vl(e,t,n=>e.moveByGroup(n,t))}const zut=e=>Ime(e,!Aa(e)),Vut=e=>Ime(e,Aa(e)),qut=e=>{let t=!Aa(e);return Vl(e,t,n=>iC(e.state,n,t))},Xut=e=>{let t=Aa(e);return Vl(e,t,n=>iC(e.state,n,t))};function Dme(e,t){return Vl(e,t,n=>e.moveVertically(n,t))}const Pme=e=>Dme(e,!1),Mme=e=>Dme(e,!0);function Lme(e,t){return Vl(e,t,n=>e.moveVertically(n,t,Ame(e).height))}const YH=e=>Lme(e,!1),WH=e=>Lme(e,!0),Hut=e=>Vl(e,!0,t=>qh(e,t,!0)),Gut=e=>Vl(e,!1,t=>qh(e,t,!1)),Yut=e=>{let t=!Aa(e);return Vl(e,t,n=>qh(e,n,t))},Wut=e=>{let t=Aa(e);return Vl(e,t,n=>qh(e,n,t))},Zut=e=>Vl(e,!1,t=>$e.cursor(e.lineBlockAt(t.head).from)),Kut=e=>Vl(e,!0,t=>$e.cursor(e.lineBlockAt(t.head).to)),ZH=({state:e,dispatch:t})=>(t(Pc(e,{anchor:0})),!0),KH=({state:e,dispatch:t})=>(t(Pc(e,{anchor:e.doc.length})),!0),JH=({state:e,dispatch:t})=>(t(Pc(e,{anchor:e.selection.main.anchor,head:0})),!0),eG=({state:e,dispatch:t})=>(t(Pc(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Jut=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),edt=({state:e,dispatch:t})=>{let n=rC(e).map(({from:i,to:r})=>$e.range(i,Math.min(r+1,e.doc.length)));return t(e.update({selection:$e.create(n),userEvent:"select"})),!0},tdt=({state:e,dispatch:t})=>{let n=vO(e.selection,i=>{let r=Fi(e),s=r.resolveStack(i.from,1);if(i.empty){let a=r.resolveStack(i.from,-1);a.node.from>=s.node.from&&a.node.to<=s.node.to&&(s=a)}for(let a=s;a;a=a.next){let{node:o}=a;if((o.from=i.to||o.to>i.to&&o.from<=i.from)&&a.next)return $e.range(o.to,o.from)}return i});return n.eq(e.selection)?!1:(t(Pc(e,n)),!0)};function $me(e,t){let{state:n}=e,i=n.selection,r=n.selection.ranges.slice();for(let s of n.selection.ranges){let a=n.doc.lineAt(s.head);if(t?a.to0)for(let o=s;;){let c=e.moveVertically(o,t);if(c.heada.to){r.some(u=>u.head==c.head)||r.push(c);break}else{if(c.head==o.head)break;o=c}}}return r.length==i.ranges.length?!1:(e.dispatch(Pc(n,$e.create(r,r.length-1))),!0)}const ndt=e=>$me(e,!1),idt=e=>$me(e,!0),rdt=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=$e.create([n.main]):n.main.empty||(i=$e.create([$e.cursor(n.main.head)])),i?(t(Pc(e,i)),!0):!1};function uw(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(s=>{let{from:a,to:o}=s;if(a==o){let c=t(s);ca&&(n="delete.forward",c=pE(e,c,!0)),a=Math.min(a,c),o=Math.max(o,c)}else a=pE(e,a,!1),o=pE(e,o,!0);return a==o?{range:s}:{changes:{from:a,to:o},range:$e.cursor(a,ar(e)))i.between(t,t,(r,s)=>{rt&&(t=n?s:r)});return t}const Qme=(e,t,n)=>uw(e,i=>{let r=i.from,{state:s}=e,a=s.doc.lineAt(r),o,c;if(n&&!t&&r>a.from&&rQme(e,!1,!0),Bme=e=>Qme(e,!0,!1),Fme=(e,t)=>uw(e,n=>{let i=n.head,{state:r}=e,s=r.doc.lineAt(i),a=r.charCategorizer(i);for(let o=null;;){if(i==(t?s.to:s.from)){i==n.head&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let c=Vs(s.text,i-s.from,t)+s.from,u=s.text.slice(Math.min(i,c)-s.from,Math.max(i,c)-s.from),d=a(u);if(o!=null&&d!=o)break;(u!=" "||i!=n.head)&&(o=d),i=c}return i}),Ume=e=>Fme(e,!1),sdt=e=>Fme(e,!0),adt=e=>uw(e,t=>{let n=e.lineBlockAt(t.head).to;return t.headuw(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),ldt=e=>uw(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head{if(e.readOnly)return!1;let n=e.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:gi.of(["",""])},range:$e.cursor(i.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},udt=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{if(!i.empty||i.from==0||i.from==e.doc.length)return{range:i};let r=i.from,s=e.doc.lineAt(r),a=r==s.from?r-1:Vs(s.text,r-s.from,!1)+s.from,o=r==s.to?r+1:Vs(s.text,r-s.from,!0)+s.from;return{changes:{from:a,to:o,insert:e.doc.slice(r,o).append(e.doc.slice(a,r))},range:$e.cursor(o)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function rC(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=e.doc.lineAt(i.to-1)),n>=r.number){let a=t[t.length-1];a.to=s.to,a.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function zme(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let s of rC(e)){if(n?s.to==e.doc.length:s.from==0)continue;let a=e.doc.lineAt(n?s.to+1:s.from-1),o=a.length+1;if(n){i.push({from:s.to,to:a.to},{from:s.from,insert:a.text+e.lineBreak});for(let c of s.ranges)r.push($e.range(Math.min(e.doc.length,c.anchor+o),Math.min(e.doc.length,c.head+o)))}else{i.push({from:a.from,to:s.from},{from:s.to,insert:e.lineBreak+a.text});for(let c of s.ranges)r.push($e.range(c.anchor-o,c.head-o))}}return i.length?(t(e.update({changes:i,scrollIntoView:!0,selection:$e.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const ddt=({state:e,dispatch:t})=>zme(e,t,!1),fdt=({state:e,dispatch:t})=>zme(e,t,!0);function Vme(e,t,n){if(e.readOnly)return!1;let i=[];for(let s of rC(e))n?i.push({from:s.from,insert:e.doc.slice(s.from,s.to)+e.lineBreak}):i.push({from:s.to,insert:e.lineBreak+e.doc.slice(s.from,s.to)});let r=e.changes(i);return t(e.update({changes:r,selection:e.selection.map(r,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const hdt=({state:e,dispatch:t})=>Vme(e,t,!1),pdt=({state:e,dispatch:t})=>Vme(e,t,!0),mdt=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(rC(t).map(({from:r,to:s})=>(r>0?r--:s{let s;if(e.lineWrapping){let a=e.lineBlockAt(r.head),o=e.coordsAtPos(r.head,r.assoc||1);o&&(s=a.bottom+e.documentTop-o.bottom+e.defaultLineHeight/2)}return e.moveVertically(r,!0,s)}).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function gdt(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=Fi(e).resolveInner(t),i=n.childBefore(t),r=n.childAfter(t),s;return i&&r&&i.to<=t&&r.from>=t&&(s=i.type.prop(un.closedBy))&&s.indexOf(r.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}const tG=qme(!1),bdt=qme(!0);function qme(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{let{from:s,to:a}=r,o=t.doc.lineAt(s),c=!e&&s==a&&gdt(t,s);e&&(s=a=(a<=o.to?o:t.doc.lineAt(a)).to);let u=new Y2(t,{simulateBreak:s,simulateDoubleBreak:!!c}),d=eQ(u,s);for(d==null&&(d=kc(/^\s*/.exec(t.doc.lineAt(s).text)[0],t.tabSize));ao.from&&s{let r=[];for(let a=i.from;a<=i.to;){let o=e.doc.lineAt(a);o.number>n&&(i.empty||i.to>o.from)&&(t(o,r,i),n=o.number),a=o.to+1}let s=e.changes(r);return{changes:r,range:$e.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const Odt=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new Y2(e,{overrideIndentation:s=>{let a=n[s];return a??-1}}),r=RQ(e,(s,a,o)=>{let c=eQ(i,s.from);if(c==null)return;/\S/.test(s.text)||(c=0);let u=/^\s*/.exec(s.text)[0],d=Y1(e,c);(u!=d||o.frome.readOnly?!1:(t(e.update(RQ(e,(n,i)=>{i.push({from:n.from,insert:e.facet(yO)})}),{userEvent:"input.indent"})),!0),Hme=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(RQ(e,(n,i)=>{let r=/^\s*/.exec(n.text)[0];if(!r)return;let s=kc(r,e.tabSize),a=0,o=Y1(e,Math.max(0,s-km(e)));for(;a(e.setTabFocusMode(),!0),xdt=[{key:"Ctrl-b",run:wme,shift:jme,preventDefault:!0},{key:"Ctrl-f",run:Sme,shift:Rme},{key:"Ctrl-p",run:Tme,shift:Pme},{key:"Ctrl-n",run:_me,shift:Mme},{key:"Ctrl-a",run:Qut,shift:Zut},{key:"Ctrl-e",run:But,shift:Kut},{key:"Ctrl-d",run:Bme},{key:"Ctrl-h",run:i5},{key:"Ctrl-k",run:adt},{key:"Ctrl-Alt-h",run:Ume},{key:"Ctrl-o",run:cdt},{key:"Ctrl-t",run:udt},{key:"Ctrl-v",run:n5}],vdt=[{key:"ArrowLeft",run:wme,shift:jme,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Nut,shift:zut,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Lut,shift:Yut,preventDefault:!0},{key:"ArrowRight",run:Sme,shift:Rme,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:jut,shift:Vut,preventDefault:!0},{mac:"Cmd-ArrowRight",run:$ut,shift:Wut,preventDefault:!0},{key:"ArrowUp",run:Tme,shift:Pme,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ZH,shift:JH},{mac:"Ctrl-ArrowUp",run:GH,shift:YH},{key:"ArrowDown",run:_me,shift:Mme,preventDefault:!0},{mac:"Cmd-ArrowDown",run:KH,shift:eG},{mac:"Ctrl-ArrowDown",run:n5,shift:WH},{key:"PageUp",run:GH,shift:YH},{key:"PageDown",run:n5,shift:WH},{key:"Home",run:Mut,shift:Gut,preventDefault:!0},{key:"Mod-Home",run:ZH,shift:JH},{key:"End",run:Put,shift:Hut,preventDefault:!0},{key:"Mod-End",run:KH,shift:eG},{key:"Enter",run:tG,shift:tG},{key:"Mod-a",run:Jut},{key:"Backspace",run:i5,shift:i5,preventDefault:!0},{key:"Delete",run:Bme,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ume,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:sdt,preventDefault:!0},{mac:"Mod-Backspace",run:odt,preventDefault:!0},{mac:"Mod-Delete",run:ldt,preventDefault:!0}].concat(xdt.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),wdt=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Iut,shift:qut},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Dut,shift:Xut},{key:"Alt-ArrowUp",run:ddt},{key:"Shift-Alt-ArrowUp",run:hdt},{key:"Alt-ArrowDown",run:fdt},{key:"Shift-Alt-ArrowDown",run:pdt},{key:"Mod-Alt-ArrowUp",run:ndt},{key:"Mod-Alt-ArrowDown",run:idt},{key:"Escape",run:rdt},{key:"Mod-Enter",run:bdt},{key:"Alt-l",mac:"Ctrl-l",run:edt},{key:"Mod-i",run:tdt,preventDefault:!0},{key:"Mod-[",run:Hme},{key:"Mod-]",run:Xme},{key:"Mod-Alt-\\",run:Odt},{key:"Shift-Mod-k",run:mdt},{key:"Shift-Mod-\\",run:Uut},{key:"Mod-/",run:dut},{key:"Alt-A",run:hut},{key:"Ctrl-m",mac:"Shift-Alt-m",run:ydt}].concat(vdt),Sdt={key:"Tab",run:Xme,shift:Hme},nG=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Db{constructor(t,n,i=0,r=t.length,s,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,r),this.bufferStart=i,this.normalize=s?o=>s(nG(o)):nG,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return ao(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=D6(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=ru(t);let r=this.normalize(n);if(r.length)for(let s=0,a=i,o=!0;;s++){let c=r.charCodeAt(s),u=this.match(c,a,o,this.bufferPos+this.bufferStart,s==r.length-1);if(u)return this.value=u,this;if(s==r.length-1)break;o&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,r=i+n[0].length;if(this.matchPos=P_(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=n){let o=new U0(n,t.sliceString(n,i));return aI.set(t,o),o}if(r.from==n&&r.to==i)return r;let{text:s,from:a}=r;return a>n&&(s=t.sliceString(n,a)+s,a=n),r.to=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,r=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,n)))return this.value={from:i,to:r,precise:!0,match:n},this.matchPos=P_(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=U0.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Yme.prototype[Symbol.iterator]=Wme.prototype[Symbol.iterator]=function(){return this});function Edt(e){try{return new RegExp(e,IQ),!0}catch{return!1}}function P_(e,t){if(t>=e.length)return t;let n=e.lineAt(t),i;for(;t=56320&&i<57344;)t++;return t}const kdt=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:i,result:r}=Pnt(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return r.then(s=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:i});return}let o=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=a,h=d?+d.slice(1):0,p=u?+u:o.number;if(u&&f){let O=p/100;c&&(O=O*(c=="-"?-1:1)+o.number/t.doc.lines),p=Math.round(t.doc.lines*O)}else u&&c&&(p=p*(c=="-"?-1:1)+o.number);let b=t.doc.line(Math.max(1,Math.min(t.doc.lines,p))),g=$e.cursor(b.from+Math.max(0,Math.min(h,b.length)));e.dispatch({effects:[i,ht.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},Tdt={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},_dt=St.define({combine(e){return Mu(e,Tdt,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Adt(e){return[Idt,Rdt]}const Cdt=Ht.mark({class:"cm-selectionMatch"}),Ndt=Ht.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function iG(e,t,n,i){return(n==0||e(t.sliceDoc(n-1,n))!=Er.Word)&&(i==t.doc.length||e(t.sliceDoc(i,i+1))!=Er.Word)}function jdt(e,t,n,i){return e(t.sliceDoc(n,n+1))==Er.Word&&e(t.sliceDoc(i-1,i))==Er.Word}const Rdt=Vr.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(_dt),{state:n}=e,i=n.selection;if(i.ranges.length>1)return Ht.none;let r=i.main,s,a=null;if(r.empty){if(!t.highlightWordAroundCursor)return Ht.none;let c=n.wordAt(r.head);if(!c)return Ht.none;a=n.charCategorizer(r.head),s=n.sliceDoc(c.from,c.to)}else{let c=r.to-r.from;if(c200)return Ht.none;if(t.wholeWords){if(s=n.sliceDoc(r.from,r.to),a=n.charCategorizer(r.head),!(iG(a,n,r.from,r.to)&&jdt(a,n,r.from,r.to)))return Ht.none}else if(s=n.sliceDoc(r.from,r.to),!s)return Ht.none}let o=[];for(let c of e.visibleRanges){let u=new Db(n.doc,s,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!a||iG(a,n,d,f))&&(r.empty&&d<=r.from&&f>=r.to?o.push(Ndt.range(d,f)):(d>=r.to||f<=r.from)&&o.push(Cdt.range(d,f)),o.length>t.maxMatches))return Ht.none}}return Ht.set(o)}},{decorations:e=>e.decorations}),Idt=ht.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Ddt=({state:e,dispatch:t})=>{let{selection:n}=e,i=$e.create(n.ranges.map(r=>e.wordAt(r.head)||$e.cursor(r.head)),n.mainIndex);return i.eq(n)?!1:(t(e.update({selection:i})),!0)};function Pdt(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let a=!1,o=new Db(e.doc,t,i[i.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new Db(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),a=!0}else{if(a&&i.some(c=>c.from==o.value.from))continue;if(s){let c=e.wordAt(o.value.from);if(!c||c.from!=o.value.from||c.to!=o.value.to)continue}return o.value}}const Mdt=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(s=>s.from===s.to))return Ddt({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(s=>e.sliceDoc(s.from,s.to)!=i))return!1;let r=Pdt(e,i);return r?(t(e.update({selection:e.selection.addRange($e.range(r.from,r.to),!1),effects:ht.scrollIntoView(r.to)})),!0):!1},wO=St.define({combine(e){return Mu(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new Wdt(t),scrollToMatch:t=>ht.scrollIntoView(t)})}});class Zme{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||Edt(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new Udt(this):new Qdt(this)}getCursor(t,n=0,i){let r=t.doc?t:qn.create({doc:t});return i==null&&(i=r.doc.length),this.regexp?Qg(this,r,n,i):$g(this,r,n,i)}}class Kme{constructor(t){this.spec=t}}function Ldt(e,t,n){return(i,r,s,a)=>{if(n&&!n(i,r,s,a))return!1;let o=i>=a&&r<=a+s.length?s.slice(i-a,r-a):t.doc.sliceString(i,r);return e(o,t,i,r)}}function $g(e,t,n,i){let r;return e.wholeWord&&(r=$dt(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(r=Ldt(e.test,t,r)),new Db(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:s=>s.toLowerCase(),r)}function $dt(e,t){return(n,i,r,s)=>((s>n||s+r.length=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=$g(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function Bdt(e,t,n){return(i,r,s)=>(!n||n(i,r,s))&&e(s[0],t,i,r)}function Qg(e,t,n,i){let r;return e.wholeWord&&(r=Fdt(t.charCategorizer(t.selection.main.head))),e.test&&(r=Bdt(e.test,t,r)),new Yme(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:r},n,i)}function M_(e,t){return e.slice(Vs(e,t,!1),t)}function L_(e,t){return e.slice(t,Vs(e,t))}function Fdt(e){return(t,n,i)=>!i[0].length||(e(M_(i.input,i.index))!=Er.Word||e(L_(i.input,i.index))!=Er.Word)&&(e(L_(i.input,i.index+i[0].length))!=Er.Word||e(M_(i.input,i.index+i[0].length))!=Er.Word)}class Udt extends Kme{nextMatch(t,n,i){let r=Qg(this.spec,t,i,t.doc.length).next();return r.done&&(r=Qg(this.spec,t,0,n).next()),r.done?null:r.value}prevMatchInRange(t,n,i){for(let r=1;;r++){let s=Math.max(n,i-r*1e4),a=Qg(this.spec,t,s,i),o=null;for(;!a.next().done;)o=a.value;if(o&&(s==n||o.from>s+10))return o;if(s==n)return null}}prevMatch(t,n,i){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return t.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s=n)return null;r.push(i.value)}return r}highlight(t,n,i,r){let s=Qg(this.spec,t,Math.max(0,n-250),Math.min(i+250,t.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const av=fn.define(),DQ=fn.define(),fh=ca.define({create(e){return new oI(r5(e).create(),null)},update(e,t){for(let n of t.effects)n.is(av)?e=new oI(n.value.create(),e.panel):n.is(DQ)&&(e=new oI(e.query,n.value?PQ:null));return e},provide:e=>H1.from(e,t=>t.panel)});class oI{constructor(t,n){this.query=t,this.panel=n}}const zdt=Ht.mark({class:"cm-searchMatch"}),Vdt=Ht.mark({class:"cm-searchMatch cm-searchMatch-selected"}),qdt=Vr.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(fh))}update(e){let t=e.state.field(fh);(t!=e.startState.field(fh)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Ht.none;let{view:n}=this,i=new Fd;for(let r=0,s=n.visibleRanges,a=s.length;rs[r+1].from-2*250;)c=s[++r].to;e.highlight(n.state,o,c,(u,d)=>{let f=n.state.selection.ranges.some(h=>h.from==u&&h.to==d);i.add(u,d,f?Vdt:zdt)})}return i.finish()}},{decorations:e=>e.decorations});function dw(e){return t=>{let n=t.state.field(fh,!1);return n&&n.query.spec.valid?e(t,n):tge(t)}}const $_=dw((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);if(!i)return!1;let r=$e.single(i.from,i.to),s=e.state.facet(wO);return e.dispatch({selection:r,effects:[MQ(e,i),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),ege(e),!0}),Q_=dw((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);if(!r)return!1;let s=$e.single(r.from,r.to),a=e.state.facet(wO);return e.dispatch({selection:s,effects:[MQ(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),ege(e),!0}),Xdt=dw((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:$e.create(n.map(i=>$e.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Hdt=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],a=0;for(let o=new Db(e.doc,e.sliceDoc(i,r));!o.next().done;){if(s.length>1e3)return!1;o.value.from==i&&(a=s.length),s.push($e.range(o.value.from,o.value.to))}return t(e.update({selection:$e.create(s,a),userEvent:"select.search.matches"})),!0},rG=dw((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let a=s,o=[],c,u,d=[];a.precise?a.from==i&&a.to==r&&(u=n.toText(t.getReplacement(a)),o.push({from:a.from,to:a.to,insert:u}),a=t.nextMatch(n,a.from,a.to),d.push(ht.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))):a=t.nextMatch(n,a.from,a.to);let f=e.state.changes(o);return a&&(c=$e.single(a.from,a.to).map(f),d.push(MQ(e,a)),d.push(n.facet(wO).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),Gdt=dw((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:s,to:a,precise:o}=r;o&&n.push({from:s,to:a,insert:t.getReplacement(r)})}if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:ht.announce.of(i),userEvent:"input.replace.all"}),!0});function PQ(e){return e.state.facet(wO).createPanel(e)}function r5(e,t){var n,i,r,s,a;let o=e.selection.main,c=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!c)return t;let u=e.facet(wO);return new Zme({search:((n=t==null?void 0:t.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(i=t==null?void 0:t.caseSensitive)!==null&&i!==void 0?i:u.caseSensitive,literal:(r=t==null?void 0:t.literal)!==null&&r!==void 0?r:u.literal,regexp:(s=t==null?void 0:t.regexp)!==null&&s!==void 0?s:u.regexp,wholeWord:(a=t==null?void 0:t.wholeWord)!==null&&a!==void 0?a:u.wholeWord})}function Jme(e){let t=K6(e,PQ);return t&&t.dom.querySelector("[main-field]")}function ege(e){let t=Jme(e);t&&t==e.root.activeElement&&t.select()}const tge=e=>{let t=e.state.field(fh,!1);if(t&&t.panel){let n=Jme(e);if(n&&n!=e.root.activeElement){let i=r5(e.state,t.query.spec);i.valid&&e.dispatch({effects:av.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[DQ.of(!0),t?av.of(r5(e.state,t.query.spec)):fn.appendConfig.of(Kdt)]});return!0},nge=e=>{let t=e.state.field(fh,!1);if(!t||!t.panel)return!1;let n=K6(e,PQ);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:DQ.of(!1)}),!0},Ydt=[{key:"Mod-f",run:tge,scope:"editor search-panel"},{key:"F3",run:$_,shift:Q_,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:$_,shift:Q_,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:nge,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Hdt},{key:"Mod-Alt-g",run:kdt},{key:"Mod-d",run:Mdt,preventDefault:!0}];class Wdt{constructor(t){this.view=t;let n=this.query=t.state.field(fh).query.spec;this.commit=this.commit.bind(this),this.searchField=$i("input",{value:n.search,placeholder:Do(t,"Find"),"aria-label":Do(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=$i("input",{value:n.replace,placeholder:Do(t,"Replace"),"aria-label":Do(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=$i("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=$i("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=$i("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(r,s,a){return $i("button",{class:"cm-button",name:r,onclick:s,type:"button"},a)}this.dom=$i("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>$_(t),[Do(t,"next")]),i("prev",()=>Q_(t),[Do(t,"previous")]),i("select",()=>Xdt(t),[Do(t,"all")]),$i("label",null,[this.caseField,Do(t,"match case")]),$i("label",null,[this.reField,Do(t,"regexp")]),$i("label",null,[this.wordField,Do(t,"by word")]),...t.state.readOnly?[]:[$i("br"),this.replaceField,i("replace",()=>rG(t),[Do(t,"replace")]),i("replaceAll",()=>Gdt(t),[Do(t,"replace all")])],$i("button",{name:"close",onclick:()=>nge(t),"aria-label":Do(t,"close"),type:"button"},["×"])])}commit(){let t=new Zme({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:av.of(t)}))}keydown(t){Vtt(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?Q_:$_)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),rG(this.view))}update(t){for(let n of t.transactions)for(let i of n.effects)i.is(av)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(wO).top}}function Do(e,t){return e.state.phrase(t)}const mE=30,gE=/[\s\.,:;?!]/;function MQ(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-mE),a=Math.min(r,n+mE),o=e.state.sliceDoc(s,a);if(s!=i.from){for(let c=0;co.length-mE;c--)if(!gE.test(o[c-1])&&gE.test(o[c])){o=o.slice(0,c);break}}return ht.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${i.number}.`)}const Zdt=ht.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Kdt=[fh,tf.low(qdt),Zdt];class sG{constructor(t,n,i){this.from=t,this.to=n,this.diagnostic=i}}class Np{constructor(t,n,i){this.diagnostics=t,this.panel=n,this.selected=i}static init(t,n,i){let r=i.facet(ov).markerFilter;r&&(t=r(t,i));let s=t.slice().sort((p,b)=>p.from-b.from||p.to-b.to),a=new Fd,o=[],c=0,u=i.doc.iter(),d=0,f=i.doc.length;for(let p=0;;){let b=p==s.length?null:s[p];if(!b&&!o.length)break;let g,O;if(o.length)g=c,O=o.reduce((x,w)=>Math.min(x,w.to),b&&b.from>g?b.from:1e8);else{if(g=b.from,g>f)break;O=b.to,o.push(b),p++}for(;px.from||x.to==g))o.push(x),p++,O=Math.min(x.to,O);else{O=Math.min(x.from,O);break}}O=Math.min(O,f);let y=!1;if(o.some(x=>x.from==g&&(x.to==O||O==f))&&(y=g==O,!y&&O-g<10)){let x=g-(d+u.value.length);x>0&&(u.next(x),d=g);for(let w=g;;){if(w>=O){y=!0;break}if(!u.lineBreak&&d+u.value.length>w)break;w=d+u.value.length,d+=u.value.length,u.next()}}let v=dft(o);if(y)a.add(g,g,Ht.widget({widget:new oft(v),diagnostics:o.slice()}));else{let x=o.reduce((w,E)=>E.markClass?w+" "+E.markClass:w,"");a.add(g,O,Ht.mark({class:"cm-lintRange cm-lintRange-"+v+x,diagnostics:o.slice(),inclusiveEnd:o.some(w=>w.to>O)}))}if(c=O,c==f)break;for(let x=0;x{if(!(t&&a.diagnostics.indexOf(t)<0))if(!i)i=new sG(r,s,t||a.diagnostics[0]);else{if(a.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new sG(i.from,s,i.diagnostic)}}),i}function Jdt(e,t){let n=t.pos,i=t.end||n,r=e.state.facet(ov).hideOn(e,n,i);if(r!=null)return r;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(a=>a.is(ige))||e.changes.touchesRange(s.from,Math.max(s.to,i)))}function eft(e,t){return e.field(Wo,!1)?t:t.concat(fn.appendConfig.of(fft))}const ige=fn.define(),LQ=fn.define(),rge=fn.define(),Wo=ca.define({create(){return new Np(Ht.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,r=e.panel;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);i=Mh(n,e.selected.diagnostic,s)||Mh(n,null,s)}!n.size&&r&&t.state.facet(ov).autoPanel&&(r=null),e=new Np(n,r,i)}for(let n of t.effects)if(n.is(ige)){let i=t.state.facet(ov).autoPanel?n.value.length?lv.open:null:e.panel;e=Np.init(n.value,i,t.state)}else n.is(LQ)?e=new Np(e.diagnostics,n.value?lv.open:null,e.selected):n.is(rge)&&(e=new Np(e.diagnostics,e.panel,n.value));return e},provide:e=>[H1.from(e,t=>t.panel),ht.decorations.from(e,t=>t.diagnostics)]}),tft=Ht.mark({class:"cm-lintRange cm-lintRange-active"});function nft(e,t,n){let{diagnostics:i}=e.state.field(Wo),r,s=-1,a=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(tage(e,n,!1)))}const rft=e=>{let t=e.state.field(Wo,!1);(!t||!t.panel)&&e.dispatch({effects:eft(e.state,[LQ.of(!0)])});let n=K6(e,lv.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},aG=e=>{let t=e.state.field(Wo,!1);return!t||!t.panel?!1:(e.dispatch({effects:LQ.of(!1)}),!0)},sft=e=>{let t=e.state.field(Wo,!1);if(!t)return!1;let n=e.state.selection.main,i=Mh(t.diagnostics,null,n.to+1);return!i&&(i=Mh(t.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),Int(e,i.from,1,{tooltip:oge,until:r=>r.docChanged||r.newSelection.main.headi.to}),!0)},aft=[{key:"Mod-Shift-m",run:rft,preventDefault:!0},{key:"F8",run:sft}],ov=St.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Mu(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:oG,tooltipFilter:oG,needsRefresh:(t,n)=>t?n?i=>t(i)||n(i):t:n,hideOn:(t,n)=>t?n?(i,r,s)=>t(i,r,s)||n(i,r,s):t:n,autoPanel:(t,n)=>t||n})}}});function oG(e,t){return e?t?(n,i)=>t(e(n,i),i):e:t}function sge(e){let t=[];if(e)e:for(let{name:n}of e){for(let i=0;is.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function age(e,t,n){var i;let r=n?sge(t.actions):[];return $i("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},$i("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(i=t.actions)===null||i===void 0?void 0:i.map((s,a)=>{let o=!1,c=p=>{if(p.preventDefault(),o)return;o=!0;let b=Mh(e.state.field(Wo).diagnostics,t);b&&s.apply(e,b.from,b.to)},{name:u}=s,d=r[a]?u.indexOf(r[a]):-1,f=d<0?u:[u.slice(0,d),$i("u",u.slice(d,d+1)),u.slice(d+1)],h=s.markClass?" "+s.markClass:"";return $i("button",{type:"button",class:"cm-diagnosticAction"+h,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[a]})"`}.`},f)}),t.source&&$i("div",{class:"cm-diagnosticSource"},t.source))}class oft extends Dc{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return $i("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class lG{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=age(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class lv{constructor(t){this.view=t,this.items=[];let n=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)aG(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],a=sge(s.actions);for(let o=0;o{for(let s=0;saG(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Wo).selected;if(!t)return-1;for(let n=0;n{for(let d of u.diagnostics){if(a.has(d))continue;a.add(d);let f=-1,h;for(let p=i;pi&&(this.items.splice(i,f-i),r=!0)),n&&h.diagnostic==n.diagnostic?h.dom.hasAttribute("aria-selected")||(h.dom.setAttribute("aria-selected","true"),s=h):h.dom.hasAttribute("aria-selected")&&h.dom.removeAttribute("aria-selected"),i++}});i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:c})=>{let u=c.height/this.list.offsetHeight;o.topc.bottom&&(this.list.scrollTop+=(o.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let t=this.list.firstChild;function n(){let i=t;t=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)n();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(Wo),i=Mh(n.diagnostics,this.items[t].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:rge.of(i)})}static open(t){return new lv(t)}}function lft(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}function bE(e){return lft(``,'width="6" height="3"')}const cft=ht.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:bE("#f11")},".cm-lintRange-warning":{backgroundImage:bE("orange")},".cm-lintRange-info":{backgroundImage:bE("#999")},".cm-lintRange-hint":{backgroundImage:bE("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function uft(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function dft(e){let t="hint",n=1;for(let i of e){let r=uft(i.severity);r>n&&(n=r,t=i.severity)}return t}const oge=Rnt(nft,{hideOn:Jdt}),fft=[Wo,ht.decorations.compute([Wo],e=>{let{selected:t,panel:n}=e.field(Wo);return!t||!n||t.from==t.to?Ht.none:Ht.set([tft.range(t.from,t.to)])}),oge,cft];var cG=function(t){t===void 0&&(t={});var n=t,i=n.crosshairCursor,r=i===void 0?!1:i,s=[];t.closeBracketsKeymap!==!1&&(s=s.concat(yst)),t.defaultKeymap!==!1&&(s=s.concat(wdt)),t.searchKeymap!==!1&&(s=s.concat(Ydt)),t.historyKeymap!==!1&&(s=s.concat(Cut)),t.foldKeymap!==!1&&(s=s.concat(Sit)),t.completionKeymap!==!1&&(s=s.concat(Qhe)),t.lintKeymap!==!1&&(s=s.concat(aft));var a=[];return t.lineNumbers!==!1&&a.push(Xnt()),t.highlightActiveLineGutter!==!1&&a.push(Ynt()),t.highlightSpecialChars!==!1&&a.push(ont()),t.history!==!1&&a.push(xut()),t.foldGutter!==!1&&a.push(_it()),t.drawSelection!==!1&&a.push(Wtt()),t.dropCursor!==!1&&a.push(tnt()),t.allowMultipleSelections!==!1&&a.push(qn.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&a.push(mit()),t.syntaxHighlighting!==!1&&a.push(bhe(jit,{fallback:!0})),t.bracketMatching!==!1&&a.push($it()),t.closeBrackets!==!1&&a.push(mst()),t.autocompletion!==!1&&a.push(Tst()),t.rectangularSelection!==!1&&a.push(vnt()),r!==!1&&a.push(Ent()),t.highlightActiveLine!==!1&&a.push(hnt()),t.highlightSelectionMatches!==!1&&a.push(Adt()),t.tabSize&&typeof t.tabSize=="number"&&a.push(yO.of(" ".repeat(t.tabSize))),a.concat([OO.of(s.flat())]).filter(Boolean)};const hft="#e5c07b",uG="#e06c75",pft="#56b6c2",mft="#ffffff",Ck="#abb2bf",s5="#7d8799",gft="#61afef",bft="#98c379",dG="#d19a66",Oft="#c678dd",yft="#21252b",fG="#2c313a",hG="#282c34",lI="#353a42",xft="#3E4451",pG="#528bff",vft=ht.theme({"&":{color:Ck,backgroundColor:hG},".cm-content":{caretColor:pG},".cm-cursor, .cm-dropCursor":{borderLeftColor:pG},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:xft},".cm-panels":{backgroundColor:yft,color:Ck},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:hG,color:s5,border:"none"},".cm-activeLineGutter":{backgroundColor:fG},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:lI},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:lI,borderBottomColor:lI},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:fG,color:Ck}}},{dark:!0}),wft=lw.define([{tag:W.keyword,color:Oft},{tag:[W.name,W.deleted,W.character,W.propertyName,W.macroName],color:uG},{tag:[W.function(W.variableName),W.labelName],color:gft},{tag:[W.color,W.constant(W.name),W.standard(W.name)],color:dG},{tag:[W.definition(W.name),W.separator],color:Ck},{tag:[W.typeName,W.className,W.number,W.changed,W.annotation,W.modifier,W.self,W.namespace],color:hft},{tag:[W.operator,W.operatorKeyword,W.url,W.escape,W.regexp,W.link,W.special(W.string)],color:pft},{tag:[W.meta,W.comment],color:s5},{tag:W.strong,fontWeight:"bold"},{tag:W.emphasis,fontStyle:"italic"},{tag:W.strikethrough,textDecoration:"line-through"},{tag:W.link,color:s5,textDecoration:"underline"},{tag:W.heading,fontWeight:"bold",color:uG},{tag:[W.atom,W.bool,W.special(W.variableName)],color:dG},{tag:[W.processingInstruction,W.string,W.inserted],color:bft},{tag:W.invalid,color:mft}]),Sft=[vft,bhe(wft)];var Eft=ht.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),kft=function(t){t===void 0&&(t={});var n=t,i=n.indentWithTab,r=i===void 0?!0:i,s=n.editable,a=s===void 0?!0:s,o=n.readOnly,c=o===void 0?!1:o,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,h=f===void 0?"":f,p=n.basicSetup,b=p===void 0?!0:p,g=[];switch(r&&g.unshift(OO.of([Sdt])),b&&(typeof b=="boolean"?g.unshift(cG()):g.unshift(cG(b))),h&&g.unshift(bnt(h)),d){case"light":g.push(Eft);break;case"dark":g.push(Sft);break;case"none":break;default:g.push(d);break}return a===!1&&g.push(ht.editable.of(!1)),c&&g.push(qn.readOnly.of(!0)),[...g]},Tft=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class _ft{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(i){console.error("TimeoutLatch callback error:",i)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class mG{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var cI=null,Aft=()=>typeof window>"u"?new mG:(cI||(cI=new mG),cI),Cft=ht.theme({"& .cm-scroller":{height:"100% !important"}}),gG=null,uI=null;function Nft(e,t,n,i,r,s){if(!e&&!t&&!n&&!i&&!r&&!s)return null;var a=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s});return a===gG||(gG=a,uI=ht.theme({"&":{height:e,minHeight:t,maxHeight:n,width:i,minWidth:r,maxWidth:s}})),uI}var bG=Pu.define(),jft=200,Rft=[];function Ift(e){var t=e.value,n=e.selection,i=e.onChange,r=e.onStatistics,s=e.onCreateEditor,a=e.onUpdate,o=e.extensions,c=o===void 0?Rft:o,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,h=e.height,p=h===void 0?null:h,b=e.minHeight,g=b===void 0?null:b,O=e.maxHeight,y=O===void 0?null:O,v=e.width,x=v===void 0?null:v,w=e.minWidth,E=w===void 0?null:w,S=e.maxWidth,k=S===void 0?null:S,T=e.placeholder,C=T===void 0?"":T,A=e.editable,N=A===void 0?!0:A,P=e.readOnly,Q=P===void 0?!1:P,D=e.indentWithTab,$=D===void 0?!0:D,j=e.basicSetup,I=j===void 0?!0:j,F=e.root,B=e.initialState,M=m.useState(),Y=M[0],q=M[1],U=m.useState(),V=U[0],re=U[1],de=m.useState(),be=de[0],ce=de[1],K=m.useState(()=>({current:null}))[0],ee=m.useState(()=>({current:null}))[0],me=Nft(p,g,y,x,E,k),ve=ht.updateListener.of(De=>{if(De.docChanged&&typeof i=="function"&&!De.transactions.some(Oe=>Oe.annotation(bG))){K.current?K.current.reset():(K.current=new _ft(()=>{if(ee.current){var Oe=ee.current;ee.current=null,Oe()}K.current=null},jft),Aft().add(K.current));var pe=De.state.doc,Se=pe.toString();i(Se,De)}r&&r(Tft(De))}),Ne=kft({theme:f,editable:N,readOnly:Q,placeholder:C,indentWithTab:$,basicSetup:I}),Ie=[ve,...me?[me]:[],Cft,...Ne];return a&&typeof a=="function"&&Ie.push(ht.updateListener.of(a)),Ie=Ie.concat(c),m.useLayoutEffect(()=>{if(Y&&!be){var De={doc:t,selection:n,extensions:Ie},pe=B?qn.fromJSON(B.json,De,B.fields):qn.create(De);if(ce(pe),!V){var Se=new ht({state:pe,parent:Y,root:F});re(Se),s&&s(Se,pe)}}return()=>{V&&(ce(void 0),re(void 0))}},[Y,be]),m.useEffect(()=>{e.container&&q(e.container)},[e.container]),m.useEffect(()=>()=>{V&&(V.destroy(),re(void 0)),K.current&&(K.current.cancel(),K.current=null)},[V]),m.useEffect(()=>{u&&V&&V.focus()},[u,V]),m.useEffect(()=>{V&&V.dispatch({effects:fn.reconfigure.of(Ie)})},[f,c,p,g,y,x,E,k,C,N,Q,$,I,i,a]),m.useEffect(()=>{if(t!==void 0){var De=V?V.state.doc.toString():"";if(V&&t!==De){var pe=K.current&&!K.current.isDone,Se=()=>{V&&t!==V.state.doc.toString()&&V.dispatch({changes:{from:0,to:V.state.doc.toString().length,insert:t||""},annotations:[bG.of(!0)]})};pe?ee.current=Se:Se()}}},[t,V]),{state:be,setState:ce,view:V,setView:re,container:Y,setContainer:q}}var Dft=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],lge=m.forwardRef((e,t)=>{var n=e.className,i=e.value,r=i===void 0?"":i,s=e.selection,a=e.extensions,o=a===void 0?[]:a,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,h=e.autoFocus,p=e.theme,b=p===void 0?"light":p,g=e.height,O=e.minHeight,y=e.maxHeight,v=e.width,x=e.minWidth,w=e.maxWidth,E=e.basicSetup,S=e.placeholder,k=e.indentWithTab,T=e.editable,C=e.readOnly,A=e.root,N=e.initialState,P=uut(e,Dft),Q=m.useRef(null),D=Ift({root:A,value:r,autoFocus:h,theme:b,height:g,minHeight:O,maxHeight:y,width:v,minWidth:x,maxWidth:w,basicSetup:E,placeholder:S,indentWithTab:k,editable:T,readOnly:C,selection:s,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:o,initialState:N}),$=D.state,j=D.view,I=D.container,F=D.setContainer;m.useImperativeHandle(t,()=>({editor:Q.current,state:$,view:j}),[Q,I,$,j]);var B=m.useCallback(Y=>{Q.current=Y,F(Y)},[F]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var M=typeof b=="string"?"cm-theme-"+b:"cm-theme";return l.jsx("div",JL({ref:B,className:""+M+(n?" "+n:"")},P))});lge.displayName="CodeMirror";function Pft(e){const t=e.toLowerCase(),n=t.split("/").pop()??t,i=n.includes(".")?n.split(".").pop():"";return n==="dockerfile"||n.startsWith("dockerfile.")||n.endsWith(".dockerfile")?[nQ.define(cut)]:i==="py"||i==="pyi"?[yct()]:["ts","tsx","mts","cts"].includes(i??"")?[BL({typescript:!0,jsx:i==="tsx"})]:["js","jsx","mjs","cjs"].includes(i??"")?[BL({jsx:i==="jsx"})]:i==="json"||i==="jsonc"?[Qst()]:i==="yaml"||i==="yml"?[Yct()]:["md","markdown"].includes(i??"")?[Jot()]:[]}function $Q({value:e,path:t,onChange:n,readOnly:i=!1}){const r=m.useMemo(()=>Pft(t),[t]);return l.jsx(lge,{value:e,height:"100%",theme:"light",extensions:r,editable:!i,onChange:n,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightActiveLineGutter:!0,autocompletion:!1}})}const QQ=Object.freeze(Object.defineProperty({__proto__:null,default:$Q},Symbol.toStringTag,{value:"Module"}));function Mft(e){var s;const t=e.split(/\r?\n/);if(((s=t[0])==null?void 0:s.trim())!=="---")return{body:e,frontmatter:[]};const n=t.findIndex((a,o)=>o>0&&a.trim()==="---");if(n<0)return{body:e,frontmatter:[]};const i=kde(t.slice(1,n).join(` `));if(i.errors.length>0)return{body:e,frontmatter:[]};const r=i.toJS();return!r||typeof r!="object"||Array.isArray(r)?{body:e,frontmatter:[]}:{body:t.slice(n+1).join(` -`).replace(/^\s*\n/,""),frontmatter:Object.entries(r).map(([a,o])=>({key:a,value:typeof o=="string"?o:lde(o).trim()}))}}function xft(){return l.jsx("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M2.75 5.5h5l1.5 1.75h8v7.25a1.75 1.75 0 0 1-1.75 1.75h-11a1.75 1.75 0 0 1-1.75-1.75v-9Z"})})}function vft(){return l.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[l.jsx("path",{d:"M5 2.75h6l4 4v10.5H5z"}),l.jsx("path",{d:"M11 2.75v4h4"})]})}function wft(e){const t={children:[]};for(const i of e){let r=t;const s=i.path.split("/").filter(Boolean);s.forEach((a,o)=>{let c=r.children.find(u=>u.name===a);if(!c){const u=s.slice(0,o+1).join("/");c={name:a,path:u,children:[]},r.children.push(c)}o===s.length-1&&(c.file=i),r=c})}const n=i=>{i.sort((r,s)=>+!!r.file-+!!s.file||r.name.localeCompare(s.name)),i.forEach(r=>n(r.children))};return n(t.children),t.children}function qme({nodes:e,depth:t,activePath:n,onSelect:i}){return e.map(r=>l.jsxs("div",{children:[r.file?l.jsxs("button",{type:"button",className:`skill-file-tree__row${r.path===n?" is-active":""}`,style:{paddingLeft:`${12+t*16}px`},onClick:()=>i(r.file),title:r.path,children:[l.jsx(vft,{}),l.jsx("span",{children:r.name}),l.jsxs("small",{children:[r.file.size.toLocaleString()," B"]})]}):l.jsxs("div",{className:"skill-file-tree__row is-folder",style:{paddingLeft:`${12+t*16}px`},title:r.path,children:[l.jsx(xft,{}),l.jsx("span",{children:r.name})]}),r.children.length>0?l.jsx(qme,{nodes:r.children,depth:t+1,activePath:n,onSelect:i}):null]},r.path))}function Sft(e){if(e.content===void 0)return;if(e.content.startsWith("data:")){const i=document.createElement("a");i.href=e.content,i.download=e.path.split("/").pop()||"skill-file",i.click();return}const t=URL.createObjectURL(new Blob([e.content])),n=document.createElement("a");n.href=t,n.download=e.path.split("/").pop()||"skill-file",n.click(),URL.revokeObjectURL(t)}function Xme({files:e}){var f;const t=m.useMemo(()=>wft(e),[e]),[n,i]=m.useState(((f=e[0])==null?void 0:f.path)||""),[r,s]=m.useState("preview"),a=e.find(h=>h.path===n)||e[0],o=(a==null?void 0:a.path.toLowerCase())||"",c=o.endsWith(".md")||o.endsWith(".markdown"),u=/\.(png|jpe?g|gif|webp|svg)$/.test(o),d=m.useMemo(()=>yft(c&&(a==null?void 0:a.content)!==void 0?a.content:""),[a==null?void 0:a.content,c]);return l.jsxs("div",{className:"skill-file-browser",children:[l.jsx("aside",{className:"skill-file-tree","aria-label":"Skill 文件树",children:l.jsx(qme,{nodes:t,depth:0,activePath:(a==null?void 0:a.path)||"",onSelect:h=>i(h.path)})}),l.jsx("section",{className:"skill-file-preview",children:a?l.jsxs(l.Fragment,{children:[l.jsxs("header",{children:[l.jsx("span",{title:a.path,children:a.path}),l.jsxs("div",{children:[c?l.jsx("button",{type:"button",onClick:()=>s(h=>h==="preview"?"source":"preview"),children:r==="preview"?"查看源码":"查看预览"}):null,l.jsx("button",{type:"button",disabled:a.content===void 0,onClick:()=>Sft(a),children:"下载"})]})]}),l.jsx("div",{className:"skill-file-preview__body",children:a.kind==="binary"||a.content===void 0?l.jsxs("div",{className:"skill-file-preview__binary",children:[l.jsx("strong",{children:"二进制文件"}),l.jsxs("span",{children:[a.size.toLocaleString()," 字节"]}),l.jsx("span",{children:"当前接口仅返回文件元数据,可单独下载原文件。"})]}):u?l.jsx("img",{src:a.content.startsWith("data:")?a.content:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a.content)}`,alt:a.path}):c&&r==="preview"?l.jsxs("div",{className:"skill-file-preview__markdown",children:[d.frontmatter.length>0?l.jsx("dl",{className:"skill-file-preview__frontmatter","aria-label":"Skill 元数据",children:d.frontmatter.map(h=>l.jsxs("div",{children:[l.jsx("dt",{children:h.key}),l.jsx("dd",{children:h.value})]},h.key))}):null,l.jsx(pu,{text:d.body,allowRawHtml:!1,className:"skill-file-preview__markdown-body"})]}):l.jsx(AQ,{value:a.content,path:a.path,readOnly:!0,onChange:()=>{}})})]}):l.jsx("div",{className:"skill-file-preview__binary",children:"暂无文件"})})]})}const Eft=1200,kft=3,Hme=2,Tft=/SKILL\.md|frontmatter|Skill name|description|根目录|目录名|UTF-8|文本文件|文件数|符号链接|敏感凭证/i,Yme={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"},_ft=[...Object.entries(Yme).map(([e,t])=>({value:e,label:t})),{value:"custom",label:"自定义"}];function cY(e,t){var n;return{id:`group-${Date.now()}-${e}`,model:((n=t.models[e%Math.max(1,t.models.length)])==null?void 0:n.id)||"",style:"concise",customStyle:""}}function Aft(e){return e?e.state==="ready"?"Skill 已生成并通过格式校验":e.state==="failed"?"生成失败":e.state==="cancelled"?"已停止":e.stage==="validating"?"正在校验 Skill 格式":e.stage==="packaging"?"正在整理文件":"正在生成 Skill":"正在准备 Dev Sandbox"}function nD(e){var t;return e.state==="failed"&&((t=e.validation)==null?void 0:t.valid)===!1&&e.validation.errors.some(n=>Tft.test(n))}function uY(e){var n;return["只修复下面列出的 Skill 格式错误,不要改变原有用途和内容范围。","修复后重新检查目录结构、SKILL.md frontmatter 和所有文本文件。",(((n=e.validation)==null?void 0:n.errors.join(` +`).replace(/^\s*\n/,""),frontmatter:Object.entries(r).map(([a,o])=>({key:a,value:typeof o=="string"?o:Tde(o).trim()}))}}function Lft(){return l.jsx("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M2.75 5.5h5l1.5 1.75h8v7.25a1.75 1.75 0 0 1-1.75 1.75h-11a1.75 1.75 0 0 1-1.75-1.75v-9Z"})})}function $ft(){return l.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[l.jsx("path",{d:"M5 2.75h6l4 4v10.5H5z"}),l.jsx("path",{d:"M11 2.75v4h4"})]})}function Qft(e){const t={children:[]};for(const i of e){let r=t;const s=i.path.split("/").filter(Boolean);s.forEach((a,o)=>{let c=r.children.find(u=>u.name===a);if(!c){const u=s.slice(0,o+1).join("/");c={name:a,path:u,children:[]},r.children.push(c)}o===s.length-1&&(c.file=i),r=c})}const n=i=>{i.sort((r,s)=>+!!r.file-+!!s.file||r.name.localeCompare(s.name)),i.forEach(r=>n(r.children))};return n(t.children),t.children}function cge({nodes:e,depth:t,activePath:n,onSelect:i}){return e.map(r=>l.jsxs("div",{children:[r.file?l.jsxs("button",{type:"button",className:`skill-file-tree__row${r.path===n?" is-active":""}`,style:{paddingLeft:`${12+t*16}px`},onClick:()=>i(r.file),title:r.path,children:[l.jsx($ft,{}),l.jsx("span",{children:r.name}),l.jsxs("small",{children:[r.file.size.toLocaleString()," B"]})]}):l.jsxs("div",{className:"skill-file-tree__row is-folder",style:{paddingLeft:`${12+t*16}px`},title:r.path,children:[l.jsx(Lft,{}),l.jsx("span",{children:r.name})]}),r.children.length>0?l.jsx(cge,{nodes:r.children,depth:t+1,activePath:n,onSelect:i}):null]},r.path))}function Bft(e){if(e.content===void 0)return;if(e.content.startsWith("data:")){const i=document.createElement("a");i.href=e.content,i.download=e.path.split("/").pop()||"skill-file",i.click();return}const t=URL.createObjectURL(new Blob([e.content])),n=document.createElement("a");n.href=t,n.download=e.path.split("/").pop()||"skill-file",n.click(),URL.revokeObjectURL(t)}function uge({files:e}){var f;const t=m.useMemo(()=>Qft(e),[e]),[n,i]=m.useState(((f=e[0])==null?void 0:f.path)||""),[r,s]=m.useState("preview"),a=e.find(h=>h.path===n)||e[0],o=(a==null?void 0:a.path.toLowerCase())||"",c=o.endsWith(".md")||o.endsWith(".markdown"),u=/\.(png|jpe?g|gif|webp|svg)$/.test(o),d=m.useMemo(()=>Mft(c&&(a==null?void 0:a.content)!==void 0?a.content:""),[a==null?void 0:a.content,c]);return l.jsxs("div",{className:"skill-file-browser",children:[l.jsx("aside",{className:"skill-file-tree","aria-label":"Skill 文件树",children:l.jsx(cge,{nodes:t,depth:0,activePath:(a==null?void 0:a.path)||"",onSelect:h=>i(h.path)})}),l.jsx("section",{className:"skill-file-preview",children:a?l.jsxs(l.Fragment,{children:[l.jsxs("header",{children:[l.jsx("span",{title:a.path,children:a.path}),l.jsxs("div",{children:[c?l.jsx("button",{type:"button",onClick:()=>s(h=>h==="preview"?"source":"preview"),children:r==="preview"?"查看源码":"查看预览"}):null,l.jsx("button",{type:"button",disabled:a.content===void 0,onClick:()=>Bft(a),children:"下载"})]})]}),l.jsx("div",{className:"skill-file-preview__body",children:a.kind==="binary"||a.content===void 0?l.jsxs("div",{className:"skill-file-preview__binary",children:[l.jsx("strong",{children:"二进制文件"}),l.jsxs("span",{children:[a.size.toLocaleString()," 字节"]}),l.jsx("span",{children:"当前接口仅返回文件元数据,可单独下载原文件。"})]}):u?l.jsx("img",{src:a.content.startsWith("data:")?a.content:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(a.content)}`,alt:a.path}):c&&r==="preview"?l.jsxs("div",{className:"skill-file-preview__markdown",children:[d.frontmatter.length>0?l.jsx("dl",{className:"skill-file-preview__frontmatter","aria-label":"Skill 元数据",children:d.frontmatter.map(h=>l.jsxs("div",{children:[l.jsx("dt",{children:h.key}),l.jsx("dd",{children:h.value})]},h.key))}):null,l.jsx(ku,{text:d.body,allowRawHtml:!1,className:"skill-file-preview__markdown-body"})]}):l.jsx($Q,{value:a.content,path:a.path,readOnly:!0,onChange:()=>{}})})]}):l.jsx("div",{className:"skill-file-preview__binary",children:"暂无文件"})})]})}const Fft=1200,Uft=3,dge=2,zft=/SKILL\.md|frontmatter|Skill name|description|根目录|目录名|UTF-8|文本文件|文件数|符号链接|敏感凭证/i,fge={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"},Vft=[...Object.entries(fge).map(([e,t])=>({value:e,label:t})),{value:"custom",label:"自定义"}];function OG(e,t){var n;return{id:`group-${Date.now()}-${e}`,model:((n=t.models[e%Math.max(1,t.models.length)])==null?void 0:n.id)||"",style:"concise",customStyle:""}}function qft(e){return e?e.state==="ready"?"Skill 已生成并通过格式校验":e.state==="failed"?"生成失败":e.state==="cancelled"?"已停止":e.stage==="validating"?"正在校验 Skill 格式":e.stage==="packaging"?"正在整理文件":"正在生成 Skill":"正在准备 Dev Sandbox"}function dI(e){var t;return e.state==="failed"&&((t=e.validation)==null?void 0:t.valid)===!1&&e.validation.errors.some(n=>zft.test(n))}function yG(e){var n;return["只修复下面列出的 Skill 格式错误,不要改变原有用途和内容范围。","修复后重新检查目录结构、SKILL.md frontmatter 和所有文本文件。",(((n=e.validation)==null?void 0:n.errors.join(` `))||e.error||"Skill 格式校验未通过").slice(0,2e3)].join(` -`)}function Cft(e){var t;return e.repairing||((t=e.task)==null?void 0:t.state)==="running"&&e.repairMode?e.repairMode==="manual"?"正在再次修复":`正在自动修复(${Math.max(1,e.repairAttempts||1)}/${Hme})`:Aft(e.task)}function dY(){return l.jsxs("svg",{className:"skill-generation__spinner",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("circle",{cx:"10",cy:"10",r:"7"}),l.jsx("path",{d:"M10 3a7 7 0 0 1 7 7"})]})}function Nft(e,t=Date.now()){if(!(e!=null&&e.expiresAt))return"Session 最长保留 1 小时";const n=Math.max(0,new Date(e.expiresAt).getTime()-t),i=Math.floor(n/6e4),r=Math.floor(n%6e4/1e3);return`剩余 ${i}:${String(r).padStart(2,"0")}`}function jft(e){return e?e.length>64?"Skill 名称不能超过 64 个字符":/^[a-z0-9-]+$/.test(e)?"":"Skill 名称只能包含小写字母、数字和连字符":""}function fY(e){return e?e.length>128?"模型 ID 不能超过 128 个字符":/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/.test(e)?"":"模型 ID 只能包含字母、数字、点、下划线、连字符、斜杠和冒号":""}function iD(e){return`${e.region||""}:${e.id}`}function Rft(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function Dft({operation:e,cloudProvider:t,space:n,availableSpaces:i=[],spacesLoading:r=!1,initialIntent:s="",source:a,onBack:o,onPublished:c}){var Z,ne,ue,be;const[u,d]=m.useState(null),[f,h]=m.useState(null),[p,b]=m.useState(s),[g,O]=m.useState(""),[y,v]=m.useState([]),[x,w]=m.useState([]),[E,S]=m.useState(""),[k,T]=m.useState(!1),[C,A]=m.useState(""),[R,P]=m.useState(""),[B,I]=m.useState(null),[$,j]=m.useState(""),[D,F]=m.useState(""),[Q,M]=m.useState(n?iD(n):""),[G,H]=m.useState(Date.now()),U=m.useRef([]);m.useEffect(()=>{const V=new AbortController;return w2(V.signal).then(je=>{d(je),v([cY(0,je)])}).catch(je=>{V.signal.aborted||h(js(je,"读取 Dev Sandbox 配置失败"))}),()=>V.abort()},[]),m.useEffect(()=>{U.current=x},[x]),m.useEffect(()=>{const V=window.setInterval(()=>H(Date.now()),1e3);return()=>window.clearInterval(V)},[]),m.useEffect(()=>{const V=je=>{U.current.some(He=>{var et;return((et=He.task)==null?void 0:et.state)==="running"||He.repairing})&&je.preventDefault()};return window.addEventListener("beforeunload",V),()=>{var je;window.removeEventListener("beforeunload",V);for(const He of U.current)(je=He.task)!=null&&je.jobId&&iZe(He.task.jobId).catch(()=>{})}},[]),m.useEffect(()=>{if(!x.some(et=>{var qt;return((qt=et.task)==null?void 0:qt.state)==="running"||et.repairing}))return;let V=!1,je;const He=async()=>{const et=U.current,qt=await Promise.all(et.map(async Ft=>{var At;if(((At=Ft.task)==null?void 0:At.state)!=="running")return Ft;try{const xt=await eZe(Ft.task.jobId);if(nD(xt)&&(Ft.repairAttempts||0)Qe.map(Ot=>Ot.id===Ft.id?{...Ot,task:xt,repairing:!0,repairMode:"auto",repairAttempts:Ue,repairError:void 0}:Ot));try{const Qe=await Zj({jobId:xt.jobId,intent:uY(xt),expectedRevision:xt.revision});return{...Ft,task:Qe,artifact:void 0,repairing:!1,repairMode:"auto",repairAttempts:Ue,repairError:void 0,error:void 0,pollError:void 0}}catch(Qe){return{...Ft,task:xt,repairing:!1,repairMode:void 0,repairAttempts:Ue,repairError:js(Qe,"自动修复格式错误失败"),pollError:void 0}}}let xe=Ft.artifact;return xt.state==="ready"&&(xe=await Wj(xt.jobId,xt.revision)),{...Ft,task:xt,artifact:xe,repairing:!1,repairMode:xt.state==="running"?Ft.repairMode:void 0,repairError:void 0,error:void 0,pollError:void 0}}catch(xt){return{...Ft,pollError:js(xt,"读取候选方案状态失败,正在重试")}}}));V||(w(qt),je=window.setTimeout(()=>void He(),Eft))};return He(),()=>{V=!0,je!==void 0&&window.clearTimeout(je)}},[x.some(V=>{var je;return((je=V.task)==null?void 0:je.state)==="running"||V.repairing})]);const q=x.find(V=>V.id===E)||x[0],ie=e==="create"&&!n,fe=i.find(V=>iD(V)===Q)??null,me=n??fe,ce=i.map(V=>({value:iD(V),label:`${V.name.trim()||"未命名 Skill Space"} · ${du(V.region||"cn-beijing",t)}`})),K=jft(g),ee=!!(u!=null&&u.enabled&&p.trim()&&!K&&y.length>0&&y.every(V=>V.model.trim()&&!fY(V.model.trim()))),ye=(V,je)=>{v(He=>He.map(et=>et.id===V?{...et,...je}:et))},ve=async V=>{const je={...V,model:V.model.trim()},He=V.style==="custom"?V.customStyle.trim():V.style;try{const et=await JWe({operation:e,intent:p.trim(),model:je.model,style:He,name:g.trim()||void 0,source:a});return{id:V.id,config:je,task:et}}catch(et){return{id:V.id,config:je,error:js(et,"创建候选方案失败")}}},Re=async()=>{if(!ee)return;T(!0),I(null);const V=y.map(He=>({id:He.id,config:He}));w(V),S(y[0].id);const je=await Promise.all(y.map(ve));w(je)},Pe=async V=>{w(He=>He.map(et=>et.id===V.id?{...et,error:void 0}:et));const je=await ve(V.config);w(He=>He.map(et=>et.id===V.id?je:et))},De=async()=>{if(!(!(q!=null&&q.task)||!C.trim()||q.task.state!=="ready")){P("refine"),I(null);try{const V=await Zj({jobId:q.task.jobId,intent:C.trim(),expectedRevision:q.task.revision});w(je=>je.map(He=>He.id===q.id?{...He,task:V,artifact:void 0}:He)),A("")}catch(V){I(js(V,"继续调整失败"))}finally{P("")}}},he=async()=>{if(!(!(q!=null&&q.task)||!nD(q.task))){P("refine"),I(null),w(V=>V.map(je=>je.id===q.id?{...je,repairing:!0,repairMode:"manual",repairError:void 0}:je));try{const V=await Zj({jobId:q.task.jobId,intent:uY(q.task),expectedRevision:q.task.revision});w(je=>je.map(He=>He.id===q.id?{...He,task:V,artifact:void 0,repairing:!1,repairMode:"manual",repairError:void 0}:He))}catch(V){w(je=>je.map(He=>He.id===q.id?{...He,repairing:!1,repairMode:void 0,repairError:js(V,"再次修复格式错误失败")}:He))}finally{P("")}}},Ee=async()=>{if(!(!(q!=null&&q.task)||q.task.state!=="ready"||D)){P("publish"),I(null);try{if(!me)throw new Error("请选择上传的 Skill Space");const V=q.artifact||await Wj(q.task.jobId,q.task.revision),je=(a==null?void 0:a.region)||me.region||"";if(!t$(je))throw new Error("当前 Skill 地域不受支持");await nZe({jobId:q.task.jobId,expectedRevision:q.task.revision,expectedArtifactSha256:V.sha256,disposition:e==="optimize"?"update-source":"create-new",skillSpaceIds:[me.id],projectName:(a==null?void 0:a.projectName)||me.projectName,region:je,onProgress:He=>j(He.message)}),F(q.id),c()}catch(V){I(js(V,"上传 Skill 失败"))}finally{P(""),j("")}}},Oe=async()=>{if(!(!(q!=null&&q.task)||q.task.state!=="ready")){P("download");try{const V=q.artifact||await Wj(q.task.jobId,q.task.revision);await rZe(q.task.jobId,q.task.revision,V.sha256)}catch(V){I(js(V,"下载失败"))}finally{P("")}}},Le=async()=>{x.some(V=>{var je;return((je=V.task)==null?void 0:je.state)==="running"})&&!window.confirm("离开后将停止并释放正在运行的 Dev Sandbox,确定离开吗?")||(await Promise.allSettled(x.flatMap(V=>{var je;return((je=V.task)==null?void 0:je.state)==="running"?[tZe({jobId:V.task.jobId,expectedRevision:V.task.revision})]:[]})),o())},Fe=e==="create"?"创建技能":`优化 ${(a==null?void 0:a.name)||"技能"}`,_e=V=>{var je;return((je=u==null?void 0:u.models.find(He=>He.id===V))==null?void 0:je.label)||V},Ye=V=>V.config.style==="custom"?V.config.customStyle.trim()||"自定义风格":Yme[V.config.style],dt=V=>V.error||V.repairError?"失败":Cft(V),It=V=>!V.error&&!V.repairError&&(V.repairing||!V.task||V.task.state==="running"),Ge=x.some(V=>{var je;return((je=V.task)==null?void 0:je.state)==="ready"});return l.jsxs("section",{className:"skill-generation",children:[l.jsxs("header",{className:"skill-generation__header",children:[l.jsx("button",{type:"button",className:"skillcenter-back",onClick:()=>void Le(),"aria-label":"返回技能空间",children:l.jsx(Rft,{})}),l.jsxs("div",{children:[l.jsx("h1",{children:Fe}),l.jsx("p",{children:(n==null?void 0:n.name)||"主页技能生成"})]}),x.length>0?l.jsx("span",{className:"skill-generation__ttl",children:Nft(q==null?void 0:q.task,G)}):null]}),k?l.jsxs("div",{className:"skill-generation__workspace",children:[l.jsx("div",{className:"skill-generation__candidate-tabs",role:"tablist","aria-label":"候选方案",children:x.map(V=>l.jsxs("button",{type:"button",role:"tab","aria-selected":(q==null?void 0:q.id)===V.id,className:(q==null?void 0:q.id)===V.id?"is-active":"",onClick:()=>S(V.id),children:[l.jsxs("span",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"风格"}),l.jsx("strong",{children:Ye(V)})]}),l.jsxs("span",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"模型"}),l.jsx("strong",{children:_e(V.config.model)})]}),l.jsxs("span",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"进度"}),l.jsxs("strong",{children:[It(V)?l.jsx(dY,{}):null,dt(V)]})]})]},V.id))}),q?l.jsxs("div",{className:"skill-generation__candidate",children:[l.jsxs("section",{className:"skill-generation__activity",children:[l.jsx("header",{children:l.jsxs("div",{className:"skill-generation__candidate-summary",children:[l.jsxs("div",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"风格"}),l.jsx("strong",{children:Ye(q)})]}),l.jsxs("div",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"模型"}),l.jsx("strong",{children:_e(q.config.model)})]}),l.jsxs("div",{className:"skill-generation__summary-row","aria-live":"polite",children:[l.jsx("span",{children:"进度"}),l.jsxs("strong",{children:[It(q)?l.jsx(dY,{}):null,It(q)?l.jsx(Ln,{children:dt(q)}):dt(q)]})]})]})}),q.task?l.jsx(GZe,{activities:q.task.activities}):null,q.pollError?l.jsx("div",{className:"skill-inline-notice",children:l.jsx(Qo,{error:q.pollError})}):null,q.repairError?l.jsx("div",{className:"skill-inline-notice",children:l.jsx(Qo,{error:q.repairError})}):null,q.error?l.jsxs("div",{className:"skill-inline-error",children:[l.jsx(Qo,{error:q.error}),l.jsx("button",{type:"button",onClick:()=>void Pe(q),children:"重试此方案"})]}):null,(Z=q.task)!=null&&Z.validation&&!q.task.validation.valid&&!q.repairing&&q.task.state==="failed"?l.jsxs("div",{className:"skill-validation-errors",children:[l.jsx("strong",{children:"格式校验未通过"}),q.task.validation.errors.map(V=>l.jsx("p",{children:V},V)),nD(q.task)?l.jsx("button",{type:"button",disabled:!!R,onClick:()=>void he(),children:"再次修复"}):null]}):null]}),l.jsxs("section",{className:"skill-generation__files",children:[l.jsxs("header",{children:[l.jsx("h2",{children:"文件"}),((ne=q.task)==null?void 0:ne.state)==="ready"?l.jsx("button",{type:"button",onClick:()=>void Oe(),disabled:!!R,children:"下载 ZIP"}):null]}),q.artifact?l.jsx(Xme,{files:q.artifact.files}):l.jsx("div",{className:"skill-generation__files-empty",children:((ue=q.task)==null?void 0:ue.state)==="ready"?"正在读取文件…":"生成过程中会在这里显示完整文件树"})]}),((be=q.task)==null?void 0:be.state)==="ready"?l.jsxs("div",{className:"skill-generation__ready-actions",children:[ie?l.jsx("div",{className:"skill-generation__publish-target",children:l.jsx(lk,{label:"上传到 Skill Space",value:Q,options:ce,onChange:M,disabled:r,placeholder:r?"正在加载 Skill Space":"选择 Skill Space"})}):null,l.jsxs("footer",{className:"skill-generation__followup",children:[l.jsx("textarea",{value:C,onChange:V=>A(V.target.value),placeholder:"继续调整这个候选方案"}),l.jsx("button",{type:"button",className:"skill-button",disabled:!C.trim()||!!R,onClick:()=>void De(),children:"继续调整"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!!R||!!D||!me,onClick:()=>void Ee(),children:R==="publish"?$||"上传中…":e==="optimize"?"覆盖原 Skill":ie?"上传到 Skill Space":"上传到当前空间"})]})]}):null,B?l.jsx("div",{className:"skill-inline-error skill-generation__action-error",children:l.jsx(Qo,{error:B})}):null]}):null,!Ge&&x.every(V=>V.error)?l.jsx("div",{className:"skill-inline-error",children:"所有方案均创建失败,可分别重试。"}):null]}):l.jsxs("div",{className:"skill-generation__setup",children:[l.jsx("div",{className:"skill-generation__section-head is-basic",children:l.jsx("div",{children:l.jsx("strong",{children:"基本信息"})})}),l.jsxs("label",{children:[l.jsxs("span",{children:["目标",l.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"})]}),l.jsx("textarea",{required:!0,value:p,onChange:V=>b(V.target.value),placeholder:e==="create"?"描述希望这个 Skill 完成什么任务":"描述希望如何优化当前 Skill"})]}),l.jsxs("label",{children:[l.jsx("span",{children:"Skill 名称"}),l.jsx("input",{value:g,onChange:V=>O(V.target.value),placeholder:"留空时自动生成","aria-invalid":!!K,"aria-describedby":"skill-name-help"}),K?l.jsx("span",{id:"skill-name-help",className:"skill-generation__field-error",role:"alert",children:K}):l.jsx("span",{id:"skill-name-help",className:"skill-generation__field-help",children:"仅支持小写字母、数字和连字符;留空时自动生成。"})]}),l.jsx("div",{className:"skill-generation__section-head",children:l.jsxs("div",{children:[l.jsx("strong",{children:e==="create"?"生成方案":"优化方案"}),l.jsx("span",{children:e==="create"?"按不同方案并行生成多个技能,您可以选择最佳结果":"按不同方案并行优化当前技能,您可以选择最佳结果"})]})}),l.jsxs("div",{className:"skill-generation__groups",children:[y.map((V,je)=>l.jsxs("article",{className:"skill-generation__group",children:[l.jsxs("header",{children:[l.jsxs("strong",{children:["方案 ",je+1]}),y.length>1?l.jsx("button",{type:"button",onClick:()=>v(He=>He.filter(et=>et.id!==V.id)),children:"移除"}):null]}),l.jsx(lk,{label:"模型",required:!0,value:V.model,options:(u==null?void 0:u.models.map(He=>({value:He.id,label:He.label})))||[],onChange:He=>ye(V.id,{model:He}),allowCustom:!0,placeholder:"选择或输入模型 ID",error:fY(V.model.trim())}),l.jsx(lk,{label:"风格",required:!0,value:V.style,options:_ft,onChange:He=>ye(V.id,{style:He})}),V.style==="custom"?l.jsxs("label",{children:[l.jsx("span",{children:"自定义风格"}),l.jsx("textarea",{value:V.customStyle,onChange:He=>ye(V.id,{customStyle:He.target.value}),placeholder:"描述表达方式、严谨程度或输出偏好"})]}):null]},V.id)),u&&y.lengthv(V=>[...V,cY(V.length,u)]),children:"添加配置"}):null]}),f?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Qo,{error:f})}):null,u&&!u.enabled?l.jsx("div",{className:"skill-inline-notice",children:"管理员未配置"}):null,l.jsx("div",{className:"skill-generation__setup-actions",children:l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!ee,onClick:()=>void Re(),children:"生成"})})]})]})}function NQ({title:e,children:t,onClose:n,className:i=""}){const r=m.useRef(null);return m.useEffect(()=>{var a;(a=r.current)==null||a.focus();const s=o=>o.key==="Escape"&&n();return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]),l.jsx("div",{className:"skill-dialog-backdrop",onMouseDown:n,children:l.jsxs("section",{className:`skill-dialog${i?` ${i}`:""}`,role:"dialog","aria-modal":"true","aria-label":e,onMouseDown:s=>s.stopPropagation(),children:[l.jsxs("header",{children:[l.jsx("h2",{children:e}),l.jsx("button",{ref:r,type:"button",onClick:n,"aria-label":"关闭",children:"关闭"})]}),t]})})}function Ift({region:e,regionOptions:t,onClose:n,onCreated:i}){const[r,s]=m.useState(""),[a,o]=m.useState(""),[c,u]=m.useState(e),[d,f]=m.useState(!1),[h,p]=m.useState(null),b=async()=>{if(r.trim()){f(!0),p(null);try{const g=await N5e({name:r.trim(),description:a.trim()||void 0,region:c});i({...g,region:g.region||c})}catch(g){p(js(g,"创建 Skill 空间失败"))}finally{f(!1)}}};return l.jsxs(NQ,{title:"新建 Skill 空间",onClose:n,children:[l.jsxs("div",{className:"skill-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{autoFocus:!0,value:r,maxLength:128,onChange:g=>s(g.target.value)})]}),l.jsx(lk,{label:"地域",value:c,options:t,onChange:u,required:!0}),l.jsxs("label",{children:[l.jsx("span",{children:"描述(可选)"}),l.jsx("textarea",{value:a,maxLength:1024,onChange:g=>o(g.target.value)})]}),h?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Qo,{error:h})}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r.trim()||d,onClick:()=>void b(),children:d?"创建中…":"创建"})]})]})}function Pft({space:e,region:t,onClose:n,onUpdated:i}){const[r,s]=m.useState(e.name),[a,o]=m.useState(e.description||""),[c,u]=m.useState(!1),[d,f]=m.useState(null),h=async()=>{if(r.trim()){u(!0),f(null);try{const p=await j5e({spaceId:e.id,name:r.trim(),description:a.trim()||void 0,region:t});i({...e,...p,skillCount:e.skillCount})}catch(p){f(js(p,"更新 Skill 空间失败"))}finally{u(!1)}}};return l.jsxs(NQ,{title:"编辑 Skill 空间",onClose:n,children:[l.jsxs("div",{className:"skill-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{autoFocus:!0,value:r,maxLength:128,onChange:p=>s(p.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"描述(可选)"}),l.jsx("textarea",{value:a,maxLength:1024,onChange:p=>o(p.target.value)})]}),d?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Qo,{error:d})}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r.trim()||c,onClick:()=>void h(),children:c?"保存中…":"保存"})]})]})}function Mft({space:e,region:t,onClose:n,onUploaded:i}){const[r,s]=m.useState(null),[a,o]=m.useState(null),[c,u]=m.useState(!1),[d,f]=m.useState(!1),[h,p]=m.useState(null),[b,g]=m.useState(!1),O=m.useRef(0),y=m.useRef(null),v=async w=>{const E=O.current+1;if(O.current=E,s(w),o(null),p(null),u(!!w),!!w)try{const S=await I5e(w);O.current===E&&o({name:S.name,fileCount:S.files.length})}catch(S){O.current===E&&p(js(S,"Skill ZIP 格式校验失败"))}finally{O.current===E&&u(!1)}},x=async()=>{if(!(!r||!a)){f(!0),p(null);try{await D5e({spaceId:e.id,region:t,project:e.projectName,file:r}),i()}catch(w){p(js(w,"上传 Skill 失败"))}finally{f(!1)}}};return l.jsxs(NQ,{title:`上传到 ${e.name}`,className:"skill-upload-dialog",onClose:n,children:[l.jsxs("div",{className:"skill-dialog__body",children:[l.jsx("input",{ref:y,className:"skill-upload-dialog__input",type:"file",accept:".zip,application/zip",onChange:w=>{var E;return void v(((E=w.target.files)==null?void 0:E[0])||null)}}),l.jsxs("button",{type:"button",className:`skill-upload-dropzone${b?" is-dragging":""}`,onClick:()=>{var w;return(w=y.current)==null?void 0:w.click()},onDragEnter:w=>{w.preventDefault(),g(!0)},onDragOver:w=>{w.preventDefault(),w.dataTransfer.dropEffect="copy",g(!0)},onDragLeave:w=>{w.currentTarget.contains(w.relatedTarget)||g(!1)},onDrop:w=>{var E;w.preventDefault(),g(!1),v(((E=w.dataTransfer.files)==null?void 0:E[0])||null)},children:[l.jsx("strong",{children:r?r.name:"拖拽 Skill ZIP 到这里"}),l.jsx("span",{children:r?`${r.size.toLocaleString()} 字节`:"或点击选择本地文件"})]}),l.jsx("p",{children:"ZIP 根目录需要包含 SKILL.md,也可以只包含一层包装目录。选择后仅检查格式,不会自动上传。"}),c?l.jsx("div",{className:"skill-inline-notice",children:"正在检查文件格式…"}):null,a?l.jsxs("div",{className:"skill-inline-notice",children:["格式检查通过:",a.name,",共 ",a.fileCount," 个文件"]}):null,h?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Qo,{error:h})}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r||!a||c||d,onClick:()=>void x(),children:d?"上传中…":"上传"})]})]})}const Lft=12,hY=12;function I_({disabled:e,placement:t="top",children:n}){const i=m.useId();return l.jsxs("span",{className:`skillcenter-disabled-action${e?" is-disabled":""} is-${t}`,tabIndex:e?0:void 0,"aria-describedby":e?i:void 0,children:[n,e?l.jsx("span",{id:i,className:"skillcenter-disabled-tooltip",role:"tooltip",children:"管理员未配置 Dev Sandbox"}):null]})}const $ft={active:"可用",available:"可用",creating:"创建中",disabled:"已停用",enabled:"已启用",failed:"异常",inactive:"未启用",pending:"等待中",published:"已发布",ready:"就绪",released:"已发布",running:"运行中",success:"正常",unavailable:"不可用",unreleased:"未发布",updating:"更新中"};function Z5(e){return $ft[(e||"").trim().toLowerCase()]||"未知"}function pY(e){const t=(e||"").toLowerCase();return["active","available","enabled","published","ready","released","success"].includes(t)||t==="running"?"is-positive":["creating","pending","updating"].includes(t)?"is-progress":["failed","unavailable"].includes(t)?"is-danger":"is-muted"}function mY(e){if(!e)return"";const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(i)}function gY(e){if(!e)return 0;const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?0:i.getTime()}function Zl(e){return`${e.region||"default"}:${e.projectName||"default"}:${e.id}`}function Qft(e,t){const n=new Map(e.map(i=>[Zl(i),i]));for(const i of t)n.set(Zl(i),i);return[...n.values()].sort((i,r)=>gY(r.updatedAt)-gY(i.updatedAt))}function Bft(e){const t=e.replace(/\r\n/g,` +`)}function Xft(e){var t;return e.repairing||((t=e.task)==null?void 0:t.state)==="running"&&e.repairMode?e.repairMode==="manual"?"正在再次修复":`正在自动修复(${Math.max(1,e.repairAttempts||1)}/${dge})`:qft(e.task)}function xG(){return l.jsxs("svg",{className:"skill-generation__spinner",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("circle",{cx:"10",cy:"10",r:"7"}),l.jsx("path",{d:"M10 3a7 7 0 0 1 7 7"})]})}function Hft(e,t=Date.now()){if(!(e!=null&&e.expiresAt))return"Session 最长保留 1 小时";const n=Math.max(0,new Date(e.expiresAt).getTime()-t),i=Math.floor(n/6e4),r=Math.floor(n%6e4/1e3);return`剩余 ${i}:${String(r).padStart(2,"0")}`}function Gft(e){return e?e.length>64?"Skill 名称不能超过 64 个字符":/^[a-z0-9-]+$/.test(e)?"":"Skill 名称只能包含小写字母、数字和连字符":""}function vG(e){return e?e.length>128?"模型 ID 不能超过 128 个字符":/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/.test(e)?"":"模型 ID 只能包含字母、数字、点、下划线、连字符、斜杠和冒号":""}function fI(e){return`${e.region||""}:${e.id}`}function Yft(){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function Wft({operation:e,cloudProvider:t,space:n,availableSpaces:i=[],spacesLoading:r=!1,initialIntent:s="",source:a,onBack:o,onPublished:c}){var Z,ie,ue,ye;const[u,d]=m.useState(null),[f,h]=m.useState(null),[p,b]=m.useState(s),[g,O]=m.useState(""),[y,v]=m.useState([]),[x,w]=m.useState([]),[E,S]=m.useState(""),[k,T]=m.useState(!1),[C,A]=m.useState(""),[N,P]=m.useState(""),[Q,D]=m.useState(null),[$,j]=m.useState(""),[I,F]=m.useState(""),[B,M]=m.useState(n?fI(n):""),[Y,q]=m.useState(Date.now()),U=m.useRef([]);m.useEffect(()=>{const z=new AbortController;return A2(z.signal).then(je=>{d(je),v([OG(0,je)])}).catch(je=>{z.signal.aborted||h(Ls(je,"读取 Dev Sandbox 配置失败"))}),()=>z.abort()},[]),m.useEffect(()=>{U.current=x},[x]),m.useEffect(()=>{const z=window.setInterval(()=>q(Date.now()),1e3);return()=>window.clearInterval(z)},[]),m.useEffect(()=>{const z=je=>{U.current.some(We=>{var et;return((et=We.task)==null?void 0:et.state)==="running"||We.repairing})&&je.preventDefault()};return window.addEventListener("beforeunload",z),()=>{var je;window.removeEventListener("beforeunload",z);for(const We of U.current)(je=We.task)!=null&&je.jobId&&xZe(We.task.jobId).catch(()=>{})}},[]),m.useEffect(()=>{if(!x.some(et=>{var Jt;return((Jt=et.task)==null?void 0:Jt.state)==="running"||et.repairing}))return;let z=!1,je;const We=async()=>{const et=U.current,Jt=await Promise.all(et.map(async Xt=>{var Tt;if(((Tt=Xt.task)==null?void 0:Tt.state)!=="running")return Xt;try{const vt=await bZe(Xt.task.jobId);if(dI(vt)&&(Xt.repairAttempts||0)Be.map(bt=>bt.id===Xt.id?{...bt,task:vt,repairing:!0,repairMode:"auto",repairAttempts:ze,repairError:void 0}:bt));try{const Be=await aR({jobId:vt.jobId,intent:yG(vt),expectedRevision:vt.revision});return{...Xt,task:Be,artifact:void 0,repairing:!1,repairMode:"auto",repairAttempts:ze,repairError:void 0,error:void 0,pollError:void 0}}catch(Be){return{...Xt,task:vt,repairing:!1,repairMode:void 0,repairAttempts:ze,repairError:Ls(Be,"自动修复格式错误失败"),pollError:void 0}}}let xe=Xt.artifact;return vt.state==="ready"&&(xe=await sR(vt.jobId,vt.revision)),{...Xt,task:vt,artifact:xe,repairing:!1,repairMode:vt.state==="running"?Xt.repairMode:void 0,repairError:void 0,error:void 0,pollError:void 0}}catch(vt){return{...Xt,pollError:Ls(vt,"读取候选方案状态失败,正在重试")}}}));z||(w(Jt),je=window.setTimeout(()=>void We(),Fft))};return We(),()=>{z=!0,je!==void 0&&window.clearTimeout(je)}},[x.some(z=>{var je;return((je=z.task)==null?void 0:je.state)==="running"||z.repairing})]);const V=x.find(z=>z.id===E)||x[0],re=e==="create"&&!n,de=i.find(z=>fI(z)===B)??null,be=n??de,ce=i.map(z=>({value:fI(z),label:`${z.name.trim()||"未命名 Skill Space"} · ${wu(z.region||"cn-beijing",t)}`})),K=Gft(g),ee=!!(u!=null&&u.enabled&&p.trim()&&!K&&y.length>0&&y.every(z=>z.model.trim()&&!vG(z.model.trim()))),me=(z,je)=>{v(We=>We.map(et=>et.id===z?{...et,...je}:et))},ve=async z=>{const je={...z,model:z.model.trim()},We=z.style==="custom"?z.customStyle.trim():z.style;try{const et=await gZe({operation:e,intent:p.trim(),model:je.model,style:We,name:g.trim()||void 0,source:a});return{id:z.id,config:je,task:et}}catch(et){return{id:z.id,config:je,error:Ls(et,"创建候选方案失败")}}},Ne=async()=>{if(!ee)return;T(!0),D(null);const z=y.map(We=>({id:We.id,config:We}));w(z),S(y[0].id);const je=await Promise.all(y.map(ve));w(je)},Ie=async z=>{w(We=>We.map(et=>et.id===z.id?{...et,error:void 0}:et));const je=await ve(z.config);w(We=>We.map(et=>et.id===z.id?je:et))},De=async()=>{if(!(!(V!=null&&V.task)||!C.trim()||V.task.state!=="ready")){P("refine"),D(null);try{const z=await aR({jobId:V.task.jobId,intent:C.trim(),expectedRevision:V.task.revision});w(je=>je.map(We=>We.id===V.id?{...We,task:z,artifact:void 0}:We)),A("")}catch(z){D(Ls(z,"继续调整失败"))}finally{P("")}}},pe=async()=>{if(!(!(V!=null&&V.task)||!dI(V.task))){P("refine"),D(null),w(z=>z.map(je=>je.id===V.id?{...je,repairing:!0,repairMode:"manual",repairError:void 0}:je));try{const z=await aR({jobId:V.task.jobId,intent:yG(V.task),expectedRevision:V.task.revision});w(je=>je.map(We=>We.id===V.id?{...We,task:z,artifact:void 0,repairing:!1,repairMode:"manual",repairError:void 0}:We))}catch(z){w(je=>je.map(We=>We.id===V.id?{...We,repairing:!1,repairMode:void 0,repairError:Ls(z,"再次修复格式错误失败")}:We))}finally{P("")}}},Se=async()=>{if(!(!(V!=null&&V.task)||V.task.state!=="ready"||I)){P("publish"),D(null);try{if(!be)throw new Error("请选择上传的 Skill Space");const z=V.artifact||await sR(V.task.jobId,V.task.revision),je=(a==null?void 0:a.region)||be.region||"";if(!u$(je))throw new Error("当前 Skill 地域不受支持");await yZe({jobId:V.task.jobId,expectedRevision:V.task.revision,expectedArtifactSha256:z.sha256,disposition:e==="optimize"?"update-source":"create-new",skillSpaceIds:[be.id],projectName:(a==null?void 0:a.projectName)||be.projectName,region:je,onProgress:We=>j(We.message)}),F(V.id),c()}catch(z){D(Ls(z,"上传 Skill 失败"))}finally{P(""),j("")}}},Oe=async()=>{if(!(!(V!=null&&V.task)||V.task.state!=="ready")){P("download");try{const z=V.artifact||await sR(V.task.jobId,V.task.revision);await vZe(V.task.jobId,V.task.revision,z.sha256)}catch(z){D(Ls(z,"下载失败"))}finally{P("")}}},Le=async()=>{x.some(z=>{var je;return((je=z.task)==null?void 0:je.state)==="running"})&&!window.confirm("离开后将停止并释放正在运行的 Dev Sandbox,确定离开吗?")||(await Promise.allSettled(x.flatMap(z=>{var je;return((je=z.task)==null?void 0:je.state)==="running"?[OZe({jobId:z.task.jobId,expectedRevision:z.task.revision})]:[]})),o())},Fe=e==="create"?"创建技能":`优化 ${(a==null?void 0:a.name)||"技能"}`,Te=z=>{var je;return((je=u==null?void 0:u.models.find(We=>We.id===z))==null?void 0:je.label)||z},Ue=z=>z.config.style==="custom"?z.config.customStyle.trim()||"自定义风格":fge[z.config.style],ot=z=>z.error||z.repairError?"失败":Xft(z),Bt=z=>!z.error&&!z.repairError&&(z.repairing||!z.task||z.task.state==="running"),Ye=x.some(z=>{var je;return((je=z.task)==null?void 0:je.state)==="ready"});return l.jsxs("section",{className:"skill-generation",children:[l.jsxs("header",{className:"skill-generation__header",children:[l.jsx("button",{type:"button",className:"skillcenter-back",onClick:()=>void Le(),"aria-label":"返回技能空间",children:l.jsx(Yft,{})}),l.jsxs("div",{children:[l.jsx("h1",{children:Fe}),l.jsx("p",{children:(n==null?void 0:n.name)||"主页技能生成"})]}),x.length>0?l.jsx("span",{className:"skill-generation__ttl",children:Hft(V==null?void 0:V.task,Y)}):null]}),k?l.jsxs("div",{className:"skill-generation__workspace",children:[l.jsx("div",{className:"skill-generation__candidate-tabs",role:"tablist","aria-label":"候选方案",children:x.map(z=>l.jsxs("button",{type:"button",role:"tab","aria-selected":(V==null?void 0:V.id)===z.id,className:(V==null?void 0:V.id)===z.id?"is-active":"",onClick:()=>S(z.id),children:[l.jsxs("span",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"风格"}),l.jsx("strong",{children:Ue(z)})]}),l.jsxs("span",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"模型"}),l.jsx("strong",{children:Te(z.config.model)})]}),l.jsxs("span",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"进度"}),l.jsxs("strong",{children:[Bt(z)?l.jsx(xG,{}):null,ot(z)]})]})]},z.id))}),V?l.jsxs("div",{className:"skill-generation__candidate",children:[l.jsxs("section",{className:"skill-generation__activity",children:[l.jsx("header",{children:l.jsxs("div",{className:"skill-generation__candidate-summary",children:[l.jsxs("div",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"风格"}),l.jsx("strong",{children:Ue(V)})]}),l.jsxs("div",{className:"skill-generation__summary-row",children:[l.jsx("span",{children:"模型"}),l.jsx("strong",{children:Te(V.config.model)})]}),l.jsxs("div",{className:"skill-generation__summary-row","aria-live":"polite",children:[l.jsx("span",{children:"进度"}),l.jsxs("strong",{children:[Bt(V)?l.jsx(xG,{}):null,Bt(V)?l.jsx(Fn,{children:ot(V)}):ot(V)]})]})]})}),V.task?l.jsx(fKe,{activities:V.task.activities}):null,V.pollError?l.jsx("div",{className:"skill-inline-notice",children:l.jsx(Ho,{error:V.pollError})}):null,V.repairError?l.jsx("div",{className:"skill-inline-notice",children:l.jsx(Ho,{error:V.repairError})}):null,V.error?l.jsxs("div",{className:"skill-inline-error",children:[l.jsx(Ho,{error:V.error}),l.jsx("button",{type:"button",onClick:()=>void Ie(V),children:"重试此方案"})]}):null,(Z=V.task)!=null&&Z.validation&&!V.task.validation.valid&&!V.repairing&&V.task.state==="failed"?l.jsxs("div",{className:"skill-validation-errors",children:[l.jsx("strong",{children:"格式校验未通过"}),V.task.validation.errors.map(z=>l.jsx("p",{children:z},z)),dI(V.task)?l.jsx("button",{type:"button",disabled:!!N,onClick:()=>void pe(),children:"再次修复"}):null]}):null]}),l.jsxs("section",{className:"skill-generation__files",children:[l.jsxs("header",{children:[l.jsx("h2",{children:"文件"}),((ie=V.task)==null?void 0:ie.state)==="ready"?l.jsx("button",{type:"button",onClick:()=>void Oe(),disabled:!!N,children:"下载 ZIP"}):null]}),V.artifact?l.jsx(uge,{files:V.artifact.files}):l.jsx("div",{className:"skill-generation__files-empty",children:((ue=V.task)==null?void 0:ue.state)==="ready"?"正在读取文件…":"生成过程中会在这里显示完整文件树"})]}),((ye=V.task)==null?void 0:ye.state)==="ready"?l.jsxs("div",{className:"skill-generation__ready-actions",children:[re?l.jsx("div",{className:"skill-generation__publish-target",children:l.jsx(hk,{label:"上传到 Skill Space",value:B,options:ce,onChange:M,disabled:r,placeholder:r?"正在加载 Skill Space":"选择 Skill Space"})}):null,l.jsxs("footer",{className:"skill-generation__followup",children:[l.jsx("textarea",{value:C,onChange:z=>A(z.target.value),placeholder:"继续调整这个候选方案"}),l.jsx("button",{type:"button",className:"skill-button",disabled:!C.trim()||!!N,onClick:()=>void De(),children:"继续调整"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!!N||!!I||!be,onClick:()=>void Se(),children:N==="publish"?$||"上传中…":e==="optimize"?"覆盖原 Skill":re?"上传到 Skill Space":"上传到当前空间"})]})]}):null,Q?l.jsx("div",{className:"skill-inline-error skill-generation__action-error",children:l.jsx(Ho,{error:Q})}):null]}):null,!Ye&&x.every(z=>z.error)?l.jsx("div",{className:"skill-inline-error",children:"所有方案均创建失败,可分别重试。"}):null]}):l.jsxs("div",{className:"skill-generation__setup",children:[l.jsx("div",{className:"skill-generation__section-head is-basic",children:l.jsx("div",{children:l.jsx("strong",{children:"基本信息"})})}),l.jsxs("label",{children:[l.jsxs("span",{children:["目标",l.jsx("span",{className:"skill-required-mark","aria-hidden":"true",children:"*"})]}),l.jsx("textarea",{required:!0,value:p,onChange:z=>b(z.target.value),placeholder:e==="create"?"描述希望这个 Skill 完成什么任务":"描述希望如何优化当前 Skill"})]}),l.jsxs("label",{children:[l.jsx("span",{children:"Skill 名称"}),l.jsx("input",{value:g,onChange:z=>O(z.target.value),placeholder:"留空时自动生成","aria-invalid":!!K,"aria-describedby":"skill-name-help"}),K?l.jsx("span",{id:"skill-name-help",className:"skill-generation__field-error",role:"alert",children:K}):l.jsx("span",{id:"skill-name-help",className:"skill-generation__field-help",children:"仅支持小写字母、数字和连字符;留空时自动生成。"})]}),l.jsx("div",{className:"skill-generation__section-head",children:l.jsxs("div",{children:[l.jsx("strong",{children:e==="create"?"生成方案":"优化方案"}),l.jsx("span",{children:e==="create"?"按不同方案并行生成多个技能,您可以选择最佳结果":"按不同方案并行优化当前技能,您可以选择最佳结果"})]})}),l.jsxs("div",{className:"skill-generation__groups",children:[y.map((z,je)=>l.jsxs("article",{className:"skill-generation__group",children:[l.jsxs("header",{children:[l.jsxs("strong",{children:["方案 ",je+1]}),y.length>1?l.jsx("button",{type:"button",onClick:()=>v(We=>We.filter(et=>et.id!==z.id)),children:"移除"}):null]}),l.jsx(hk,{label:"模型",required:!0,value:z.model,options:(u==null?void 0:u.models.map(We=>({value:We.id,label:We.label})))||[],onChange:We=>me(z.id,{model:We}),allowCustom:!0,placeholder:"选择或输入模型 ID",error:vG(z.model.trim())}),l.jsx(hk,{label:"风格",required:!0,value:z.style,options:Vft,onChange:We=>me(z.id,{style:We})}),z.style==="custom"?l.jsxs("label",{children:[l.jsx("span",{children:"自定义风格"}),l.jsx("textarea",{value:z.customStyle,onChange:We=>me(z.id,{customStyle:We.target.value}),placeholder:"描述表达方式、严谨程度或输出偏好"})]}):null]},z.id)),u&&y.lengthv(z=>[...z,OG(z.length,u)]),children:"添加配置"}):null]}),f?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Ho,{error:f})}):null,u&&!u.enabled?l.jsx("div",{className:"skill-inline-notice",children:"管理员未配置"}):null,l.jsx("div",{className:"skill-generation__setup-actions",children:l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!ee,onClick:()=>void Ne(),children:"生成"})})]})]})}function BQ({title:e,children:t,onClose:n,className:i=""}){const r=m.useRef(null);return m.useEffect(()=>{var a;(a=r.current)==null||a.focus();const s=o=>o.key==="Escape"&&n();return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]),l.jsx("div",{className:"skill-dialog-backdrop",onMouseDown:n,children:l.jsxs("section",{className:`skill-dialog${i?` ${i}`:""}`,role:"dialog","aria-modal":"true","aria-label":e,onMouseDown:s=>s.stopPropagation(),children:[l.jsxs("header",{children:[l.jsx("h2",{children:e}),l.jsx("button",{ref:r,type:"button",onClick:n,"aria-label":"关闭",children:"关闭"})]}),t]})})}function Zft({region:e,regionOptions:t,onClose:n,onCreated:i}){const[r,s]=m.useState(""),[a,o]=m.useState(""),[c,u]=m.useState(e),[d,f]=m.useState(!1),[h,p]=m.useState(null),b=async()=>{if(r.trim()){f(!0),p(null);try{const g=await HLe({name:r.trim(),description:a.trim()||void 0,region:c});i({...g,region:g.region||c})}catch(g){p(Ls(g,"创建 Skill 空间失败"))}finally{f(!1)}}};return l.jsxs(BQ,{title:"新建 Skill 空间",onClose:n,children:[l.jsxs("div",{className:"skill-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{autoFocus:!0,value:r,maxLength:128,onChange:g=>s(g.target.value)})]}),l.jsx(hk,{label:"地域",value:c,options:t,onChange:u,required:!0}),l.jsxs("label",{children:[l.jsx("span",{children:"描述(可选)"}),l.jsx("textarea",{value:a,maxLength:1024,onChange:g=>o(g.target.value)})]}),h?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Ho,{error:h})}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r.trim()||d,onClick:()=>void b(),children:d?"创建中…":"创建"})]})]})}function Kft({space:e,region:t,onClose:n,onUpdated:i}){const[r,s]=m.useState(e.name),[a,o]=m.useState(e.description||""),[c,u]=m.useState(!1),[d,f]=m.useState(null),h=async()=>{if(r.trim()){u(!0),f(null);try{const p=await GLe({spaceId:e.id,name:r.trim(),description:a.trim()||void 0,region:t});i({...e,...p,skillCount:e.skillCount})}catch(p){f(Ls(p,"更新 Skill 空间失败"))}finally{u(!1)}}};return l.jsxs(BQ,{title:"编辑 Skill 空间",onClose:n,children:[l.jsxs("div",{className:"skill-dialog__body",children:[l.jsxs("label",{children:[l.jsx("span",{children:"名称"}),l.jsx("input",{autoFocus:!0,value:r,maxLength:128,onChange:p=>s(p.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"描述(可选)"}),l.jsx("textarea",{value:a,maxLength:1024,onChange:p=>o(p.target.value)})]}),d?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Ho,{error:d})}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r.trim()||c,onClick:()=>void h(),children:c?"保存中…":"保存"})]})]})}function Jft({space:e,region:t,onClose:n,onUploaded:i}){const[r,s]=m.useState(null),[a,o]=m.useState(null),[c,u]=m.useState(!1),[d,f]=m.useState(!1),[h,p]=m.useState(null),[b,g]=m.useState(!1),O=m.useRef(0),y=m.useRef(null),v=async w=>{const E=O.current+1;if(O.current=E,s(w),o(null),p(null),u(!!w),!!w)try{const S=await ZLe(w);O.current===E&&o({name:S.name,fileCount:S.files.length})}catch(S){O.current===E&&p(Ls(S,"Skill ZIP 格式校验失败"))}finally{O.current===E&&u(!1)}},x=async()=>{if(!(!r||!a)){f(!0),p(null);try{await WLe({spaceId:e.id,region:t,project:e.projectName,file:r}),i()}catch(w){p(Ls(w,"上传 Skill 失败"))}finally{f(!1)}}};return l.jsxs(BQ,{title:`上传到 ${e.name}`,className:"skill-upload-dialog",onClose:n,children:[l.jsxs("div",{className:"skill-dialog__body",children:[l.jsx("input",{ref:y,className:"skill-upload-dialog__input",type:"file",accept:".zip,application/zip",onChange:w=>{var E;return void v(((E=w.target.files)==null?void 0:E[0])||null)}}),l.jsxs("button",{type:"button",className:`skill-upload-dropzone${b?" is-dragging":""}`,onClick:()=>{var w;return(w=y.current)==null?void 0:w.click()},onDragEnter:w=>{w.preventDefault(),g(!0)},onDragOver:w=>{w.preventDefault(),w.dataTransfer.dropEffect="copy",g(!0)},onDragLeave:w=>{w.currentTarget.contains(w.relatedTarget)||g(!1)},onDrop:w=>{var E;w.preventDefault(),g(!1),v(((E=w.dataTransfer.files)==null?void 0:E[0])||null)},children:[l.jsx("strong",{children:r?r.name:"拖拽 Skill ZIP 到这里"}),l.jsx("span",{children:r?`${r.size.toLocaleString()} 字节`:"或点击选择本地文件"})]}),l.jsx("p",{children:"ZIP 根目录需要包含 SKILL.md,也可以只包含一层包装目录。选择后仅检查格式,不会自动上传。"}),c?l.jsx("div",{className:"skill-inline-notice",children:"正在检查文件格式…"}):null,a?l.jsxs("div",{className:"skill-inline-notice",children:["格式检查通过:",a.name,",共 ",a.fileCount," 个文件"]}):null,h?l.jsx("div",{className:"skill-inline-error",children:l.jsx(Ho,{error:h})}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"skill-button",onClick:n,children:"取消"}),l.jsx("button",{type:"button",className:"skill-button skill-button--primary",disabled:!r||!a||c||d,onClick:()=>void x(),children:d?"上传中…":"上传"})]})]})}const eht=12,wG=12;function B_({disabled:e,placement:t="top",children:n}){const i=m.useId();return l.jsxs("span",{className:`skillcenter-disabled-action${e?" is-disabled":""} is-${t}`,tabIndex:e?0:void 0,"aria-describedby":e?i:void 0,children:[n,e?l.jsx("span",{id:i,className:"skillcenter-disabled-tooltip",role:"tooltip",children:"管理员未配置 Dev Sandbox"}):null]})}const tht={active:"可用",available:"可用",creating:"创建中",disabled:"已停用",enabled:"已启用",failed:"异常",inactive:"未启用",pending:"等待中",published:"已发布",ready:"就绪",released:"已发布",running:"运行中",success:"正常",unavailable:"不可用",unreleased:"未发布",updating:"更新中"};function a5(e){return tht[(e||"").trim().toLowerCase()]||"未知"}function SG(e){const t=(e||"").toLowerCase();return["active","available","enabled","published","ready","released","success"].includes(t)||t==="running"?"is-positive":["creating","pending","updating"].includes(t)?"is-progress":["failed","unavailable"].includes(t)?"is-danger":"is-muted"}function EG(e){if(!e)return"";const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(i)}function kG(e){if(!e)return 0;const t=e.trim(),n=Number(t),i=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(i.getTime())?0:i.getTime()}function oc(e){return`${e.region||"default"}:${e.projectName||"default"}:${e.id}`}function nht(e,t){const n=new Map(e.map(i=>[oc(i),i]));for(const i of t)n.set(oc(i),i);return[...n.values()].sort((i,r)=>kG(r.updatedAt)-kG(i.updatedAt))}function iht(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 Gme(e){const t=(e||"").trim();return!t||[">",">-","|","|-"].includes(t)?"暂无描述":t}function Fft(){return l.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:l.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function bY(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function OY(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})})}function Uft(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function yY({direction:e}){return l.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:l.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 Wme(){return l.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function zft({page:e,total:t,pageSize:n,onPage:i}){const r=Math.max(1,Math.ceil(t/n));return l.jsxs("footer",{className:"skillcenter-pager",children:[l.jsxs("span",{children:["共 ",t," 项"]}),l.jsxs("div",{className:"skillcenter-pager-actions",children:[l.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"上一页",children:l.jsx(yY,{direction:"left"})}),l.jsxs("span",{children:[e," / ",r]}),l.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:e>=r,"aria-label":"下一页",children:l.jsx(yY,{direction:"right"})})]})]})}function Vft({children:e}){return l.jsx("div",{className:"skillcenter-empty",children:e})}function rD({kind:e,title:t,description:n,error:i,action:r}){return l.jsx("div",{className:`skillcenter-page-state is-${e}`,role:e==="error"?"alert":"status",children:l.jsxs(Ti,{fill:"none",children:[l.jsx(Ti.Title,{children:t}),n?l.jsx(Ti.Description,{children:n}):null,i?l.jsx(Qo,{error:i}):null,r?l.jsx(Ti.ActionRow,{children:l.jsx(kl,{color:"secondary",size:"lg",onClick:r.onClick,children:r.label})}):null]})})}function xY({errors:e,cloudProvider:t,fullPage:n=!1,onRetry:i}){return l.jsxs("div",{className:`skillcenter-space-errors${n?" is-full-page":""}`,role:"alert",children:[l.jsxs("div",{className:"skillcenter-space-errors__content",children:[l.jsx("strong",{children:n?"无法加载技能空间":"部分技能空间加载失败"}),e.map(({region:r,error:s})=>l.jsxs("section",{children:[l.jsx("span",{children:du(r,t)}),l.jsx(Qo,{error:s})]},r))]}),l.jsx("button",{type:"button",onClick:i,children:"重新加载"})]})}function qft({skill:e,space:t,region:n,cloudProvider:i,detail:r,files:s,loading:a,error:o,canOptimize:c,onOptimize:u,onDownload:d,onClose:f}){return m.useEffect(()=>{const h=p=>{p.key==="Escape"&&f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),l.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:f,children:l.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:h=>h.stopPropagation(),children:[l.jsxs("header",{className:"skill-detail-head",children:[l.jsx("div",{className:"skill-detail-heading",children:l.jsxs("div",{children:[l.jsx("h2",{id:"skill-detail-title",children:(r==null?void 0:r.name)||e.skillName}),l.jsx("p",{children:Gme((r==null?void 0:r.description)||e.skillDescription)})]})}),l.jsxs("div",{className:"skill-detail-actions",children:[l.jsx("button",{type:"button",onClick:d,disabled:s.length===0,children:"下载 ZIP"}),l.jsx(I_,{disabled:!c,placement:"bottom",children:l.jsx("button",{type:"button",onClick:u,disabled:!c,children:"优化"})}),l.jsx("button",{type:"button",className:"skill-detail-close",onClick:f,"aria-label":"关闭技能详情",children:l.jsx(Fft,{})})]})]}),l.jsxs("dl",{className:"skill-detail-meta",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"技能 ID"}),l.jsx("dd",{title:e.skillId,children:e.skillId})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"版本"}),l.jsx("dd",{children:(r==null?void 0:r.version)||e.version||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"状态"}),l.jsx("dd",{children:Z5(e.skillStatus)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"技能空间"}),l.jsx("dd",{title:t.name,children:t.name})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"地域"}),l.jsx("dd",{children:du(n,i)})]})]}),l.jsxs("div",{className:"skill-detail-content skill-detail-content--files",children:[l.jsx("div",{className:"skill-detail-content-title",children:"完整文件"}),a?l.jsxs("div",{className:"skillcenter-loading",children:[l.jsx(Wme,{}),"正在读取技能内容…"]}):o?l.jsx("div",{className:"skillcenter-error",children:l.jsx(Qo,{error:o})}):s.length>0?l.jsx(Xme,{files:s.map(h=>h.path.endsWith("SKILL.md")&&h.content?{...h,content:Bft(h.content)}:h)}):l.jsx(Vft,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function Xft({space:e,canUseSandbox:t,onUpload:n,onSandbox:i,onClose:r}){return m.useEffect(()=>{const s=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]),l.jsx("div",{className:"skill-dialog-backdrop",role:"presentation",onMouseDown:r,children:l.jsxs("section",{className:"skill-dialog skill-add-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-add-dialog-title",onMouseDown:s=>s.stopPropagation(),children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("h2",{id:"skill-add-dialog-title",children:"添加技能"}),l.jsx("p",{title:e.name,children:e.name})]}),l.jsx("button",{type:"button",onClick:r,children:"取消"})]}),l.jsxs("div",{className:"skill-add-dialog__options",children:[l.jsxs("button",{type:"button",onClick:n,children:[l.jsx("strong",{children:"本地上传"}),l.jsx("span",{children:"选择 ZIP 文件,校验通过后上传到技能空间"})]}),l.jsx(I_,{disabled:!t,placement:"inside",children:l.jsxs("button",{type:"button",disabled:!t,onClick:i,children:[l.jsx("strong",{children:"自动创建"}),l.jsx("span",{children:"选择模型和风格,通过对话生成技能"})]})})]})]})})}function Hft({cloudProvider:e="volcengine",active:t=!0,activationRevision:n=0,initialWorkspace:i=null,onInitialWorkspaceConsumed:r,onPageTitleChange:s}){var wt;const a=m.useMemo(()=>J0(e).map(Ae=>Ae.value),[e]),[o,c]=m.useState([]),[u,d]=m.useState({}),[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState((i==null?void 0:i.space)??null),[y,v]=m.useState([]),[x,w]=m.useState(1),[E,S]=m.useState(0),[k,T]=m.useState(!1),[C,A]=m.useState(null),[R,P]=m.useState(""),[B,I]=m.useState(null),[$,j]=m.useState(null),[D,F]=m.useState([]),[Q,M]=m.useState(!1),[G,H]=m.useState(null),[U,q]=m.useState(null),[ie,fe]=m.useState(!1),[me,ce]=m.useState(null),[K,ee]=m.useState(null),[ye,ve]=m.useState(null),[Re,Pe]=m.useState(0),[De,he]=m.useState(0),[Ee,Oe]=m.useState(""),[Le,Fe]=m.useState(""),[_e,Ye]=m.useState(null),[dt,It]=m.useState(i),Ge=m.useRef(0),Z=m.useRef(0),ne=m.useRef(!1),ue=m.useRef(null),be=m.useRef(null),V=m.useRef(null),je=m.useDeferredValue(p),He=m.useDeferredValue(R),qt=(dt&&(g||dt.selectPublishSpace)?dt.operation==="create"?"创建技能":`优化 ${((wt=dt.source)==null?void 0:wt.name)||"技能"}`:"")||(g==null?void 0:g.name)||"技能库";m.useEffect(()=>{t&&(s==null||s(qt))},[t,s,qt]),m.useEffect(()=>{i&&(r==null||r())},[i,r]);const Ft=m.useMemo(()=>{const Ae=je.trim().toLocaleLowerCase();return Ae?o.filter(it=>`${it.name} ${it.description||""} ${it.projectName||""}`.toLocaleLowerCase().includes(Ae)):o},[je,o]),At=m.useMemo(()=>{const Ae=He.trim().toLocaleLowerCase();return Ae?y.filter(it=>`${it.skillName} ${it.skillDescription||""}`.toLocaleLowerCase().includes(Ae)):y},[He,y]),xt=(g==null?void 0:g.region)||Ri(e),xe=m.useMemo(()=>a.flatMap(Ae=>{var Nt;const it=(Nt=u[Ae])==null?void 0:Nt.error;return it?[{region:Ae,error:it}]:[]}),[u,a]),Ue=a.some(Ae=>{const it=u[Ae];return!!(it&&!it.done&&!it.error)}),Qe=xe.length===a.length;m.useEffect(()=>{const Ae=new AbortController;return w2(Ae.signal).then(q).catch(()=>q({enabled:!1,reason:"管理员未配置",operations:["create","optimize"],models:[],styles:{}})),()=>Ae.abort()},[]);const Ot=m.useCallback(async(Ae,it)=>{var ft;if(ne.current||Ae.length===0)return;ne.current=!0,h(!0),it&&((ft=ue.current)==null||ft.abort(),c([]),d(Object.fromEntries(Ae.map(({region:kt})=>[kt,{nextPage:1,loadedCount:0,done:!1,error:null}]))));const Nt=new AbortController;ue.current=Nt;const Yt=++Z.current,Jt=await Promise.allSettled(Ae.map(async({region:kt,page:Xt})=>({region:kt,page:Xt,result:await C5e({region:kt,page:Xt,pageSize:Lft,signal:Nt.signal})})));if(Z.current!==Yt)return;const Sn=Jt.map((kt,Xt)=>{const fn=Ae[Xt];return kt.status==="rejected"?{request:fn,error:js(kt.reason,"读取技能空间失败,请稍后重试"),items:[],totalCount:0}:{request:fn,error:null,items:(kt.value.result.items||[]).map(Cn=>({...Cn,region:Cn.region||kt.value.region})),totalCount:kt.value.result.totalCount||0}}),Ie=Sn.flatMap(kt=>kt.items);d(kt=>{const Xt={...kt};return Sn.forEach(({request:fn,error:Cn,items:mi,totalCount:gi})=>{const xi=Xt[fn.region]||{nextPage:fn.page,loadedCount:0,done:!1,error:null};if(Cn){Xt[fn.region]={...xi,error:Cn};return}const ae=xi.loadedCount+mi.length;Xt[fn.region]={nextPage:fn.page+1,loadedCount:ae,done:mi.length===0||ae>=gi,error:null}}),Xt}),c(kt=>Qft(it?[]:kt,Ie)),O(kt=>kt&&(Ie.find(Xt=>Zl(Xt)===Zl(kt))||kt)),ne.current=!1,h(!1)},[]),Et=m.useCallback(()=>{if(ne.current)return;const Ae=a.flatMap(it=>{const Nt=u[it];return Nt&&!Nt.done&&!Nt.error?[{region:it,page:Nt.nextPage}]:[]});Ot(Ae,!1)},[Ot,u,a]);m.useEffect(()=>{mt(),O(null),v([]),w(1)},[e]),m.useEffect(()=>{if(t)return Ot(a.map(Ae=>({region:Ae,page:1})),!0),()=>{var Ae;Z.current+=1,(Ae=ue.current)==null||Ae.abort(),ne.current=!1}},[t,n,Ot,a,Re]),m.useEffect(()=>{const Ae=V.current,it=be.current;if(!Ae||!it||!Ue||f)return;const Nt=new IntersectionObserver(([Yt])=>{Yt.isIntersecting&&Et()},{root:it,rootMargin:"240px 0px",threshold:.01});return Nt.observe(Ae),()=>Nt.disconnect()},[Ue,Et,f]);const Rt=()=>{const Ae=be.current;!Ae||!Ue||f||Ae.scrollHeight-Ae.scrollTop-Ae.clientHeight<=240&&Et()};m.useEffect(()=>{if(!g){v([]),S(0);return}let Ae=!0;return T(!0),A(null),$5e(g.id,{region:xt,page:x,pageSize:hY,project:g.projectName}).then(it=>{Ae&&(v(it.items||[]),S(it.totalCount||0))}).catch(it=>{Ae&&(v([]),S(0),A(js(it,"读取技能失败,请稍后重试")))}).finally(()=>{Ae&&T(!1)}),()=>{Ae=!1}},[xt,g,x,De]);const Ce=Ae=>{mt(),O(Ae),w(1),P("")},We=()=>{mt(),O(null),v([]),S(0),w(1),P(""),Ye(null)},mt=()=>{Ge.current+=1,I(null),j(null),F([]),H(null),M(!1)},tn=async Ae=>{if(!g)return;const it=Ge.current+1;Ge.current=it,I(Ae),j(null),H(null),M(!0);try{const[Nt,Yt]=await Promise.all([Q5e(g.id,Ae.skillId,Ae.version,xt,g.projectName),M5e({spaceId:g.id,skillId:Ae.skillId,version:Ae.version,region:xt})]);Ge.current===it&&(j(Nt),F(Yt))}catch(Nt){Ge.current===it&&H(js(Nt,"读取技能详情失败,请稍后重试"))}finally{Ge.current===it&&M(!1)}},st=Ae=>{if(g)return{kind:"skill-center",skillId:Ae.skillId,version:Ae.version,region:xt,projectName:g.projectName,skillSpaceId:g.id,skillSpaceName:g.name,name:Ae.skillName,description:Ae.skillDescription}},gn=Ae=>{const it=st(Ae);!it||!(U!=null&&U.enabled)||(mt(),It({operation:"optimize",source:it}))},ti=async Ae=>{if(!(!g||!window.confirm(`确定删除整个 Skill“${Ae.skillName}”吗?此操作会影响所有引用它的空间。`))){Oe(Ae.skillId),Ye(null);try{await P5e({spaceId:g.id,skillId:Ae.skillId,region:xt}),he(it=>it+1),Pe(it=>it+1)}catch(it){Ye(js(it,"删除 Skill 失败"))}finally{Oe("")}}},Pt=async Ae=>{if(!window.confirm(`确定删除 Skill 空间“${Ae.name}”吗?请先确认空间中的技能已删除。`))return;const it=Zl(Ae);Fe(it),Ye(null);try{await R5e({spaceId:Ae.id,region:Ae.region||Ri(e)}),g&&Zl(g)===it&&We(),Pe(Nt=>Nt+1)}catch(Nt){Ye(js(Nt,"删除 Skill 空间失败"))}finally{Fe("")}};return dt&&(g||dt.selectPublishSpace)?l.jsx(Dft,{operation:dt.operation,cloudProvider:e,space:g??void 0,availableSpaces:o,spacesLoading:f,initialIntent:dt.initialIntent,source:dt.source,onBack:()=>It(null),onPublished:()=>{he(Ae=>Ae+1),Pe(Ae=>Ae+1)}}):l.jsxs("section",{className:`skillcenter${g?" is-space":" my-agents-page"}`,children:[g?l.jsxs(l.Fragment,{children:[l.jsxs("header",{className:"skillcenter-page-header",children:[l.jsxs("div",{className:"skillcenter-page-heading skillcenter-page-heading--back",children:[l.jsx("button",{type:"button",className:"skillcenter-back",onClick:We,"aria-label":"返回技能空间",children:l.jsx(Uft,{})}),l.jsxs("div",{children:[l.jsx("h1",{title:g.name,children:g.name}),l.jsx("p",{children:g.description||"管理空间中的技能并创建新的版本"})]})]}),l.jsxs("label",{className:"skillcenter-search",children:[l.jsx(bY,{}),l.jsx("input",{type:"search","aria-label":"搜索技能",value:R,onChange:Ae=>P(Ae.target.value),placeholder:"搜索技能"})]})]}),l.jsxs("div",{className:"skillcenter-toolbar",children:[l.jsxs("div",{className:"skillcenter-detail-facts",children:[l.jsxs("div",{children:[l.jsx("span",{children:"技能数量"}),l.jsx("strong",{children:E})]}),l.jsxs("div",{children:[l.jsx("span",{children:"更新时间"}),l.jsx("strong",{children:g.updatedAt?mY(g.updatedAt):"—"})]})]}),l.jsxs("div",{className:"skillcenter-toolbar-actions",children:[l.jsx("button",{type:"button",className:"skillcenter-secondary-action",onClick:()=>ve(g),children:"本地上传"}),l.jsx(I_,{disabled:!(U!=null&&U.enabled),children:l.jsxs("button",{type:"button",className:"skillcenter-primary-action",disabled:!(U!=null&&U.enabled),onClick:()=>It({operation:"create"}),children:[l.jsx(OY,{}),l.jsx("span",{children:"创建技能"})]})})]})]}),_e?l.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:l.jsx(Qo,{error:_e})}):null,l.jsxs("section",{className:"skillcenter-results","aria-label":`${g.name}中的技能`,children:[k&&y.length===0?l.jsxs("div",{className:"skillcenter-loading",children:[l.jsx(Wme,{}),"正在加载技能"]}):C&&y.length===0?l.jsx(rD,{kind:"error",title:"无法加载技能",error:C,action:{label:"重新加载",onClick:()=>he(Ae=>Ae+1)}}):At.length===0?l.jsx(rD,{kind:"empty",title:R.trim()?"没有匹配的技能":"暂无技能",description:R.trim()?"请尝试搜索其他名称":"本地上传 Skill,或自动创建",action:R.trim()?void 0:{label:"本地上传",onClick:()=>ve(g)}}):l.jsx("div",{className:"skillcenter-table-wrap",children:l.jsxs("table",{className:"skillcenter-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"技能"}),l.jsx("th",{scope:"col",children:"状态"}),l.jsx("th",{scope:"col",className:"skillcenter-table__actions-heading",children:"操作"})]})}),l.jsx("tbody",{children:At.map(Ae=>l.jsxs("tr",{children:[l.jsx("td",{className:"skillcenter-table__skill",children:l.jsxs("button",{type:"button",onClick:()=>void tn(Ae),children:[l.jsxs("span",{className:"skillcenter-table__title-row",children:[l.jsx("strong",{title:Ae.skillName,children:Ae.skillName}),Ae.version?l.jsx("span",{className:"skillcenter-table__version-badge",children:Ae.version}):null]}),l.jsx("span",{className:"skillcenter-table__description",children:Gme(Ae.skillDescription)})]})}),l.jsx("td",{children:l.jsx("span",{className:`skillcenter-status ${pY(Ae.skillStatus)}`,children:Z5(Ae.skillStatus)})}),l.jsx("td",{children:l.jsxs("div",{className:"skillcenter-table__actions",children:[l.jsx("button",{type:"button",onClick:()=>void tn(Ae),children:"查看"}),l.jsx(I_,{disabled:!(U!=null&&U.enabled),children:l.jsx("button",{type:"button",disabled:!(U!=null&&U.enabled),onClick:()=>gn(Ae),children:"优化"})}),l.jsx("button",{type:"button",className:"is-danger",disabled:Ee===Ae.skillId,onClick:()=>void ti(Ae),children:Ee===Ae.skillId?"删除中…":"删除"})]})})]},`${Ae.skillId}:${Ae.version}`))})]})}),!R.trim()&&!k&&!C&&E>0?l.jsx(zft,{page:x,total:E,pageSize:hY,onPage:w}):null]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"my-agent-type-bar skillcenter-list-toolbar library-resource-toolbar",children:[l.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>fe(!0),children:[l.jsx(OY,{}),l.jsx("span",{children:"新建空间"})]}),l.jsxs("label",{className:"my-agent-search",children:[l.jsx(bY,{}),l.jsx("input",{type:"search","aria-label":"搜索技能空间",value:p,onChange:Ae=>b(Ae.target.value),placeholder:"搜索技能空间"})]})]}),_e?l.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:l.jsx(Qo,{error:_e})}):null,l.jsxs("section",{className:"my-agent-results",ref:be,"aria-label":"技能空间列表",onScroll:Rt,children:[xe.length>0&&!Qe?l.jsx(xY,{errors:xe,cloudProvider:e,onRetry:()=>Pe(Ae=>Ae+1)}):null,f&&o.length===0?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载技能空间"})]}):Qe&&o.length===0?l.jsx(xY,{errors:xe,cloudProvider:e,fullPage:!0,onRetry:()=>Pe(Ae=>Ae+1)}):Ft.length===0?l.jsx(rD,{kind:"empty",title:p.trim()?"没有匹配的技能空间":"暂无技能空间",description:p.trim()?"请尝试搜索其他名称":"新建一个空间,开始管理和创建技能",action:p.trim()?void 0:{label:"新建空间",onClick:()=>fe(!0)}}):l.jsx(l.Fragment,{children:l.jsx("div",{className:"my-agent-grid",children:Ft.map(Ae=>{const it=Zl(Ae);return l.jsx(xoe,{className:"skillcenter-space-card",title:Ae.name,status:l.jsx("span",{className:`skillcenter-status ${pY(Ae.status)}`,children:Z5(Ae.status)}),description:Ae.description||"暂无描述",metadata:[{label:"地域",value:du(Ae.region||Ri(e),e)},{label:"技能数量",value:Ae.skillCount??0},{label:"更新时间",value:Ae.updatedAt?mY(Ae.updatedAt):"—"}],secondaryAction:{label:"添加技能",onClick:()=>ee(Ae)},primaryAction:{label:"查看详情",onClick:()=>Ce(Ae)},menuLabel:`更多空间操作:${Ae.name}`,menuAriaLabel:`${Ae.name}空间操作`,menuActions:[{label:"编辑空间",onClick:()=>ce(Ae)},{label:"删除空间",danger:!0,disabled:Le===it,onClick:()=>void Pt(Ae)}]},it)})})}),!Qe&&o.length>0?l.jsx("div",{className:"my-agent-load-more",ref:V,"aria-live":"polite",children:f?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多技能空间"})]}):Ue?l.jsx("span",{children:"继续下滑加载更多"}):xe.length>0?l.jsx("span",{children:"部分技能空间加载失败"}):l.jsx("span",{children:"已加载全部技能空间"})}):null]})]}),B&&g&&l.jsx(qft,{skill:B,space:g,region:xt,cloudProvider:e,detail:$,files:D,loading:Q,error:G,canOptimize:(U==null?void 0:U.enabled)===!0,onOptimize:()=>gn(B),onDownload:()=>void L5e({spaceId:g.id,skillId:B.skillId,version:B.version,region:xt,fallbackName:B.skillName}).catch(Ae=>H(js(Ae,"下载 Skill 失败"))),onClose:mt}),ie?l.jsx(Ift,{region:Ri(e),regionOptions:J0(e),onClose:()=>fe(!1),onCreated:Ae=>{fe(!1),Pe(it=>it+1),O({...Ae,region:Ae.region||Ri(e)})}}):null,me?l.jsx(Pft,{space:me,region:me.region||Ri(e),onClose:()=>ce(null),onUpdated:Ae=>{const it={...Ae,region:Ae.region||me.region||Ri(e)};ce(null),O(Nt=>Nt&&Zl(Nt)===Zl(it)?it:Nt),c(Nt=>Nt.map(Yt=>Zl(Yt)===Zl(it)?it:Yt)),Pe(Nt=>Nt+1)}}):null,K?l.jsx(Xft,{space:K,canUseSandbox:(U==null?void 0:U.enabled)===!0,onClose:()=>ee(null),onUpload:()=>{ve(K),ee(null)},onSandbox:()=>{const Ae=K;ee(null),Ce(Ae),It({operation:"create"})}}):null,ye?l.jsx(Mft,{space:ye,region:ye.region||Ri(e),onClose:()=>ve(null),onUploaded:()=>{ve(null),he(Ae=>Ae+1),Pe(Ae=>Ae+1)}}):null]})}const Jh=[{id:"skills",label:"技能库"},{id:"knowledge",label:"知识库"},{id:"artifacts",label:"产物"}];function Yft({cloudProvider:e,activeTab:t,onTabChange:n,onPageTitleChange:i,skillInitialWorkspace:r=null,onSkillInitialWorkspaceConsumed:s,artifactSources:a=[],artifactUserId:o="",onArtifactActivate:c,onArtifactSourceOpen:u}){const[d,f]=m.useState("技能库"),[h,p]=m.useState(()=>new Set(["skills",t])),[b,g]=m.useState({skills:0,knowledge:0,artifacts:0}),O=m.useRef(c),[y,v]=m.useState([]),[x,w]=m.useState(!1),[E,S]=m.useState(""),k=m.useMemo(()=>{const B=mLe(a);return{key:JSON.stringify(B),candidates:B}},[a]),T=m.useRef(k);T.current.key!==k.key&&(T.current=k);const C=T.current.candidates;m.useEffect(()=>{O.current=c},[c]),m.useEffect(()=>{p(B=>{if(B.has(t))return B;const I=new Set(B);return I.add(t),I})},[t]),m.useEffect(()=>{var I;const B=t==="skills"?d:((I=Jh.find($=>$.id===t))==null?void 0:I.label)||"库";i==null||i(B)},[t,i,d]),m.useEffect(()=>{var B;t==="artifacts"&&((B=O.current)==null||B.call(O))},[t,b.artifacts]);const A=m.useCallback(async()=>{w(!0),S("");try{v(await ELe(C))}catch(B){S(B instanceof Error?B.message:String(B))}finally{w(!1)}},[C]);m.useEffect(()=>{t==="artifacts"&&A()},[t,b.artifacts,A]);const R=B=>{p(I=>{if(I.has(B))return I;const $=new Set(I);return $.add(B),$}),g(I=>({...I,[B]:I[B]+1})),n(B)},P=(B,I)=>{var F;if(!["ArrowLeft","ArrowRight","Home","End"].includes(B.key))return;B.preventDefault();const $=Jh.findIndex(Q=>Q.id===I),j=B.key==="Home"?0:B.key==="End"?Jh.length-1:($+(B.key==="ArrowRight"?1:-1)+Jh.length)%Jh.length,D=Jh[j];R(D.id),(F=document.getElementById(`library-${D.id}-tab`))==null||F.focus()};return l.jsxs("section",{className:"library-view","aria-label":"库",children:[l.jsxs("header",{className:"library-view__header",children:[l.jsx("h1",{children:"库"}),l.jsx("p",{children:"管理您的资源和产物"})]}),l.jsx("nav",{className:"aw-agent-tabs library-tabs","aria-label":"库分类",role:"tablist",children:Jh.map(B=>l.jsx("button",{type:"button",id:`library-${B.id}-tab`,className:t===B.id?"is-active":"",role:"tab","aria-selected":t===B.id,"aria-controls":`library-${B.id}-panel`,tabIndex:t===B.id?0:-1,onClick:()=>R(B.id),onKeyDown:I=>P(I,B.id),children:B.label},B.id))}),l.jsxs("div",{className:"library-panels",children:[h.has("skills")?l.jsx("div",{id:"library-skills-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-skills-tab",hidden:t!=="skills",children:l.jsx(Hft,{cloudProvider:e,active:t==="skills",activationRevision:b.skills,onPageTitleChange:f,initialWorkspace:r,onInitialWorkspaceConsumed:s})}):null,h.has("knowledge")?l.jsx("div",{id:"library-knowledge-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-knowledge-tab",hidden:t!=="knowledge",children:l.jsx(QWe,{cloudProvider:e,active:t==="knowledge",activationRevision:b.knowledge})}):null,h.has("artifacts")?l.jsx("div",{id:"library-artifacts-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-artifacts-tab",hidden:t!=="artifacts",children:l.jsx(vLe,{items:y,userId:o,active:t==="artifacts",activationRevision:b.artifacts,loading:x,error:E,onRetry:()=>void A(),onEdit:kLe,onDelete:TLe,onDownload:_Le,onOpenSource:u?B=>u(B.appName,B.sessionId):void 0})}):null]})]})}const Zme="veadk_agentkit_connections",Gft=3e3,vY=6e4;function nc(){try{const e=localStorage.getItem(Zme);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function J2(e){try{localStorage.setItem(Zme,JSON.stringify(e))}catch{}}function fc(e,t){return`agentkit:${e}:${t}`}function Kme(e){try{return new URL(e).host}catch{return e}}function mO(e){Ate();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)_te(fc(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function Jme(e,t,n,i,r,s){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:i,appLabels:r,currentVersion:s},o=nc(),c=o.findIndex(u=>u.runtimeId===e);return c===-1?o.push(a):o[c]=a,J2(o),mO(o),a}async function Wft(e,t,n,i,r){let s=null,a=n||"cn-beijing",o=null;for(const f of vv(n))try{const h=await b$(e,f,{retryProbe:!0});if(h&&h.length>0){s=h,a=f;break}}catch(h){if(h instanceof Bb)throw P_(e),h;if(h instanceof Ra&&h.unsupported){o=h;continue}throw h}if(!s||s.length===0)throw P_(e),o||new Ra("该 Runtime 暂不支持连接,请确认服务已正常运行。",!0,!0);const c=(r==null?void 0:r.trim())||s[0],u=Object.fromEntries(s.map(f=>[f,f===s[0]?c:f])),d=Jme(e,t,a,s,u,i);return fc(d.id,s[0])}function Zft(e){return new Promise(t=>window.setTimeout(t,e))}async function kk(e,t,n,i,r={}){const s=Date.now();for(;;)try{return await Wft(e,t,n,i,r.agentName)}catch(a){const o=Date.now()-s;if(!r.waitForReady||!(a instanceof Ra)||!a.retryable||o>=vY)throw a;const c=Math.min(Gft,vY-o);await Zft(c)}}async function ege(e,t,n,i){const r=t.trim().replace(/\/+$/,""),s=await EA(r,n.trim()),a={id:Date.now().toString(36),name:e.trim()||Kme(r),base:r,apiKey:n.trim(),apps:s,appLabels:i&&s.length>0?{[s[0]]:i}:void 0},o=[...nc().filter(c=>c.base!==r),a];return J2(o),mO(o),a}function Kft(e){const t=nc().filter(n=>n.id!==e);return J2(t),mO(t),t}function P_(e){const t=nc().filter(n=>n.runtimeId!==e);return J2(t),mO(t),t}function tge(e,t){const n=e.map(r=>({id:r,label:r,app:r,remote:!1})),i=t.flatMap(r=>r.apps.map(s=>{var o;const a=((o=r.appLabels)==null?void 0:o[s])??s;return{id:fc(r.id,s),label:a,app:s,remote:!0,host:r.runtimeId?r.name:Kme(r.base??""),runtimeId:r.runtimeId,region:r.region,currentVersion:r.currentVersion}}));return[...n,...i]}const wY=Object.freeze(Object.defineProperty({__proto__:null,addConnection:ege,addRuntimeConnection:Jme,buildAgentEntries:tge,connectRuntime:kk,loadConnections:nc,registerConnections:mO,remoteAppId:fc,removeConnection:Kft,removeRuntimeConnection:P_},Symbol.toStringTag,{value:"Module"}));function Jft({onAdded:e,onCancel:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,o]=m.useState(""),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim().length>0&&r.trim().length>0&&!c;async function p(){if(h){u(!0),f("");try{const b=await ege(a,n,r,a);if(b.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(fc(b.id,b.apps[0]))}catch(b){f(`连接失败:${String(b)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return l.jsx("div",{className:"addagent",children:l.jsxs("div",{className:"addagent-card",children:[l.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),l.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),l.jsxs("label",{className:"addagent-field",children:[l.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),l.jsx("input",{className:"addagent-input",value:n,onChange:b=>i(b.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),l.jsxs("label",{className:"addagent-field",children:[l.jsx("span",{className:"addagent-label",children:"API Key"}),l.jsx("input",{className:"addagent-input",type:"password",value:r,onChange:b=>s(b.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),l.jsxs("label",{className:"addagent-field",children:[l.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),l.jsx("input",{className:"addagent-input",value:a,onChange:b=>o(b.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&l.jsx("div",{className:"addagent-error",children:d}),l.jsxs("div",{className:"addagent-actions",children:[l.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:c,children:"取消"}),l.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:p,disabled:!h,children:[c?l.jsx(qn,{className:"icon spin"}):null,c?"连接中…":"连接并添加"]})]})]})})}const jQ=[{id:"context_engine",displayName:"上下文治理",description:"治理上下文组装、任务锚定和上下文预算。"},{id:"compressor",displayName:"上下文与结果压缩",description:"压缩长上下文和大型工具结果,降低 Token 成本。"},{id:"verifier",displayName:"回答校验与修复",description:"校验证据和回答,在失败时执行修复或告警。"},{id:"long_run_control",displayName:"Goal任务控制",description:"管理 Goal 任务的进度、续跑和结束条件。"},{id:"mcp_resilience",displayName:"MCP 稳定性治理",description:"治理连接、超时、空结果、大返回和调用预算;默认包含 SQL 只读保护。"}],eht=[{id:"quality",displayName:"提升回答质量",componentIds:["context_engine","verifier"]},{id:"cost",displayName:"降低运行成本",componentIds:["compressor"]},{id:"stability",displayName:"增强运行稳定性",componentIds:["long_run_control","mcp_resilience"]}],eC=jQ.map(e=>e.id),tht="BytePlus 账号暂不支持 Harness Sidecar 优化项。请保持优化项为空后继续部署,普通 BytePlus 智能体不受影响。";function nht(e){return e==="byteplus"?tht:null}const nge=["context_engine","compressor","verifier","long_run_control"],iht=new Set(["1","true","yes","on"]),RQ=[{id:"default",displayName:"自定义",description:"按需选择组件,不勾选时不启动 Sidecar。",defaultComponents:[],autoAddedComponents:[]},{id:"ops",displayName:"运维场景",description:"适用于运维诊断、数据库、日志和监控 MCP。",defaultComponents:["context_engine","verifier","long_run_control","mcp_resilience"],autoAddedComponents:["sql_readonly"]}];function Rx(e){var t;return((t=jQ.find(n=>n.id===e))==null?void 0:t.displayName)??e}function ige(e){var t;return((t=RQ.find(n=>n.id===e))==null?void 0:t.displayName)??e}function rge(e){const t=RQ.find(n=>n.id===e);return t?[...t.defaultComponents]:[]}function a0(e,t="default"){const n=new Set(e);return{enabled:n.size>0,profile:t,componentOverrides:Object.fromEntries(eC.map(r=>[r,n.has(r)]))}}function sD(e){return iht.has((e==null?void 0:e.trim().toLowerCase())??"")}function rht(e){if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}function sht(e){var a;const t=new Map((e==null?void 0:e.map(({key:o,value:c})=>[o,c]))??[]),n=t.get("HARNESS_SIDECAR_ENABLED");if(n===void 0)return null;const i=((a=t.get("HARNESS_PROFILE"))==null?void 0:a.trim())==="ops"?"ops":"default";if(!sD(n))return a0([],i);const r=rht(t.get("HARNESS_SIDECAR_COMPONENT_OVERRIDES"));if(r)return{...a0(eC.filter(o=>r[o]===!0),i),enabled:!0};if(i==="ops")return a0(rge(i),i);const s=[...sD(t.get("HARNESS_MODEL_PROXY_ENABLED"))?nge:[],...sD(t.get("HARNESS_MCP_GATEWAY_ENABLED"))?["mcp_resilience"]:[]];return{...a0(s,i),enabled:!0}}function aht(e,t){return{...e,modelName:t.modelName||e.modelName,description:t.description,instruction:t.instruction}}function oht(e){var t;return((t=e.harnessSidecar)==null?void 0:t.profile)??"default"}function DQ(e){var n;const t=(n=e.harnessSidecar)==null?void 0:n.componentOverrides;return t?eC.filter(i=>t[i]):[]}function lht(e){const t=new Set(DQ(e));return nge.filter(n=>t.has(n))}function IQ({label:e,onClick:t}){return l.jsx("button",{type:"button",className:"page-back-button","aria-label":e,title:e,onClick:t,children:l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m14.5 6-6 6 6 6"})})})}const cht=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T09:12:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结",source:"auto",score:.92,reason:"任务完整覆盖了用户目标,输出结构清晰,并给出了可执行的下一步动作。"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T08:47:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用",source:"user"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T07:35:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉",source:"auto",score:.28,reason:"信息不足时仍给出了确定结论,缺少必要的澄清步骤与不确定性说明。"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T06:58:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率",source:"user"}],uht=[{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"}]}],SY=[{id:"basic",label:"基本信息"},{id:"usage",label:"用量统计"},{id:"evaluations",label:"评测集"},{id:"optimizations",label:"优化项"},{id:"integrations",label:"接入方法"}],dht=20,fht=new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function hht(e){const t=Date.parse(e);return Number.isNaN(t)?"暂未提供":fht.format(t)}const cy=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function aD(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function pht(e,t){const n=e.trim();if(!n||!t)return n;try{const i=new URL(n),r=i.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(r))return n;const s=new URL(t);return i.protocol=s.protocol,i.hostname=s.hostname,i.port=s.port,i.toString()}catch{return n}}function EY(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function K5(e){return JSON.stringify(e)}function sge(e){return e==="key_auth"?`API_KEY = "" +`,4);return n>=0?t.slice(n+5).trimStart():e}function hge(e){const t=(e||"").trim();return!t||[">",">-","|","|-"].includes(t)?"暂无描述":t}function rht(){return l.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:l.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function TG(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function _G(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})})}function sht(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}function AG({direction:e}){return l.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:l.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 pge(){return l.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function aht({page:e,total:t,pageSize:n,onPage:i}){const r=Math.max(1,Math.ceil(t/n));return l.jsxs("footer",{className:"skillcenter-pager",children:[l.jsxs("span",{children:["共 ",t," 项"]}),l.jsxs("div",{className:"skillcenter-pager-actions",children:[l.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"上一页",children:l.jsx(AG,{direction:"left"})}),l.jsxs("span",{children:[e," / ",r]}),l.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:e>=r,"aria-label":"下一页",children:l.jsx(AG,{direction:"right"})})]})]})}function oht({children:e}){return l.jsx("div",{className:"skillcenter-empty",children:e})}function hI({kind:e,title:t,description:n,error:i,action:r}){return l.jsx("div",{className:`skillcenter-page-state is-${e}`,role:e==="error"?"alert":"status",children:l.jsxs(Ci,{fill:"none",children:[l.jsx(Ci.Title,{children:t}),n?l.jsx(Ci.Description,{children:n}):null,i?l.jsx(Ho,{error:i}):null,r?l.jsx(Ci.ActionRow,{children:l.jsx(Pl,{color:"secondary",size:"lg",onClick:r.onClick,children:r.label})}):null]})})}function CG({errors:e,cloudProvider:t,fullPage:n=!1,onRetry:i}){return l.jsxs("div",{className:`skillcenter-space-errors${n?" is-full-page":""}`,role:"alert",children:[l.jsxs("div",{className:"skillcenter-space-errors__content",children:[l.jsx("strong",{children:n?"无法加载技能空间":"部分技能空间加载失败"}),e.map(({region:r,error:s})=>l.jsxs("section",{children:[l.jsx("span",{children:wu(r,t)}),l.jsx(Ho,{error:s})]},r))]}),l.jsx("button",{type:"button",onClick:i,children:"重新加载"})]})}function lht({skill:e,space:t,region:n,cloudProvider:i,detail:r,files:s,loading:a,error:o,canOptimize:c,onOptimize:u,onDownload:d,onClose:f}){return m.useEffect(()=>{const h=p=>{p.key==="Escape"&&f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),l.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:f,children:l.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:h=>h.stopPropagation(),children:[l.jsxs("header",{className:"skill-detail-head",children:[l.jsx("div",{className:"skill-detail-heading",children:l.jsxs("div",{children:[l.jsx("h2",{id:"skill-detail-title",children:(r==null?void 0:r.name)||e.skillName}),l.jsx("p",{children:hge((r==null?void 0:r.description)||e.skillDescription)})]})}),l.jsxs("div",{className:"skill-detail-actions",children:[l.jsx("button",{type:"button",onClick:d,disabled:s.length===0,children:"下载 ZIP"}),l.jsx(B_,{disabled:!c,placement:"bottom",children:l.jsx("button",{type:"button",onClick:u,disabled:!c,children:"优化"})}),l.jsx("button",{type:"button",className:"skill-detail-close",onClick:f,"aria-label":"关闭技能详情",children:l.jsx(rht,{})})]})]}),l.jsxs("dl",{className:"skill-detail-meta",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"技能 ID"}),l.jsx("dd",{title:e.skillId,children:e.skillId})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"版本"}),l.jsx("dd",{children:(r==null?void 0:r.version)||e.version||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"状态"}),l.jsx("dd",{children:a5(e.skillStatus)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"技能空间"}),l.jsx("dd",{title:t.name,children:t.name})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"地域"}),l.jsx("dd",{children:wu(n,i)})]})]}),l.jsxs("div",{className:"skill-detail-content skill-detail-content--files",children:[l.jsx("div",{className:"skill-detail-content-title",children:"完整文件"}),a?l.jsxs("div",{className:"skillcenter-loading",children:[l.jsx(pge,{}),"正在读取技能内容…"]}):o?l.jsx("div",{className:"skillcenter-error",children:l.jsx(Ho,{error:o})}):s.length>0?l.jsx(uge,{files:s.map(h=>h.path.endsWith("SKILL.md")&&h.content?{...h,content:iht(h.content)}:h)}):l.jsx(oht,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function cht({space:e,canUseSandbox:t,onUpload:n,onSandbox:i,onClose:r}){return m.useEffect(()=>{const s=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]),l.jsx("div",{className:"skill-dialog-backdrop",role:"presentation",onMouseDown:r,children:l.jsxs("section",{className:"skill-dialog skill-add-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-add-dialog-title",onMouseDown:s=>s.stopPropagation(),children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("h2",{id:"skill-add-dialog-title",children:"添加技能"}),l.jsx("p",{title:e.name,children:e.name})]}),l.jsx("button",{type:"button",onClick:r,children:"取消"})]}),l.jsxs("div",{className:"skill-add-dialog__options",children:[l.jsxs("button",{type:"button",onClick:n,children:[l.jsx("strong",{children:"本地上传"}),l.jsx("span",{children:"选择 ZIP 文件,校验通过后上传到技能空间"})]}),l.jsx(B_,{disabled:!t,placement:"inside",children:l.jsxs("button",{type:"button",disabled:!t,onClick:i,children:[l.jsx("strong",{children:"自动创建"}),l.jsx("span",{children:"选择模型和风格,通过对话生成技能"})]})})]})]})})}function uht({cloudProvider:e="volcengine",active:t=!0,activationRevision:n=0,initialWorkspace:i=null,onInitialWorkspaceConsumed:r,onPageTitleChange:s}){var Vt;const a=m.useMemo(()=>ob(e).map(Ae=>Ae.value),[e]),[o,c]=m.useState([]),[u,d]=m.useState({}),[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState((i==null?void 0:i.space)??null),[y,v]=m.useState([]),[x,w]=m.useState(1),[E,S]=m.useState(0),[k,T]=m.useState(!1),[C,A]=m.useState(null),[N,P]=m.useState(""),[Q,D]=m.useState(null),[$,j]=m.useState(null),[I,F]=m.useState([]),[B,M]=m.useState(!1),[Y,q]=m.useState(null),[U,V]=m.useState(null),[re,de]=m.useState(!1),[be,ce]=m.useState(null),[K,ee]=m.useState(null),[me,ve]=m.useState(null),[Ne,Ie]=m.useState(0),[De,pe]=m.useState(0),[Se,Oe]=m.useState(""),[Le,Fe]=m.useState(""),[Te,Ue]=m.useState(null),[ot,Bt]=m.useState(i),Ye=m.useRef(0),Z=m.useRef(0),ie=m.useRef(!1),ue=m.useRef(null),ye=m.useRef(null),z=m.useRef(null),je=m.useDeferredValue(p),We=m.useDeferredValue(N),Jt=(ot&&(g||ot.selectPublishSpace)?ot.operation==="create"?"创建技能":`优化 ${((Vt=ot.source)==null?void 0:Vt.name)||"技能"}`:"")||(g==null?void 0:g.name)||"技能库";m.useEffect(()=>{t&&(s==null||s(Jt))},[t,s,Jt]),m.useEffect(()=>{i&&(r==null||r())},[i,r]);const Xt=m.useMemo(()=>{const Ae=je.trim().toLocaleLowerCase();return Ae?o.filter(Ge=>`${Ge.name} ${Ge.description||""} ${Ge.projectName||""}`.toLocaleLowerCase().includes(Ae)):o},[je,o]),Tt=m.useMemo(()=>{const Ae=We.trim().toLocaleLowerCase();return Ae?y.filter(Ge=>`${Ge.skillName} ${Ge.skillDescription||""}`.toLocaleLowerCase().includes(Ae)):y},[We,y]),vt=(g==null?void 0:g.region)||Li(e),xe=m.useMemo(()=>a.flatMap(Ae=>{var Ft;const Ge=(Ft=u[Ae])==null?void 0:Ft.error;return Ge?[{region:Ae,error:Ge}]:[]}),[u,a]),ze=a.some(Ae=>{const Ge=u[Ae];return!!(Ge&&!Ge.done&&!Ge.error)}),Be=xe.length===a.length;m.useEffect(()=>{const Ae=new AbortController;return A2(Ae.signal).then(V).catch(()=>V({enabled:!1,reason:"管理员未配置",operations:["create","optimize"],models:[],styles:{}})),()=>Ae.abort()},[]);const bt=m.useCallback(async(Ae,Ge)=>{var rt;if(ie.current||Ae.length===0)return;ie.current=!0,h(!0),Ge&&((rt=ue.current)==null||rt.abort(),c([]),d(Object.fromEntries(Ae.map(({region:Dt})=>[Dt,{nextPage:1,loadedCount:0,done:!1,error:null}]))));const Ft=new AbortController;ue.current=Ft;const mn=++Z.current,en=await Promise.allSettled(Ae.map(async({region:Dt,page:Yt})=>({region:Dt,page:Yt,result:await XLe({region:Dt,page:Yt,pageSize:eht,signal:Ft.signal})})));if(Z.current!==mn)return;const ui=en.map((Dt,Yt)=>{const cn=Ae[Yt];return Dt.status==="rejected"?{request:cn,error:Ls(Dt.reason,"读取技能空间失败,请稍后重试"),items:[],totalCount:0}:{request:cn,error:null,items:(Dt.value.result.items||[]).map(Zt=>({...Zt,region:Zt.region||Dt.value.region})),totalCount:Dt.value.result.totalCount||0}}),Re=ui.flatMap(Dt=>Dt.items);d(Dt=>{const Yt={...Dt};return ui.forEach(({request:cn,error:Zt,items:ni,totalCount:oi})=>{const Ui=Yt[cn.region]||{nextPage:cn.page,loadedCount:0,done:!1,error:null};if(Zt){Yt[cn.region]={...Ui,error:Zt};return}const le=Ui.loadedCount+ni.length;Yt[cn.region]={nextPage:cn.page+1,loadedCount:le,done:ni.length===0||le>=oi,error:null}}),Yt}),c(Dt=>nht(Ge?[]:Dt,Re)),O(Dt=>Dt&&(Re.find(Yt=>oc(Yt)===oc(Dt))||Dt)),ie.current=!1,h(!1)},[]),mt=m.useCallback(()=>{if(ie.current)return;const Ae=a.flatMap(Ge=>{const Ft=u[Ge];return Ft&&!Ft.done&&!Ft.error?[{region:Ge,page:Ft.nextPage}]:[]});bt(Ae,!1)},[bt,u,a]);m.useEffect(()=>{Ct(),O(null),v([]),w(1)},[e]),m.useEffect(()=>{if(t)return bt(a.map(Ae=>({region:Ae,page:1})),!0),()=>{var Ae;Z.current+=1,(Ae=ue.current)==null||Ae.abort(),ie.current=!1}},[t,n,bt,a,Ne]),m.useEffect(()=>{const Ae=z.current,Ge=ye.current;if(!Ae||!Ge||!ze||f)return;const Ft=new IntersectionObserver(([mn])=>{mn.isIntersecting&&mt()},{root:Ge,rootMargin:"240px 0px",threshold:.01});return Ft.observe(Ae),()=>Ft.disconnect()},[ze,mt,f]);const At=()=>{const Ae=ye.current;!Ae||!ze||f||Ae.scrollHeight-Ae.scrollTop-Ae.clientHeight<=240&&mt()};m.useEffect(()=>{if(!g){v([]),S(0);return}let Ae=!0;return T(!0),A(null),t5e(g.id,{region:vt,page:x,pageSize:wG,project:g.projectName}).then(Ge=>{Ae&&(v(Ge.items||[]),S(Ge.totalCount||0))}).catch(Ge=>{Ae&&(v([]),S(0),A(Ls(Ge,"读取技能失败,请稍后重试")))}).finally(()=>{Ae&&T(!1)}),()=>{Ae=!1}},[vt,g,x,De]);const _e=Ae=>{Ct(),O(Ae),w(1),P("")},Ze=()=>{Ct(),O(null),v([]),S(0),w(1),P(""),Ue(null)},Ct=()=>{Ye.current+=1,D(null),j(null),F([]),q(null),M(!1)},an=async Ae=>{if(!g)return;const Ge=Ye.current+1;Ye.current=Ge,D(Ae),j(null),q(null),M(!0);try{const[Ft,mn]=await Promise.all([n5e(g.id,Ae.skillId,Ae.version,vt,g.projectName),JLe({spaceId:g.id,skillId:Ae.skillId,version:Ae.version,region:vt})]);Ye.current===Ge&&(j(Ft),F(mn))}catch(Ft){Ye.current===Ge&&q(Ls(Ft,"读取技能详情失败,请稍后重试"))}finally{Ye.current===Ge&&M(!1)}},tt=Ae=>{if(g)return{kind:"skill-center",skillId:Ae.skillId,version:Ae.version,region:vt,projectName:g.projectName,skillSpaceId:g.id,skillSpaceName:g.name,name:Ae.skillName,description:Ae.skillDescription}},pn=Ae=>{const Ge=tt(Ae);!Ge||!(U!=null&&U.enabled)||(Ct(),Bt({operation:"optimize",source:Ge}))},Yn=async Ae=>{if(!(!g||!window.confirm(`确定删除整个 Skill“${Ae.skillName}”吗?此操作会影响所有引用它的空间。`))){Oe(Ae.skillId),Ue(null);try{await KLe({spaceId:g.id,skillId:Ae.skillId,region:vt}),pe(Ge=>Ge+1),Ie(Ge=>Ge+1)}catch(Ge){Ue(Ls(Ge,"删除 Skill 失败"))}finally{Oe("")}}},zt=async Ae=>{if(!window.confirm(`确定删除 Skill 空间“${Ae.name}”吗?请先确认空间中的技能已删除。`))return;const Ge=oc(Ae);Fe(Ge),Ue(null);try{await YLe({spaceId:Ae.id,region:Ae.region||Li(e)}),g&&oc(g)===Ge&&Ze(),Ie(Ft=>Ft+1)}catch(Ft){Ue(Ls(Ft,"删除 Skill 空间失败"))}finally{Fe("")}};return ot&&(g||ot.selectPublishSpace)?l.jsx(Wft,{operation:ot.operation,cloudProvider:e,space:g??void 0,availableSpaces:o,spacesLoading:f,initialIntent:ot.initialIntent,source:ot.source,onBack:()=>Bt(null),onPublished:()=>{pe(Ae=>Ae+1),Ie(Ae=>Ae+1)}}):l.jsxs("section",{className:`skillcenter${g?" is-space":" my-agents-page"}`,children:[g?l.jsxs(l.Fragment,{children:[l.jsxs("header",{className:"skillcenter-page-header",children:[l.jsxs("div",{className:"skillcenter-page-heading skillcenter-page-heading--back",children:[l.jsx("button",{type:"button",className:"skillcenter-back",onClick:Ze,"aria-label":"返回技能空间",children:l.jsx(sht,{})}),l.jsxs("div",{children:[l.jsx("h1",{title:g.name,children:g.name}),l.jsx("p",{children:g.description||"管理空间中的技能并创建新的版本"})]})]}),l.jsxs("label",{className:"skillcenter-search",children:[l.jsx(TG,{}),l.jsx("input",{type:"search","aria-label":"搜索技能",value:N,onChange:Ae=>P(Ae.target.value),placeholder:"搜索技能"})]})]}),l.jsxs("div",{className:"skillcenter-toolbar",children:[l.jsxs("div",{className:"skillcenter-detail-facts",children:[l.jsxs("div",{children:[l.jsx("span",{children:"技能数量"}),l.jsx("strong",{children:E})]}),l.jsxs("div",{children:[l.jsx("span",{children:"更新时间"}),l.jsx("strong",{children:g.updatedAt?EG(g.updatedAt):"—"})]})]}),l.jsxs("div",{className:"skillcenter-toolbar-actions",children:[l.jsx("button",{type:"button",className:"skillcenter-secondary-action",onClick:()=>ve(g),children:"本地上传"}),l.jsx(B_,{disabled:!(U!=null&&U.enabled),children:l.jsxs("button",{type:"button",className:"skillcenter-primary-action",disabled:!(U!=null&&U.enabled),onClick:()=>Bt({operation:"create"}),children:[l.jsx(_G,{}),l.jsx("span",{children:"创建技能"})]})})]})]}),Te?l.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:l.jsx(Ho,{error:Te})}):null,l.jsxs("section",{className:"skillcenter-results","aria-label":`${g.name}中的技能`,children:[k&&y.length===0?l.jsxs("div",{className:"skillcenter-loading",children:[l.jsx(pge,{}),"正在加载技能"]}):C&&y.length===0?l.jsx(hI,{kind:"error",title:"无法加载技能",error:C,action:{label:"重新加载",onClick:()=>pe(Ae=>Ae+1)}}):Tt.length===0?l.jsx(hI,{kind:"empty",title:N.trim()?"没有匹配的技能":"暂无技能",description:N.trim()?"请尝试搜索其他名称":"本地上传 Skill,或自动创建",action:N.trim()?void 0:{label:"本地上传",onClick:()=>ve(g)}}):l.jsx("div",{className:"skillcenter-table-wrap",children:l.jsxs("table",{className:"skillcenter-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"技能"}),l.jsx("th",{scope:"col",children:"状态"}),l.jsx("th",{scope:"col",className:"skillcenter-table__actions-heading",children:"操作"})]})}),l.jsx("tbody",{children:Tt.map(Ae=>l.jsxs("tr",{children:[l.jsx("td",{className:"skillcenter-table__skill",children:l.jsxs("button",{type:"button",onClick:()=>void an(Ae),children:[l.jsxs("span",{className:"skillcenter-table__title-row",children:[l.jsx("strong",{title:Ae.skillName,children:Ae.skillName}),Ae.version?l.jsx("span",{className:"skillcenter-table__version-badge",children:Ae.version}):null]}),l.jsx("span",{className:"skillcenter-table__description",children:hge(Ae.skillDescription)})]})}),l.jsx("td",{children:l.jsx("span",{className:`skillcenter-status ${SG(Ae.skillStatus)}`,children:a5(Ae.skillStatus)})}),l.jsx("td",{children:l.jsxs("div",{className:"skillcenter-table__actions",children:[l.jsx("button",{type:"button",onClick:()=>void an(Ae),children:"查看"}),l.jsx(B_,{disabled:!(U!=null&&U.enabled),children:l.jsx("button",{type:"button",disabled:!(U!=null&&U.enabled),onClick:()=>pn(Ae),children:"优化"})}),l.jsx("button",{type:"button",className:"is-danger",disabled:Se===Ae.skillId,onClick:()=>void Yn(Ae),children:Se===Ae.skillId?"删除中…":"删除"})]})})]},`${Ae.skillId}:${Ae.version}`))})]})}),!N.trim()&&!k&&!C&&E>0?l.jsx(aht,{page:x,total:E,pageSize:wG,onPage:w}):null]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"my-agent-type-bar skillcenter-list-toolbar library-resource-toolbar",children:[l.jsxs("button",{type:"button",className:"my-agent-create-primary",onClick:()=>de(!0),children:[l.jsx(_G,{}),l.jsx("span",{children:"新建空间"})]}),l.jsxs("label",{className:"my-agent-search",children:[l.jsx(TG,{}),l.jsx("input",{type:"search","aria-label":"搜索技能空间",value:p,onChange:Ae=>b(Ae.target.value),placeholder:"搜索技能空间"})]})]}),Te?l.jsx("div",{className:"skillcenter-inline-error",role:"alert",children:l.jsx(Ho,{error:Te})}):null,l.jsxs("section",{className:"my-agent-results",ref:ye,"aria-label":"技能空间列表",onScroll:At,children:[xe.length>0&&!Be?l.jsx(CG,{errors:xe,cloudProvider:e,onRetry:()=>Ie(Ae=>Ae+1)}):null,f&&o.length===0?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载技能空间"})]}):Be&&o.length===0?l.jsx(CG,{errors:xe,cloudProvider:e,fullPage:!0,onRetry:()=>Ie(Ae=>Ae+1)}):Xt.length===0?l.jsx(hI,{kind:"empty",title:p.trim()?"没有匹配的技能空间":"暂无技能空间",description:p.trim()?"请尝试搜索其他名称":"新建一个空间,开始管理和创建技能",action:p.trim()?void 0:{label:"新建空间",onClick:()=>de(!0)}}):l.jsx(l.Fragment,{children:l.jsx("div",{className:"my-agent-grid",children:Xt.map(Ae=>{const Ge=oc(Ae);return l.jsx($oe,{className:"skillcenter-space-card",title:Ae.name,status:l.jsx("span",{className:`skillcenter-status ${SG(Ae.status)}`,children:a5(Ae.status)}),description:Ae.description||"暂无描述",metadata:[{label:"地域",value:wu(Ae.region||Li(e),e)},{label:"技能数量",value:Ae.skillCount??0},{label:"更新时间",value:Ae.updatedAt?EG(Ae.updatedAt):"—"}],secondaryAction:{label:"添加技能",onClick:()=>ee(Ae)},primaryAction:{label:"查看详情",onClick:()=>_e(Ae)},menuLabel:`更多空间操作:${Ae.name}`,menuAriaLabel:`${Ae.name}空间操作`,menuActions:[{label:"编辑空间",onClick:()=>ce(Ae)},{label:"删除空间",danger:!0,disabled:Le===Ge,onClick:()=>void zt(Ae)}]},Ge)})})}),!Be&&o.length>0?l.jsx("div",{className:"my-agent-load-more",ref:z,"aria-live":"polite",children:f?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多技能空间"})]}):ze?l.jsx("span",{children:"继续下滑加载更多"}):xe.length>0?l.jsx("span",{children:"部分技能空间加载失败"}):l.jsx("span",{children:"已加载全部技能空间"})}):null]})]}),Q&&g&&l.jsx(lht,{skill:Q,space:g,region:vt,cloudProvider:e,detail:$,files:I,loading:B,error:Y,canOptimize:(U==null?void 0:U.enabled)===!0,onOptimize:()=>pn(Q),onDownload:()=>void e5e({spaceId:g.id,skillId:Q.skillId,version:Q.version,region:vt,fallbackName:Q.skillName}).catch(Ae=>q(Ls(Ae,"下载 Skill 失败"))),onClose:Ct}),re?l.jsx(Zft,{region:Li(e),regionOptions:ob(e),onClose:()=>de(!1),onCreated:Ae=>{de(!1),Ie(Ge=>Ge+1),O({...Ae,region:Ae.region||Li(e)})}}):null,be?l.jsx(Kft,{space:be,region:be.region||Li(e),onClose:()=>ce(null),onUpdated:Ae=>{const Ge={...Ae,region:Ae.region||be.region||Li(e)};ce(null),O(Ft=>Ft&&oc(Ft)===oc(Ge)?Ge:Ft),c(Ft=>Ft.map(mn=>oc(mn)===oc(Ge)?Ge:mn)),Ie(Ft=>Ft+1)}}):null,K?l.jsx(cht,{space:K,canUseSandbox:(U==null?void 0:U.enabled)===!0,onClose:()=>ee(null),onUpload:()=>{ve(K),ee(null)},onSandbox:()=>{const Ae=K;ee(null),_e(Ae),Bt({operation:"create"})}}):null,me?l.jsx(Jft,{space:me,region:me.region||Li(e),onClose:()=>ve(null),onUploaded:()=>{ve(null),pe(Ae=>Ae+1),Ie(Ae=>Ae+1)}}):null]})}const lp=[{id:"skills",label:"技能库"},{id:"knowledge",label:"知识库"},{id:"artifacts",label:"产物"}];function dht({cloudProvider:e,activeTab:t,onTabChange:n,onPageTitleChange:i,skillInitialWorkspace:r=null,onSkillInitialWorkspaceConsumed:s,artifactSources:a=[],artifactUserId:o="",onArtifactActivate:c,onArtifactSourceOpen:u}){const[d,f]=m.useState("技能库"),[h,p]=m.useState(()=>new Set(["skills",t])),[b,g]=m.useState({skills:0,knowledge:0,artifacts:0}),O=m.useRef(c),[y,v]=m.useState([]),[x,w]=m.useState(!1),[E,S]=m.useState(""),k=m.useMemo(()=>{const Q=R5e(a);return{key:JSON.stringify(Q),candidates:Q}},[a]),T=m.useRef(k);T.current.key!==k.key&&(T.current=k);const C=T.current.candidates;m.useEffect(()=>{O.current=c},[c]),m.useEffect(()=>{p(Q=>{if(Q.has(t))return Q;const D=new Set(Q);return D.add(t),D})},[t]),m.useEffect(()=>{var D;const Q=t==="skills"?d:((D=lp.find($=>$.id===t))==null?void 0:D.label)||"库";i==null||i(Q)},[t,i,d]),m.useEffect(()=>{var Q;t==="artifacts"&&((Q=O.current)==null||Q.call(O))},[t,b.artifacts]);const A=m.useCallback(async()=>{w(!0),S("");try{v(await F5e(C))}catch(Q){S(Q instanceof Error?Q.message:String(Q))}finally{w(!1)}},[C]);m.useEffect(()=>{t==="artifacts"&&A()},[t,b.artifacts,A]);const N=Q=>{p(D=>{if(D.has(Q))return D;const $=new Set(D);return $.add(Q),$}),g(D=>({...D,[Q]:D[Q]+1})),n(Q)},P=(Q,D)=>{var F;if(!["ArrowLeft","ArrowRight","Home","End"].includes(Q.key))return;Q.preventDefault();const $=lp.findIndex(B=>B.id===D),j=Q.key==="Home"?0:Q.key==="End"?lp.length-1:($+(Q.key==="ArrowRight"?1:-1)+lp.length)%lp.length,I=lp[j];N(I.id),(F=document.getElementById(`library-${I.id}-tab`))==null||F.focus()};return l.jsxs("section",{className:"library-view","aria-label":"库",children:[l.jsxs("header",{className:"library-view__header",children:[l.jsx("h1",{children:"库"}),l.jsx("p",{children:"管理您的资源和产物"})]}),l.jsx("nav",{className:"aw-agent-tabs library-tabs","aria-label":"库分类",role:"tablist",children:lp.map(Q=>l.jsx("button",{type:"button",id:`library-${Q.id}-tab`,className:t===Q.id?"is-active":"",role:"tab","aria-selected":t===Q.id,"aria-controls":`library-${Q.id}-panel`,tabIndex:t===Q.id?0:-1,onClick:()=>N(Q.id),onKeyDown:D=>P(D,Q.id),children:Q.label},Q.id))}),l.jsxs("div",{className:"library-panels",children:[h.has("skills")?l.jsx("div",{id:"library-skills-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-skills-tab",hidden:t!=="skills",children:l.jsx(uht,{cloudProvider:e,active:t==="skills",activationRevision:b.skills,onPageTitleChange:f,initialWorkspace:r,onInitialWorkspaceConsumed:s})}):null,h.has("knowledge")?l.jsx("div",{id:"library-knowledge-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-knowledge-tab",hidden:t!=="knowledge",children:l.jsx(nZe,{cloudProvider:e,active:t==="knowledge",activationRevision:b.knowledge})}):null,h.has("artifacts")?l.jsx("div",{id:"library-artifacts-panel",className:"library-panel",role:"tabpanel","aria-labelledby":"library-artifacts-tab",hidden:t!=="artifacts",children:l.jsx($5e,{items:y,userId:o,active:t==="artifacts",activationRevision:b.artifacts,loading:x,error:E,onRetry:()=>void A(),onEdit:U5e,onDelete:z5e,onDownload:V5e,onOpenSource:u?Q=>u(Q.appName,Q.sessionId):void 0})}):null]})]})}const mge="veadk_agentkit_connections",fht=3e3,NG=6e4;function fc(){try{const e=localStorage.getItem(mge);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function sC(e){try{localStorage.setItem(mge,JSON.stringify(e))}catch{}}function wc(e,t){return`agentkit:${e}:${t}`}function gge(e){try{return new URL(e).host}catch{return e}}function SO(e){Bte();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)Qte(wc(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function bge(e,t,n,i,r,s){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:i,appLabels:r,currentVersion:s},o=fc(),c=o.findIndex(u=>u.runtimeId===e);return c===-1?o.push(a):o[c]=a,sC(o),SO(o),a}async function hht(e,t,n,i,r){let s=null,a=n||"cn-beijing",o=null;for(const f of Cv(n))try{const h=await _$(e,f,{retryProbe:!0});if(h&&h.length>0){s=h,a=f;break}}catch(h){if(h instanceof Gb)throw F_(e),h;if(h instanceof Qa&&h.unsupported){o=h;continue}throw h}if(!s||s.length===0)throw F_(e),o||new Qa("该 Runtime 暂不支持连接,请确认服务已正常运行。",!0,!0);const c=(r==null?void 0:r.trim())||s[0],u=Object.fromEntries(s.map(f=>[f,f===s[0]?c:f])),d=bge(e,t,a,s,u,i);return wc(d.id,s[0])}function pht(e){return new Promise(t=>window.setTimeout(t,e))}async function Nk(e,t,n,i,r={}){const s=Date.now();for(;;)try{return await hht(e,t,n,i,r.agentName)}catch(a){const o=Date.now()-s;if(!r.waitForReady||!(a instanceof Qa)||!a.retryable||o>=NG)throw a;const c=Math.min(fht,NG-o);await pht(c)}}async function Oge(e,t,n,i){const r=t.trim().replace(/\/+$/,""),s=await NA(r,n.trim()),a={id:Date.now().toString(36),name:e.trim()||gge(r),base:r,apiKey:n.trim(),apps:s,appLabels:i&&s.length>0?{[s[0]]:i}:void 0},o=[...fc().filter(c=>c.base!==r),a];return sC(o),SO(o),a}function mht(e){const t=fc().filter(n=>n.id!==e);return sC(t),SO(t),t}function F_(e){const t=fc().filter(n=>n.runtimeId!==e);return sC(t),SO(t),t}function yge(e,t){const n=e.map(r=>({id:r,label:r,app:r,remote:!1})),i=t.flatMap(r=>r.apps.map(s=>{var o;const a=((o=r.appLabels)==null?void 0:o[s])??s;return{id:wc(r.id,s),label:a,app:s,remote:!0,host:r.runtimeId?r.name:gge(r.base??""),runtimeId:r.runtimeId,region:r.region,currentVersion:r.currentVersion}}));return[...n,...i]}const jG=Object.freeze(Object.defineProperty({__proto__:null,addConnection:Oge,addRuntimeConnection:bge,buildAgentEntries:yge,connectRuntime:Nk,loadConnections:fc,registerConnections:SO,remoteAppId:wc,removeConnection:mht,removeRuntimeConnection:F_},Symbol.toStringTag,{value:"Module"}));function ght({onAdded:e,onCancel:t}){const[n,i]=m.useState(""),[r,s]=m.useState(""),[a,o]=m.useState(""),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=n.trim().length>0&&r.trim().length>0&&!c;async function p(){if(h){u(!0),f("");try{const b=await Oge(a,n,r,a);if(b.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(wc(b.id,b.apps[0]))}catch(b){f(`连接失败:${String(b)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return l.jsx("div",{className:"addagent",children:l.jsxs("div",{className:"addagent-card",children:[l.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),l.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),l.jsxs("label",{className:"addagent-field",children:[l.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),l.jsx("input",{className:"addagent-input",value:n,onChange:b=>i(b.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),l.jsxs("label",{className:"addagent-field",children:[l.jsx("span",{className:"addagent-label",children:"API Key"}),l.jsx("input",{className:"addagent-input",type:"password",value:r,onChange:b=>s(b.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),l.jsxs("label",{className:"addagent-field",children:[l.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),l.jsx("input",{className:"addagent-input",value:a,onChange:b=>o(b.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&l.jsx("div",{className:"addagent-error",children:d}),l.jsxs("div",{className:"addagent-actions",children:[l.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:c,children:"取消"}),l.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:p,disabled:!h,children:[c?l.jsx(Hn,{className:"icon spin"}):null,c?"连接中…":"连接并添加"]})]})]})})}const FQ=[{id:"context_engine",displayName:"上下文治理",description:"治理上下文组装、任务锚定和上下文预算。"},{id:"compressor",displayName:"上下文与结果压缩",description:"压缩长上下文和大型工具结果,降低 Token 成本。"},{id:"verifier",displayName:"回答校验与修复",description:"校验证据和回答,在失败时执行修复或告警。"},{id:"long_run_control",displayName:"Goal任务控制",description:"管理 Goal 任务的进度、续跑和结束条件。"},{id:"mcp_resilience",displayName:"MCP 稳定性治理",description:"治理连接、超时、空结果、大返回和调用预算;默认包含 SQL 只读保护。"}],bht=[{id:"quality",displayName:"提升回答质量",componentIds:["context_engine","verifier"]},{id:"cost",displayName:"降低运行成本",componentIds:["compressor"]},{id:"stability",displayName:"增强运行稳定性",componentIds:["long_run_control","mcp_resilience"]}],aC=FQ.map(e=>e.id),Oht="BytePlus 账号暂不支持 Harness Sidecar 优化项。请保持优化项为空后继续部署,普通 BytePlus 智能体不受影响。";function yht(e){return e==="byteplus"?Oht:null}const xge=["context_engine","compressor","verifier","long_run_control"],xht=new Set(["1","true","yes","on"]),UQ=[{id:"default",displayName:"自定义",description:"按需选择组件,不勾选时不启动 Sidecar。",defaultComponents:[],autoAddedComponents:[]},{id:"ops",displayName:"运维场景",description:"适用于运维诊断、数据库、日志和监控 MCP。",defaultComponents:["context_engine","verifier","long_run_control","mcp_resilience"],autoAddedComponents:["sql_readonly"]}];function Bx(e){var t;return((t=FQ.find(n=>n.id===e))==null?void 0:t.displayName)??e}function vge(e){var t;return((t=UQ.find(n=>n.id===e))==null?void 0:t.displayName)??e}function wge(e){const t=UQ.find(n=>n.id===e);return t?[...t.defaultComponents]:[]}function p0(e,t="default"){const n=new Set(e);return{enabled:n.size>0,profile:t,componentOverrides:Object.fromEntries(aC.map(r=>[r,n.has(r)]))}}function pI(e){return xht.has((e==null?void 0:e.trim().toLowerCase())??"")}function vht(e){if(!e)return null;try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}function wht(e){var a;const t=new Map((e==null?void 0:e.map(({key:o,value:c})=>[o,c]))??[]),n=t.get("HARNESS_SIDECAR_ENABLED");if(n===void 0)return null;const i=((a=t.get("HARNESS_PROFILE"))==null?void 0:a.trim())==="ops"?"ops":"default";if(!pI(n))return p0([],i);const r=vht(t.get("HARNESS_SIDECAR_COMPONENT_OVERRIDES"));if(r)return{...p0(aC.filter(o=>r[o]===!0),i),enabled:!0};if(i==="ops")return p0(wge(i),i);const s=[...pI(t.get("HARNESS_MODEL_PROXY_ENABLED"))?xge:[],...pI(t.get("HARNESS_MCP_GATEWAY_ENABLED"))?["mcp_resilience"]:[]];return{...p0(s,i),enabled:!0}}function Sht(e,t){return{...e,modelName:t.modelName||e.modelName,description:t.description,instruction:t.instruction}}function Eht(e){var t;return((t=e.harnessSidecar)==null?void 0:t.profile)??"default"}function zQ(e){var n;const t=(n=e.harnessSidecar)==null?void 0:n.componentOverrides;return t?aC.filter(i=>t[i]):[]}function kht(e){const t=new Set(zQ(e));return xge.filter(n=>t.has(n))}function VQ({label:e,onClick:t}){return l.jsx("button",{type:"button",className:"page-back-button","aria-label":e,title:e,onClick:t,children:l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m14.5 6-6 6 6 6"})})})}const Tht=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T09:12:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结",source:"auto",score:.92,reason:"任务完整覆盖了用户目标,输出结构清晰,并给出了可执行的下一步动作。"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T08:47:00+08:00",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用",source:"user"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T07:35:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉",source:"auto",score:.28,reason:"信息不足时仍给出了确定结论,缺少必要的澄清步骤与不确定性说明。"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"2026-08-05T06:58:00+08:00",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率",source:"user"}],_ht=[{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"}]}],RG=[{id:"basic",label:"基本信息"},{id:"usage",label:"用量统计"},{id:"evaluations",label:"评测集"},{id:"optimizations",label:"优化项"},{id:"integrations",label:"接入方法"},{id:"versions",label:"版本"}],Aht=20,Cht=new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function Nht(e){const t=Date.parse(e);return Number.isNaN(t)?"暂未提供":Cht.format(t)}const by=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function mI(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function jht(e,t){const n=e.trim();if(!n||!t)return n;try{const i=new URL(n),r=i.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(r))return n;const s=new URL(t);return i.protocol=s.protocol,i.hostname=s.hostname,i.port=s.port,i.toString()}catch{return n}}function IG(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function DG(e){return e==="published"?"已发布":e==="publishing"?"发布中":e==="failed"?"发布失败":e==="pending"?"等待发布":"未知"}function Rht(e){return e.changeType==="rollback"?"回退事件":e.version}function o5(e){return JSON.stringify(e)}function Sge(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 mht(e,t,n){const i=e.replace(/\/+$/,"");return`\`\`\`python +HEADERS = {"Authorization": f"Bearer {AUTH_TOKEN}"}`}function Iht(e,t,n){const i=e.replace(/\/+$/,"");return`\`\`\`python import uuid import requests -BASE_URL = ${K5(i)} -APP_NAME = ${K5(t)} +BASE_URL = ${o5(i)} +APP_NAME = ${o5(t)} USER_ID = "demo-user" SESSION_ID = str(uuid.uuid4()) -${sge(n)} +${Sge(n)} session_response = requests.post( f"{BASE_URL}/apps/{APP_NAME}/users/{USER_ID}/sessions/{SESSION_ID}", @@ -768,13 +768,13 @@ with requests.post( for line in response.iter_lines(): if line: print(line.decode("utf-8")) -\`\`\``}function ght(e,t){return`\`\`\`python +\`\`\``}function Dht(e,t){return`\`\`\`python import uuid import requests -AGENT_URL = ${K5(e)} -${sge(t)} +AGENT_URL = ${o5(e)} +${Sge(t)} response = requests.post( AGENT_URL, @@ -795,11 +795,11 @@ response = requests.post( ) response.raise_for_status() print(response.json()) -\`\`\``}function bht({visible:e}){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.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"}),l.jsx("circle",{cx:"12",cy:"12",r:"2.4"}),!e&&l.jsx("path",{d:"m4.2 4.2 15.6 15.6"})]})}function kY({available:e,authType:t,value:n,visible:i,loading:r,error:s,onToggle:a}){return e?t==="none"?"无需 API Key":t==="custom_jwt"?"使用 OAuth / JWT":t!=="key_auth"?"暂无":l.jsxs("span",{className:"aw-integration-secret",children:[l.jsx("span",{className:"aw-integration-secret-value","aria-live":"polite",children:i&&n?n:"****"}),l.jsx("button",{type:"button",className:"aw-integration-secret-toggle","aria-label":i?"隐藏 API Key":"显示 API Key",title:i?"隐藏 API Key":"显示 API Key",disabled:r,onClick:a,children:r?l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}):l.jsx(bht,{visible:i})}),s&&l.jsx("span",{className:"aw-integration-secret-error",role:"alert",children:s})]}):"暂无"}function TY({protocol:e,title:t,available:n,fields:i,example:r}){return l.jsxs("section",{className:`aw-integration-panel${n&&r?" has-example":""}`,id:`integration-${e}-panel`,role:"tabpanel","aria-labelledby":`integration-${e}-tab`,children:[l.jsx("header",{children:l.jsx("h3",{children:t})}),l.jsx("dl",{children:i.map(s=>l.jsxs("div",{children:[l.jsx("dt",{children:s.label}),l.jsx("dd",{children:s.value||"暂无"})]},s.label))}),n&&r&&l.jsxs("section",{className:"aw-integration-example",children:[l.jsx("h4",{children:"Python 示例"}),l.jsx(pu,{text:r,className:"aw-integration-example-code",allowRawHtml:!1})]})]})}function Oht(e,t,n){var i;return X$({appName:((i=e==null?void 0:e.appName)==null?void 0:i.trim())||t,name:e==null?void 0:e.name,description:e==null?void 0:e.description,type:e==null?void 0:e.type,model:e==null?void 0:e.model,tools:e==null?void 0:e.tools,skills:e==null?void 0:e.skills,graph:e==null?void 0:e.graph,draft:e==null?void 0:e.draft},n)}function age(e){return e?1+e.children.reduce((t,n)=>t+age(n),0):1}function oge(e){return 1+e.subAgents.reduce((t,n)=>t+oge(n),0)}function J5(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 yht(e){const t=J5(e);return t?new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"时间未知"}function xht(e){return typeof e.score!="number"||!Number.isFinite(e.score)?"—":`${Math.round(e.score*100)} 分`}function vht(e){return e==="high"?"高":e==="medium"?"中":"低"}const wht={agent_structure:"Agent 结构",prompt:"提示词",tool:"工具",knowledge:"知识库",memory:"记忆",workflow:"工作流",other:"其他"};function Sht(e){var t;return e.module==="other"?((t=e.customModule)==null?void 0:t.trim())||"其他":wht[e.module]}function Eht(e,t){return e.find(n=>n.kind===t)}function _Y(e){return e.items.map(t=>({...t,tag:t.kind==="good"?"Good case":"Bad case"})).sort((t,n)=>J5(n.createdAt)-J5(t.createdAt))}function kht(e){const t=n=>[n.name,n.description,n.agentType??"llm",n.modelName??"",n.tools??[],n.builtinTools??[],(n.customTools??[]).map(i=>i.name),(n.mcpTools??[]).map(i=>i.name),n.skills??[],(n.selectedSkills??[]).map(i=>i.name),(n.subAgents??[]).map(t)];return JSON.stringify(t(e))}const Qy=[{phase:"prepare",label:"准备部署",description:"校验配置并创建部署任务"},{phase:"build",label:"构建镜像",description:"生成运行环境与智能体代码"},{phase:"deploy",label:"部署服务",description:"创建并启动 AgentKit Runtime"},{phase:"publish",label:"发布服务",description:"等待服务就绪并生成访问地址"},{phase:"complete",label:"部署完成",description:"智能体已可以正常使用"}],Tht={phase:"evaluation",label:"创建评测集",description:"自动创建 Good Case 和 Bad Case 评测集"};function _ht(e){return{phase:"update",label:"更新实例配置",description:`将 Runtime 实例数调整为 ${e.min}~${e.max}`}}const Aht=Qy.findIndex(e=>e.phase==="build");function lge(e){const t=e.instanceRange?[...Qy.slice(0,-1),_ht(e.instanceRange),Qy[Qy.length-1]]:Qy;return e.createEvaluationSets?[...t.slice(0,-1),Tht,t[t.length-1]]:t}function cge(e){const t=lge(e);if(e.status==="success")return t.length-1;const n=e.phase??{准备部署:"prepare",构建镜像:"build",部署:"deploy",发布:"publish",创建评测集:"evaluation",部署完成:"complete"}[e.label],i=t.findIndex(r=>r.phase===n);return i<0?0:i}function Cht(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 Nht({task:e}){const t=e.buildLog,n=m.useRef(null),i=(t==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&cge(e)===Aht,[r,s]=m.useState(i),[a,o]=m.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=r?u:d.slice(-36).join(` -`),h=(t==null?void 0:t.pendingMessage)||"正在等待构建日志…";if(m.useEffect(()=>{t&&s(i)},[e.id,t==null?void 0:t.status,i]),m.useEffect(()=>{if(!r||!c)return;const v=n.current;v&&(v.scrollTop=v.scrollHeight)},[r,c,f]),!t||!t.text&&t.status!=="error"&&!t.pendingMessage)return null;const p=Cht(t.updatedAt),b=t.status==="complete"?"已同步":t.status==="error"?"读取失败":"同步中",g=t.omittedEarly?"已省略早期日志":t.snapshotTruncated?"仅显示最近的构建日志":t.truncated?"已省略部分日志":"",O=[b,t.lineCount?`${t.lineCount} 行`:"",g,p].filter(Boolean).join(" · ");async function y(){try{await navigator.clipboard.writeText(u),o(!0),window.setTimeout(()=>o(!1),1500)}catch{o(!1)}}return l.jsxs("section",{className:`aw-deploy-log is-${t.status}${r?"":" is-collapsed"}`,"aria-label":"构建日志",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("strong",{children:"构建日志"}),l.jsx("span",{children:O})]}),l.jsxs("div",{className:"aw-deploy-log-actions",children:[c&&l.jsx("button",{type:"button",onClick:()=>s(v=>!v),children:r?"收起":"展开"}),c&&l.jsxs("button",{type:"button",onClick:()=>void y(),"aria-label":a?"已复制构建日志":"复制构建日志",title:a?"已复制":"复制构建日志",children:[a?l.jsx(yu,{"aria-hidden":!0}):l.jsx(OA,{"aria-hidden":!0}),l.jsx("span",{children:a?"已复制":"复制"})]})]})]}),r&&(c?l.jsx("pre",{ref:n,children:f}):l.jsx("div",{className:"aw-deploy-log-empty",children:h}))]})}function jht({task:e,onReturnToEdit:t}){const n=lge(e),i=cge(e),r=e.status==="success"?100:Math.max(6,Math.min(100,e.pct??6)),s=e.status==="running"?"正在部署":e.status==="success"?"部署完成":e.status==="error"?"部署失败":"部署已取消";return l.jsxs("section",{className:`aw-deploy-progress-card is-${e.status}`,"aria-live":"polite",children:[l.jsxs("div",{className:"aw-deploy-progress-head",children:[l.jsxs("div",{children:[l.jsx("span",{className:"aw-deploy-progress-icon","aria-hidden":!0,children:e.status==="running"?l.jsx(qn,{className:"spin"}):e.status==="success"?l.jsx(Lke,{}):e.status==="error"?l.jsx(pte,{}):l.jsx(Q7,{})}),l.jsxs("div",{children:[l.jsx("h3",{children:s}),l.jsx("p",{children:e.runtimeName})]})]}),l.jsx("strong",{children:e.status==="running"?`${Math.round(r)}%`:e.label})]}),l.jsx("div",{className:"aw-deploy-progress-track",role:"progressbar","aria-label":"部署进度","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(r),children:l.jsx("span",{style:{width:`${r}%`}})}),l.jsx("ol",{className:"aw-deploy-steps",children:n.map((a,o)=>{const c=e.status==="success"||onew Set),[ti,Pt]=m.useState(()=>new Set),[wt,Ae]=m.useState(!1),[it,Nt]=m.useState(""),[Yt,Jt]=m.useState(null),[Sn,Ie]=m.useState([]),[ft,kt]=m.useState([]),[Xt,fn]=m.useState(!1),[Cn,mi]=m.useState(""),[gi,xi]=m.useState(""),[ae,Be]=m.useState(0),[lt,Tt]=m.useState([]),[ln,Zn]=m.useState(!1),[Nn,bi]=m.useState(""),[$n,ri]=m.useState(0),[Li,Vi]=m.useState(null),[qi,hn]=m.useState(1),[Oi,vi]=m.useState(!1),[ci,yi]=m.useState(""),[ds,Bs]=m.useState(0),[si,ws]=m.useState(!1),[Fs,Kr]=m.useState(()=>new Set),[ni,Us]=m.useState(!1),[el,Cr]=m.useState(""),[Ss,xa]=m.useState(""),[Ml,Qa]=m.useState(()=>new Set),_c=m.useRef(!1),ai=m.useRef(""),Jr=m.useRef(null),Ba=m.useRef(0),Xi=m.useRef(0),Br=m.useRef(0),[Es,yr]=m.useState(uht),[xr,cr]=m.useState("");m.useEffect(()=>{e.length!==0&&yr(Y=>Y.map((ge,Ne)=>Ne===0&&ge.agentIds.length===0?{...ge,agentIds:e.slice(0,2).map(Ve=>Ve.id)}:ge))},[e]);const ks=m.useMemo(()=>{const Y=new Map;for(const ge of e)ge.runtimeId&&Y.set(ge.runtimeId,ge);return Y},[e]),vr=m.useMemo(()=>{var ge;const Y=new Map;for(const Ne of t){const Ve=(ge=Ne.deploymentTarget)==null?void 0:ge.runtimeId;if(!Ve||!ks.has(Ve))continue;const St=Y.get(Ve);(!St||Ne.updatedAt>St.updatedAt)&&Y.set(Ve,Ne)}return Y},[ks,t]),Hn=m.useMemo(()=>{const Y=new Map;for(const ge of f){if(!ge.runtimeId)continue;const Ne=Y.get(ge.runtimeId);(!Ne||ge.startedAt>Ne.startedAt)&&Y.set(ge.runtimeId,ge)}return Y},[f]),Oo=m.useMemo(()=>{const Y=He.trim().toLowerCase();return Y?e.filter(ge=>{const Ne=ge.runtimeId?vr.get(ge.runtimeId):void 0,Ve=ge.runtimeId?Hn.get(ge.runtimeId):void 0;return[ge.label,ge.app,ge.host??"",(Ne==null?void 0:Ne.draft.name)??"",(Ne==null?void 0:Ne.draft.description)??"",(Ve==null?void 0:Ve.runtimeName)??""].join(" ").toLowerCase().includes(Y)}):e},[e,Hn,He,vr]),va=m.useMemo(()=>{const Y=He.trim().toLowerCase();return t.filter(ge=>{var Ve;const Ne=(Ve=ge.deploymentTarget)==null?void 0:Ve.runtimeId;return Ne&&ks.has(Ne)?!1:Y?`${ge.draft.name} ${ge.draft.description}`.toLowerCase().includes(Y):!0})},[ks,t,He]),yo=m.useMemo(()=>t.filter(Y=>{var Ne;const ge=(Ne=Y.deploymentTarget)==null?void 0:Ne.runtimeId;return!ge||!ks.has(ge)}).length,[ks,t]),Ts=m.useMemo(()=>{const Y=He.trim().toLowerCase();return Y?Es.filter(ge=>ge.name.toLowerCase().includes(Y)):Es},[Es,He]),le=e.find(Y=>Y.id===F),nn=t.find(Y=>Y.id===M),yn=h?f.find(Y=>Y.id===h):void 0,Fa=le!=null&&le.runtimeId?vr.get(le.runtimeId):void 0,xn=y?ue:F&&r===F?i:null,Qn=(xn==null?void 0:xn.appName)||(le==null?void 0:le.runtimeApp)||(le==null?void 0:le.app)||"",zs=c&&(le!=null&&le.runtimeId)?SY:SY.filter(Y=>Y.id!=="usage"),Ll=JSON.stringify([(le==null?void 0:le.runtimeId)??"",(le==null?void 0:le.region)??"cn-beijing",Qn,qi]),Hi=(Li==null?void 0:Li.requestKey)===Ll?Li.value:null,Ua=`${(le==null?void 0:le.region)??"cn-beijing"}:${(le==null?void 0:le.runtimeId)??""}`,tl=(Pe==null?void 0:Pe.requestKey)===Ua?Pe.value:"",er=(q==null?void 0:q.requestKey)===Ua?q:null,za=!!((nf=er==null?void 0:er.apiApps)!=null&&nf.length),wa=!!(er!=null&&er.a2a),Au=((pw=er==null?void 0:er.apiApps)==null?void 0:pw[0])??Qn,sa=(H==null?void 0:H.endpoint)??"",fs=pht(((wn=er==null?void 0:er.a2a)==null?void 0:wn.endpoint)??"",sa),hs=JSON.stringify([(le==null?void 0:le.runtimeId)??"",(le==null?void 0:le.region)??"",Qn]),ur=(Ye==null?void 0:Ye.requestKey)===hs?Ye.value:null;m.useEffect(()=>{const Y=Ba.current+1;Ba.current=Y,dt(null),ne("");const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"";if(!o||!ge||!Ne){Ge(!1);return}const Ve=new AbortController;return Ge(!0),gne({runtimeId:ge,region:Ne,appName:Qn,signal:Ve.signal}).then(St=>{var zt,tr;if(Y===Ba.current){if(St.runtime.runtimeId!==ge||St.runtime.region!==Ne||Qn&&((zt=St.agent)==null?void 0:zt.appName)!==Qn||St.canUpdate&&!((tr=St.agent)!=null&&tr.appName)){ne("Runtime 更新能力响应与当前选择不匹配。");return}dt({requestKey:hs,value:St})}}).catch(St=>{Y!==Ba.current||Ve.signal.aborted||ne(St instanceof Error?St.message:"检查 Runtime 更新能力失败。")}).finally(()=>{Y===Ba.current&&!Ve.signal.aborted&&Ge(!1)}),()=>Ve.abort()},[o,le==null?void 0:le.region,le==null?void 0:le.runtimeId,Qn,hs]);const wr=m.useMemo(()=>{const Y=new Map(e.map((Ne,Ve)=>[Ne.id,Ve])),ge=new Map(n.map((Ne,Ve)=>[Ne,Ve]));return[...Oo].sort((Ne,Ve)=>{const St=Ne.runtimeId?Hn.get(Ne.runtimeId):void 0,zt=Ve.runtimeId?Hn.get(Ve.runtimeId):void 0,tr=(St==null?void 0:St.status)==="running"?St.startedAt:0,Du=(zt==null?void 0:zt.status)==="running"?zt.startedAt:0;if(tr!==Du)return Du-tr;const wi=ge.get(Ne.id),Ql=ge.get(Ve.id);return wi!=null&&Ql!=null?wi-Ql:wi!=null?-1:Ql!=null?1:(Y.get(Ne.id)??0)-(Y.get(Ve.id)??0)})},[n,e,Oo,Hn]),xo=(le==null?void 0:le.label)||(xn==null?void 0:xn.name)||(nn==null?void 0:nn.draft.name)||(yn==null?void 0:yn.agentName)||((mw=yn==null?void 0:yn.agentDraft)==null?void 0:mw.name)||"未选择智能体",z=Es.find(Y=>Y.id===xr),se=wr.filter(Y=>Y.canDelete===!0),Te=wr.filter(Y=>st.has(Y.id)&&Y.canDelete===!0),Ze=va.filter(Y=>ti.has(Y.id)),Je=se.length+va.length,bt=Te.length+Ze.length,we=m.useMemo(()=>{var ge;if(yn!=null&&yn.agentDraft)return yn.agentDraft;if(nn!=null&&nn.draft)return nn.draft;const Y=(ge=le==null?void 0:le.region)!=null&&ge.startsWith("ap-")?"byteplus":"volcengine";return ur!=null&&ur.agent?X$(ur.agent,Y):Oht(xn,Qn||(le==null?void 0:le.label)||"agent",Y)},[xn,Qn,le==null?void 0:le.label,le==null?void 0:le.region,nn==null?void 0:nn.draft,yn==null?void 0:yn.agentDraft,ur==null?void 0:ur.agent]),tt=((gw=xn==null?void 0:xn.draft)==null?void 0:gw.harnessSidecar)??sht(H==null?void 0:H.envs),$t=tt?eC.filter(Y=>tt.componentOverrides[Y]):[],Vt=nn?a?"":"当前账号没有新建 Agent 的权限。":o?le!=null&&le.runtimeId?le.region?It?"正在检查 Runtime 更新能力…":Z||(ur?ur.canUpdate?(bw=ur.agent)!=null&&bw.appName?"":"Runtime 更新能力响应缺少智能体信息。":ur.reason||"当前 Runtime 不支持原地更新。":"尚未完成 Runtime 更新能力检查。"):"Runtime 缺少地域信息,无法更新。":"仅支持更新已部署的云端智能体。":"当前账号没有管理 Agent 的权限。",Ai="aw-update-disabled-reason",Sr=m.useMemo(()=>{if(xn)return xn.tools;const Y=(we.builtinTools??[]).map(ge=>{var Ne;return((Ne=_m.find(Ve=>Ve.id===ge))==null?void 0:Ne.label)??ge});return Array.from(new Set([...we.tools,...Y,...(we.customTools??[]).map(ge=>ge.name),...(we.mcpTools??[]).map(ge=>ge.name)].filter(Boolean)))},[we,xn]),Sa=m.useMemo(()=>xn?xn.skillsPreviewSupported?xn.skills.map(Y=>Y.name):null:Array.from(new Set([...(we.selectedSkills??[]).map(Y=>Y.name),...we.skills].filter(Boolean))),[we,xn]),Gt=m.useMemo(()=>{if(yn)return yn;if(nn)return f.filter(Y=>{var ge,Ne;return((ge=Y.agentDraft)==null?void 0:ge.name)===nn.draft.name||Y.agentName===nn.draft.name||!!((Ne=nn.deploymentTarget)!=null&&Ne.runtimeId)&&Y.runtimeId===nn.deploymentTarget.runtimeId}).sort((Y,ge)=>ge.startedAt-Y.startedAt)[0];if(le)return f.filter(Y=>!!le.runtimeId&&Y.runtimeId===le.runtimeId||Y.agentName===le.label).sort((Y,ge)=>ge.startedAt-Y.startedAt)[0]},[f,le,nn,yn]),aa=!!(h&&Gt&&Gt.id===h),En=!!(Gt&&(Gt.status!=="success"||aa)),kn=(Gt==null?void 0:Gt.status)==="running",$l=Gt!=null&&Gt.draftId?t.find(Y=>Y.id===Gt.draftId)??(Gt.agentDraft?{id:Gt.draftId,draft:Gt.agentDraft,updatedAt:Gt.startedAt}:void 0):void 0,Cu=m.useMemo(()=>kht(we),[we]),Kd=(le==null?void 0:le.currentVersion)??(H==null?void 0:H.currentVersion)??null,Jd=Kd??(yn==null?void 0:yn.startedAt)??"unknown",OO=xn?`runtime:${(le==null?void 0:le.runtimeId)??xn.name}:v${Jd}:${Cu}`:`draft:${(yn==null?void 0:yn.id)??(nn==null?void 0:nn.id)??(le==null?void 0:le.id)??xo}:${Cu}`;m.useEffect(()=>{j==="usage"&&!c&&D("basic")},[c,j]),m.useEffect(()=>{if(!h)return;const Y=f.find(Ne=>Ne.id===h),ge=Y!=null&&Y.runtimeId?ks.get(Y.runtimeId):void 0;if(ge){G(""),Q(ge.id),D("basic");return}Q(""),G(""),D("basic")},[ks,f,h]),m.useEffect(()=>{if(!p){ai.current="";return}const Y=`${p}:${b}:${g}:${c}`;ai.current!==Y&&e.some(ge=>ge.id===p)&&(ai.current=Y,G(""),Q(p),D(b==="usage"&&!c?"basic":b),b==="evaluations"&&(Ft(g),xt("")))},[e,c,p,b,g]),m.useEffect(()=>{for(const Y of wr.slice(0,8)){if(!Y.runtimeId)continue;const ge=Y.region??"cn-beijing";One(Y.runtimeId,ge),ene(Y.runtimeId,ge,Y.runtimeApp??"")}},[wr]),m.useEffect(()=>{let Y=!1;const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"cn-beijing",Ve=(le==null?void 0:le.runtimeApp)??"",St=ge?Jte(ge,Ne,Ve):null;if(be(St),je(!!St||!y||!ge),!(!y||!ge))return p$(ge,Ne,Ve,{force:!0}).then(zt=>{Y||be(zt)}).catch(()=>{!Y&&!St&&be(null)}).finally(()=>{Y||je(!0)}),()=>{Y=!0}},[y,le==null?void 0:le.currentVersion,le==null?void 0:le.region,le==null?void 0:le.runtimeApp,le==null?void 0:le.runtimeId]),m.useEffect(()=>{let Y=!1;const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"cn-beijing";if(Tt([]),bi(""),j!=="optimizations"||!ge){Zn(!1);return}if(y&&!Qn){Zn(!V);return}return Zn(!0),Fte({runtimeId:ge,region:Ne,appName:Qn}).then(Ve=>{Y||Tt(Ve.groups)}).catch(Ve=>{Y||bi(Ve instanceof Error?Ve.message:String(Ve))}).finally(()=>{Y||Zn(!1)}),()=>{Y=!0}},[V,y,$n,j,Qn,le==null?void 0:le.region,le==null?void 0:le.runtimeId]),m.useEffect(()=>{hn(1)},[le==null?void 0:le.runtimeId,Qn]),m.useEffect(()=>{const Y=Br.current+1;Br.current=Y;const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"cn-beijing",Ve=Qn;if(yi(""),j!=="usage"||!ge){vi(!1);return}if(!Ve){vi(y&&!V);return}const St=new AbortController;return vi(!0),fne({runtimeId:ge,region:Ne,appName:Ve,page:qi,pageSize:dht,signal:St.signal}).then(zt=>{if(Y===Br.current){if(zt.runtimeId!==ge||zt.appName!==Ve||zt.page!==qi){yi("用量响应与当前 Agent 不匹配,请重试。");return}Vi({requestKey:Ll,value:zt})}}).catch(zt=>{Y!==Br.current||St.signal.aborted||yi(zt instanceof Error?zt.message:"加载 Agent 用量失败。")}).finally(()=>{Y===Br.current&&vi(!1)}),()=>{St.abort()}},[qi,ds,Ll,V,y,j,Qn,le==null?void 0:le.region,le==null?void 0:le.runtimeId]),m.useEffect(()=>{Xi.current+=1,De(null),Ee(!1),Le(!1),_e(""),Re("api-server")},[Ua,j]);function Ac(){Xi.current+=1,De(null),Ee(!1),Le(!1),_e("")}function Nu(Y){Y!==ve&&(Ac(),Re(Y))}async function ow(){if(he){Ac();return}const Y=(le==null?void 0:le.runtimeId)??"",ge=(le==null?void 0:le.region)??"cn-beijing";if(!Y)return;const Ne=Xi.current+1;Xi.current=Ne,Le(!0),_e("");try{const Ve=await pne(Y,ge);if(Ne!==Xi.current)return;De({requestKey:Ua,value:Ve}),Ee(!0)}catch(Ve){if(Ne!==Xi.current)return;De(null),Ee(!1),_e(Ve instanceof Error?Ve.message:"读取 Runtime API Key 失败。")}finally{Ne===Xi.current&&Le(!1)}}m.useEffect(()=>{let Y=!1;const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"cn-beijing",Ve=ge?bne(ge,Ne):null;if(U(Ve),!!ge)return O$(ge,Ne,{force:!0}).then(St=>{Y||U(St)}).catch(()=>{!Y&&!Ve&&U(null)}),()=>{Y=!0}},[le==null?void 0:le.currentVersion,le==null?void 0:le.region,le==null?void 0:le.runtimeId]),m.useEffect(()=>{let Y=!1;const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"cn-beijing",Ve=`${Ne}:${ge}`;if(K(""),j!=="integrations"||!ge){me(!1),ge||ie(null);return}me(!0);const St=b$(ge,Ne,{retryProbe:!0}).catch(zt=>{if(zt instanceof Ra&&zt.unsupported)return null;throw zt});return Promise.all([St,hne(ge,Ne,{retryProbe:!0})]).then(([zt,tr])=>{Y||ie({requestKey:Ve,apiApps:zt,a2a:tr})}).catch(zt=>{Y||(ie(null),K(zt instanceof Error?zt.message:"探测集成方式失败。"))}).finally(()=>{Y||me(!1)}),()=>{Y=!0}},[ee,j,le==null?void 0:le.currentVersion,le==null?void 0:le.region,le==null?void 0:le.runtimeId]),m.useEffect(()=>{let Y=!1;const ge=(le==null?void 0:le.runtimeId)??"",Ne=(le==null?void 0:le.region)??"cn-beijing",Ve=ge&&Qn?Ute({runtimeId:ge,region:Ne,appName:Qn,pageSize:100}):null;if(Ie(Ve?_Y(Ve):[]),kt((Ve==null?void 0:Ve.sets)??[]),mi(""),xi((Ve==null?void 0:Ve.unsupportedMessage)??""),j!=="evaluations"||!ge){fn(!1);return}if(y&&!Qn){fn(!V);return}return fn(!Ve),TA({runtimeId:ge,region:Ne,appName:Qn,pageSize:100},{force:!0}).then(St=>{Y||(kt(St.sets),Ie(_Y(St)),xi(St.unsupportedMessage??""))}).catch(St=>{Y||(mi(St instanceof Error?St.message:String(St)),xi(""))}).finally(()=>{Y||fn(!1)}),()=>{Y=!0}},[V,y,ae,j,Qn,xn==null?void 0:xn.appName,le==null?void 0:le.region,le==null?void 0:le.runtimeId]),m.useEffect(()=>{const Y=new Set(Sn.map(ge=>ge.id));Kr(ge=>{const Ne=new Set([...ge].filter(Ve=>Y.has(Ve)));return Ne.size===ge.size?ge:Ne}),Qa(ge=>{const Ne=new Set([...ge].filter(Ve=>Y.has(Ve)));return Ne.size===ge.size?ge:Ne}),Ss&&!Y.has(Ss)&&xa("")},[Sn,Ss]),m.useEffect(()=>{ws(!1),Kr(new Set),Qa(new Set),Cr(""),xa("")},[le==null?void 0:le.runtimeId]),m.useEffect(()=>{const Y=new Set(wr.filter(ge=>ge.canDelete===!0).map(ge=>ge.id));gn(ge=>{const Ne=new Set([...ge].filter(Ve=>Y.has(Ve)));return Ne.size===ge.size?ge:Ne})},[wr]),m.useEffect(()=>{const Y=new Set(va.map(ge=>ge.id));Pt(ge=>{const Ne=new Set([...ge].filter(Ve=>Y.has(Ve)));return Ne.size===ge.size?ge:Ne})},[va]);const ju=m.useMemo(()=>!O||!(le!=null&&le.runtimeId)||O.runtimeId!==le.runtimeId||Qn&&O.agentName&&O.agentName!==Qn?null:{...O,tag:O.kind==="good"?"Good case":"Bad case"},[O,le==null?void 0:le.runtimeId,Qn]),$m=m.useMemo(()=>le!=null&&le.runtimeId?ju?[ju,...Sn.filter(Y=>Y.id!==ju.id&&(!Y.messageId||Y.messageId!==ju.messageId))]:Sn:cht,[Sn,ju,le==null?void 0:le.runtimeId]),ef=$m.filter(Y=>{if(Y.kind!==qt||(Y.source==="auto"?"auto":"user")!==xe)return!1;const Ne=At.trim().toLowerCase();return Ne?[Y.input,Y.output,Y.referenceOutput,Y.comment,Y.tag??"",Y.sessionId,Y.messageId,Y.userId,Y.evaluationSetName].join(" ").toLowerCase().includes(Ne):!0}),yO=ef.filter(Y=>Fs.has(Y.id)),lw=!!(le!=null&&le.runtimeId),Er=Y=>{Ft(Y),xt(""),Cr("");const ge=$m.find(Ne=>Ne.kind===Y);xa((ge==null?void 0:ge.id)??""),window.setTimeout(()=>{var Ne;(Ne=Jr.current)==null||Ne.scrollIntoView({behavior:"smooth",block:"start"})},0)},Qm=Y=>{Cr(""),Kr(ge=>{const Ne=new Set(ge);return Ne.has(Y.id)?Ne.delete(Y.id):Ne.add(Y.id),Ne})},gC=()=>{Cr(""),Kr(new Set(ef.map(Y=>Y.id)))},cw=()=>{Cr(""),Kr(new Set),ws(!1)},bC=Y=>{Qa(ge=>{const Ne=new Set(ge);return Ne.has(Y)?Ne.delete(Y):Ne.add(Y),Ne})},uw=Y=>{xa(Y.id),Cr(""),!(!Y.sessionId||!Y.messageId)&&(C==null||C(Y))},dw=async Y=>{if(!(le!=null&&le.runtimeId)||!Qn||ni||Y.length===0)return;const ge=Y.length===1?"确定删除这条反馈案例?原始聊天记录不会被删除。":`确定删除选中的 ${Y.length} 条反馈案例?原始聊天记录不会被删除。`;if(!window.confirm(ge))return;const Ne=Y.map(St=>St.id),Ve=new Set(Ne);Us(!0),Cr("");try{await qte({runtimeId:le.runtimeId,region:le.region??"cn-beijing",appName:Qn,itemIds:Ne});const St=new Map;for(const zt of Y)St.set(zt.kind,(St.get(zt.kind)??0)+1);Ie(zt=>zt.filter(tr=>!Ve.has(tr.id))),kt(zt=>zt.map(tr=>({...tr,itemCount:Math.max(0,tr.itemCount-(St.get(tr.kind)??0))}))),Kr(zt=>new Set([...zt].filter(tr=>!Ve.has(tr)))),Qa(zt=>new Set([...zt].filter(tr=>!Ve.has(tr)))),Ss&&Ve.has(Ss)&&xa(""),Y.length>1&&ws(!1),A==null||A(Y)}catch(St){Cr(St instanceof Error?St.message:String(St))}finally{Us(!1)}},Fh=Y=>{yr(ge=>ge.map(Ne=>Ne.id===Y.id?Y:Ne))},Uh=()=>{const Y=new Set(e.map(Ve=>Ve.id)),ge=n.filter(Ve=>Y.has(Ve)),Ne=new Set(ge);return[...ge,...e.filter(Ve=>!Ne.has(Ve.id)).map(Ve=>Ve.id)]},fw=(Y,ge,Ne)=>{if(!w||Y===ge)return;const Ve=Uh().filter(tr=>tr!==Y),St=Ve.indexOf(ge),zt=St<0?Ve.length:Ne==="after"?St+1:St;Ve.splice(zt,0,Y),w(Ve)},xO=(Y,ge)=>{if(!Qe||Qe===ge)return;const Ne=Y.currentTarget.getBoundingClientRect();Rt(ge),We(Y.clientY>Ne.top+Ne.height/2?"after":"before")},ct=(Y,ge)=>{if(!w)return;const Ne=Uh(),Ve=Ne.indexOf(Y),St=Math.max(0,Math.min(Ne.length-1,Ve+ge));Ve<0||Ve===St||(Ne.splice(Ve,1),Ne.splice(St,0,Y),w(Ne))},Bm=Y=>{Y.canDelete===!0&&(Nt(""),gn(ge=>{const Ne=new Set(ge);return Ne.has(Y.id)?Ne.delete(Y.id):Ne.add(Y.id),Ne}))},vO=Y=>{Nt(""),Pt(ge=>{const Ne=new Set(ge);return Ne.has(Y.id)?Ne.delete(Y.id):Ne.add(Y.id),Ne})},Fm=()=>{Nt(""),gn(new Set(se.map(Y=>Y.id))),Pt(new Set(va.map(Y=>Y.id)))},$i=()=>{Nt(""),gn(new Set),Pt(new Set),tn(!1)},tf=()=>{if(bt===0||wt)return;const Y=Te.length,ge=Ze.length;Nt(""),Jt({kind:"selection",title:Y===1&&ge===0?"删除 Agent?":Y===0&&ge===1?"删除草稿?":"删除所选项目?",description:Y===1&&ge===0?`"${Te[0].label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`:Y===0&&ge===1?`"${Ze[0].draft.name||"未命名 Agent"}" 将从本地草稿中删除。`:`将删除选中的 ${bt} 个项目。${Y>0?`${Y} 个云端 Runtime 将被永久删除,此操作不可撤销。`:"草稿删除后无法恢复。"}`,confirmLabel:Y===0&&ge===1?"删除草稿":"删除所选",agents:Te,drafts:Ze})},hw=async()=>{if(!(!Yt||wt)){Ae(!0),Nt("");try{if(Yt.kind==="selection"){const{agents:Y,drafts:ge}=Yt;if(Y.length>0){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E(Y)}ge.length>0&&(S==null||S(ge)),gn(new Set),Pt(new Set),tn(!1),Y.some(Ne=>Ne.id===F)&&Q(""),ge.some(Ne=>Ne.id===M)&&G("")}else if(Yt.kind==="agent"){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E([Yt.agent]),F===Yt.agent.id&&Q("")}else{if(!S)throw new Error("当前页面不支持删除草稿。");S([Yt.draft]),M===Yt.draft.id&&G("")}Jt(null)}catch(Y){Nt(Y instanceof Error?Y.message:String(Y))}finally{Ae(!1)}}},wO=Y=>{!E||Y.canDelete!==!0||wt||(Nt(""),Jt({kind:"agent",title:"删除 Agent?",description:`"${Y.label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`,confirmLabel:"删除 Agent",agent:Y}))},OC=Y=>{if(!S||wt)return;const ge=Y.draft.name||"未命名 Agent";Nt(""),Jt({kind:"draft",title:"删除草稿?",description:`"${ge}" 将从本地草稿中删除。`,confirmLabel:"删除草稿",draft:Y})},Ru=()=>{const Y=`eval-${Date.now()}`,ge={id:Y,name:`新评测组 ${Es.length+1}`,agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量"],concurrency:"4",history:[]};yr(Ne=>[ge,...Ne]),cr(Y)},yC=Y=>{Fh({...Y,history:[{id:`run-${Date.now()}`,createdAt:"刚刚",score:86+Y.history.length%7,status:"completed"},...Y.history]})};return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:`aw-root${y?" is-detail-only":""}`,children:[l.jsxs("nav",{className:"aw-view-tabs","aria-label":"智能体工作台",children:[l.jsx("button",{type:"button",className:I==="library"?"is-active":"","aria-pressed":I==="library",onClick:()=>{$("library"),et("")},children:"智能体库"}),l.jsx("button",{type:"button",className:I==="evaluation"?"is-active":"","aria-pressed":I==="evaluation",onClick:()=>{$("evaluation"),et("")},children:"评测"})]}),l.jsxs("div",{className:"aw-workspace-frame",children:[l.jsxs("div",{className:"aw-workspace","aria-hidden":I==="evaluation"||void 0,ref:Y=>{Y==null||Y.toggleAttribute("inert",I==="evaluation")},children:[l.jsxs("aside",{className:"aw-sidebar","aria-label":I==="library"?"智能体列表":"评测组列表",children:[l.jsxs("label",{className:"aw-search",children:[l.jsx(pT,{"aria-hidden":!0}),l.jsx("input",{value:He,onChange:Y=>et(Y.currentTarget.value),placeholder:I==="library"?"搜索智能体":"搜索评测组","aria-label":I==="library"?"搜索智能体":"搜索评测组"})]}),l.jsxs("button",{type:"button",className:"aw-create-card",onClick:I==="library"?R:Ru,disabled:I==="library"&&!a,children:[l.jsx(ea,{"aria-hidden":!0}),l.jsx("span",{children:I==="library"?"新建 Agent":"新建评测组"})]}),I==="library"&&(E||S)&&l.jsx("div",{className:`aw-selection-toolbar${mt?" is-active":""}`,children:mt?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"aw-selection-count",children:["已选 ",bt," 个"]}),l.jsx("button",{type:"button",onClick:Fm,disabled:Je===0||wt,children:"全选"}),l.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void tf(),disabled:bt===0||wt,children:wt?"删除中…":"删除所选"}),l.jsx("button",{type:"button",onClick:$i,disabled:wt,children:"取消"})]}):l.jsx("button",{type:"button",onClick:()=>{Nt(""),tn(!0)},disabled:Je===0,children:"选择"})}),I==="library"&&it&&l.jsx("div",{className:"aw-delete-error",role:"alert",children:it}),l.jsx("div",{className:"aw-agent-list",children:I==="evaluation"?Ts.length===0?l.jsx("div",{className:"aw-list-empty",children:"没有匹配的评测组"}):Ts.map(Y=>l.jsxs("button",{type:"button",className:`aw-agent-item${Y.id===xr?" is-active":""}`,onClick:()=>cr(Y.id),children:[l.jsxs("span",{className:"aw-agent-copy aw-eval-group-copy",children:[l.jsx("strong",{children:Y.name}),l.jsxs("small",{children:[Y.agentIds.length," 个智能体 · ",Y.history.length," 次运行"]})]}),l.jsx(sx,{"aria-hidden":!0})]},Y.id)):u&&wr.length===0&&va.length===0?l.jsx("div",{className:"aw-list-empty",children:"正在读取云端智能体…"}):d&&wr.length===0&&va.length===0?l.jsxs("div",{className:"aw-list-empty aw-list-error",children:[l.jsx("span",{children:d}),x&&l.jsx("button",{type:"button",onClick:x,children:"重试"})]}):wr.length===0&&va.length===0?l.jsx("div",{className:"aw-list-empty",children:"没有匹配的智能体"}):l.jsxs(l.Fragment,{children:[va.map(Y=>{const ge=f.filter(Ve=>{var St,zt;return((St=Ve.agentDraft)==null?void 0:St.name)===Y.draft.name||Ve.agentName===Y.draft.name||!!((zt=Y.deploymentTarget)!=null&&zt.runtimeId)&&Ve.runtimeId===Y.deploymentTarget.runtimeId}).sort((Ve,St)=>St.startedAt-Ve.startedAt)[0],Ne=ti.has(Y.id);return l.jsxs("button",{type:"button",className:["aw-agent-item",mt?"is-selecting":"",Ne?"is-selected-for-delete":"",Y.id===M?"is-active":""].filter(Boolean).join(" "),"aria-pressed":mt?Ne:void 0,onClick:()=>{if(mt){vO(Y);return}Q(""),G(Y.id),D("basic")},children:[mt&&l.jsx("span",{className:`aw-select-marker${Ne?" is-checked":""}`,"aria-hidden":"true"}),l.jsxs("span",{className:"aw-agent-copy",children:[l.jsxs("span",{className:"aw-agent-name-row",children:[l.jsx("strong",{children:Y.draft.name||"未命名 Agent"}),l.jsx("span",{className:`aw-draft-badge${(ge==null?void 0:ge.status)==="running"?" is-deploying":""}`,children:(ge==null?void 0:ge.status)==="running"?"部署中":"草稿"})]}),l.jsx("small",{children:Y.deploymentTarget?"待更新":"尚未发布"})]}),l.jsx(sx,{"aria-hidden":!0})]},Y.id)}),wr.map(Y=>{const ge=Y.runtimeId?Hn.get(Y.runtimeId):void 0,Ne=Y.runtimeId?vr.get(Y.runtimeId):void 0,Ve=st.has(Y.id),St=Y.canDelete===!0,zt=(ge==null?void 0:ge.status)==="running"?{label:"部署中",className:" is-deploying"}:(ge==null?void 0:ge.status)==="error"?{label:"失败",className:" is-error"}:(ge==null?void 0:ge.status)==="cancelled"?{label:"已取消",className:" is-muted"}:Ne?{label:"待更新",className:""}:null,tr=(ge==null?void 0:ge.status)==="running"?"正在更新部署":Ne?"待更新":Y.remote?Y.host||"远程智能体":"本地智能体",Du=["aw-agent-item","aw-agent-item--sortable",Y.id===F?"is-active":"",mt?"is-selecting":"",Ve?"is-selected-for-delete":"",mt&&!St?"is-selection-disabled":"",Y.id===Qe?"is-dragging":"",Y.id===Et&&Y.id!==Qe?`is-drop-target is-drop-${Ce}`:""].filter(Boolean).join(" ");return l.jsxs("button",{type:"button",draggable:!!w&&!mt,className:Du,"aria-pressed":mt?Ve:void 0,"aria-keyshortcuts":w?"Alt+ArrowUp Alt+ArrowDown":void 0,onDragStart:wi=>{w&&(_c.current=!0,Ot(Y.id),wi.dataTransfer.effectAllowed="move",wi.dataTransfer.setData("text/plain",Y.id))},onDragEnter:wi=>{xO(wi,Y.id)},onDragOver:wi=>{!Qe||Qe===Y.id||(wi.preventDefault(),wi.dataTransfer.dropEffect="move",xO(wi,Y.id))},onDragLeave:wi=>{const Ql=wi.relatedTarget;Ql instanceof Node&&wi.currentTarget.contains(Ql)||Et===Y.id&&Rt("")},onDrop:wi=>{wi.preventDefault();const Ql=wi.dataTransfer.getData("text/plain")||Qe;fw(Ql,Y.id,Ce),Ot(""),Rt(""),We("before")},onDragEnd:()=>{Ot(""),Rt(""),We("before"),window.setTimeout(()=>{_c.current=!1},0)},onKeyDown:wi=>{wi.altKey&&(wi.key==="ArrowUp"?(wi.preventDefault(),ct(Y.id,-1)):wi.key==="ArrowDown"&&(wi.preventDefault(),ct(Y.id,1)))},onClick:wi=>{if(mt){wi.preventDefault(),Bm(Y);return}if(_c.current){wi.preventDefault(),_c.current=!1;return}G(""),Q(Y.id),D("basic"),k(Y.id)},children:[mt&&l.jsx("span",{className:`aw-select-marker${Ve?" is-checked":""}`,"aria-hidden":"true"}),l.jsxs("span",{className:"aw-agent-copy",children:[l.jsxs("span",{className:"aw-agent-name-row",children:[l.jsx("strong",{children:Y.label}),Y.currentVersion!=null&&l.jsxs("span",{className:"aw-version-badge",children:["v",Y.currentVersion]}),zt&&l.jsx("span",{className:`aw-draft-badge${zt.className}`,children:zt.label})]}),l.jsx("small",{children:tr})]}),l.jsx(sx,{"aria-hidden":!0})]},Y.id)})]})}),l.jsxs("div",{className:"aw-list-count",children:["共 ",I==="library"?e.length+yo:Es.length," 个"]})]}),I==="evaluation"&&z?l.jsx(Mht,{group:z,agents:e,cases:$m,onChange:Fh,onRun:yC}):I==="evaluation"?l.jsx("main",{className:"aw-main aw-empty-selection",children:l.jsx("p",{children:"未选择评测组"})}):!le&&!nn&&!yn?l.jsx("main",{className:"aw-main aw-empty-selection",children:l.jsx("p",{children:"未选择智能体"})}):l.jsxs("main",{className:`aw-main${kn?" is-deploying":""}`,children:[le&&!xn&&s&&l.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:l.jsxs("div",{className:"aw-detail-loading-card",children:[l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),l.jsxs("span",{children:[l.jsx("strong",{children:"正在加载智能体"}),l.jsx("small",{children:"正在读取配置与运行信息…"})]})]})}),j==="integrations"&&fe&&l.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:l.jsxs("div",{className:"aw-detail-loading-card",children:[l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),l.jsxs("span",{children:[l.jsx("strong",{children:"正在探测接入方式"}),l.jsx("small",{children:"正在确认 API Server 与 A2A…"})]})]})}),l.jsxs("div",{className:"aw-agent-head",children:[l.jsxs("div",{className:"aw-agent-heading",children:[y&&v?l.jsx(IQ,{label:"返回智能体列表",onClick:v}):null,l.jsxs("div",{className:"aw-agent-heading-copy",children:[l.jsxs("div",{className:"aw-agent-title-row",children:[l.jsx("h2",{children:xo}),Kd!=null&&l.jsxs("span",{children:["v",Kd]}),nn&&l.jsx("span",{children:"草稿"}),Fa&&l.jsx("span",{children:"待更新"}),!le&&!nn&&yn&&l.jsx("span",{children:yn.label})]}),l.jsx("p",{children:we.description||(s||y&&!V?"正在读取智能体信息…":"暂无描述")})]})]}),(nn||Fa||(le==null?void 0:le.canDelete))&&l.jsxs("div",{className:"aw-head-actions",children:[(nn||Fa)&&l.jsxs("button",{type:"button",className:"aw-head-delete aw-head-delete--draft",onClick:()=>{const Y=nn??Fa;Y&&OC(Y)},disabled:wt,"aria-label":"删除草稿",title:"删除草稿",children:[l.jsx(mh,{"aria-hidden":!0}),l.jsx("span",{children:"删除草稿"})]}),(le==null?void 0:le.canDelete)&&l.jsxs("button",{type:"button",className:"aw-head-delete",onClick:()=>void wO(le),disabled:wt,"aria-label":"删除 Agent",title:"删除 Agent",children:[l.jsx(mh,{"aria-hidden":!0}),l.jsx("span",{children:wt?"删除中…":"删除 Agent"})]})]})]}),Gt&&En&&l.jsx("div",{className:`aw-detail-deployment${kn?" is-running":""}`,children:l.jsx(jht,{task:Gt,onReturnToEdit:$l&&B?()=>B($l):void 0})}),l.jsx("nav",{className:"aw-agent-tabs","aria-label":"智能体详情",role:"tablist",children:zs.map(Y=>l.jsx("button",{type:"button",id:`agent-${Y.id}-tab`,className:j===Y.id?"is-active":"",role:"tab","aria-selected":j===Y.id,"aria-controls":`agent-${Y.id}-panel`,tabIndex:j===Y.id?0:-1,onClick:()=>D(Y.id),onKeyDown:ge=>{var zt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(ge.key))return;ge.preventDefault();const Ne=zs.findIndex(tr=>tr.id===Y.id),Ve=ge.key==="Home"?0:ge.key==="End"?zs.length-1:(Ne+(ge.key==="ArrowRight"?1:-1)+zs.length)%zs.length,St=zs[Ve];D(St.id),(zt=document.getElementById(`agent-${St.id}-tab`))==null||zt.focus()},children:Y.label},Y.id))}),l.jsxs("div",{className:"aw-content",id:`agent-${j}-panel`,role:"tabpanel","aria-labelledby":`agent-${j}-tab`,children:[j==="basic"&&l.jsxs("div",{className:"aw-basic-stack",children:[l.jsxs("section",{className:"aw-deployment-panel aw-settings-card",children:[l.jsx("div",{className:"aw-section-head",children:l.jsxs("div",{children:[l.jsx("h3",{children:"部署配置"}),l.jsx("p",{children:"配置目标环境与网络访问方式。"})]})}),l.jsxs("dl",{className:"aw-readonly-config",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"运行状态"}),l.jsxs("dd",{className:(H==null?void 0:H.status.toLowerCase())==="ready"?"is-ready":void 0,children:[(H==null?void 0:H.status.toLowerCase())==="ready"&&l.jsx("span",{className:"aw-status-dot"}),(H==null?void 0:H.status)||"读取中…"]})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"部署区域"}),l.jsx("dd",{children:(H==null?void 0:H.region)||(le==null?void 0:le.region)||(Gt==null?void 0:Gt.region)||"暂未提供"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"网络访问"}),l.jsx("dd",{children:H!=null&&H.networkTypes.length?H.networkTypes.join(" / "):"暂未提供"})]})]})]}),l.jsxs("section",{className:"aw-canvas-card",children:[l.jsx("div",{className:"aw-card-head",children:l.jsx("strong",{children:"执行流程"})}),l.jsx("div",{className:"aw-canvas",children:l.jsx(p1,{draft:we,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},OO)})]}),l.jsxs("section",{className:"aw-details-card",children:[l.jsx("div",{className:"aw-card-head",children:l.jsx("strong",{children:"详细信息"})}),l.jsxs("dl",{className:"aw-facts",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"模型"}),l.jsx("dd",{children:q$(xn==null?void 0:xn.model)||we.modelName||"暂未提供"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"智能体数量"}),l.jsx("dd",{children:xn!=null&&xn.graph?age(xn.graph):oge(we)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"工具"}),l.jsx("dd",{className:"aw-fact-badges",children:Sr.length?Sr.map(Y=>l.jsx("span",{children:Y},Y)):"暂无"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"技能"}),l.jsx("dd",{className:"aw-fact-badges",children:Sa===null?"暂不支持预览":Sa.length?Sa.map(Y=>l.jsx("span",{children:Y},Y)):"暂无"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"当前版本"}),l.jsx("dd",{children:Kd!=null?`v${Kd}`:"暂未提供"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"状态"}),l.jsx("dd",{children:nn?"草稿":(Gt==null?void 0:Gt.status)==="error"?"部署失败":(Gt==null?void 0:Gt.status)==="cancelled"?"已取消":Fa?"待更新":l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"aw-status-dot"}),"可用"]})})]})]})]}),l.jsxs("section",{className:"aw-sidecar-panel aw-settings-card","aria-label":"已选择的优化项",children:[l.jsx("div",{className:"aw-section-head",children:l.jsxs("div",{children:[l.jsx("h3",{children:"已选择的优化项"}),l.jsx("p",{children:"发布时选择的智能体优化项。"})]})}),l.jsxs("dl",{className:"aw-readonly-config",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"配置状态"}),l.jsx("dd",{className:tt!=null&&tt.enabled?"is-ready":void 0,children:tt?tt.enabled?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"aw-status-dot"}),"已启用"]}):"未启用":"未记录"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"优化场景"}),l.jsx("dd",{children:tt?ige(tt.profile):"旧版本未保存此配置"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"已选优化项"}),l.jsx("dd",{className:"aw-fact-badges",children:tt?$t.length?$t.map(Y=>l.jsx("span",{children:Rx(Y)},Y)):"未选择":"旧版本未保存此配置"})]})]})]})]}),j==="usage"&&(le==null?void 0:le.runtimeId)&&l.jsxs("section",{className:"aw-usage","aria-busy":Oi,children:[l.jsx("div",{className:"aw-usage-intro",children:l.jsx("h3",{children:"使用概览"})}),Oi&&!Hi&&l.jsx("div",{className:"aw-usage-state",role:"status","aria-live":"polite",children:l.jsx(Ln,{as:"span",children:"正在加载用量统计"})}),ci&&l.jsxs("div",{className:"aw-usage-state is-error",role:"alert",children:[l.jsx("span",{children:ci}),l.jsx("button",{type:"button",onClick:()=>Bs(Y=>Y+1),children:"重试"})]}),!Oi&&!ci&&!Hi&&!Qn&&l.jsx("div",{className:"aw-usage-state",children:"当前 Runtime 未返回可用的 Agent 应用名称,暂时无法读取用量。"}),Hi&&l.jsxs(l.Fragment,{children:[l.jsxs("dl",{className:"aw-usage-summary","aria-label":"Agent 用量摘要",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"总调用次数"}),l.jsx("dd",{children:Hi.totalInvocations.toLocaleString("zh-CN")})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"使用用户数"}),l.jsx("dd",{children:Hi.totalUsers.toLocaleString("zh-CN")})]})]}),l.jsxs("div",{className:"aw-usage-users-head",children:[l.jsx("h3",{children:"用户明细"}),Oi&&l.jsx(Ln,{as:"span",role:"status","aria-live":"polite",children:"正在刷新"})]}),Hi.users.length===0?l.jsx("div",{className:"aw-usage-state",children:"暂无使用记录。用户成功调用后将在这里显示。"}):l.jsx("div",{className:"aw-usage-table-wrap",children:l.jsxs("table",{className:"aw-usage-table",children:[l.jsx("caption",{children:"当前 Agent 的使用用户列表"}),l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"用户"}),l.jsx("th",{scope:"col",children:"调用次数"}),l.jsx("th",{scope:"col",children:"最近使用"})]})}),l.jsx("tbody",{children:Hi.users.map(Y=>l.jsxs("tr",{children:[l.jsxs("td",{children:[l.jsx("strong",{children:Y.displayName||Y.userId||"未知用户"}),Y.displayName&&Y.userId&&l.jsx("small",{title:Y.userId,children:Y.userId})]}),l.jsx("td",{children:Y.invocationCount.toLocaleString("zh-CN")}),l.jsx("td",{children:l.jsx("time",{dateTime:Y.lastUsedAt,children:hht(Y.lastUsedAt)})})]},Y.userId))})]})}),Hi.totalPages>1&&l.jsxs("nav",{className:"aw-usage-pagination","aria-label":"用量用户列表分页",children:[l.jsx("button",{type:"button",disabled:Oi||Hi.page<=1,onClick:()=>hn(Y=>Math.max(1,Y-1)),children:"上一页"}),l.jsxs("span",{"aria-live":"polite",children:["第 ",Hi.page," / ",Hi.totalPages," 页"]}),l.jsx("button",{type:"button",disabled:Oi||Hi.page>=Hi.totalPages,onClick:()=>hn(Y=>Y+1),children:"下一页"})]})]})]}),j==="integrations"&&l.jsxs("div",{className:"aw-integration-stack",children:[l.jsxs("div",{className:"aw-integration-intro",children:[l.jsx("h3",{children:"接入方式"}),l.jsx("p",{children:"仅展示当前 Runtime 可确认的公开协议与地址。"})]}),ce&&l.jsxs("div",{className:"aw-integration-error",role:"alert",children:[l.jsx("span",{children:ce}),l.jsx("button",{type:"button",onClick:()=>ye(Y=>Y+1),children:"重试"})]}),!ce&&l.jsxs("div",{className:"aw-integration-body",children:[l.jsxs("div",{className:`aw-integration-protocol-tabs${ve==="a2a"?" is-a2a":""}`,role:"tablist","aria-label":"接入协议",children:[l.jsx("span",{className:"aw-integration-protocol-slider","aria-hidden":"true"}),cy.map((Y,ge)=>l.jsx("button",{type:"button",id:`integration-${Y.id}-tab`,role:"tab","aria-selected":ve===Y.id,"aria-controls":`integration-${Y.id}-panel`,tabIndex:ve===Y.id?0:-1,onClick:()=>Nu(Y.id),onKeyDown:Ne=>{var zt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(Ne.key))return;Ne.preventDefault();const Ve=Ne.key==="Home"?0:Ne.key==="End"?cy.length-1:(ge+(Ne.key==="ArrowRight"?1:-1)+cy.length)%cy.length,St=cy[Ve];Nu(St.id),(zt=document.getElementById(`integration-${St.id}-tab`))==null||zt.focus()},children:Y.label},Y.id))]}),ve==="api-server"?l.jsx(TY,{protocol:"api-server",title:"API Server",available:za,fields:[{label:"Agent",value:za?((Ow=er==null?void 0:er.apiApps)==null?void 0:Ow.join("、"))??"":""},{label:"发现接口",value:za?aD(sa,"/list-apps"):""},{label:"调用接口",value:za?aD(sa,"/run_sse"):""},{label:"鉴权方式",value:za?EY(H==null?void 0:H.authType):""},{label:"API Key",value:l.jsx(kY,{available:za,authType:H==null?void 0:H.authType,value:tl,visible:he&&!!tl,loading:Oe,error:Fe,onToggle:()=>void ow()})}],example:za?mht(sa,Au,H==null?void 0:H.authType):""}):l.jsx(TY,{protocol:"a2a",title:"A2A",available:wa,fields:[{label:"Agent",value:((yw=er==null?void 0:er.a2a)==null?void 0:yw.name)??""},{label:"Agent Card",value:wa?aD(sa,"/.well-known/agent-card.json"):""},{label:"调用地址",value:fs},{label:"鉴权方式",value:wa?EY(H==null?void 0:H.authType):""},{label:"API Key",value:l.jsx(kY,{available:wa,authType:H==null?void 0:H.authType,value:tl,visible:he&&!!tl,loading:Oe,error:Fe,onToggle:()=>void ow()})}],example:wa?ght(fs,H==null?void 0:H.authType):""})]})]}),j==="evaluations"&&l.jsxs("section",{className:"aw-cases",children:[(le==null?void 0:le.runtimeId)&&l.jsx("div",{className:"aw-case-summary",children:["good","bad"].map(Y=>{const ge=Eht(ft,Y),Ne=$m.filter(St=>St.kind===Y).length,Ve=ju?Ne:(ge==null?void 0:ge.itemCount)??Ne;return l.jsxs("button",{type:"button",onClick:()=>Er(Y),children:[l.jsx("strong",{children:Ve}),l.jsx("span",{children:Y==="good"?"Good cases":"Bad cases"})]},Y)})}),l.jsxs("div",{className:"aw-case-filter-bar",children:[l.jsxs("div",{className:"aw-case-filter-stack",children:[l.jsx("div",{className:"aw-case-filters","aria-label":"案例结果筛选",children:["good","bad"].map(Y=>l.jsx("button",{type:"button",className:qt===Y?"is-active":"","aria-pressed":qt===Y,onClick:()=>Ft(Y),children:Y==="good"?"Good case":"Bad case"},Y))}),l.jsx("div",{className:"aw-case-source-filters","aria-label":"回流方式筛选",children:["auto","user"].map(Y=>l.jsx("button",{type:"button",className:xe===Y?"is-active":"","aria-pressed":xe===Y,onClick:()=>Ue(Y),children:Y==="auto"?"自动回流":"手动回流"},Y))})]}),l.jsxs("label",{className:"aw-case-search",children:[l.jsx(pT,{"aria-hidden":!0}),l.jsx("input",{type:"search",value:At,onChange:Y=>xt(Y.currentTarget.value),placeholder:"搜索用户输入、期望行为或标签","aria-label":"搜索评测案例"})]})]}),lw&&l.jsx("div",{className:`aw-case-toolbar${si?" is-active":""}`,children:si?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"aw-selection-count",children:["已选 ",yO.length," 条"]}),l.jsx("button",{type:"button",onClick:gC,disabled:ef.length===0||ni,children:"全选当前"}),l.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void dw(yO),disabled:yO.length===0||ni,children:ni?"删除中…":"删除所选"}),l.jsx("button",{type:"button",onClick:cw,disabled:ni,children:"取消"})]}):l.jsx("button",{type:"button",onClick:()=>{Cr(""),ws(!0)},disabled:ef.length===0||ni,children:"选择案例"})}),el&&l.jsx("div",{className:"aw-delete-error",role:"alert",children:el}),l.jsx("div",{ref:Jr,children:l.jsx(Pht,{cases:ef,loading:Xt&&ef.length===0,error:Cn,notice:gi,runtimeBacked:!!(le!=null&&le.runtimeId),selectionMode:si,selectedCaseIds:Fs,focusedCaseId:Ss,expandedCaseIds:Ml,deleting:ni,canDelete:lw,onOpenCase:uw,onToggleCase:Qm,onToggleExpanded:bC,onDeleteCase:Y=>void dw([Y]),onRetry:()=>Be(Y=>Y+1)})})]}),j==="optimizations"&&l.jsxs("section",{className:"aw-optimizations",children:[l.jsxs("div",{className:"aw-optimization-intro",children:[l.jsx("h3",{children:"优化项"}),l.jsx("p",{children:"根据评测结果汇总需要优先处理的改进建议。"})]}),ln?l.jsxs("div",{className:"aw-optimization-state",role:"status",children:[l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),l.jsx("span",{children:"正在读取优化项"})]}):Nn?l.jsxs("div",{className:"aw-optimization-state is-error",role:"alert",children:[l.jsx("span",{children:Nn}),l.jsx("button",{type:"button",onClick:()=>ri(Y=>Y+1),children:"重试"})]}):lt.length>0?l.jsx(Dht,{groups:lt}):l.jsx("div",{className:"aw-optimization-state",children:"暂无优化项,自动评测完成后会在这里生成建议。"})]})]}),j==="basic"&&(le||nn)&&l.jsxs("div",{className:"aw-basic-actions",children:[le&&l.jsxs("button",{type:"button",className:"aw-talk studio-update-action",onClick:()=>T==null?void 0:T(le),children:[l.jsx(Kke,{"aria-hidden":!0}),l.jsx("span",{children:"去对话"})]}),l.jsxs("span",{className:`aw-update-wrap${Vt?" is-disabled":""}`,tabIndex:Vt?0:void 0,"aria-describedby":Vt?Ai:void 0,children:[l.jsx("button",{type:"button",className:"aw-update studio-update-action",disabled:!!Vt,"aria-busy":It||void 0,"aria-describedby":Vt?Ai:void 0,onClick:()=>nn?B==null?void 0:B(nn):ur?P(ur):void 0,children:It?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"loading-gap-spinner aw-update-spinner","aria-hidden":"true"}),l.jsx("span",{children:"检测中"})]}):nn||Fa?"继续编辑":"更新"}),Vt&&l.jsx("span",{id:Ai,className:"aw-update-disabled-reason",role:"tooltip",children:Vt})]})]})]})]}),I==="evaluation"&&l.jsx("div",{className:"aw-evaluation-glass",role:"status",children:l.jsx("span",{children:"敬请期待"})})]})]}),Yt&&l.jsx(cc,{variant:"danger",title:Yt.title,description:Yt.description,confirmLabel:wt?"删除中...":Yt.confirmLabel,closeLabel:"关闭删除确认",busy:wt,onCancel:()=>Jt(null),onConfirm:()=>void hw()})]})}function Dht({groups:e}){return l.jsx("div",{className:"aw-optimization-table-wrap",children:l.jsxs("table",{className:"aw-optimization-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"修复优先级"}),l.jsx("th",{scope:"col",children:"建议优化模块"}),l.jsx("th",{scope:"col",children:"优化建议和理由"})]})}),l.jsx("tbody",{children:e.map(t=>l.jsxs("tr",{children:[l.jsx("td",{children:l.jsx("span",{className:`aw-priority is-${t.priority}`,children:vht(t.priority)})}),l.jsx("td",{children:l.jsx("span",{className:"aw-optimization-module",children:Sht(t)})}),l.jsx("td",{children:l.jsx("ul",{className:"aw-optimization-list",children:t.items.map(n=>l.jsxs("li",{children:[l.jsx("strong",{children:n.suggestion}),l.jsx("p",{children:n.reason})]},`${n.suggestion}:${n.reason}`))})})]},`${t.priority}:${t.module}:${t.customModule??""}`))})]})})}function Iht(){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M4.5 7h15"}),l.jsx("path",{d:"M9 7V4.8h6V7"}),l.jsx("path",{d:"m6.5 7 .8 12h9.4l.8-12"}),l.jsx("path",{d:"M10 10.5v5M14 10.5v5"})]})}function Pht({cases:e,loading:t=!1,error:n="",notice:i="",runtimeBacked:r=!1,selectionMode:s=!1,selectedCaseIds:a,focusedCaseId:o="",expandedCaseIds:c,deleting:u=!1,canDelete:d=!1,onOpenCase:f,onToggleCase:h,onToggleExpanded:p,onDeleteCase:b,onRetry:g}){return l.jsxs("div",{className:"aw-case-table",children:[l.jsxs("div",{className:"aw-case-row aw-case-row-head",children:[l.jsx("span",{children:"用户输入"}),l.jsx("span",{children:"Agent 输出"}),l.jsx("span",{children:"评分"}),l.jsx("span",{children:"评分理由"}),l.jsx("span",{className:"aw-case-action-head",children:"操作"})]}),t?l.jsx("div",{className:"aw-case-empty",children:"正在读取 AgentKit 评测集…"}):n?l.jsxs("div",{className:"aw-case-empty aw-case-error",children:[l.jsx("span",{children:n}),g&&l.jsx("button",{type:"button",onClick:g,children:"重试"})]}):i?l.jsx("div",{className:"aw-case-empty",children:i}):e.length===0?l.jsx("div",{className:"aw-case-empty",children:r?"暂无用户反馈案例":"没有匹配的案例"}):e.map(O=>{var T,C;const y=O.id.startsWith("local:"),v=(a==null?void 0:a.has(O.id))??!1,x=(c==null?void 0:c.has(O.id))??!1,E=O.output.length+O.referenceOutput.length>220||(((T=O.reason)==null?void 0:T.length)??0)>120,S=d&&!y,k=!!(O.comment&&O.comment.trim()!==((C=O.reason)==null?void 0:C.trim()));return l.jsxs("div",{className:["aw-case-row",o===O.id?"is-focused":"",s?"is-selecting":"",v?"is-selected-for-delete":""].filter(Boolean).join(" "),role:"row",tabIndex:0,"aria-selected":s?v:void 0,onClick:()=>{if(s){S&&(h==null||h(O));return}f==null||f(O)},onKeyDown:A=>{A.target===A.currentTarget&&(A.key!=="Enter"&&A.key!==" "||(A.preventDefault(),s?S&&(h==null||h(O)):f==null||f(O)))},children:[l.jsxs("div",{className:"aw-case-text aw-case-cell","data-label":"用户输入",children:[l.jsxs("span",{className:"aw-case-title-line",children:[s&&S&&l.jsx("span",{className:`aw-select-marker${v?" is-checked":""}`,"aria-hidden":"true"}),l.jsx("strong",{title:O.input,children:O.input||"无用户输入"})]}),k&&l.jsxs("small",{title:O.comment,children:["备注:",O.comment]}),l.jsx("small",{className:"aw-case-time",children:yht(O.createdAt)}),(O.userId||O.sessionId)&&l.jsx("small",{title:[O.userId,O.sessionId].filter(Boolean).join(" · "),children:[O.userId,O.sessionId].filter(Boolean).join(" · ")})]}),l.jsxs("div",{className:`aw-case-output aw-case-cell${x?" is-expanded":""}`,"data-label":"Agent 输出",children:[l.jsx("p",{className:"aw-case-output-preview",title:O.output,children:O.output||"无可见回复"}),O.referenceOutput&&l.jsxs("small",{className:"aw-case-output-preview",title:O.referenceOutput,children:["Reference: ",O.referenceOutput]}),E&&l.jsx("button",{type:"button",className:"aw-case-expand",onClick:A=>{A.stopPropagation(),p==null||p(O.id)},children:x?"收起":"展开"})]}),l.jsx("div",{className:"aw-case-score aw-case-cell","data-label":"评分",children:xht(O)}),l.jsx("div",{className:`aw-case-reason aw-case-cell${x?" is-expanded":""}`,"data-label":"评分理由",children:l.jsx("p",{title:O.reason||void 0,children:O.reason||"—"})}),l.jsx("div",{className:"aw-case-actions aw-case-cell","data-label":"操作",children:S&&l.jsx("button",{type:"button",className:"aw-case-delete",onClick:A=>{A.stopPropagation(),b==null||b(O)},disabled:u,title:"删除反馈案例","aria-label":"删除反馈案例",children:l.jsx(Iht,{})})})]},O.id)})]})}function Mht({group:e,agents:t,cases:n,onChange:i,onRun:r}){const[s,a]=m.useState("config"),o=e.agentIds.map(f=>t.find(h=>h.id===f)).filter(f=>!!f),c=["回答质量","事实准确性","工具调用","响应效率"];m.useEffect(()=>a("config"),[e.id]);const u=f=>{i({...e,agentIds:e.agentIds.includes(f)?e.agentIds.filter(h=>h!==f):[...e.agentIds,f]})},d=f=>{i({...e,metrics:e.metrics.includes(f)?e.metrics.filter(h=>h!==f):[...e.metrics,f]})};return l.jsxs("main",{className:"aw-main",children:[l.jsxs("div",{className:"aw-eval-head",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"aw-agent-title-row",children:[l.jsx("h2",{children:e.name}),l.jsx("span",{children:"评测组"})]}),l.jsxs("p",{children:[o.length," 个参评智能体 · ",e.caseSet," · ",e.history.length," 次运行"]})]}),l.jsxs("button",{type:"button",className:"aw-run",onClick:()=>r(e),disabled:!0,children:[l.jsx(Xke,{"aria-hidden":!0}),"开始评测"]})]}),l.jsxs("nav",{className:"aw-agent-tabs","aria-label":"评测组详情",children:[l.jsx("button",{type:"button",className:s==="config"?"is-active":"","aria-pressed":s==="config",onClick:()=>a("config"),disabled:!0,children:"评测配置"}),l.jsx("button",{type:"button",className:s==="history"?"is-active":"","aria-pressed":s==="history",onClick:()=>a("history"),disabled:!0,children:"历史结果"})]}),l.jsx("div",{className:"aw-content",children:s==="config"?l.jsxs("div",{className:"aw-eval-setup",children:[l.jsxs("section",{className:"aw-eval-block",children:[l.jsxs("div",{className:"aw-card-head",children:[l.jsx("strong",{children:"参评智能体"}),l.jsxs("span",{children:["已选择 ",o.length," 个"]})]}),l.jsx("div",{className:"aw-eval-agent-grid",children:t.map(f=>l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:e.agentIds.includes(f.id),onChange:()=>u(f.id)}),l.jsxs("span",{children:[l.jsx("strong",{children:f.label}),l.jsx("small",{children:f.remote?"远程":"本地"})]})]},f.id))})]}),l.jsxs("div",{className:"aw-eval-setting-grid",children:[l.jsxs("section",{className:"aw-eval-block",children:[l.jsx("div",{className:"aw-card-head",children:l.jsx("strong",{children:"评测资源"})}),l.jsxs("div",{className:"aw-eval-fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"评测集"}),l.jsxs("select",{value:e.caseSet,onChange:f=>i({...e,caseSet:f.currentTarget.value}),children:[l.jsx("option",{children:"核心回归集"}),l.jsx("option",{children:"安全边界集"}),l.jsx("option",{children:"工具调用集"})]}),l.jsxs("small",{children:[n.length," 条案例"]})]}),l.jsxs("label",{children:[l.jsx("span",{children:"评估器"}),l.jsxs("select",{value:e.evaluator,onChange:f=>i({...e,evaluator:f.currentTarget.value}),children:[l.jsx("option",{children:"综合质量评估器"}),l.jsx("option",{children:"事实一致性评估器"}),l.jsx("option",{children:"工具调用评估器"})]})]}),l.jsxs("label",{children:[l.jsx("span",{children:"并发数"}),l.jsxs("select",{value:e.concurrency,onChange:f=>i({...e,concurrency:f.currentTarget.value}),children:[l.jsx("option",{value:"2",children:"2"}),l.jsx("option",{value:"4",children:"4"}),l.jsx("option",{value:"8",children:"8"})]})]})]})]}),l.jsxs("section",{className:"aw-eval-block",children:[l.jsxs("div",{className:"aw-card-head",children:[l.jsx("strong",{children:"评测指标"}),l.jsxs("span",{children:["已选择 ",e.metrics.length," 项"]})]}),l.jsx("div",{className:"aw-metric-list",children:c.map(f=>l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:e.metrics.includes(f),onChange:()=>d(f)}),l.jsx("span",{children:f})]},f))})]})]})]}):l.jsxs("section",{className:"aw-eval-history",children:[l.jsx("div",{className:"aw-section-head",children:l.jsxs("div",{children:[l.jsx("h3",{children:"历史结果"}),l.jsx("p",{children:"查看该评测组历次运行的总体表现。"})]})}),e.history.length===0?l.jsxs("div",{className:"aw-results-empty",children:[l.jsx("strong",{children:"暂无历史结果"}),l.jsx("span",{children:"完成首次评测后,结果会出现在这里。"})]}):l.jsx("div",{className:"aw-history-list",children:e.history.map((f,h)=>l.jsxs("button",{type:"button",children:[l.jsxs("span",{children:[l.jsxs("strong",{children:["评测运行 #",e.history.length-h]}),l.jsxs("small",{children:[f.createdAt," · ",o.length," 个智能体"]})]}),l.jsxs("span",{className:"aw-history-score",children:[l.jsx("strong",{children:f.score}),l.jsx("small",{children:"综合得分"})]}),l.jsxs("span",{className:"aw-complete",children:[l.jsx(yu,{}),"已完成"]}),l.jsx(sx,{"aria-hidden":!0})]},f.id))})]})})]})}const Lht="/web/sandbox/sessions",AY="/web/sandbox/codex-project-handoff",CY=3e4,oD=33e4,$ht=6e4,Qht=6e5,uy=15e3,Ju=6e4,Bht=33e4,NY=3e4,Fht=60*60,jY=40;function tC(e){switch(e.trim().toLowerCase()){case"ready":return"就绪";case"wakeable":return"可唤醒";case"creating":return"创建中";case"starting":case"initializing":return"启动中";case"pending":return"等待中";case"running":return"运行中";case"failed":case"error":return"异常";case"stopped":return"已停止";case"expired":return"已过期";case"deleting":return"删除中";case"deleted":return"已删除";default:return"未知状态"}}function fr(e){const t=new Headers(e);return t.has("Accept")||t.set("Accept","application/json"),t}async function hr(e,t){const n=await e.text().catch(()=>"");let i={};try{i=JSON.parse(n)}catch{const c=`${t}(HTTP ${e.status})`;return new Error(n?`${c}:${n}`:c)}const r=i.detail,s=r&&typeof r=="object"&&"message"in r?r.message:r??i.error??i.message,a=typeof s=="string"?s:s==null?"":JSON.stringify(s),o=`${t}(HTTP ${e.status})`;return new Error(a?`${o}:${a}`:o)}async function RY(e,t){const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{throw new Error(`${t} Studio 服务响应异常,请刷新后重试。`)}}function ep(e,t="codex"){if(!e.sessionId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Session 信息。");return{resourceType:"session",id:e.sessionId,toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,createdAt:e.createdAt??"",expireAt:e.expireAt??"",persistent:e.persistent!==!1,toolType:e.toolType??"",intelligentDevelopment:e.toolName==="intelligent-development",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:nC(e.permissions),...e.conversation===void 0?{}:{restoredConversation:mp(e.conversation)}}}function DY(e,t="codex"){if(!e.snapshotId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Snapshot 信息。");return{resourceType:"snapshot",id:e.snapshotId,snapshotId:e.snapshotId,sourceSessionId:e.sessionId??"",toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,snapshotStatus:e.snapshotStatus??"Unknown",reason:e.reason??"",createdAt:e.createdAt??"",createdBy:e.createdBy??""}}function IY(e,t){if(!(t!=null&&t.autoResumeSnapshots))return e;const n=new URLSearchParams({autoResumeSnapshots:"true"});return`${e}?${n.toString()}`}const dy={approvalPolicy:"on-request",approvalsReviewer:"user",sandboxMode:"workspace-write",networkAccess:!1};function nC(e){if(!e||typeof e!="object")return{...dy};const t=e,n=t.approvalPolicy,i=t.approvalsReviewer,r=t.sandboxMode;return{approvalPolicy:n==="untrusted"||n==="on-request"||n==="never"?n:dy.approvalPolicy,approvalsReviewer:i==="user"||i==="auto_review"?i:dy.approvalsReviewer,sandboxMode:r==="read-only"||r==="workspace-write"||r==="danger-full-access"?r:dy.sandboxMode,networkAccess:typeof t.networkAccess=="boolean"?t.networkAccess:dy.networkAccess}}function PY(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:nC(t.permissions)}}function Cs(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Uht(e){const t=Cs(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 zht(e){const t=Cs(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 uge(e){const t=Cs(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 mp(e){const t=Cs(e),n=uge(t==null?void 0:t.thread);if(!t||!n||typeof t.threadId!="string"||!Array.isArray(t.messages))throw new Error("Sandbox 返回了无效 Thread 快照。");const i=t.messages.flatMap(r=>{const s=Cs(r);if(!s||typeof s.id!="string"||s.role!=="user"&&s.role!=="assistant"||typeof s.content!="string"||typeof s.timestamp!="number")return[];const a=Array.isArray(s.skillNames)?s.skillNames.filter(c=>typeof c=="string"&&!!c):[],o=Array.isArray(s.images)?s.images.flatMap(c=>{const u=Cs(c);return!u||typeof u.mimeType!="string"||!u.mimeType.startsWith("image/")||typeof u.data!="string"||!u.data?[]:[{mimeType:u.mimeType,data:u.data,...typeof u.name=="string"&&u.name?{name:u.name}:{},...typeof u.alt=="string"&&u.alt?{alt:u.alt}:{}}]}):[];return[{id:s.id,role:s.role,content:s.content,timestamp:s.timestamp,...a.length?{skillNames:a}:{},...o.length?{images:o}:{}}]});return{thread:n,threadId:t.threadId,messages:i,...typeof t.model=="string"?{model:t.model}:{},...typeof t.cwd=="string"?{cwd:t.cwd}:{},workspaceLocked:t.workspaceLocked===!0,permissions:nC(t.permissions)}}function eL(e){if(!e||typeof e!="object")return;const t=e;if(![t.totalTokens,t.inputTokens,t.cachedInputTokens,t.outputTokens,t.reasoningOutputTokens].some(i=>typeof i!="number"||!Number.isFinite(i)||i<0))return{totalTokens:Math.trunc(t.totalTokens),inputTokens:Math.trunc(t.inputTokens),cachedInputTokens:Math.trunc(t.cachedInputTokens),outputTokens:Math.trunc(t.outputTokens),reasoningOutputTokens:Math.trunc(t.reasoningOutputTokens)}}function Vht(e){const t=eL(e.usage);if(!t||typeof e.turnId!="string")return;const n=eL(e.threadTotal),i=e.modelContextWindow;return{turnId:e.turnId,usage:t,...n?{threadTotal:n}:{},...typeof i=="number"&&Number.isFinite(i)&&i>=0?{modelContextWindow:Math.trunc(i)}:{}}}function qht(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 Xht(e,t={}){if(!e.body)throw new Error("沙箱对话服务未返回内容。");const n=e.body.getReader(),i=new TextDecoder;let r="",s="";const a=[],o=new Map;let c,u;function d(){var g;const b=c?[...a,c]:a;(g=t.onBlocks)==null||g.call(t,b.map(O=>({...O})))}function f(b){s+=b;const g=a[a.length-1],O=a.length-1,y=[...o.values()].includes(O);(g==null?void 0:g.kind)==="text"&&!y?g.text+=b:a.push({kind:"text",text:b}),d()}function h(b){if(typeof b.id!="string"||b.kind!=="thinking"&&b.kind!=="commentary"&&b.kind!=="tool"||b.status!=="running"&&b.status!=="done")return;const g=b.status==="done";let O;if(b.kind==="thinking"){if(typeof b.text!="string"||!b.text)return;O={kind:"thinking",text:b.text,done:g}}else if(b.kind==="commentary"){if(typeof b.text!="string"||!b.text)return;O={kind:"text",text:b.text}}else{if(typeof b.name!="string"||!b.name)return;O={kind:"tool",name:b.name,args:b.args,response:b.response,done:g}}const y=o.get(b.id);y===void 0?(o.set(b.id,a.length),a.push(O)):a[y]=O,d()}function p(b){var v,x,w;let g="message";const O=[];for(const E of b.split(/\r?\n/))E.startsWith("event:")&&(g=E.slice(6).trim()),E.startsWith("data:")&&O.push(E.slice(5).trimStart());if(O.length===0)return;let y;try{y=JSON.parse(O.join(` -`))}catch{throw new Error("沙箱对话服务返回了无法解析的响应。")}if(g==="error")throw new Error(typeof y.message=="string"&&y.message?y.message:"沙箱对话失败,请稍后重试。");if(g==="progress"&&typeof y.text=="string"&&y.text&&(c={kind:"progress",text:y.text},d()),g==="activity"&&h(y),g==="development.source_ready"||g==="development.succeeded"){const E=Cs(y.payload),S=Cs(E==null?void 0:E.delivery),k=g==="development.succeeded";if(S&&typeof S.sessionId=="string"&&typeof S.artifactSha256=="string"&&typeof S.validationReportSha256=="string"&&typeof S.agentName=="string"&&typeof S.entryPoint=="string"&&typeof S.fileCount=="number"&&typeof S.artifactSize=="number"&&typeof S.validatedAt=="string"&&S.deployable===!0&&S.verified===k&&typeof S.validationSummary=="string"&&Array.isArray(S.gateSummary)&&S.gateSummary.every(T=>typeof T=="string")){const T={kind:"delivery",value:{sessionId:S.sessionId,artifactSha256:S.artifactSha256,validationReportSha256:S.validationReportSha256,agentName:S.agentName,entryPoint:S.entryPoint,fileCount:S.fileCount,artifactSize:S.artifactSize,validatedAt:S.validatedAt,gateSummary:S.gateSummary,deployable:S.deployable,verified:S.verified,validationSummary:S.validationSummary}},C=a.findIndex(A=>A.kind==="delivery"&&A.value.sessionId===S.sessionId&&A.value.artifactSha256===S.artifactSha256&&A.value.validationReportSha256===S.validationReportSha256);C===-1?a.push(T):a[C]=T,d()}}if(g==="approval"){const E=qht(y);E&&((v=t.onApproval)==null||v.call(t,E))}if(g==="usage"){const E=Vht(y);E&&(u=E,(x=t.onUsage)==null||x.call(t,E))}g==="approval_resolved"&&typeof y.approvalId=="string"&&((w=t.onApprovalResolved)==null||w.call(t,y.approvalId)),g==="delta"&&typeof y.text=="string"&&f(y.text),g==="done"&&!s&&typeof y.text=="string"&&f(y.text),g==="done"&&c&&(c=void 0,d())}for(;;){const{done:b,value:g}=await n.read();r+=i.decode(g,{stream:!b});const O=r.split(/\r?\n\r?\n/);if(r=O.pop()??"",O.forEach(p),b)break}if(r.trim()&&p(r),c&&(c=void 0,d()),a.length===0)throw new Error("沙箱未返回有效回复,请重试。");return{text:s,blocks:a,...u?{usage:u}:{}}}async function _o(e,t,n,{method:i="GET",body:r,options:s={},fallback:a}){if(!t)throw new Error("缺少要操作的 AgentKit Session。");const o=await Kn(`${e}/${encodeURIComponent(t)}/${n}`,{method:i,headers:fr(r===void 0?void 0:{"Content-Type":"application/json"}),...r===void 0?{}:{body:JSON.stringify(r)},signal:s.signal},Ju);if(!o.ok)throw await hr(o,a);return o.json()}function dge(e,t={}){return{async listSessions(n={}){const i=await Kn(IY(e,n),{method:"GET",headers:fr(),signal:n.signal},CY);if(!i.ok)throw await hr(i,"无法读取 Codex 智能体,请稍后重试。");const r=await i.json();if(!Array.isArray(r.sessions))throw new Error("AgentKit 沙箱返回了无效的 Session 列表。");if(r.snapshots!==void 0&&!Array.isArray(r.snapshots))throw new Error("AgentKit 沙箱返回了无效的 Snapshot 列表。");return[...r.sessions.map(s=>ep(s)),...(r.snapshots??[]).map(s=>DY(s))]},async startSession(n={}){var r;const i=await Kn(e,{method:"POST",headers:fr({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((r=n.displayName)==null?void 0:r.trim())??"",...t.textOnly?{}:{persistent:n.persistent??!0}}),signal:n.signal},oD);if(!i.ok)throw await hr(i,"无法启动 AgentKit 沙箱,请稍后重试。");return ep(await i.json())},async listAgentSessions(n,i={}){const r=await Kn(IY(`/web/${n}/sessions`,i),{method:"GET",headers:fr(),signal:i.signal},CY);if(!r.ok)throw await hr(r,`无法读取 ${n} 智能体,请稍后重试。`);const s=await r.json();if(!Array.isArray(s.sessions))throw new Error(`AgentKit 返回了无效的 ${n} Session 列表。`);if(s.snapshots!==void 0&&!Array.isArray(s.snapshots))throw new Error(`AgentKit 返回了无效的 ${n} Snapshot 列表。`);return[...s.sessions.map(a=>ep(a,n)),...(s.snapshots??[]).map(a=>DY(a,n))]},async startAgentSession(n,i={}){var s;const r=await Kn(`/web/${n}/sessions`,{method:"POST",headers:fr({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((s=i.displayName)==null?void 0:s.trim())??"",persistent:i.persistent??!0}),signal:i.signal},oD);if(!r.ok)throw await hr(r,`无法创建 ${n} 智能体,请稍后重试。`);return ep(await r.json(),n)},async openAgentSession(n,i,r={}){if(!i)throw new Error("缺少要打开的 AgentKit Session。");const s=await Kn(`/web/${n}/sessions/${encodeURIComponent(i)}/open`,{method:"POST",headers:fr(),signal:r.signal},Ju);if(!s.ok)throw await hr(s,`无法打开 ${n} 智能体。`);const a=await s.json();if(typeof a.webuiUrl!="string"||!a.webuiUrl.startsWith("/"))throw new Error(`${n} 智能体返回了无效的主页面地址。`);return{session:ep(a,n),kind:n,webuiUrl:lo(a.webuiUrl)}},async launchAgentTerminal(n,i,r={}){if(!i)throw new Error("缺少要打开 Terminal 的 AgentKit Session。");const s=await Kn(`/web/${n}/sessions/${encodeURIComponent(i)}/terminal`,{method:"POST",headers:fr(),signal:r.signal},Ju);if(!s.ok)throw await hr(s,`无法打开 ${n} Terminal。`);const a=await s.json();return{url:fge(a.url,`${n} Terminal`),...typeof a.shellSessionId=="string"?{shellSessionId:a.shellSessionId}:{}}},async deleteAgentSession(n,i,r={}){if(!i)return;const s=await Kn(`/web/${n}/sessions/${encodeURIComponent(i)}`,{method:"DELETE",headers:fr(),signal:r.signal},uy);if(!s.ok&&s.status!==404)throw await hr(s,`无法删除 ${n} 智能体。`)},async resumeSnapshot(n,i,r={}){if(!i)throw new Error("缺少要唤醒的 AgentKit Snapshot。");const s=n==="codex"?"/web/sandbox":`/web/${n}`,a=await Kn(`${s}/snapshots/${encodeURIComponent(i)}/resume`,{method:"POST",headers:fr(),signal:r.signal},oD);if(!a.ok)throw await hr(a,"无法从快照唤醒智能体,请稍后重试。");return ep(await a.json(),n)},async deleteSnapshot(n,i,r={}){if(!i)return;const s=n==="codex"?"/web/sandbox":`/web/${n}`,a=await Kn(`${s}/snapshots/${encodeURIComponent(i)}`,{method:"DELETE",headers:fr(),signal:r.signal},uy);if(!a.ok&&a.status!==404)throw await hr(a,"无法删除智能体快照。")},async connectSession(n,i={}){if(!n)throw new Error("缺少要连接的 AgentKit Session。");const r=await Kn(`${e}/${encodeURIComponent(n)}/connect`,{method:"POST",headers:fr({"Content-Type":"application/json"}),signal:i.signal},$ht);if(!r.ok)throw await hr(r,"无法连接 Codex 智能体,请稍后重试。");const s=ep(await r.json());if(s.status.toLowerCase()!=="ready")throw new Error(`AgentKit Session 尚未就绪,当前状态:${s.status}。`);return s},async sendMessage(n,i={}){var s;if(!n.sessionId||!n.text.trim())throw new Error("内置智能体会话缺少有效的消息内容。");const r=await Kn(`${e}/${encodeURIComponent(n.sessionId)}/messages`,{method:"POST",headers:fr({Accept:"text/event-stream","Content-Type":"application/json"}),body:JSON.stringify({message:n.text,...!t.textOnly&&((s=n.skillIds)!=null&&s.length)?{skillIds:n.skillIds}:{}}),signal:i.signal},t.messageTimeoutMs??Qht);if(!r.ok)throw await hr(r,"沙箱对话失败,请稍后重试。");return Xht(r,i)},async interruptSession(n,i={}){if(!n)return;const r=await Kn(`${e}/${encodeURIComponent(n)}/interrupt`,{method:"POST",headers:fr(),signal:i.signal},t.interruptTimeoutMs??uy);if(!r.ok&&![404,409].includes(r.status))throw await hr(r,"无法停止当前任务。")},async getStatus(n,i={}){const r=await _o(e,n,"status",{options:i,fallback:"无法读取 Codex 状态。"}),s=PY(r),a=Cs(r),o=eL(a==null?void 0:a.threadTotal),c=a==null?void 0:a.modelContextWindow;return{...s,...o?{threadTotal:o}:{},...typeof c=="number"&&Number.isFinite(c)&&c>=0?{modelContextWindow:Math.trunc(c)}:{}}},async getEndpoint(n,i={}){const r=Cs(await _o(e,n,"endpoint",{options:i,fallback:"无法读取 Sandbox Endpoint。"}));if(typeof(r==null?void 0:r.endpoint)!="string"||!r.endpoint.trim())throw new Error("Sandbox 返回了无效 Endpoint。");return{endpoint:r.endpoint,sessionId:typeof r.sessionId=="string"?r.sessionId:n,...typeof r.expireAt=="string"?{expireAt:r.expireAt}:{}}},async createCodexProjectHandoffPairing(n={}){const i=await Kn(`${AY}/pairings`,{method:"POST",headers:fr({Accept:"application/json","Content-Type":"application/json"}),body:JSON.stringify({ttlSeconds:Fht}),signal:n.signal},NY);if(!i.ok)throw await hr(i,"无法生成 Codex 云端接力配对码。");const r=Cs(await RY(i,"无法生成 Codex 云端接力配对码。"));if(typeof(r==null?void 0:r.pairingCode)!="string"||!r.pairingCode.trim()||typeof r.expireAt!="string"||!r.expireAt.trim())throw new Error("Studio 返回了无效的 Codex 云端接力配对码。");const s=typeof r.studioUrl=="string"&&r.studioUrl.trim()?r.studioUrl.trim():window.location.origin;return{pairingCode:r.pairingCode,expireAt:r.expireAt,studioUrl:s}},async getCodexProjectHandoffStatus(n,i={}){const r=await Kn(`${AY}/pairings/${encodeURIComponent(n)}`,{headers:fr({Accept:"application/json"}),signal:i.signal},NY);if(!r.ok)throw await hr(r,"无法读取端云接力状态。");const s=Cs(await RY(r,"无法读取端云接力状态。")),a=new Set(["issued","creating","session-created","continuing","running","completed","failed"]);if(typeof(s==null?void 0:s.state)!="string"||!a.has(s.state)||typeof s.expireAt!="string"||!s.expireAt.trim())throw new Error("Studio 返回了无效的端云接力状态。");return{state:s.state,expireAt:s.expireAt,...typeof s.projectName=="string"?{projectName:s.projectName}:{},...typeof s.agentName=="string"?{agentName:s.agentName}:{},...typeof s.sessionId=="string"?{sessionId:s.sessionId}:{},...typeof s.error=="string"?{error:s.error}:{},...s.failedStage==="creating-session"||s.failedStage==="uploading-project"||s.failedStage==="restoring-project"||s.failedStage==="continuing-task"?{failedStage:s.failedStage}:{}}},async listModels(n,i={}){const r=Cs(await _o(e,n,"models",{options:i,fallback:"无法读取 Codex 模型列表。"}));if(!Array.isArray(r==null?void 0:r.models))throw new Error("Sandbox 返回了无效模型列表。");return r.models.flatMap(s=>{const a=Uht(s);return a?[a]:[]})},async setModel(n,i,r={}){const s=Cs(await _o(e,n,"model",{method:"PUT",body:{model:i},options:r,fallback:"无法切换 Codex 模型。"}));if(typeof(s==null?void 0:s.model)!="string"||!s.model)throw new Error("Sandbox 返回了无效模型。");return s.model},async listSkills(n,i=!1,r={}){const a=Cs(await _o(e,n,`skills${i?"?force_reload=true":""}`,{options:r,fallback:"无法读取 Codex Skills。"}));if(!Array.isArray(a==null?void 0:a.skills))throw new Error("Sandbox 返回了无效 Skill 列表。");return a.skills.flatMap(o=>{const c=zht(o);return c?[c]:[]})},async listThreads(n,i={},r={}){const s=new URLSearchParams;i.cursor&&s.set("cursor",i.cursor),i.search&&s.set("search",i.search),i.archived&&s.set("archived","true");const a=s.size?`?${s}`:"",o=Cs(await _o(e,n,`threads${a}`,{options:r,fallback:"无法读取 Codex Thread 列表。"}));if(!Array.isArray(o==null?void 0:o.threads))throw new Error("Sandbox 返回了无效 Thread 列表。");return{threads:o.threads.flatMap(c=>{const u=uge(c);return u?[u]:[]}),...typeof o.nextCursor=="string"?{nextCursor:o.nextCursor}:{}}},async newThread(n,i={}){return mp(await _o(e,n,"threads/new",{method:"POST",options:i,fallback:"无法创建新的 Codex Thread。"}))},async readThread(n,i,r={}){if(!i)throw new Error("缺少要读取的 Codex Thread。");return mp(await _o(e,n,`threads/${encodeURIComponent(i)}`,{options:r,fallback:"无法读取 Codex 历史消息。"}))},async resumeThread(n,i,r={}){return mp(await _o(e,n,"threads/resume",{method:"POST",body:{threadId:i},options:r,fallback:"无法恢复 Codex Thread。"}))},async forkThread(n,i={}){return mp(await _o(e,n,"threads/fork",{method:"POST",options:i,fallback:"无法分叉 Codex Thread。"}))},async archiveThread(n,i,r={}){const s=Cs(await _o(e,n,"threads/archive",{method:"POST",body:{threadId:i},options:r,fallback:"无法归档 Codex Thread。"}));if((s==null?void 0:s.archived)!==!0)throw new Error("Sandbox 返回了无效归档结果。");return{archived:!0,...s.thread?{snapshot:mp(s)}:{}}},async deleteThread(n,i,r={}){const s=Cs(await _o(e,n,"threads/delete",{method:"POST",body:{threadId:i},options:r,fallback:"无法删除 Codex Thread。"}));if((s==null?void 0:s.deleted)!==!0)throw new Error("Sandbox 返回了无效删除结果。");return{deleted:!0,...s.thread?{snapshot:mp(s)}:{}}},async compactThread(n,i={}){await _o(e,n,"threads/compact",{method:"POST",options:i,fallback:"无法压缩 Codex Thread。"})},async getSettings(n,i={}){const r=await Kn(`${e}/${encodeURIComponent(n)}/settings`,{method:"GET",headers:fr(),signal:i.signal},Ju);if(!r.ok)throw await hr(r,"无法读取 Codex 权限与工作空间。");return PY(await r.json())},async updatePermissions(n,i,r={}){const s=await Kn(`${e}/${encodeURIComponent(n)}/permissions`,{method:"PUT",headers:fr({"Content-Type":"application/json"}),body:JSON.stringify(i),signal:r.signal},Ju);if(!s.ok)throw await hr(s,"无法更新 Codex 权限。");const a=await s.json();return nC(a.permissions)},async updateWorkspace(n,i,r={}){const s=await Kn(`${e}/${encodeURIComponent(n)}/workspace`,{method:"PUT",headers:fr({"Content-Type":"application/json"}),body:JSON.stringify({cwd:i}),signal:r.signal},Ju);if(!s.ok)throw await hr(s,"无法更新 Codex 工作空间。");const a=await s.json();if(typeof a.cwd!="string"||!a.cwd)throw new Error("Sandbox 返回了无效工作目录。");return a.cwd},async listDirectories(n,i,r={}){const s=new URLSearchParams({path:i}),a=await Kn(`${e}/${encodeURIComponent(n)}/directories?${s}`,{method:"GET",headers:fr(),signal:r.signal},Ju);if(!a.ok)throw await hr(a,"无法读取 Sandbox 目录。");const o=await a.json();if(typeof o.path!="string"||!Array.isArray(o.directories)||o.directories.some(c=>!c||typeof c.name!="string"||typeof c.path!="string"))throw new Error("Sandbox 返回了无效目录列表。");return{path:o.path,...typeof o.parent=="string"?{parent:o.parent}:{},directories:o.directories}},async resolveApproval(n,i,r,s={}){const a=await Kn(`${e}/${encodeURIComponent(n)}/approvals/${encodeURIComponent(i)}`,{method:"POST",headers:fr({"Content-Type":"application/json"}),body:JSON.stringify({decision:r}),signal:s.signal},Ju);if(!a.ok)throw await hr(a,"无法提交 Codex 审批决定。")},async launchTerminal(n,i={}){return MY(e,n,"terminal",i)},async launchBrowser(n,i={}){return MY(e,n,"browser",i)},async uploadFile(n,i,r={}){const s=new FormData;s.set("file",i,i.name);const a=await Kn(`${e}/${encodeURIComponent(n)}/files`,{method:"POST",headers:fr(),body:s,signal:r.signal},Bht);if(!a.ok)throw await hr(a,"无法上传文件到 Sandbox。");const o=await a.json();if(typeof o.id!="string"||typeof o.path!="string"||typeof o.name!="string"||typeof o.mimeType!="string"||typeof o.sizeBytes!="number")throw new Error("Sandbox 返回了无效上传结果。");return o},async closeSession(n,i={}){if(!n)return;const r=await Kn(`${e}/${encodeURIComponent(n)}/disconnect`,{method:"POST",headers:fr(),signal:i.signal},uy);if(!r.ok&&r.status!==404)throw await hr(r,"无法断开 Codex 智能体连接。")},async deleteSession(n,i={}){if(!n)return;const r=await Kn(`${e}/${encodeURIComponent(n)}`,{method:"DELETE",headers:fr(),signal:i.signal},uy);if(!r.ok&&r.status!==404)throw await hr(r,"无法删除 Codex 智能体。")}}}const Ei=dge(Lht),$c=dge("/web/intelligent-development/sessions",{textOnly:!0,messageTimeoutMs:36e5,interruptTimeoutMs:45e3});async function MY(e,t,n,i){const r=await Kn(`${e}/${encodeURIComponent(t)}/${n}`,{method:"POST",headers:fr(),signal:i.signal},Ju);if(!r.ok)throw await hr(r,n==="terminal"?"无法打开 Sandbox Terminal。":"无法打开 Sandbox Browser。");const s=await r.json();return{url:fge(s.url,"Sandbox 工具"),...typeof s.shellSessionId=="string"?{shellSessionId:s.shellSessionId}:{}}}function fge(e,t){if(typeof e!="string")throw new Error(`${t} 返回了无效地址。`);if(e.startsWith("/"))return lo(e);let n;try{n=new URL(e)}catch{throw new Error(`${t} 返回了无效地址。`)}const i=n.protocol==="http:"&&window.location.protocol==="http:";if(n.protocol!=="https:"&&!i)throw new Error(`${t} 返回了不安全的地址。`);return n.toString()}function o0(e,t,n){const i=e instanceof Error?`${e.name}: ${e.message}`:String(e||"未知错误");return[`${t}失败`,`详细信息:${i}`,n?`请求:${n}`:""].filter(Boolean).join(` -`)}function Hht(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.jsx("path",{d:"m7.8 12.3 2 2-2 2M12.2 16.3h3.2"})]})}function Yht(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M18.9 6.25A8.4 8.4 0 1 0 19.6 16"}),l.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"}),l.jsx("circle",{cx:"10.6",cy:"12.8",r:"2.45"}),l.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 Ght(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.jsx("path",{d:"M9.3 12.65h.01M14.9 12.65h.01M10.8 15.55c.8.5 1.65.5 2.45 0"}),l.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 Wht(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M5.2 17.2V8.1a3 3 0 0 1 3-3h7.6a3 3 0 0 1 3 3v9.1"}),l.jsx("path",{d:"M7.4 17.2h9.2M9 19.9h6"}),l.jsx("path",{d:"M9.1 9.25h5.8M9.1 12h3.1"}),l.jsx("path",{d:"m14.1 12.4 2 2.1M16.2 12.4l-2.1 2.1"})]})}function tv({kind:e,...t}){return e==="codex"?l.jsx(Hht,{...t}):e==="deepseek-harness"?l.jsx(Wht,{...t}):e==="openclaw"?l.jsx(Yht,{...t}):l.jsx(Ght,{...t})}const lD=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"deepseek-harness",label:"DeepSeek Harness"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],Zht=24,Kht=3e4,l0=new Map,P0=new Map,Jht=new Set;function pE(e){if(!e){l0.clear(),P0.clear();return}const t=new Set(e);if(t.size!==0){for(const[n,i]of P0)i.page.runtimes.some(r=>t.has(r.runtimeId))&&P0.delete(n);l0.clear()}}function ept(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function cD(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M8 3.25v9.5M3.25 8h9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function tpt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M2.75 5.25h8.75m0 0-2-2m2 2-2 2M13.25 10.75H4.5m0 0 2 2m-2-2 2-2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function npt({type:e}){return e==="general"?l.jsx(gh,{}):l.jsx(tv,{kind:e})}function PQ(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 ipt(e,t=Date.now()){const n=Date.parse(e);if(!Number.isFinite(n)||n-t<6e4)return"即将清空";const i=Math.ceil((n-t)/6e4),r=Math.floor(i/60),s=i%60;return`${r} 小时 ${s} 分钟`}function LY(e){var t;return{id:e.runtimeId,name:e.name,description:((t=e.description)==null?void 0:t.trim())||"暂无描述",createdAt:PQ(e.createdAt??""),specificationLabel:"创建人",specification:e.author||"—",isMine:e.isMine,runtime:{runtimeId:e.runtimeId,region:e.region,currentVersion:e.currentVersion,canDelete:e.canDelete}}}function rpt(e){return{id:e.id,name:e.displayName||`${e.toolName} 智能体`,description:tC(e.status),createdAt:PQ(e.createdAt),specificationLabel:"创建人",specification:e.createdBy||"—",sandbox:e}}function spt(e){var t;return{id:e.id,name:e.draft.name||"未命名 Agent",description:((t=e.draft.description)==null?void 0:t.trim())||"暂无描述",createdAt:PQ(new Date(e.updatedAt).toISOString()),specificationLabel:"存储位置",specification:"当前浏览器",draft:e}}async function apt(e,t,n){const i=`${e}:all:${t}`,r=P0.get(i);if(r&&r.expiresAt>Date.now())return n(r.page.runtimes.map(LY)),r.page.nextToken;r&&P0.delete(i);let s=l0.get(i);s||(s=_A({scope:e,region:"all",pageSize:Zht,nextToken:t}),l0.set(i,s),s.then(()=>l0.delete(i),()=>l0.delete(i)));const a=await s;return P0.set(i,{page:a,expiresAt:Date.now()+Kht}),n(a.runtimes.map(LY)),a.nextToken}function opt({agent:e,cloudProvider:t,onUse:n,onViewDetails:i,connecting:r,connected:s,showOwnership:a,deploymentTask:o,nowMs:c,onViewDeploymentTask:u,onEditDraft:d,onDeleteDraft:f}){var O,y,v,x;const h=(O=e.sandbox)==null?void 0:O.status.toLowerCase(),p=((y=e.sandbox)==null?void 0:y.resourceType)==="snapshot",b=!!(e.runtime||h==="ready"||h==="wakeable"),g=((v=e.sandbox)==null?void 0:v.resourceType)==="snapshot"?e.sandbox.sourceSessionId||e.sandbox.snapshotId:(x=e.sandbox)==null?void 0:x.id;return l.jsxs("article",{className:"my-agent-card",children:[l.jsxs("div",{className:"my-agent-card-content",children:[l.jsxs("div",{className:"my-agent-card-title",children:[l.jsxs("div",{className:"my-agent-card-title-copy",children:[l.jsx("h3",{children:e.name}),e.sandbox?l.jsx("span",{className:"my-agent-session-id",title:g,children:g}):null]}),e.draft?l.jsx("span",{className:"my-agent-draft-badge",children:o?"部署中":"草稿"}):e.sandbox?l.jsx("span",{className:"my-agent-status-label","data-ready":e.sandbox.status.toLowerCase()==="ready"||void 0,"data-wakeable":p||void 0,children:e.description}):e.runtime?l.jsxs("div",{className:"my-agent-card-badges",children:[o?l.jsx("span",{className:"my-agent-deploying-badge",children:"部署中"}):null,l.jsx("span",{className:"my-agent-region-badge",children:du(e.runtime.region,t)}),a&&e.isMine?l.jsx("span",{className:"runtime-owner-badge",children:"我创建的"}):null]}):null]}),e.sandbox?null:l.jsx("p",{className:"my-agent-description",children:e.description}),l.jsxs("dl",{className:"my-agent-meta",children:[l.jsxs("div",{className:"my-agent-created-at",children:[l.jsx("dt",{children:e.draft?"更新时间":"创建时间"}),l.jsx("dd",{children:e.createdAt})]}),l.jsxs("div",{className:"my-agent-region",children:[l.jsx("dt",{children:e.specificationLabel}),l.jsx("dd",{children:e.specification})]}),e.sandbox?l.jsxs("div",{className:`my-agent-expiry${e.sandbox.resourceType==="session"&&e.sandbox.persistent?"":" is-expiring"}`,children:[l.jsx("dt",{children:"剩余时间"}),l.jsx("dd",{children:e.sandbox.resourceType==="snapshot"?"可唤醒":e.sandbox.persistent?"永不过期":ipt(e.sandbox.expireAt,c)})]}):null]})]}),l.jsx("footer",{className:"my-agent-actions",children:e.draft?l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"my-agent-details","aria-label":o?`查看 ${e.name} 部署进度`:`编辑草稿 ${e.name}`,onClick:()=>o?u==null?void 0:u(o):d==null?void 0:d(e.draft),children:o?"查看进度":"编辑"}),l.jsx("button",{type:"button",className:"my-agent-delete","aria-label":`删除草稿 ${e.name}`,onClick:()=>f==null?void 0:f(e.draft),children:"删除"})]}):l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"my-agent-details",disabled:!b,"aria-label":o?`查看 ${e.name} 部署进度`:`查看 ${e.name} 详情`,onClick:()=>o?u==null?void 0:u(o):i==null?void 0:i(e),children:o?"查看进度":"查看详情"}),l.jsx("button",{type:"button",className:`my-agent-use${s?" is-connected":""}`,disabled:!b||r||s,"aria-busy":r||void 0,"aria-label":s?`${e.name} 已连接`:p?`唤醒 ${e.name}`:`使用 ${e.name}`,onClick:()=>void(n==null?void 0:n(e)),children:r?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-use-spinner","aria-hidden":"true"}),l.jsx("span",{children:p?"唤醒中":"连接中"})]}):s?"已连接":p?"唤醒":"使用"})]})})]})}function lpt({cloudProvider:e,canCreate:t,runtimeScope:n,onCreateAgent:i,onOpenCodexProjectUpload:r,onUseAgent:s,onViewAgentDetails:a,onCreateSandboxAgent:o,onUseSandboxAgent:c,onViewSandboxAgentDetails:u,activeType:d,onActiveTypeChange:f,sandboxRefreshKey:h=0,connectedRuntimeId:p="",hiddenRuntimeIds:b=Jht,drafts:g=[],deploymentTasks:O=[],draftDeploymentTaskIds:y={},onViewDeploymentTask:v,onEditDraft:x,onDeleteDraft:w}){const E=m.useRef(null),S=m.useRef(null),k=m.useRef(0),T=m.useRef(0),C=m.useRef(null),[A,R]=m.useState(""),[P,B]=m.useState([]),[I,$]=m.useState(""),[j,D]=m.useState(!0),[F,Q]=m.useState(""),[M,G]=m.useState([]),[H,U]=m.useState(!1),[q,ie]=m.useState(""),[fe,me]=m.useState(""),[ce,K]=m.useState(null),[ee,ye]=m.useState(()=>Date.now()),ve=M.some(ue=>{var be;return((be=ue.sandbox)==null?void 0:be.resourceType)==="session"&&ue.sandbox.persistent===!1});m.useEffect(()=>{if(!ve)return;ye(Date.now());const ue=window.setInterval(()=>ye(Date.now()),6e4);return()=>window.clearInterval(ue)},[ve]);const Re=m.useMemo(()=>g.map(spt),[g]),Pe=m.useMemo(()=>{const ue=new Map,be=new Map;for(const V of O){if(V.status!=="running"||(ue.set(V.id,V),!V.runtimeId))continue;const je=be.get(V.runtimeId);(!je||V.startedAt>je.startedAt)&&be.set(V.runtimeId,V)}return{byId:ue,byRuntimeId:be}},[O]),De=m.useCallback(ue=>{var V;if(ue.draft){const je=y[ue.draft.id];return je?Pe.byId.get(je):void 0}const be=(V=ue.runtime)==null?void 0:V.runtimeId;return be?Pe.byRuntimeId.get(be):void 0},[Pe,y]),he=m.useCallback((ue,be)=>{const V=++k.current;return D(!0),Q(""),apt(n,ue,je=>{k.current===V&&B(He=>be?je:[...He,...je])}).then(je=>{k.current===V&&$(je)}).catch(je=>{k.current===V&&Q(o0(je,"加载通用智能体","GET /web/runtimes"))}).finally(()=>{k.current===V&&D(!1)})},[n]);m.useEffect(()=>{if(d==="general")return B([]),$(""),he("",!0),()=>{k.current+=1}},[d,he]);const Ee=m.useCallback(async ue=>{var je,He;(je=C.current)==null||je.abort();const be=new AbortController;C.current=be;const V=++T.current;U(!0),ie(""),G([]);try{const et=ue==="codex"?await Ei.listSessions({signal:be.signal,autoResumeSnapshots:!0}):await Ei.listAgentSessions(ue,{signal:be.signal,autoResumeSnapshots:!0});if(T.current!==V)return;G(et.map(rpt))}catch(et){if((et==null?void 0:et.name)==="AbortError"||T.current!==V)return;ie(o0(et,`加载 ${((He=lD.find(qt=>qt.id===ue))==null?void 0:He.label)??ue}`,`GET /web/${ue==="codex"?"sandbox":ue}/sessions`))}finally{C.current===be&&(C.current=null),T.current===V&&U(!1)}},[]);function Oe(ue){var be;ue!==d&&(ue==="general"?(k.current+=1,B([]),$(""),Q(""),D(!0)):((be=C.current)==null||be.abort(),C.current=null,T.current+=1,G([]),ie(""),U(!0)),f(ue))}m.useEffect(()=>{var ue;if(d==="general"){(ue=C.current)==null||ue.abort(),C.current=null,T.current+=1;return}return Ee(d),()=>{var be;(be=C.current)==null||be.abort(),C.current=null,T.current+=1}},[d,Ee,h]),m.useEffect(()=>{const ue=S.current,be=E.current;if(!ue||!be||d!=="general"||!I||j)return;const V=new IntersectionObserver(([je])=>{je.isIntersecting&&he(I,!1)},{root:be,rootMargin:"240px 0px",threshold:.01});return V.observe(ue),()=>V.disconnect()},[d,he,j,I]);const Le=m.useCallback(async ue=>{if(!fe){me(ue.id);try{await new Promise(be=>requestAnimationFrame(()=>be())),ue.sandbox?await c(ue.sandbox):await s(ue)}finally{me("")}}},[fe,s,c]),Fe=m.useMemo(()=>{const ue=A.trim().toLocaleLowerCase(),be=d==="general"?[...Re,...P]:M,V=ue?be.filter(et=>et.name.toLocaleLowerCase().includes(ue)):be;if(d!=="general")return V;const je=b.size>0?V.filter(et=>!et.runtime||!b.has(et.runtime.runtimeId)):V,He=je.findIndex(et=>{var qt;return((qt=et.runtime)==null?void 0:qt.runtimeId)===p});return He<=0?je:[je[He],...je.slice(0,He),...je.slice(He+1)]},[d,p,Re,b,A,P,M]),_e=lD.find(ue=>ue.id===d),Ye=(_e==null?void 0:_e.label)??"智能体",dt=d==="general"?j&&P.length===0&&Re.length===0:H&&M.length===0,It=!dt&&Fe.length===0,Ge=t?d==="general"?()=>i(Ri(e)):()=>o(d):void 0,Z=d==="codex"&&t&&!!r,ne=t?void 0:"当前账号没有创建智能体权限";return l.jsxs("div",{className:"my-agents-page",children:[l.jsxs("header",{className:"my-agents-header",children:[l.jsxs("div",{className:"my-agents-heading",children:[l.jsx("div",{className:"my-agents-title-row",children:l.jsx("h1",{children:"智能体"})}),l.jsx("p",{children:n==="all"?"在此处浏览所有智能体":"在此处浏览您的所有智能体"})]}),l.jsxs("label",{className:"my-agent-search",children:[l.jsx(ept,{}),l.jsx("input",{type:"search","aria-label":"搜索智能体",value:A,onChange:ue=>R(ue.target.value),placeholder:"搜索所有类型智能体名称"})]})]}),l.jsxs("div",{className:"my-agent-type-bar",children:[l.jsx("nav",{className:"my-agent-type-pills","aria-label":"智能体类型",children:lD.map(ue=>l.jsx("button",{type:"button",className:`my-agent-type-pill${d===ue.id?" is-active":""}`,"aria-pressed":d===ue.id,onClick:()=>Oe(ue.id),children:ue.label},ue.id))}),l.jsxs("div",{className:"my-agent-type-actions",children:[Z?l.jsxs("button",{type:"button",className:"my-agent-create-secondary",onClick:r,children:[l.jsx(tpt,{}),l.jsx("span",{children:"接力"})]}):null,l.jsxs("button",{type:"button",className:"my-agent-create-primary",disabled:!Ge,title:ne,onClick:()=>Ge==null?void 0:Ge(),children:[l.jsx(cD,{}),l.jsx("span",{children:"创建智能体"})]})]})]}),l.jsxs("section",{className:"my-agent-results",ref:E,"aria-label":`${Ye}列表`,children:[dt?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载智能体"})]}):(d==="general"?F:q)&&Fe.length===0?l.jsxs("div",{className:"my-agent-empty",role:"alert",children:[l.jsx("p",{children:d==="general"?F:q}),l.jsx("button",{type:"button",onClick:()=>{d==="general"?he("",!0):Ee(d)},children:"重新加载"})]}):It?A.trim()?l.jsx("div",{className:"my-agent-empty-message",children:l.jsxs(Ti,{fill:"none",children:[l.jsx(Ti.Icon,{children:l.jsx(kke,{})}),l.jsx(Ti.Title,{children:"没有匹配的智能体"}),l.jsx(Ti.Description,{children:"请尝试搜索其他名称"})]})}):d!=="general"?l.jsx("div",{className:"my-agent-empty-message",children:l.jsxs(Ti,{fill:"none",children:[l.jsx(Ti.Icon,{children:l.jsx(npt,{type:d})}),l.jsxs(Ti.Title,{className:"my-agent-sandbox-empty-title",children:["暂无 ",Ye]}),t?l.jsx(Ti.ActionRow,{children:l.jsxs(kl,{color:"primary",size:"lg",onClick:()=>o(d),children:[l.jsx(cD,{}),"创建智能体"]})}):null]})}):l.jsx("div",{className:"my-agent-empty-message",children:l.jsxs(Ti,{fill:"none",children:[l.jsx(Ti.Icon,{children:l.jsx(gh,{})}),l.jsx(Ti.Title,{children:"暂无通用智能体"}),l.jsx(Ti.Description,{children:"创建一个通用智能体,开始构建和对话"}),t?l.jsx(Ti.ActionRow,{children:l.jsxs(kl,{color:"primary",size:"lg",onClick:()=>i(Ri(e)),children:[l.jsx(cD,{}),"创建智能体"]})}):null]})}):l.jsxs(l.Fragment,{children:[d==="general"&&F?l.jsxs("div",{className:"my-agent-inline-error",role:"alert",children:[l.jsx("span",{children:F}),l.jsx("button",{type:"button",onClick:()=>void he("",!0),children:"重新加载"})]}):null,l.jsx("div",{className:"my-agent-grid",children:Fe.map(ue=>{var be;return l.jsx(opt,{agent:ue,cloudProvider:e,deploymentTask:De(ue),nowMs:ee,onViewDeploymentTask:v,onUse:Le,onViewDetails:V=>{V.sandbox?u(V.sandbox):a(V)},connecting:ue.id===fe,connected:((be=ue.runtime)==null?void 0:be.runtimeId)===p,showOwnership:n==="all",onEditDraft:x,onDeleteDraft:K},ue.id)})})]}),d==="general"&&!F&&!dt&&(Fe.length>0||!!I)&&l.jsx("div",{className:"my-agent-load-more",ref:S,"aria-live":"polite",children:j?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多智能体"})]}):I?l.jsx("span",{children:"继续下滑加载更多"}):l.jsx("span",{children:"已加载全部智能体"})})]}),ce?l.jsx(cc,{title:"删除草稿?",description:`删除后将无法恢复“${ce.draft.name||"未命名 Agent"}”。`,confirmLabel:"删除草稿",variant:"danger",onCancel:()=>K(null),onConfirm:()=>{w==null||w(ce),K(null)}}):null]})}function cpt(e){return e==="127.0.0.1"}const upt={id:"coding-agents",kind:"coding-agent",category:"development",icon:"coding-agents",name:"配置 Coding Agents",badge:"本地",badgeTone:"success",description:"将 VeADK 和 AgentKit 内置 Skills 全局配置到 Trae、Claude Code 或 Codex。"},dpt={id:"feishu",kind:"feishu",category:"channels",icon:"feishu",name:"飞书机器人",badge:"Beta",description:"创建飞书机器人,并将消息直接接入 AgentKit Runtime。"},fpt="https://api.github.com",hpt=/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/,$Y=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,199}$/,ppt=/^[A-Za-z0-9._/-]+$/;function mpt(e,t,n){return e===401||e===403?"GitHub Token 无效或没有仓库写入权限":e===404?"仓库、分支或文件不存在,或 Token 无权访问":e===422?"GitHub 拒绝了提交,请检查分支和文件状态":String((t==null?void 0:t.message)||"").split(n).join("***").trim().slice(0,240)||`GitHub 请求失败(HTTP ${e})`}async function tp(e,t){const n={Accept:"application/vnd.github+json",Authorization:`Bearer ${t.token}`,"X-GitHub-Api-Version":"2022-11-28"};t.body&&(n["Content-Type"]="application/json");let i;try{i=await fetch(`${fpt}${e}`,{method:t.method||"GET",headers:n,body:t.body?JSON.stringify(t.body):void 0,signal:t.signal})}catch(s){throw t.signal.aborted?s:new Error("连接 GitHub 失败,请检查网络后重试")}const r=await i.json().catch(()=>null);if(!t.expected.includes(i.status))throw new Error(mpt(i.status,r,t.token));return{status:i.status,payload:r}}function uD(e){return e.split("/").map(encodeURIComponent).join("/")}function gpt(e){const t=new TextEncoder().encode(e);let n="";const i=32768;for(let r=0;r({...h,path:MQ(h.path,"")})),s=AbortSignal.any([t,AbortSignal.timeout(6e4)]),a=`/repos/${n}`;await tp(`${a}`,{token:e.token,expected:[200],signal:s});const c=(f=(await tp(`${a}/git/ref/heads/${uD(i)}`,{token:e.token,expected:[200],signal:s})).payload.object)==null?void 0:f.sha;if(!c)throw new Error("目标分支缺少有效 Git SHA");const u=bpt(e.branchPrefix);await tp(`${a}/git/refs`,{token:e.token,expected:[201],signal:s,method:"POST",body:{ref:`refs/heads/${u}`,sha:c}});let d=!0;try{for(const p of r){const b=uD(p.path),g=await tp(`${a}/contents/${b}?ref=${encodeURIComponent(i)}`,{token:e.token,expected:[200,404],signal:s});if(p.mustBeNew&&g.status===200)throw new Error(`目标仓库中已存在 ${p.path},未覆盖现有文件`);if(g.status===200&&!g.payload.sha)throw new Error(`目标路径 ${p.path} 不是可更新的文件`);await tp(`${a}/contents/${b}`,{token:e.token,expected:[200,201],signal:s,method:"PUT",body:{message:p.commitMessage,content:gpt(p.content),branch:u,...g.payload.sha?{sha:g.payload.sha}:{}}})}const h=await tp(`${a}/pulls`,{token:e.token,expected:[201],signal:s,method:"POST",body:{title:e.title,head:u,base:i,body:e.description}});if(!h.payload.number||!h.payload.html_url)throw new Error("GitHub 未返回有效的 Pull Request");return d=!1,{number:h.payload.number,url:h.payload.html_url,branch:u}}finally{d&&await tp(`${a}/git/refs/heads/${uD(u)}`,{token:e.token,expected:[204],signal:AbortSignal.timeout(15e3),method:"DELETE"}).catch(()=>{})}}const $Q={name:"repository",label:"GitHub Repo",placeholder:"owner/repository",help:"支持 owner/repository 或完整 github.com URL",required:!0},QQ={name:"baseBranch",label:"目标分支",placeholder:"main",help:"留空时使用 main,PR 将以此分支为 base",required:!1},pge={name:"runtimeName",label:"Runtime 名称",placeholder:"support-agent",help:"用于 AgentKit 发布配置",required:!0},mge={name:"runtimeId",label:"Runtime ID",placeholder:"rt-xxxxxxxx",help:"持续更新的目标 AgentKit Runtime",required:!0};function BQ(e={}){return{repository:"",baseBranch:"main",projectPath:".",runtimeName:"",runtimeId:"",sandboxToolId:"",modelName:"",modelBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3",region:"cn-beijing",token:"",...e}}function FQ(e){return{repository:e.repository.trim(),baseBranch:e.baseBranch.trim()||"main",region:e.region,token:e.token.trim()}}const Opt=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/,ypt=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/;function xpt(e){if(!Opt.test(e.sandboxToolId))throw new Error("Sandbox Tool ID 格式不正确");if(!ypt.test(e.modelName))throw new Error("模型名称格式不正确");let t;try{t=new URL(e.modelBaseUrl)}catch{throw new Error("模型 API 地址必须是安全的 HTTPS URL")}if(t.protocol!=="https:"||!t.hostname||t.username||t.password||t.search||t.hash)throw new Error("模型 API 地址必须是安全的 HTTPS URL")}function vpt(e){xpt(e);const t=String.raw`name: PR Automated Review +\`\`\``}function Pht({visible:e}){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.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"}),l.jsx("circle",{cx:"12",cy:"12",r:"2.4"}),!e&&l.jsx("path",{d:"m4.2 4.2 15.6 15.6"})]})}function PG({available:e,authType:t,value:n,visible:i,loading:r,error:s,onToggle:a}){return e?t==="none"?"无需 API Key":t==="custom_jwt"?"使用 OAuth / JWT":t!=="key_auth"?"暂无":l.jsxs("span",{className:"aw-integration-secret",children:[l.jsx("span",{className:"aw-integration-secret-value","aria-live":"polite",children:i&&n?n:"****"}),l.jsx("button",{type:"button",className:"aw-integration-secret-toggle","aria-label":i?"隐藏 API Key":"显示 API Key",title:i?"隐藏 API Key":"显示 API Key",disabled:r,onClick:a,children:r?l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}):l.jsx(Pht,{visible:i})}),s&&l.jsx("span",{className:"aw-integration-secret-error",role:"alert",children:s})]}):"暂无"}function MG({protocol:e,title:t,available:n,fields:i,example:r}){return l.jsxs("section",{className:`aw-integration-panel${n&&r?" has-example":""}`,id:`integration-${e}-panel`,role:"tabpanel","aria-labelledby":`integration-${e}-tab`,children:[l.jsx("header",{children:l.jsx("h3",{children:t})}),l.jsx("dl",{children:i.map(s=>l.jsxs("div",{children:[l.jsx("dt",{children:s.label}),l.jsx("dd",{children:s.value||"暂无"})]},s.label))}),n&&r&&l.jsxs("section",{className:"aw-integration-example",children:[l.jsx("h4",{children:"Python 示例"}),l.jsx(ku,{text:r,className:"aw-integration-example-code",allowRawHtml:!1})]})]})}function Mht(e,t,n){var i;return n4({appName:((i=e==null?void 0:e.appName)==null?void 0:i.trim())||t,name:e==null?void 0:e.name,description:e==null?void 0:e.description,type:e==null?void 0:e.type,model:e==null?void 0:e.model,tools:e==null?void 0:e.tools,skills:e==null?void 0:e.skills,graph:e==null?void 0:e.graph,draft:e==null?void 0:e.draft},n)}function Ege(e){return e?1+e.children.reduce((t,n)=>t+Ege(n),0):1}function kge(e){return 1+e.subAgents.reduce((t,n)=>t+kge(n),0)}function l5(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 Lht(e){const t=l5(e);return t?new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"时间未知"}function $ht(e){return typeof e.score!="number"||!Number.isFinite(e.score)?"—":`${Math.round(e.score*100)} 分`}function Qht(e){return e==="high"?"高":e==="medium"?"中":"低"}const Bht={agent_structure:"Agent 结构",prompt:"提示词",tool:"工具",knowledge:"知识库",memory:"记忆",workflow:"工作流",other:"其他"};function Fht(e){var t;return e.module==="other"?((t=e.customModule)==null?void 0:t.trim())||"其他":Bht[e.module]}function Uht(e,t){return e.find(n=>n.kind===t)}function LG(e){return e.items.map(t=>({...t,tag:t.kind==="good"?"Good case":"Bad case"})).sort((t,n)=>l5(n.createdAt)-l5(t.createdAt))}function zht(e){const t=n=>[n.name,n.description,n.agentType??"llm",n.modelName??"",n.tools??[],n.builtinTools??[],(n.customTools??[]).map(i=>i.name),(n.mcpTools??[]).map(i=>i.name),n.skills??[],(n.selectedSkills??[]).map(i=>i.name),(n.subAgents??[]).map(t)];return JSON.stringify(t(e))}const jk=[{phase:"prepare",label:"准备部署",description:"校验配置并创建部署任务"},{phase:"build",label:"构建镜像",description:"生成运行环境与智能体代码"},{phase:"deploy",label:"部署服务",description:"创建并启动 AgentKit Runtime"},{phase:"publish",label:"发布服务",description:"等待服务就绪并生成访问地址"},{phase:"complete",label:"部署完成",description:"智能体已可以正常使用"}],Vht={phase:"evaluation",label:"创建评测集",description:"自动创建 Good Case 和 Bad Case 评测集"},qht={phase:"github",label:"挂载 GitHub 持续交付",description:"初始化目标分支与 GitHub Actions workflow"};function Xht(e){return{phase:"update",label:"更新实例配置",description:`将 Runtime 实例数调整为 ${e.min}~${e.max}`}}const Hht=jk.findIndex(e=>e.phase==="build");function Tge(e){const t=[...jk.slice(0,-1)];return e.instanceRange&&t.push(Xht(e.instanceRange)),e.createEvaluationSets&&t.push(Vht),e.githubDelivery&&t.push(qht),t.push(jk[jk.length-1]),t}function _ge(e){const t=Tge(e);if(e.status==="success")return t.length-1;const n=e.phase??{准备部署:"prepare",构建镜像:"build",部署:"deploy",发布:"publish",创建评测集:"evaluation","挂载 GitHub 持续交付":"github",部署完成:"complete"}[e.label],i=t.findIndex(r=>r.phase===n);return i<0?0:i}function Ght(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 Age({log:e,autoExpand:t,title:n,ariaLabel:i,copyLabel:r,defaultPendingMessage:s}){const a=m.useRef(null),o=!!((e==null?void 0:e.status)!=="complete"&&t),[c,u]=m.useState(o),[d,f]=m.useState(!1),h=!!(e!=null&&e.text||e!=null&&e.error),p=(e==null?void 0:e.text)||(e==null?void 0:e.error)||"",b=p.split(` +`),g=c?p:b.slice(-36).join(` +`),O=(e==null?void 0:e.pendingMessage)||s;if(m.useEffect(()=>{e&&u(o)},[e==null?void 0:e.status,o]),m.useEffect(()=>{if(!c||!h)return;const S=a.current;S&&(S.scrollTop=S.scrollHeight)},[c,h,g]),!e||!e.text&&e.status!=="error"&&!e.pendingMessage)return null;const y=Ght(e.updatedAt),v=e.status==="complete"?"已同步":e.status==="error"?"读取失败":"同步中",x=e.omittedEarly?"已省略早期日志":e.snapshotTruncated?"仅显示最近的构建日志":e.truncated?"已省略部分日志":"",w=[v,e.lineCount?`${e.lineCount} 行`:"",x,y].filter(Boolean).join(" · ");async function E(){try{await navigator.clipboard.writeText(p),f(!0),window.setTimeout(()=>f(!1),1500)}catch{f(!1)}}return l.jsxs("section",{className:`aw-deploy-log is-${e.status}${c?"":" is-collapsed"}`,"aria-label":i,children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("strong",{children:n}),l.jsx("span",{children:w})]}),l.jsxs("div",{className:"aw-deploy-log-actions",children:[h&&l.jsx("button",{type:"button",onClick:()=>u(S=>!S),children:c?"收起":"展开"}),h&&l.jsxs("button",{type:"button",onClick:()=>void E(),"aria-label":d?`已复制${r}`:`复制${r}`,title:d?"已复制":`复制${r}`,children:[d?l.jsx(Nu,{"aria-hidden":!0}):l.jsx(EA,{"aria-hidden":!0}),l.jsx("span",{children:d?"已复制":"复制"})]})]})]}),c&&(h?l.jsx("pre",{ref:a,children:g}):l.jsx("div",{className:"aw-deploy-log-empty",children:O}))]})}function Yht({task:e}){var t;return l.jsx(Age,{log:e.buildLog,autoExpand:((t=e.buildLog)==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&_ge(e)===Hht,title:"构建日志",ariaLabel:"构建日志",copyLabel:"构建日志",defaultPendingMessage:"正在等待构建日志…"})}function Wht({task:e}){var t;return l.jsx(Age,{log:e.githubLog,autoExpand:((t=e.githubLog)==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&e.phase==="github",title:"GitHub 挂载日志",ariaLabel:"GitHub 持续交付挂载日志",copyLabel:"GitHub 挂载日志",defaultPendingMessage:"正在等待 GitHub 挂载日志…"})}function Zht({task:e,onReturnToEdit:t}){const n=Tge(e),i=_ge(e),r=e.status==="success"?100:Math.max(6,Math.min(100,e.pct??6)),s=e.status==="running"?"正在部署":e.status==="success"?"部署完成":e.status==="error"?"部署失败":"部署已取消";return l.jsxs("section",{className:`aw-deploy-progress-card is-${e.status}`,"aria-live":"polite",children:[l.jsxs("div",{className:"aw-deploy-progress-head",children:[l.jsxs("div",{children:[l.jsx("span",{className:"aw-deploy-progress-icon","aria-hidden":!0,children:e.status==="running"?l.jsx(Hn,{className:"spin"}):e.status==="success"?l.jsx(Kke,{}):e.status==="error"?l.jsx(Tte,{}):l.jsx(G7,{})}),l.jsxs("div",{children:[l.jsx("h3",{children:s}),l.jsx("p",{children:e.runtimeName})]})]}),l.jsx("strong",{children:e.status==="running"?`${Math.round(r)}%`:e.label})]}),l.jsx("div",{className:"aw-deploy-progress-track",role:"progressbar","aria-label":"部署进度","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(r),children:l.jsx("span",{style:{width:`${r}%`}})}),l.jsx("ol",{className:"aw-deploy-steps",children:n.map((a,o)=>{const c=e.status==="success"||onew Set),[ui,Re]=m.useState(()=>new Set),[rt,Dt]=m.useState(!1),[Yt,cn]=m.useState(""),[Zt,ni]=m.useState(null),[oi,Ui]=m.useState([]),[le,Qe]=m.useState([]),[lt,Ot]=m.useState(!1),[En,li]=m.useState(""),[Wn,di]=m.useState(""),[Pn,fi]=m.useState(0),[Yi,Wi]=m.useState([]),[gr,vn]=m.useState(!1),[Zi,ji]=m.useState(""),[Si,zi]=m.useState(0),[qr,ua]=m.useState(null),[Ir,Os]=m.useState(1),[Ar,Ns]=m.useState(!1),[ii,Xs]=m.useState(""),[Lc,Xa]=m.useState(0),[Ki,Xl]=m.useState(!1),[Eo,da]=m.useState(()=>new Set),[Ha,Ca]=m.useState(!1),[Xr,Hs]=m.useState(""),[Ji,Gs]=m.useState(""),[hi,ss]=m.useState(()=>new Set),Dr=m.useRef(!1),br=m.useRef(""),fa=m.useRef(null),Hr=m.useRef(0),bn=m.useRef(0),ys=m.useRef(0),[ko,Na]=m.useState(_ht),[as,ll]=m.useState("");m.useEffect(()=>{e.length!==0&&Na(H=>H.map((he,Ee)=>Ee===0&&he.agentIds.length===0?{...he,agentIds:e.slice(0,2).map(Ve=>Ve.id)}:he))},[e]);const or=m.useMemo(()=>{const H=new Map;for(const he of e)he.runtimeId&&H.set(he.runtimeId,he);return H},[e]),js=m.useMemo(()=>{var he;const H=new Map;for(const Ee of t){const Ve=(he=Ee.deploymentTarget)==null?void 0:he.runtimeId;if(!Ve||!or.has(Ve))continue;const wt=H.get(Ve);(!wt||Ee.updatedAt>wt.updatedAt)&&H.set(Ve,Ee)}return H},[or,t]),Ga=m.useMemo(()=>{const H=new Map;for(const he of f){if(!he.runtimeId)continue;const Ee=H.get(he.runtimeId);(!Ee||he.startedAt>Ee.startedAt)&&H.set(he.runtimeId,he)}return H},[f]),cl=m.useMemo(()=>{const H=Be.trim().toLowerCase();return H?e.filter(he=>{const Ee=he.runtimeId?js.get(he.runtimeId):void 0,Ve=he.runtimeId?Ga.get(he.runtimeId):void 0;return[he.label,he.app,he.host??"",(Ee==null?void 0:Ee.draft.name)??"",(Ee==null?void 0:Ee.draft.description)??"",(Ve==null?void 0:Ve.runtimeName)??""].join(" ").toLowerCase().includes(H)}):e},[e,Ga,Be,js]),Ys=m.useMemo(()=>{const H=Be.trim().toLowerCase();return t.filter(he=>{var Ve;const Ee=(Ve=he.deploymentTarget)==null?void 0:Ve.runtimeId;return Ee&&or.has(Ee)?!1:H?`${he.draft.name} ${he.draft.description}`.toLowerCase().includes(H):!0})},[or,t,Be]),ul=m.useMemo(()=>t.filter(H=>{var Ee;const he=(Ee=H.deploymentTarget)==null?void 0:Ee.runtimeId;return!he||!or.has(he)}).length,[or,t]),$c=m.useMemo(()=>{const H=Be.trim().toLowerCase();return H?ko.filter(he=>he.name.toLowerCase().includes(H)):ko},[ko,Be]),ae=e.find(H=>H.id===F),kn=t.find(H=>H.id===M),Zn=h?f.find(H=>H.id===h):void 0,To=ae!=null&&ae.runtimeId?js.get(ae.runtimeId):void 0,Cn=y?Tt:F&&r===F?i:null,Kn=(Cn==null?void 0:Cn.appName)||(ae==null?void 0:ae.runtimeApp)||(ae==null?void 0:ae.app)||"",ha=c&&(ae!=null&&ae.runtimeId)?RG:RG.filter(H=>H.id!=="usage"),_o=JSON.stringify([(ae==null?void 0:ae.runtimeId)??"",(ae==null?void 0:ae.region)??"cn-beijing",Kn,Ir]),Ei=(qr==null?void 0:qr.requestKey)===_o?qr.value:null,xs=`${(ae==null?void 0:ae.region)??"cn-beijing"}:${(ae==null?void 0:ae.runtimeId)??""}`,Ya=(Ie==null?void 0:Ie.requestKey)===xs?Ie.value:"",bi=(V==null?void 0:V.requestKey)===xs?V:null,Rs=!!((xw=bi==null?void 0:bi.apiApps)!=null&&xw.length),te=!!(bi!=null&&bi.a2a),Pe=((cf=bi==null?void 0:bi.apiApps)==null?void 0:cf[0])??Kn,st=(q==null?void 0:q.endpoint)??"",Ut=jht(((Wm=bi==null?void 0:bi.a2a)==null?void 0:Wm.endpoint)??"",st),Wt=JSON.stringify([(ae==null?void 0:ae.runtimeId)??"",(ae==null?void 0:ae.region)??"",Kn]),gn=(z==null?void 0:z.requestKey)===Wt?z.value:null;m.useEffect(()=>{const H=Hr.current+1;Hr.current=H,je(null),Xt("");const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"";if(!o||!he||!Ee){et(!1);return}const Ve=new AbortController;return et(!0),Dne({runtimeId:he,region:Ee,appName:Kn,signal:Ve.signal}).then(wt=>{var Rt,lr;if(H===Hr.current){if(wt.runtime.runtimeId!==he||wt.runtime.region!==Ee||Kn&&((Rt=wt.agent)==null?void 0:Rt.appName)!==Kn||wt.canUpdate&&!((lr=wt.agent)!=null&&lr.appName)){Xt("Runtime 更新能力响应与当前选择不匹配。");return}je({requestKey:Wt,value:wt})}}).catch(wt=>{H!==Hr.current||Ve.signal.aborted||Xt(wt instanceof Error?wt.message:"检查 Runtime 更新能力失败。")}).finally(()=>{H===Hr.current&&!Ve.signal.aborted&&et(!1)}),()=>Ve.abort()},[o,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeId,Kn,Wt]);const G=m.useMemo(()=>{const H=new Map(e.map((Ee,Ve)=>[Ee.id,Ve])),he=new Map(n.map((Ee,Ve)=>[Ee,Ve]));return[...cl].sort((Ee,Ve)=>{const wt=Ee.runtimeId?Ga.get(Ee.runtimeId):void 0,Rt=Ve.runtimeId?Ga.get(Ve.runtimeId):void 0,lr=(wt==null?void 0:wt.status)==="running"?wt.startedAt:0,Ao=(Rt==null?void 0:Rt.status)==="running"?Rt.startedAt:0;if(lr!==Ao)return Ao-lr;const Mt=he.get(Ee.id),Bc=he.get(Ve.id);return Mt!=null&&Bc!=null?Mt-Bc:Mt!=null?-1:Bc!=null?1:(H.get(Ee.id)??0)-(H.get(Ve.id)??0)})},[n,e,cl,Ga]),Ce=(ae==null?void 0:ae.label)||(Cn==null?void 0:Cn.name)||(kn==null?void 0:kn.draft.name)||(Zn==null?void 0:Zn.agentName)||((vw=Zn==null?void 0:Zn.agentDraft)==null?void 0:vw.name)||"未选择智能体",Ke=ko.find(H=>H.id===as),Nt=G.filter(H=>H.canDelete===!0),yt=G.filter(H=>mn.has(H.id)&&H.canDelete===!0),jt=Ys.filter(H=>ui.has(H.id)),Gt=Nt.length+Ys.length,ft=yt.length+jt.length,Pt=m.useMemo(()=>{var he;if(Zn!=null&&Zn.agentDraft)return Zn.agentDraft;if(kn!=null&&kn.draft)return kn.draft;const H=(he=ae==null?void 0:ae.region)!=null&&he.startsWith("ap-")?"byteplus":"volcengine";return gn!=null&&gn.agent?n4(gn.agent,H):Mht(Cn,Kn||(ae==null?void 0:ae.label)||"agent",H)},[Cn,Kn,ae==null?void 0:ae.label,ae==null?void 0:ae.region,kn==null?void 0:kn.draft,Zn==null?void 0:Zn.agentDraft,gn==null?void 0:gn.agent]),on=((CO=Cn==null?void 0:Cn.draft)==null?void 0:CO.harnessSidecar)??wht(q==null?void 0:q.envs),Ri=on?aC.filter(H=>on.componentOverrides[H]):[],vs=kn?a?"":"当前账号没有新建 Agent 的权限。":o?ae!=null&&ae.runtimeId?ae.region?We?"正在检查 Runtime 更新能力…":Jt||(gn?gn.canUpdate?(ww=gn.agent)!=null&&ww.appName?"":"Runtime 更新能力响应缺少智能体信息。":gn.reason||"当前 Runtime 不支持原地更新。":"尚未完成 Runtime 更新能力检查。"):"Runtime 缺少地域信息,无法更新。":"仅支持更新已部署的云端智能体。":"当前账号没有管理 Agent 的权限。",Hl="aw-update-disabled-reason",Xh=m.useMemo(()=>{if(Cn)return Cn.tools;const H=(Pt.builtinTools??[]).map(he=>{var Ee;return((Ee=Mm.find(Ve=>Ve.id===he))==null?void 0:Ee.label)??he});return Array.from(new Set([...Pt.tools,...H,...(Pt.customTools??[]).map(he=>he.name),...(Pt.mcpTools??[]).map(he=>he.name)].filter(Boolean)))},[Pt,Cn]),pa=m.useMemo(()=>Cn?Cn.skillsPreviewSupported?Cn.skills.map(H=>H.name):null:Array.from(new Set([...(Pt.selectedSkills??[]).map(H=>H.name),...Pt.skills].filter(Boolean))),[Pt,Cn]),pi=m.useMemo(()=>{if(Zn)return Zn;if(kn)return f.filter(H=>{var he,Ee;return((he=H.agentDraft)==null?void 0:he.name)===kn.draft.name||H.agentName===kn.draft.name||!!((Ee=kn.deploymentTarget)!=null&&Ee.runtimeId)&&H.runtimeId===kn.deploymentTarget.runtimeId}).sort((H,he)=>he.startedAt-H.startedAt)[0];if(ae)return f.filter(H=>!!ae.runtimeId&&H.runtimeId===ae.runtimeId||H.agentName===ae.label).sort((H,he)=>he.startedAt-H.startedAt)[0]},[f,ae,kn,Zn]),dl=!!(h&&pi&&pi.id===h),Gl=!!(pi&&(pi.status!=="success"||dl)),ki=(pi==null?void 0:pi.status)==="running",tn=pi!=null&&pi.draftId?t.find(H=>H.id===pi.draftId)??(pi.agentDraft?{id:pi.draftId,draft:pi.agentDraft,updatedAt:pi.startedAt}:void 0):void 0,Nn=m.useMemo(()=>zht(Pt),[Pt]),Or=(ae==null?void 0:ae.currentVersion)??(q==null?void 0:q.currentVersion)??null,er=Or??(Zn==null?void 0:Zn.startedAt)??"unknown",Yl=Cn?`runtime:${(ae==null?void 0:ae.runtimeId)??Cn.name}:v${er}:${Nn}`:`draft:${(Zn==null?void 0:Zn.id)??(kn==null?void 0:kn.id)??(ae==null?void 0:ae.id)??Ce}:${Nn}`;m.useEffect(()=>{j==="usage"&&!c&&I("basic")},[c,j]),m.useEffect(()=>{if(!h)return;const H=f.find(Ee=>Ee.id===h),he=H!=null&&H.runtimeId?or.get(H.runtimeId):void 0;if(he){Y(""),B(he.id),I("basic");return}B(""),Y(""),I("basic")},[or,f,h]),m.useEffect(()=>{if(!p){br.current="";return}const H=`${p}:${b}:${g}:${c}`;br.current!==H&&e.some(he=>he.id===p)&&(br.current=H,Y(""),B(p),I(b==="usage"&&!c?"basic":b),b==="evaluations"&&(At(g),Ze("")))},[e,c,p,b,g]),m.useEffect(()=>{for(const H of G.slice(0,8)){if(!H.runtimeId)continue;const he=H.region??"cn-beijing";Mne(H.runtimeId,he),fne(H.runtimeId,he,H.runtimeApp??"")}},[G]),m.useEffect(()=>{let H=!1;const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"cn-beijing",Ve=(ae==null?void 0:ae.runtimeApp)??"",wt=he?dne(he,Ee,Ve):null;if(vt(wt),ze(!!wt||!y||!he),!(!y||!he))return S$(he,Ee,Ve,{force:!0}).then(Rt=>{H||vt(Rt)}).catch(()=>{!H&&!wt&&vt(null)}).finally(()=>{H||ze(!0)}),()=>{H=!0}},[y,ae==null?void 0:ae.currentVersion,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeApp,ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{let H=!1;const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"cn-beijing";if(Wi([]),ji(""),j!=="optimizations"||!he){vn(!1);return}if(y&&!Kn){vn(!xe);return}return vn(!0),Jte({runtimeId:he,region:Ee,appName:Kn}).then(Ve=>{H||Wi(Ve.groups)}).catch(Ve=>{H||ji(Ve instanceof Error?Ve.message:String(Ve))}).finally(()=>{H||vn(!1)}),()=>{H=!0}},[xe,y,Si,j,Kn,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{Os(1)},[ae==null?void 0:ae.runtimeId,Kn]),m.useEffect(()=>{const H=ys.current+1;ys.current=H;const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"cn-beijing",Ve=Kn;if(Xs(""),j!=="usage"||!he){Ns(!1);return}if(!Ve){Ns(y&&!xe);return}const wt=new AbortController;return Ns(!0),Nne({runtimeId:he,region:Ee,appName:Ve,page:Ir,pageSize:Aht,signal:wt.signal}).then(Rt=>{if(H===ys.current){if(Rt.runtimeId!==he||Rt.appName!==Ve||Rt.page!==Ir){Xs("用量响应与当前 Agent 不匹配,请重试。");return}ua({requestKey:_o,value:Rt})}}).catch(Rt=>{H!==ys.current||wt.signal.aborted||Xs(Rt instanceof Error?Rt.message:"加载 Agent 用量失败。")}).finally(()=>{H===ys.current&&Ns(!1)}),()=>{wt.abort()}},[Ir,Lc,_o,xe,y,j,Kn,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{bn.current+=1,De(null),Se(!1),Le(!1),Te(""),Ne("api-server")},[xs,j]);function yr(){bn.current+=1,De(null),Se(!1),Le(!1),Te("")}function Hh(H){H!==ve&&(yr(),Ne(H))}async function mw(){if(pe){yr();return}const H=(ae==null?void 0:ae.runtimeId)??"",he=(ae==null?void 0:ae.region)??"cn-beijing";if(!H)return;const Ee=bn.current+1;bn.current=Ee,Le(!0),Te("");try{const Ve=await Rne(H,he);if(Ee!==bn.current)return;De({requestKey:xs,value:Ve}),Se(!0)}catch(Ve){if(Ee!==bn.current)return;De(null),Se(!1),Te(Ve instanceof Error?Ve.message:"读取 Runtime API Key 失败。")}finally{Ee===bn.current&&Le(!1)}}m.useEffect(()=>{let H=!1;const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"cn-beijing",Ve=he?Pne(he,Ee):null;if(U(Ve),!!he)return A$(he,Ee,{force:!0}).then(wt=>{H||U(wt)}).catch(()=>{!H&&!Ve&&U(null)}),()=>{H=!0}},[ae==null?void 0:ae.currentVersion,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{let H=!1;const he=(ae==null?void 0:ae.runtimeId)??"";if(ie(""),j!=="versions"||!he){Ye(!1),he||ot(null);return}return Ye(!0),GE(he).then(Ee=>{H||ot(Ee)}).catch(Ee=>{H||(ot(null),ie(Ee instanceof Error?Ee.message:"读取 GitHub 版本失败。"))}).finally(()=>{H||Ye(!1)}),()=>{H=!0}},[j,ae==null?void 0:ae.currentVersion,ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{let H=!1;const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"cn-beijing",Ve=`${Ee}:${he}`;if(K(""),j!=="integrations"||!he){be(!1),he||re(null);return}be(!0);const wt=_$(he,Ee,{retryProbe:!0}).catch(Rt=>{if(Rt instanceof Qa&&Rt.unsupported)return null;throw Rt});return Promise.all([wt,jne(he,Ee,{retryProbe:!0})]).then(([Rt,lr])=>{H||re({requestKey:Ve,apiApps:Rt,a2a:lr})}).catch(Rt=>{H||(re(null),K(Rt instanceof Error?Rt.message:"探测集成方式失败。"))}).finally(()=>{H||be(!1)}),()=>{H=!0}},[ee,j,ae==null?void 0:ae.currentVersion,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{let H=!1;const he=(ae==null?void 0:ae.runtimeId)??"",Ee=(ae==null?void 0:ae.region)??"cn-beijing",Ve=he&&Kn?ene({runtimeId:he,region:Ee,appName:Kn,pageSize:100}):null;if(Ui(Ve?LG(Ve):[]),Qe((Ve==null?void 0:Ve.sets)??[]),li(""),di((Ve==null?void 0:Ve.unsupportedMessage)??""),j!=="evaluations"||!he){Ot(!1);return}if(y&&!Kn){Ot(!xe);return}return Ot(!Ve),RA({runtimeId:he,region:Ee,appName:Kn,pageSize:100},{force:!0}).then(wt=>{H||(Qe(wt.sets),Ui(LG(wt)),di(wt.unsupportedMessage??""))}).catch(wt=>{H||(li(wt instanceof Error?wt.message:String(wt)),di(""))}).finally(()=>{H||Ot(!1)}),()=>{H=!0}},[xe,y,Pn,j,Kn,Cn==null?void 0:Cn.appName,ae==null?void 0:ae.region,ae==null?void 0:ae.runtimeId]);async function gw(H){const he=(ae==null?void 0:ae.runtimeId)??"",Ee=H.commitSha??"";if(!(!he||!Ee||ue)){ye(Ee),ie("");try{await wne({runtimeId:he,targetCommitSha:Ee});const Ve=await GE(he);ot(Ve)}catch(Ve){ie(Ve instanceof Error?Ve.message:"回退版本失败。")}finally{ye("")}}}m.useEffect(()=>{const H=new Set(oi.map(he=>he.id));da(he=>{const Ee=new Set([...he].filter(Ve=>H.has(Ve)));return Ee.size===he.size?he:Ee}),ss(he=>{const Ee=new Set([...he].filter(Ve=>H.has(Ve)));return Ee.size===he.size?he:Ee}),Ji&&!H.has(Ji)&&Gs("")},[oi,Ji]),m.useEffect(()=>{Xl(!1),da(new Set),ss(new Set),Hs(""),Gs("")},[ae==null?void 0:ae.runtimeId]),m.useEffect(()=>{const H=new Set(G.filter(he=>he.canDelete===!0).map(he=>he.id));en(he=>{const Ee=new Set([...he].filter(Ve=>H.has(Ve)));return Ee.size===he.size?he:Ee})},[G]),m.useEffect(()=>{const H=new Set(Ys.map(he=>he.id));Re(he=>{const Ee=new Set([...he].filter(Ve=>H.has(Ve)));return Ee.size===he.size?he:Ee})},[Ys]);const af=m.useMemo(()=>!O||!(ae!=null&&ae.runtimeId)||O.runtimeId!==ae.runtimeId||Kn&&O.agentName&&O.agentName!==Kn?null:{...O,tag:O.kind==="good"?"Good case":"Bad case"},[O,ae==null?void 0:ae.runtimeId,Kn]),Gh=m.useMemo(()=>ae!=null&&ae.runtimeId?af?[af,...oi.filter(H=>H.id!==af.id&&(!H.messageId||H.messageId!==af.messageId))]:oi:Tht,[oi,af,ae==null?void 0:ae.runtimeId]),of=Gh.filter(H=>{if(H.kind!==mt||(H.source==="auto"?"auto":"user")!==Ct)return!1;const Ee=_e.trim().toLowerCase();return Ee?[H.input,H.output,H.referenceOutput,H.comment,H.tag??"",H.sessionId,H.messageId,H.userId,H.evaluationSetName].join(" ").toLowerCase().includes(Ee):!0}),lf=of.filter(H=>Eo.has(H.id)),Yh=!!(ae!=null&&ae.runtimeId),bw=H=>{At(H),Ze(""),Hs("");const he=Gh.find(Ee=>Ee.kind===H);Gs((he==null?void 0:he.id)??""),window.setTimeout(()=>{var Ee;(Ee=fa.current)==null||Ee.scrollIntoView({behavior:"smooth",block:"start"})},0)},Ow=H=>{Hs(""),da(he=>{const Ee=new Set(he);return Ee.has(H.id)?Ee.delete(H.id):Ee.add(H.id),Ee})},dt=()=>{Hs(""),da(new Set(of.map(H=>H.id)))},Hm=()=>{Hs(""),da(new Set),Xl(!1)},TO=H=>{ss(he=>{const Ee=new Set(he);return Ee.has(H)?Ee.delete(H):Ee.add(H),Ee})},Gm=H=>{Gs(H.id),Hs(""),!(!H.sessionId||!H.messageId)&&(C==null||C(H))},Ii=async H=>{if(!(ae!=null&&ae.runtimeId)||!Kn||Ha||H.length===0)return;const he=H.length===1?"确定删除这条反馈案例?原始聊天记录不会被删除。":`确定删除选中的 ${H.length} 条反馈案例?原始聊天记录不会被删除。`;if(!window.confirm(he))return;const Ee=H.map(wt=>wt.id),Ve=new Set(Ee);Ca(!0),Hs("");try{await ine({runtimeId:ae.runtimeId,region:ae.region??"cn-beijing",appName:Kn,itemIds:Ee});const wt=new Map;for(const Rt of H)wt.set(Rt.kind,(wt.get(Rt.kind)??0)+1);Ui(Rt=>Rt.filter(lr=>!Ve.has(lr.id))),Qe(Rt=>Rt.map(lr=>({...lr,itemCount:Math.max(0,lr.itemCount-(wt.get(lr.kind)??0))}))),da(Rt=>new Set([...Rt].filter(lr=>!Ve.has(lr)))),ss(Rt=>new Set([...Rt].filter(lr=>!Ve.has(lr)))),Ji&&Ve.has(Ji)&&Gs(""),H.length>1&&Xl(!1),A==null||A(H)}catch(wt){Hs(wt instanceof Error?wt.message:String(wt))}finally{Ca(!1)}},Qu=H=>{Na(he=>he.map(Ee=>Ee.id===H.id?H:Ee))},_O=()=>{const H=new Set(e.map(Ve=>Ve.id)),he=n.filter(Ve=>H.has(Ve)),Ee=new Set(he);return[...he,...e.filter(Ve=>!Ee.has(Ve.id)).map(Ve=>Ve.id)]},AO=(H,he,Ee)=>{if(!w||H===he)return;const Ve=_O().filter(lr=>lr!==H),wt=Ve.indexOf(he),Rt=wt<0?Ve.length:Ee==="after"?wt+1:wt;Ve.splice(Rt,0,H),w(Ve)},yw=(H,he)=>{if(!tt||tt===he)return;const Ee=H.currentTarget.getBoundingClientRect();zt(he),Ae(H.clientY>Ee.top+Ee.height/2?"after":"before")},Qc=(H,he)=>{if(!w)return;const Ee=_O(),Ve=Ee.indexOf(H),wt=Math.max(0,Math.min(Ee.length-1,Ve+he));Ve<0||Ve===wt||(Ee.splice(Ve,1),Ee.splice(wt,0,H),w(Ee))},wC=H=>{H.canDelete===!0&&(cn(""),en(he=>{const Ee=new Set(he);return Ee.has(H.id)?Ee.delete(H.id):Ee.add(H.id),Ee}))},Wh=H=>{cn(""),Re(he=>{const Ee=new Set(he);return Ee.has(H.id)?Ee.delete(H.id):Ee.add(H.id),Ee})},SC=()=>{cn(""),en(new Set(Nt.map(H=>H.id))),Re(new Set(Ys.map(H=>H.id)))},jn=()=>{cn(""),en(new Set),Re(new Set),Ft(!1)},EC=()=>{if(ft===0||rt)return;const H=yt.length,he=jt.length;cn(""),ni({kind:"selection",title:H===1&&he===0?"删除 Agent?":H===0&&he===1?"删除草稿?":"删除所选项目?",description:H===1&&he===0?`"${yt[0].label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`:H===0&&he===1?`"${jt[0].draft.name||"未命名 Agent"}" 将从本地草稿中删除。`:`将删除选中的 ${ft} 个项目。${H>0?`${H} 个云端 Runtime 将被永久删除,此操作不可撤销。`:"草稿删除后无法恢复。"}`,confirmLabel:H===0&&he===1?"删除草稿":"删除所选",agents:yt,drafts:jt})},kC=async()=>{if(!(!Zt||rt)){Dt(!0),cn("");try{if(Zt.kind==="selection"){const{agents:H,drafts:he}=Zt;if(H.length>0){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E(H)}he.length>0&&(S==null||S(he)),en(new Set),Re(new Set),Ft(!1),H.some(Ee=>Ee.id===F)&&B(""),he.some(Ee=>Ee.id===M)&&Y("")}else if(Zt.kind==="agent"){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E([Zt.agent]),F===Zt.agent.id&&B("")}else{if(!S)throw new Error("当前页面不支持删除草稿。");S([Zt.draft]),M===Zt.draft.id&&Y("")}ni(null)}catch(H){cn(H instanceof Error?H.message:String(H))}finally{Dt(!1)}}},TC=H=>{!E||H.canDelete!==!0||rt||(cn(""),ni({kind:"agent",title:"删除 Agent?",description:`"${H.label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`,confirmLabel:"删除 Agent",agent:H}))},_C=H=>{if(!S||rt)return;const he=H.draft.name||"未命名 Agent";cn(""),ni({kind:"draft",title:"删除草稿?",description:`"${he}" 将从本地草稿中删除。`,confirmLabel:"删除草稿",draft:H})},AC=()=>{const H=`eval-${Date.now()}`,he={id:H,name:`新评测组 ${ko.length+1}`,agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量"],concurrency:"4",history:[]};Na(Ee=>[he,...Ee]),ll(H)},Ym=H=>{Qu({...H,history:[{id:`run-${Date.now()}`,createdAt:"刚刚",score:86+H.history.length%7,status:"completed"},...H.history]})};return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:`aw-root${y?" is-detail-only":""}`,children:[l.jsxs("nav",{className:"aw-view-tabs","aria-label":"智能体工作台",children:[l.jsx("button",{type:"button",className:D==="library"?"is-active":"","aria-pressed":D==="library",onClick:()=>{$("library"),bt("")},children:"智能体库"}),l.jsx("button",{type:"button",className:D==="evaluation"?"is-active":"","aria-pressed":D==="evaluation",onClick:()=>{$("evaluation"),bt("")},children:"评测"})]}),l.jsxs("div",{className:"aw-workspace-frame",children:[l.jsxs("div",{className:"aw-workspace","aria-hidden":D==="evaluation"||void 0,ref:H=>{H==null||H.toggleAttribute("inert",D==="evaluation")},children:[l.jsxs("aside",{className:"aw-sidebar","aria-label":D==="library"?"智能体列表":"评测组列表",children:[l.jsxs("label",{className:"aw-search",children:[l.jsx(xT,{"aria-hidden":!0}),l.jsx("input",{value:Be,onChange:H=>bt(H.currentTarget.value),placeholder:D==="library"?"搜索智能体":"搜索评测组","aria-label":D==="library"?"搜索智能体":"搜索评测组"})]}),l.jsxs("button",{type:"button",className:"aw-create-card",onClick:D==="library"?N:AC,disabled:D==="library"&&!a,children:[l.jsx(wa,{"aria-hidden":!0}),l.jsx("span",{children:D==="library"?"新建 Agent":"新建评测组"})]}),D==="library"&&(E||S)&&l.jsx("div",{className:`aw-selection-toolbar${Ge?" is-active":""}`,children:Ge?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"aw-selection-count",children:["已选 ",ft," 个"]}),l.jsx("button",{type:"button",onClick:SC,disabled:Gt===0||rt,children:"全选"}),l.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void EC(),disabled:ft===0||rt,children:rt?"删除中…":"删除所选"}),l.jsx("button",{type:"button",onClick:jn,disabled:rt,children:"取消"})]}):l.jsx("button",{type:"button",onClick:()=>{cn(""),Ft(!0)},disabled:Gt===0,children:"选择"})}),D==="library"&&Yt&&l.jsx("div",{className:"aw-delete-error",role:"alert",children:Yt}),l.jsx("div",{className:"aw-agent-list",children:D==="evaluation"?$c.length===0?l.jsx("div",{className:"aw-list-empty",children:"没有匹配的评测组"}):$c.map(H=>l.jsxs("button",{type:"button",className:`aw-agent-item${H.id===as?" is-active":""}`,onClick:()=>ll(H.id),children:[l.jsxs("span",{className:"aw-agent-copy aw-eval-group-copy",children:[l.jsx("strong",{children:H.name}),l.jsxs("small",{children:[H.agentIds.length," 个智能体 · ",H.history.length," 次运行"]})]}),l.jsx(fx,{"aria-hidden":!0})]},H.id)):u&&G.length===0&&Ys.length===0?l.jsx("div",{className:"aw-list-empty",children:"正在读取云端智能体…"}):d&&G.length===0&&Ys.length===0?l.jsxs("div",{className:"aw-list-empty aw-list-error",children:[l.jsx("span",{children:d}),x&&l.jsx("button",{type:"button",onClick:x,children:"重试"})]}):G.length===0&&Ys.length===0?l.jsx("div",{className:"aw-list-empty",children:"没有匹配的智能体"}):l.jsxs(l.Fragment,{children:[Ys.map(H=>{const he=f.filter(Ve=>{var wt,Rt;return((wt=Ve.agentDraft)==null?void 0:wt.name)===H.draft.name||Ve.agentName===H.draft.name||!!((Rt=H.deploymentTarget)!=null&&Rt.runtimeId)&&Ve.runtimeId===H.deploymentTarget.runtimeId}).sort((Ve,wt)=>wt.startedAt-Ve.startedAt)[0],Ee=ui.has(H.id);return l.jsxs("button",{type:"button",className:["aw-agent-item",Ge?"is-selecting":"",Ee?"is-selected-for-delete":"",H.id===M?"is-active":""].filter(Boolean).join(" "),"aria-pressed":Ge?Ee:void 0,onClick:()=>{if(Ge){Wh(H);return}B(""),Y(H.id),I("basic")},children:[Ge&&l.jsx("span",{className:`aw-select-marker${Ee?" is-checked":""}`,"aria-hidden":"true"}),l.jsxs("span",{className:"aw-agent-copy",children:[l.jsxs("span",{className:"aw-agent-name-row",children:[l.jsx("strong",{children:H.draft.name||"未命名 Agent"}),l.jsx("span",{className:`aw-draft-badge${(he==null?void 0:he.status)==="running"?" is-deploying":""}`,children:(he==null?void 0:he.status)==="running"?"部署中":"草稿"})]}),l.jsx("small",{children:H.deploymentTarget?"待更新":"尚未发布"})]}),l.jsx(fx,{"aria-hidden":!0})]},H.id)}),G.map(H=>{const he=H.runtimeId?Ga.get(H.runtimeId):void 0,Ee=H.runtimeId?js.get(H.runtimeId):void 0,Ve=mn.has(H.id),wt=H.canDelete===!0,Rt=(he==null?void 0:he.status)==="running"?{label:"部署中",className:" is-deploying"}:(he==null?void 0:he.status)==="error"?{label:"失败",className:" is-error"}:(he==null?void 0:he.status)==="cancelled"?{label:"已取消",className:" is-muted"}:Ee?{label:"待更新",className:""}:null,lr=(he==null?void 0:he.status)==="running"?"正在更新部署":Ee?"待更新":H.remote?H.host||"远程智能体":"本地智能体",Ao=["aw-agent-item","aw-agent-item--sortable",H.id===F?"is-active":"",Ge?"is-selecting":"",Ve?"is-selected-for-delete":"",Ge&&!wt?"is-selection-disabled":"",H.id===tt?"is-dragging":"",H.id===Yn&&H.id!==tt?`is-drop-target is-drop-${Vt}`:""].filter(Boolean).join(" ");return l.jsxs("button",{type:"button",draggable:!!w&&!Ge,className:Ao,"aria-pressed":Ge?Ve:void 0,"aria-keyshortcuts":w?"Alt+ArrowUp Alt+ArrowDown":void 0,onDragStart:Mt=>{w&&(Dr.current=!0,pn(H.id),Mt.dataTransfer.effectAllowed="move",Mt.dataTransfer.setData("text/plain",H.id))},onDragEnter:Mt=>{yw(Mt,H.id)},onDragOver:Mt=>{!tt||tt===H.id||(Mt.preventDefault(),Mt.dataTransfer.dropEffect="move",yw(Mt,H.id))},onDragLeave:Mt=>{const Bc=Mt.relatedTarget;Bc instanceof Node&&Mt.currentTarget.contains(Bc)||Yn===H.id&&zt("")},onDrop:Mt=>{Mt.preventDefault();const Bc=Mt.dataTransfer.getData("text/plain")||tt;AO(Bc,H.id,Vt),pn(""),zt(""),Ae("before")},onDragEnd:()=>{pn(""),zt(""),Ae("before"),window.setTimeout(()=>{Dr.current=!1},0)},onKeyDown:Mt=>{Mt.altKey&&(Mt.key==="ArrowUp"?(Mt.preventDefault(),Qc(H.id,-1)):Mt.key==="ArrowDown"&&(Mt.preventDefault(),Qc(H.id,1)))},onClick:Mt=>{if(Ge){Mt.preventDefault(),wC(H);return}if(Dr.current){Mt.preventDefault(),Dr.current=!1;return}Y(""),B(H.id),I("basic"),k(H.id)},children:[Ge&&l.jsx("span",{className:`aw-select-marker${Ve?" is-checked":""}`,"aria-hidden":"true"}),l.jsxs("span",{className:"aw-agent-copy",children:[l.jsxs("span",{className:"aw-agent-name-row",children:[l.jsx("strong",{children:H.label}),H.currentVersion!=null&&l.jsxs("span",{className:"aw-version-badge",children:["v",H.currentVersion]}),Rt&&l.jsx("span",{className:`aw-draft-badge${Rt.className}`,children:Rt.label})]}),l.jsx("small",{children:lr})]}),l.jsx(fx,{"aria-hidden":!0})]},H.id)})]})}),l.jsxs("div",{className:"aw-list-count",children:["共 ",D==="library"?e.length+ul:ko.length," 个"]})]}),D==="evaluation"&&Ke?l.jsx(npt,{group:Ke,agents:e,cases:Gh,onChange:Qu,onRun:Ym}):D==="evaluation"?l.jsx("main",{className:"aw-main aw-empty-selection",children:l.jsx("p",{children:"未选择评测组"})}):!ae&&!kn&&!Zn?l.jsx("main",{className:"aw-main aw-empty-selection",children:l.jsx("p",{children:"未选择智能体"})}):l.jsxs("main",{className:`aw-main${ki?" is-deploying":""}`,children:[ae&&!Cn&&s&&l.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:l.jsxs("div",{className:"aw-detail-loading-card",children:[l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),l.jsxs("span",{children:[l.jsx("strong",{children:"正在加载智能体"}),l.jsx("small",{children:"正在读取配置与运行信息…"})]})]})}),j==="integrations"&&de&&l.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:l.jsxs("div",{className:"aw-detail-loading-card",children:[l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),l.jsxs("span",{children:[l.jsx("strong",{children:"正在探测接入方式"}),l.jsx("small",{children:"正在确认 API Server 与 A2A…"})]})]})}),l.jsxs("div",{className:"aw-agent-head",children:[l.jsxs("div",{className:"aw-agent-heading",children:[y&&v?l.jsx(VQ,{label:"返回智能体列表",onClick:v}):null,l.jsxs("div",{className:"aw-agent-heading-copy",children:[l.jsxs("div",{className:"aw-agent-title-row",children:[l.jsx("h2",{children:Ce}),Or!=null&&l.jsxs("span",{children:["v",Or]}),kn&&l.jsx("span",{children:"草稿"}),To&&l.jsx("span",{children:"待更新"}),!ae&&!kn&&Zn&&l.jsx("span",{children:Zn.label})]}),l.jsx("p",{children:Pt.description||(s||y&&!xe?"正在读取智能体信息…":"暂无描述")})]})]}),(kn||To||(ae==null?void 0:ae.canDelete))&&l.jsxs("div",{className:"aw-head-actions",children:[(kn||To)&&l.jsxs("button",{type:"button",className:"aw-head-delete aw-head-delete--draft",onClick:()=>{const H=kn??To;H&&_C(H)},disabled:rt,"aria-label":"删除草稿",title:"删除草稿",children:[l.jsx(xh,{"aria-hidden":!0}),l.jsx("span",{children:"删除草稿"})]}),(ae==null?void 0:ae.canDelete)&&l.jsxs("button",{type:"button",className:"aw-head-delete",onClick:()=>void TC(ae),disabled:rt,"aria-label":"删除 Agent",title:"删除 Agent",children:[l.jsx(xh,{"aria-hidden":!0}),l.jsx("span",{children:rt?"删除中…":"删除 Agent"})]})]})]}),pi&&Gl&&l.jsx("div",{className:`aw-detail-deployment${ki?" is-running":""}`,children:l.jsx(Zht,{task:pi,onReturnToEdit:tn&&Q?()=>Q(tn):void 0})}),l.jsx("nav",{className:"aw-agent-tabs","aria-label":"智能体详情",role:"tablist",children:ha.map(H=>l.jsx("button",{type:"button",id:`agent-${H.id}-tab`,className:j===H.id?"is-active":"",role:"tab","aria-selected":j===H.id,"aria-controls":`agent-${H.id}-panel`,tabIndex:j===H.id?0:-1,onClick:()=>I(H.id),onKeyDown:he=>{var Rt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(he.key))return;he.preventDefault();const Ee=ha.findIndex(lr=>lr.id===H.id),Ve=he.key==="Home"?0:he.key==="End"?ha.length-1:(Ee+(he.key==="ArrowRight"?1:-1)+ha.length)%ha.length,wt=ha[Ve];I(wt.id),(Rt=document.getElementById(`agent-${wt.id}-tab`))==null||Rt.focus()},children:H.label},H.id))}),l.jsxs("div",{className:"aw-content",id:`agent-${j}-panel`,role:"tabpanel","aria-labelledby":`agent-${j}-tab`,children:[j==="basic"&&l.jsxs("div",{className:"aw-basic-stack",children:[l.jsxs("section",{className:"aw-deployment-panel aw-settings-card",children:[l.jsx("div",{className:"aw-section-head",children:l.jsxs("div",{children:[l.jsx("h3",{children:"部署配置"}),l.jsx("p",{children:"配置目标环境与网络访问方式。"})]})}),l.jsxs("dl",{className:"aw-readonly-config",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"运行状态"}),l.jsxs("dd",{className:(q==null?void 0:q.status.toLowerCase())==="ready"?"is-ready":void 0,children:[(q==null?void 0:q.status.toLowerCase())==="ready"&&l.jsx("span",{className:"aw-status-dot"}),(q==null?void 0:q.status)||"读取中…"]})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"部署区域"}),l.jsx("dd",{children:(q==null?void 0:q.region)||(ae==null?void 0:ae.region)||(pi==null?void 0:pi.region)||"暂未提供"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"网络访问"}),l.jsx("dd",{children:q!=null&&q.networkTypes.length?q.networkTypes.join(" / "):"暂未提供"})]})]})]}),l.jsxs("section",{className:"aw-canvas-card",children:[l.jsx("div",{className:"aw-card-head",children:l.jsx("strong",{children:"执行流程"})}),l.jsx("div",{className:"aw-canvas",children:l.jsx(w1,{draft:Pt,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},Yl)})]}),l.jsxs("section",{className:"aw-details-card",children:[l.jsx("div",{className:"aw-card-head",children:l.jsx("strong",{children:"详细信息"})}),l.jsxs("dl",{className:"aw-facts",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"模型"}),l.jsx("dd",{children:t4(Cn==null?void 0:Cn.model)||Pt.modelName||"暂未提供"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"智能体数量"}),l.jsx("dd",{children:Cn!=null&&Cn.graph?Ege(Cn.graph):kge(Pt)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"工具"}),l.jsx("dd",{className:"aw-fact-badges",children:Xh.length?Xh.map(H=>l.jsx("span",{children:H},H)):"暂无"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"技能"}),l.jsx("dd",{className:"aw-fact-badges",children:pa===null?"暂不支持预览":pa.length?pa.map(H=>l.jsx("span",{children:H},H)):"暂无"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"当前版本"}),l.jsx("dd",{children:Or!=null?`v${Or}`:"暂未提供"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"状态"}),l.jsx("dd",{children:kn?"草稿":(pi==null?void 0:pi.status)==="error"?"部署失败":(pi==null?void 0:pi.status)==="cancelled"?"已取消":To?"待更新":l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"aw-status-dot"}),"可用"]})})]})]})]}),l.jsxs("section",{className:"aw-sidecar-panel aw-settings-card","aria-label":"已选择的优化项",children:[l.jsx("div",{className:"aw-section-head",children:l.jsxs("div",{children:[l.jsx("h3",{children:"已选择的优化项"}),l.jsx("p",{children:"发布时选择的智能体优化项。"})]})}),l.jsxs("dl",{className:"aw-readonly-config",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"配置状态"}),l.jsx("dd",{className:on!=null&&on.enabled?"is-ready":void 0,children:on?on.enabled?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"aw-status-dot"}),"已启用"]}):"未启用":"未记录"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"优化场景"}),l.jsx("dd",{children:on?vge(on.profile):"旧版本未保存此配置"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"已选优化项"}),l.jsx("dd",{className:"aw-fact-badges",children:on?Ri.length?Ri.map(H=>l.jsx("span",{children:Bx(H)},H)):"未选择":"旧版本未保存此配置"})]})]})]})]}),j==="usage"&&(ae==null?void 0:ae.runtimeId)&&l.jsxs("section",{className:"aw-usage","aria-busy":Ar,children:[l.jsx("div",{className:"aw-usage-intro",children:l.jsx("h3",{children:"使用概览"})}),Ar&&!Ei&&l.jsx("div",{className:"aw-usage-state",role:"status","aria-live":"polite",children:l.jsx(Fn,{as:"span",children:"正在加载用量统计"})}),ii&&l.jsxs("div",{className:"aw-usage-state is-error",role:"alert",children:[l.jsx("span",{children:ii}),l.jsx("button",{type:"button",onClick:()=>Xa(H=>H+1),children:"重试"})]}),!Ar&&!ii&&!Ei&&!Kn&&l.jsx("div",{className:"aw-usage-state",children:"当前 Runtime 未返回可用的 Agent 应用名称,暂时无法读取用量。"}),Ei&&l.jsxs(l.Fragment,{children:[l.jsxs("dl",{className:"aw-usage-summary","aria-label":"Agent 用量摘要",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"总调用次数"}),l.jsx("dd",{children:Ei.totalInvocations.toLocaleString("zh-CN")})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"使用用户数"}),l.jsx("dd",{children:Ei.totalUsers.toLocaleString("zh-CN")})]})]}),l.jsxs("div",{className:"aw-usage-users-head",children:[l.jsx("h3",{children:"用户明细"}),Ar&&l.jsx(Fn,{as:"span",role:"status","aria-live":"polite",children:"正在刷新"})]}),Ei.users.length===0?l.jsx("div",{className:"aw-usage-state",children:"暂无使用记录。用户成功调用后将在这里显示。"}):l.jsx("div",{className:"aw-usage-table-wrap",children:l.jsxs("table",{className:"aw-usage-table",children:[l.jsx("caption",{children:"当前 Agent 的使用用户列表"}),l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"用户"}),l.jsx("th",{scope:"col",children:"调用次数"}),l.jsx("th",{scope:"col",children:"最近使用"})]})}),l.jsx("tbody",{children:Ei.users.map(H=>l.jsxs("tr",{children:[l.jsxs("td",{children:[l.jsx("strong",{children:H.displayName||H.userId||"未知用户"}),H.displayName&&H.userId&&l.jsx("small",{title:H.userId,children:H.userId})]}),l.jsx("td",{children:H.invocationCount.toLocaleString("zh-CN")}),l.jsx("td",{children:l.jsx("time",{dateTime:H.lastUsedAt,children:Nht(H.lastUsedAt)})})]},H.userId))})]})}),Ei.totalPages>1&&l.jsxs("nav",{className:"aw-usage-pagination","aria-label":"用量用户列表分页",children:[l.jsx("button",{type:"button",disabled:Ar||Ei.page<=1,onClick:()=>Os(H=>Math.max(1,H-1)),children:"上一页"}),l.jsxs("span",{"aria-live":"polite",children:["第 ",Ei.page," / ",Ei.totalPages," 页"]}),l.jsx("button",{type:"button",disabled:Ar||Ei.page>=Ei.totalPages,onClick:()=>Os(H=>H+1),children:"下一页"})]})]})]}),j==="versions"&&l.jsxs("section",{className:"aw-version-stack",children:[l.jsxs("div",{className:"aw-integration-intro",children:[l.jsx("h3",{children:"GitHub 交付版本"}),l.jsx("p",{children:(Zh=Ue==null?void 0:Ue.cicd)!=null&&Zh.enabled?"展示当前 Runtime 绑定 GitHub 后由 Studio 记录的版本与 PR。":"未挂载 GitHub 时仅展示 Studio 当前版本。"})]}),Bt&&l.jsx("div",{className:"aw-case-empty",children:"正在读取版本…"}),Z&&l.jsxs("div",{className:"aw-integration-error",role:"alert",children:[l.jsx("span",{children:Z}),(ae==null?void 0:ae.runtimeId)&&l.jsx("button",{type:"button",onClick:()=>void GE(ae.runtimeId??"").then(ot),children:"重试"})]}),!Bt&&!Z&&l.jsxs("div",{className:"aw-version-list",children:[(Ue==null?void 0:Ue.githubSyncError)&&l.jsx("div",{className:"aw-integration-error",role:"alert",children:l.jsx("span",{children:Ue.githubSyncError})}),(Ue==null?void 0:Ue.latestSourceRuntimeStatus)&&Ue.latestSourceRuntimeStatus!=="published"&&((Sw=Ue.versions[0])==null?void 0:Sw.commitSha)&&Ue.versions[0].commitSha!==Ue.currentCommitSha&&l.jsx("div",{className:"aw-integration-notice",role:"status",children:l.jsxs("span",{children:["源码已合入 main,Runtime 仍在",DG(Ue.latestSourceRuntimeStatus),";当前线上版本保持在最近一次发布成功的版本。"]})}),Ue!=null&&Ue.versions.length?Ue.versions.map(H=>{var Rt;const he=H.commitSha??"",Ee=H.runtimeStatus??H.status,Ve=H.changeType==="rollback",wt=!!((Rt=Ue.cicd)!=null&&Rt.enabled)&&!!he&&!Ve&&he!==Ue.currentCommitSha;return l.jsxs("article",{className:"aw-version-row",children:[l.jsxs("div",{children:[l.jsx("strong",{children:Rht(H)}),l.jsx("small",{children:H.createdAt||"暂无时间"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"PR 链接"}),H.pullRequestUrl?l.jsx("a",{href:H.pullRequestUrl,target:"_blank",rel:"noopener noreferrer",children:"查看 PR"}):l.jsx("em",{children:"无 PR"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"提交人"}),l.jsx("em",{children:H.author||"Studio"})]}),l.jsxs("div",{children:[l.jsx("span",{children:"发布状态"}),l.jsx("em",{children:DG(Ee)})]}),l.jsxs("div",{className:"aw-version-actions",children:[l.jsx("button",{type:"button",disabled:!wt||ue===he,onClick:()=>void gw(H),children:ue===he?"回退中…":"回退到此版本"}),H.workflowRunUrl&&l.jsx("a",{href:H.workflowRunUrl,target:"_blank",rel:"noopener noreferrer",children:"查看发布"})]})]},`${H.version}-${he||H.createdAt}`)}):l.jsxs("article",{className:"aw-version-row",children:[l.jsxs("div",{children:[l.jsx("strong",{children:Or!=null?`v${Or}`:"暂无版本"}),l.jsx("small",{children:(q==null?void 0:q.updatedAt)||"暂无时间"})]}),l.jsx("p",{children:"未挂载 GitHub 时仅展示 Studio 当前版本。"})]})]})]}),j==="integrations"&&l.jsxs("div",{className:"aw-integration-stack",children:[l.jsxs("div",{className:"aw-integration-intro",children:[l.jsx("h3",{children:"接入方式"}),l.jsx("p",{children:"仅展示当前 Runtime 可确认的公开协议与地址。"})]}),ce&&l.jsxs("div",{className:"aw-integration-error",role:"alert",children:[l.jsx("span",{children:ce}),l.jsx("button",{type:"button",onClick:()=>me(H=>H+1),children:"重试"})]}),!ce&&l.jsxs("div",{className:"aw-integration-body",children:[l.jsxs("div",{className:`aw-integration-protocol-tabs${ve==="a2a"?" is-a2a":""}`,role:"tablist","aria-label":"接入协议",children:[l.jsx("span",{className:"aw-integration-protocol-slider","aria-hidden":"true"}),by.map((H,he)=>l.jsx("button",{type:"button",id:`integration-${H.id}-tab`,role:"tab","aria-selected":ve===H.id,"aria-controls":`integration-${H.id}-panel`,tabIndex:ve===H.id?0:-1,onClick:()=>Hh(H.id),onKeyDown:Ee=>{var Rt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(Ee.key))return;Ee.preventDefault();const Ve=Ee.key==="Home"?0:Ee.key==="End"?by.length-1:(he+(Ee.key==="ArrowRight"?1:-1)+by.length)%by.length,wt=by[Ve];Hh(wt.id),(Rt=document.getElementById(`integration-${wt.id}-tab`))==null||Rt.focus()},children:H.label},H.id))]}),ve==="api-server"?l.jsx(MG,{protocol:"api-server",title:"API Server",available:Rs,fields:[{label:"Agent",value:Rs?((NO=bi==null?void 0:bi.apiApps)==null?void 0:NO.join("、"))??"":""},{label:"发现接口",value:Rs?mI(st,"/list-apps"):""},{label:"调用接口",value:Rs?mI(st,"/run_sse"):""},{label:"鉴权方式",value:Rs?IG(q==null?void 0:q.authType):""},{label:"API Key",value:l.jsx(PG,{available:Rs,authType:q==null?void 0:q.authType,value:Ya,visible:pe&&!!Ya,loading:Oe,error:Fe,onToggle:()=>void mw()})}],example:Rs?Iht(st,Pe,q==null?void 0:q.authType):""}):l.jsx(MG,{protocol:"a2a",title:"A2A",available:te,fields:[{label:"Agent",value:((Ew=bi==null?void 0:bi.a2a)==null?void 0:Ew.name)??""},{label:"Agent Card",value:te?mI(st,"/.well-known/agent-card.json"):""},{label:"调用地址",value:Ut},{label:"鉴权方式",value:te?IG(q==null?void 0:q.authType):""},{label:"API Key",value:l.jsx(PG,{available:te,authType:q==null?void 0:q.authType,value:Ya,visible:pe&&!!Ya,loading:Oe,error:Fe,onToggle:()=>void mw()})}],example:te?Dht(Ut,q==null?void 0:q.authType):""})]})]}),j==="evaluations"&&l.jsxs("section",{className:"aw-cases",children:[(ae==null?void 0:ae.runtimeId)&&l.jsx("div",{className:"aw-case-summary",children:["good","bad"].map(H=>{const he=Uht(le,H),Ee=Gh.filter(wt=>wt.kind===H).length,Ve=af?Ee:(he==null?void 0:he.itemCount)??Ee;return l.jsxs("button",{type:"button",onClick:()=>bw(H),children:[l.jsx("strong",{children:Ve}),l.jsx("span",{children:H==="good"?"Good cases":"Bad cases"})]},H)})}),l.jsxs("div",{className:"aw-case-filter-bar",children:[l.jsxs("div",{className:"aw-case-filter-stack",children:[l.jsx("div",{className:"aw-case-filters","aria-label":"案例结果筛选",children:["good","bad"].map(H=>l.jsx("button",{type:"button",className:mt===H?"is-active":"","aria-pressed":mt===H,onClick:()=>At(H),children:H==="good"?"Good case":"Bad case"},H))}),l.jsx("div",{className:"aw-case-source-filters","aria-label":"回流方式筛选",children:["auto","user"].map(H=>l.jsx("button",{type:"button",className:Ct===H?"is-active":"","aria-pressed":Ct===H,onClick:()=>an(H),children:H==="auto"?"自动回流":"手动回流"},H))})]}),l.jsxs("label",{className:"aw-case-search",children:[l.jsx(xT,{"aria-hidden":!0}),l.jsx("input",{type:"search",value:_e,onChange:H=>Ze(H.currentTarget.value),placeholder:"搜索用户输入、期望行为或标签","aria-label":"搜索评测案例"})]})]}),Yh&&l.jsx("div",{className:`aw-case-toolbar${Ki?" is-active":""}`,children:Ki?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"aw-selection-count",children:["已选 ",lf.length," 条"]}),l.jsx("button",{type:"button",onClick:dt,disabled:of.length===0||Ha,children:"全选当前"}),l.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void Ii(lf),disabled:lf.length===0||Ha,children:Ha?"删除中…":"删除所选"}),l.jsx("button",{type:"button",onClick:Hm,disabled:Ha,children:"取消"})]}):l.jsx("button",{type:"button",onClick:()=>{Hs(""),Xl(!0)},disabled:of.length===0||Ha,children:"选择案例"})}),Xr&&l.jsx("div",{className:"aw-delete-error",role:"alert",children:Xr}),l.jsx("div",{ref:fa,children:l.jsx(tpt,{cases:of,loading:lt&&of.length===0,error:En,notice:Wn,runtimeBacked:!!(ae!=null&&ae.runtimeId),selectionMode:Ki,selectedCaseIds:Eo,focusedCaseId:Ji,expandedCaseIds:hi,deleting:Ha,canDelete:Yh,onOpenCase:Gm,onToggleCase:Ow,onToggleExpanded:TO,onDeleteCase:H=>void Ii([H]),onRetry:()=>fi(H=>H+1)})})]}),j==="optimizations"&&l.jsxs("section",{className:"aw-optimizations",children:[l.jsxs("div",{className:"aw-optimization-intro",children:[l.jsx("h3",{children:"优化项"}),l.jsx("p",{children:"根据评测结果汇总需要优先处理的改进建议。"})]}),gr?l.jsxs("div",{className:"aw-optimization-state",role:"status",children:[l.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),l.jsx("span",{children:"正在读取优化项"})]}):Zi?l.jsxs("div",{className:"aw-optimization-state is-error",role:"alert",children:[l.jsx("span",{children:Zi}),l.jsx("button",{type:"button",onClick:()=>zi(H=>H+1),children:"重试"})]}):Yi.length>0?l.jsx(Jht,{groups:Yi}):l.jsx("div",{className:"aw-optimization-state",children:"暂无优化项,自动评测完成后会在这里生成建议。"})]})]}),j==="basic"&&(ae||kn)&&l.jsxs("div",{className:"aw-basic-actions",children:[ae&&l.jsxs("button",{type:"button",className:"aw-talk studio-update-action",onClick:()=>T==null?void 0:T(ae),children:[l.jsx(hTe,{"aria-hidden":!0}),l.jsx("span",{children:"去对话"})]}),l.jsxs("span",{className:`aw-update-wrap${vs?" is-disabled":""}`,tabIndex:vs?0:void 0,"aria-describedby":vs?Hl:void 0,children:[l.jsx("button",{type:"button",className:"aw-update studio-update-action",disabled:!!vs,"aria-busy":We||void 0,"aria-describedby":vs?Hl:void 0,onClick:()=>kn?Q==null?void 0:Q(kn):gn?P(gn):void 0,children:We?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"loading-gap-spinner aw-update-spinner","aria-hidden":"true"}),l.jsx("span",{children:"检测中"})]}):kn||To?"继续编辑":"更新"}),vs&&l.jsx("span",{id:Hl,className:"aw-update-disabled-reason",role:"tooltip",children:vs})]})]})]})]}),D==="evaluation"&&l.jsx("div",{className:"aw-evaluation-glass",role:"status",children:l.jsx("span",{children:"敬请期待"})})]})]}),Zt&&l.jsx(yc,{variant:"danger",title:Zt.title,description:Zt.description,confirmLabel:rt?"删除中...":Zt.confirmLabel,closeLabel:"关闭删除确认",busy:rt,onCancel:()=>ni(null),onConfirm:()=>void kC()})]})}function Jht({groups:e}){return l.jsx("div",{className:"aw-optimization-table-wrap",children:l.jsxs("table",{className:"aw-optimization-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{scope:"col",children:"修复优先级"}),l.jsx("th",{scope:"col",children:"建议优化模块"}),l.jsx("th",{scope:"col",children:"优化建议和理由"})]})}),l.jsx("tbody",{children:e.map(t=>l.jsxs("tr",{children:[l.jsx("td",{children:l.jsx("span",{className:`aw-priority is-${t.priority}`,children:Qht(t.priority)})}),l.jsx("td",{children:l.jsx("span",{className:"aw-optimization-module",children:Fht(t)})}),l.jsx("td",{children:l.jsx("ul",{className:"aw-optimization-list",children:t.items.map(n=>l.jsxs("li",{children:[l.jsx("strong",{children:n.suggestion}),l.jsx("p",{children:n.reason})]},`${n.suggestion}:${n.reason}`))})})]},`${t.priority}:${t.module}:${t.customModule??""}`))})]})})}function ept(){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M4.5 7h15"}),l.jsx("path",{d:"M9 7V4.8h6V7"}),l.jsx("path",{d:"m6.5 7 .8 12h9.4l.8-12"}),l.jsx("path",{d:"M10 10.5v5M14 10.5v5"})]})}function tpt({cases:e,loading:t=!1,error:n="",notice:i="",runtimeBacked:r=!1,selectionMode:s=!1,selectedCaseIds:a,focusedCaseId:o="",expandedCaseIds:c,deleting:u=!1,canDelete:d=!1,onOpenCase:f,onToggleCase:h,onToggleExpanded:p,onDeleteCase:b,onRetry:g}){return l.jsxs("div",{className:"aw-case-table",children:[l.jsxs("div",{className:"aw-case-row aw-case-row-head",children:[l.jsx("span",{children:"用户输入"}),l.jsx("span",{children:"Agent 输出"}),l.jsx("span",{children:"评分"}),l.jsx("span",{children:"评分理由"}),l.jsx("span",{className:"aw-case-action-head",children:"操作"})]}),t?l.jsx("div",{className:"aw-case-empty",children:"正在读取 AgentKit 评测集…"}):n?l.jsxs("div",{className:"aw-case-empty aw-case-error",children:[l.jsx("span",{children:n}),g&&l.jsx("button",{type:"button",onClick:g,children:"重试"})]}):i?l.jsx("div",{className:"aw-case-empty",children:i}):e.length===0?l.jsx("div",{className:"aw-case-empty",children:r?"暂无用户反馈案例":"没有匹配的案例"}):e.map(O=>{var T,C;const y=O.id.startsWith("local:"),v=(a==null?void 0:a.has(O.id))??!1,x=(c==null?void 0:c.has(O.id))??!1,E=O.output.length+O.referenceOutput.length>220||(((T=O.reason)==null?void 0:T.length)??0)>120,S=d&&!y,k=!!(O.comment&&O.comment.trim()!==((C=O.reason)==null?void 0:C.trim()));return l.jsxs("div",{className:["aw-case-row",o===O.id?"is-focused":"",s?"is-selecting":"",v?"is-selected-for-delete":""].filter(Boolean).join(" "),role:"row",tabIndex:0,"aria-selected":s?v:void 0,onClick:()=>{if(s){S&&(h==null||h(O));return}f==null||f(O)},onKeyDown:A=>{A.target===A.currentTarget&&(A.key!=="Enter"&&A.key!==" "||(A.preventDefault(),s?S&&(h==null||h(O)):f==null||f(O)))},children:[l.jsxs("div",{className:"aw-case-text aw-case-cell","data-label":"用户输入",children:[l.jsxs("span",{className:"aw-case-title-line",children:[s&&S&&l.jsx("span",{className:`aw-select-marker${v?" is-checked":""}`,"aria-hidden":"true"}),l.jsx("strong",{title:O.input,children:O.input||"无用户输入"})]}),k&&l.jsxs("small",{title:O.comment,children:["备注:",O.comment]}),l.jsx("small",{className:"aw-case-time",children:Lht(O.createdAt)}),(O.userId||O.sessionId)&&l.jsx("small",{title:[O.userId,O.sessionId].filter(Boolean).join(" · "),children:[O.userId,O.sessionId].filter(Boolean).join(" · ")})]}),l.jsxs("div",{className:`aw-case-output aw-case-cell${x?" is-expanded":""}`,"data-label":"Agent 输出",children:[l.jsx("p",{className:"aw-case-output-preview",title:O.output,children:O.output||"无可见回复"}),O.referenceOutput&&l.jsxs("small",{className:"aw-case-output-preview",title:O.referenceOutput,children:["Reference: ",O.referenceOutput]}),E&&l.jsx("button",{type:"button",className:"aw-case-expand",onClick:A=>{A.stopPropagation(),p==null||p(O.id)},children:x?"收起":"展开"})]}),l.jsx("div",{className:"aw-case-score aw-case-cell","data-label":"评分",children:$ht(O)}),l.jsx("div",{className:`aw-case-reason aw-case-cell${x?" is-expanded":""}`,"data-label":"评分理由",children:l.jsx("p",{title:O.reason||void 0,children:O.reason||"—"})}),l.jsx("div",{className:"aw-case-actions aw-case-cell","data-label":"操作",children:S&&l.jsx("button",{type:"button",className:"aw-case-delete",onClick:A=>{A.stopPropagation(),b==null||b(O)},disabled:u,title:"删除反馈案例","aria-label":"删除反馈案例",children:l.jsx(ept,{})})})]},O.id)})]})}function npt({group:e,agents:t,cases:n,onChange:i,onRun:r}){const[s,a]=m.useState("config"),o=e.agentIds.map(f=>t.find(h=>h.id===f)).filter(f=>!!f),c=["回答质量","事实准确性","工具调用","响应效率"];m.useEffect(()=>a("config"),[e.id]);const u=f=>{i({...e,agentIds:e.agentIds.includes(f)?e.agentIds.filter(h=>h!==f):[...e.agentIds,f]})},d=f=>{i({...e,metrics:e.metrics.includes(f)?e.metrics.filter(h=>h!==f):[...e.metrics,f]})};return l.jsxs("main",{className:"aw-main",children:[l.jsxs("div",{className:"aw-eval-head",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"aw-agent-title-row",children:[l.jsx("h2",{children:e.name}),l.jsx("span",{children:"评测组"})]}),l.jsxs("p",{children:[o.length," 个参评智能体 · ",e.caseSet," · ",e.history.length," 次运行"]})]}),l.jsxs("button",{type:"button",className:"aw-run",onClick:()=>r(e),disabled:!0,children:[l.jsx(oTe,{"aria-hidden":!0}),"开始评测"]})]}),l.jsxs("nav",{className:"aw-agent-tabs","aria-label":"评测组详情",children:[l.jsx("button",{type:"button",className:s==="config"?"is-active":"","aria-pressed":s==="config",onClick:()=>a("config"),disabled:!0,children:"评测配置"}),l.jsx("button",{type:"button",className:s==="history"?"is-active":"","aria-pressed":s==="history",onClick:()=>a("history"),disabled:!0,children:"历史结果"})]}),l.jsx("div",{className:"aw-content",children:s==="config"?l.jsxs("div",{className:"aw-eval-setup",children:[l.jsxs("section",{className:"aw-eval-block",children:[l.jsxs("div",{className:"aw-card-head",children:[l.jsx("strong",{children:"参评智能体"}),l.jsxs("span",{children:["已选择 ",o.length," 个"]})]}),l.jsx("div",{className:"aw-eval-agent-grid",children:t.map(f=>l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:e.agentIds.includes(f.id),onChange:()=>u(f.id)}),l.jsxs("span",{children:[l.jsx("strong",{children:f.label}),l.jsx("small",{children:f.remote?"远程":"本地"})]})]},f.id))})]}),l.jsxs("div",{className:"aw-eval-setting-grid",children:[l.jsxs("section",{className:"aw-eval-block",children:[l.jsx("div",{className:"aw-card-head",children:l.jsx("strong",{children:"评测资源"})}),l.jsxs("div",{className:"aw-eval-fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"评测集"}),l.jsxs("select",{value:e.caseSet,onChange:f=>i({...e,caseSet:f.currentTarget.value}),children:[l.jsx("option",{children:"核心回归集"}),l.jsx("option",{children:"安全边界集"}),l.jsx("option",{children:"工具调用集"})]}),l.jsxs("small",{children:[n.length," 条案例"]})]}),l.jsxs("label",{children:[l.jsx("span",{children:"评估器"}),l.jsxs("select",{value:e.evaluator,onChange:f=>i({...e,evaluator:f.currentTarget.value}),children:[l.jsx("option",{children:"综合质量评估器"}),l.jsx("option",{children:"事实一致性评估器"}),l.jsx("option",{children:"工具调用评估器"})]})]}),l.jsxs("label",{children:[l.jsx("span",{children:"并发数"}),l.jsxs("select",{value:e.concurrency,onChange:f=>i({...e,concurrency:f.currentTarget.value}),children:[l.jsx("option",{value:"2",children:"2"}),l.jsx("option",{value:"4",children:"4"}),l.jsx("option",{value:"8",children:"8"})]})]})]})]}),l.jsxs("section",{className:"aw-eval-block",children:[l.jsxs("div",{className:"aw-card-head",children:[l.jsx("strong",{children:"评测指标"}),l.jsxs("span",{children:["已选择 ",e.metrics.length," 项"]})]}),l.jsx("div",{className:"aw-metric-list",children:c.map(f=>l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:e.metrics.includes(f),onChange:()=>d(f)}),l.jsx("span",{children:f})]},f))})]})]})]}):l.jsxs("section",{className:"aw-eval-history",children:[l.jsx("div",{className:"aw-section-head",children:l.jsxs("div",{children:[l.jsx("h3",{children:"历史结果"}),l.jsx("p",{children:"查看该评测组历次运行的总体表现。"})]})}),e.history.length===0?l.jsxs("div",{className:"aw-results-empty",children:[l.jsx("strong",{children:"暂无历史结果"}),l.jsx("span",{children:"完成首次评测后,结果会出现在这里。"})]}):l.jsx("div",{className:"aw-history-list",children:e.history.map((f,h)=>l.jsxs("button",{type:"button",children:[l.jsxs("span",{children:[l.jsxs("strong",{children:["评测运行 #",e.history.length-h]}),l.jsxs("small",{children:[f.createdAt," · ",o.length," 个智能体"]})]}),l.jsxs("span",{className:"aw-history-score",children:[l.jsx("strong",{children:f.score}),l.jsx("small",{children:"综合得分"})]}),l.jsxs("span",{className:"aw-complete",children:[l.jsx(Nu,{}),"已完成"]}),l.jsx(fx,{"aria-hidden":!0})]},f.id))})]})})]})}const ipt="/web/sandbox/sessions",$G="/web/sandbox/codex-project-handoff",QG=3e4,gI=33e4,rpt=6e4,spt=6e5,Oy=15e3,sd=6e4,apt=33e4,BG=3e4,opt=60*60,FG=40;function oC(e){switch(e.trim().toLowerCase()){case"ready":return"就绪";case"wakeable":return"可唤醒";case"creating":return"创建中";case"starting":case"initializing":return"启动中";case"pending":return"等待中";case"running":return"运行中";case"failed":case"error":return"异常";case"stopped":return"已停止";case"expired":return"已过期";case"deleting":return"删除中";case"deleted":return"已删除";default:return"未知状态"}}function vr(e){const t=new Headers(e);return t.has("Accept")||t.set("Accept","application/json"),t}async function wr(e,t){const n=await e.text().catch(()=>"");let i={};try{i=JSON.parse(n)}catch{const c=`${t}(HTTP ${e.status})`;return new Error(n?`${c}:${n}`:c)}const r=i.detail,s=r&&typeof r=="object"&&"message"in r?r.message:r??i.error??i.message,a=typeof s=="string"?s:s==null?"":JSON.stringify(s),o=`${t}(HTTP ${e.status})`;return new Error(a?`${o}:${a}`:o)}async function UG(e,t){const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{throw new Error(`${t} Studio 服务响应异常,请刷新后重试。`)}}function cp(e,t="codex"){if(!e.sessionId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Session 信息。");return{resourceType:"session",id:e.sessionId,toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,createdAt:e.createdAt??"",expireAt:e.expireAt??"",persistent:e.persistent!==!1,toolType:e.toolType??"",intelligentDevelopment:e.toolName==="intelligent-development",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:lC(e.permissions),...e.conversation===void 0?{}:{restoredConversation:Ep(e.conversation)}}}function zG(e,t="codex"){if(!e.snapshotId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Snapshot 信息。");return{resourceType:"snapshot",id:e.snapshotId,snapshotId:e.snapshotId,sourceSessionId:e.sessionId??"",toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,snapshotStatus:e.snapshotStatus??"Unknown",reason:e.reason??"",createdAt:e.createdAt??"",createdBy:e.createdBy??""}}function VG(e,t){if(!(t!=null&&t.autoResumeSnapshots))return e;const n=new URLSearchParams({autoResumeSnapshots:"true"});return`${e}?${n.toString()}`}const yy={approvalPolicy:"on-request",approvalsReviewer:"user",sandboxMode:"workspace-write",networkAccess:!1};function lC(e){if(!e||typeof e!="object")return{...yy};const t=e,n=t.approvalPolicy,i=t.approvalsReviewer,r=t.sandboxMode;return{approvalPolicy:n==="untrusted"||n==="on-request"||n==="never"?n:yy.approvalPolicy,approvalsReviewer:i==="user"||i==="auto_review"?i:yy.approvalsReviewer,sandboxMode:r==="read-only"||r==="workspace-write"||r==="danger-full-access"?r:yy.sandboxMode,networkAccess:typeof t.networkAccess=="boolean"?t.networkAccess:yy.networkAccess}}function qG(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:lC(t.permissions)}}function Ps(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function lpt(e){const t=Ps(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 cpt(e){const t=Ps(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 Cge(e){const t=Ps(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 Ep(e){const t=Ps(e),n=Cge(t==null?void 0:t.thread);if(!t||!n||typeof t.threadId!="string"||!Array.isArray(t.messages))throw new Error("Sandbox 返回了无效 Thread 快照。");const i=t.messages.flatMap(r=>{const s=Ps(r);if(!s||typeof s.id!="string"||s.role!=="user"&&s.role!=="assistant"||typeof s.content!="string"||typeof s.timestamp!="number")return[];const a=Array.isArray(s.skillNames)?s.skillNames.filter(c=>typeof c=="string"&&!!c):[],o=Array.isArray(s.images)?s.images.flatMap(c=>{const u=Ps(c);return!u||typeof u.mimeType!="string"||!u.mimeType.startsWith("image/")||typeof u.data!="string"||!u.data?[]:[{mimeType:u.mimeType,data:u.data,...typeof u.name=="string"&&u.name?{name:u.name}:{},...typeof u.alt=="string"&&u.alt?{alt:u.alt}:{}}]}):[];return[{id:s.id,role:s.role,content:s.content,timestamp:s.timestamp,...a.length?{skillNames:a}:{},...o.length?{images:o}:{}}]});return{thread:n,threadId:t.threadId,messages:i,...typeof t.model=="string"?{model:t.model}:{},...typeof t.cwd=="string"?{cwd:t.cwd}:{},workspaceLocked:t.workspaceLocked===!0,permissions:lC(t.permissions)}}function c5(e){if(!e||typeof e!="object")return;const t=e;if(![t.totalTokens,t.inputTokens,t.cachedInputTokens,t.outputTokens,t.reasoningOutputTokens].some(i=>typeof i!="number"||!Number.isFinite(i)||i<0))return{totalTokens:Math.trunc(t.totalTokens),inputTokens:Math.trunc(t.inputTokens),cachedInputTokens:Math.trunc(t.cachedInputTokens),outputTokens:Math.trunc(t.outputTokens),reasoningOutputTokens:Math.trunc(t.reasoningOutputTokens)}}function upt(e){const t=c5(e.usage);if(!t||typeof e.turnId!="string")return;const n=c5(e.threadTotal),i=e.modelContextWindow;return{turnId:e.turnId,usage:t,...n?{threadTotal:n}:{},...typeof i=="number"&&Number.isFinite(i)&&i>=0?{modelContextWindow:Math.trunc(i)}:{}}}function dpt(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 fpt(e,t={}){if(!e.body)throw new Error("沙箱对话服务未返回内容。");const n=e.body.getReader(),i=new TextDecoder;let r="",s="";const a=[],o=new Map;let c,u;function d(){var g;const b=c?[...a,c]:a;(g=t.onBlocks)==null||g.call(t,b.map(O=>({...O})))}function f(b){s+=b;const g=a[a.length-1],O=a.length-1,y=[...o.values()].includes(O);(g==null?void 0:g.kind)==="text"&&!y?g.text+=b:a.push({kind:"text",text:b}),d()}function h(b){if(typeof b.id!="string"||b.kind!=="thinking"&&b.kind!=="commentary"&&b.kind!=="tool"||b.status!=="running"&&b.status!=="done")return;const g=b.status==="done";let O;if(b.kind==="thinking"){if(typeof b.text!="string"||!b.text)return;O={kind:"thinking",text:b.text,done:g}}else if(b.kind==="commentary"){if(typeof b.text!="string"||!b.text)return;O={kind:"text",text:b.text}}else{if(typeof b.name!="string"||!b.name)return;O={kind:"tool",name:b.name,args:b.args,response:b.response,done:g}}const y=o.get(b.id);y===void 0?(o.set(b.id,a.length),a.push(O)):a[y]=O,d()}function p(b){var v,x,w;let g="message";const O=[];for(const E of b.split(/\r?\n/))E.startsWith("event:")&&(g=E.slice(6).trim()),E.startsWith("data:")&&O.push(E.slice(5).trimStart());if(O.length===0)return;let y;try{y=JSON.parse(O.join(` +`))}catch{throw new Error("沙箱对话服务返回了无法解析的响应。")}if(g==="error")throw new Error(typeof y.message=="string"&&y.message?y.message:"沙箱对话失败,请稍后重试。");if(g==="progress"&&typeof y.text=="string"&&y.text&&(c={kind:"progress",text:y.text},d()),g==="activity"&&h(y),g==="development.source_ready"||g==="development.succeeded"){const E=Ps(y.payload),S=Ps(E==null?void 0:E.delivery),k=g==="development.succeeded";if(S&&typeof S.sessionId=="string"&&typeof S.artifactSha256=="string"&&typeof S.validationReportSha256=="string"&&typeof S.agentName=="string"&&typeof S.entryPoint=="string"&&typeof S.fileCount=="number"&&typeof S.artifactSize=="number"&&typeof S.validatedAt=="string"&&S.deployable===!0&&S.verified===k&&typeof S.validationSummary=="string"&&Array.isArray(S.gateSummary)&&S.gateSummary.every(T=>typeof T=="string")){const T={kind:"delivery",value:{sessionId:S.sessionId,artifactSha256:S.artifactSha256,validationReportSha256:S.validationReportSha256,agentName:S.agentName,entryPoint:S.entryPoint,fileCount:S.fileCount,artifactSize:S.artifactSize,validatedAt:S.validatedAt,gateSummary:S.gateSummary,deployable:S.deployable,verified:S.verified,validationSummary:S.validationSummary}},C=a.findIndex(A=>A.kind==="delivery"&&A.value.sessionId===S.sessionId&&A.value.artifactSha256===S.artifactSha256&&A.value.validationReportSha256===S.validationReportSha256);C===-1?a.push(T):a[C]=T,d()}}if(g==="approval"){const E=dpt(y);E&&((v=t.onApproval)==null||v.call(t,E))}if(g==="usage"){const E=upt(y);E&&(u=E,(x=t.onUsage)==null||x.call(t,E))}g==="approval_resolved"&&typeof y.approvalId=="string"&&((w=t.onApprovalResolved)==null||w.call(t,y.approvalId)),g==="delta"&&typeof y.text=="string"&&f(y.text),g==="done"&&!s&&typeof y.text=="string"&&f(y.text),g==="done"&&c&&(c=void 0,d())}for(;;){const{done:b,value:g}=await n.read();r+=i.decode(g,{stream:!b});const O=r.split(/\r?\n\r?\n/);if(r=O.pop()??"",O.forEach(p),b)break}if(r.trim()&&p(r),c&&(c=void 0,d()),a.length===0)throw new Error("沙箱未返回有效回复,请重试。");return{text:s,blocks:a,...u?{usage:u}:{}}}async function Po(e,t,n,{method:i="GET",body:r,options:s={},fallback:a}){if(!t)throw new Error("缺少要操作的 AgentKit Session。");const o=await ri(`${e}/${encodeURIComponent(t)}/${n}`,{method:i,headers:vr(r===void 0?void 0:{"Content-Type":"application/json"}),...r===void 0?{}:{body:JSON.stringify(r)},signal:s.signal},sd);if(!o.ok)throw await wr(o,a);return o.json()}function Nge(e,t={}){return{async listSessions(n={}){const i=await ri(VG(e,n),{method:"GET",headers:vr(),signal:n.signal},QG);if(!i.ok)throw await wr(i,"无法读取 Codex 智能体,请稍后重试。");const r=await i.json();if(!Array.isArray(r.sessions))throw new Error("AgentKit 沙箱返回了无效的 Session 列表。");if(r.snapshots!==void 0&&!Array.isArray(r.snapshots))throw new Error("AgentKit 沙箱返回了无效的 Snapshot 列表。");return[...r.sessions.map(s=>cp(s)),...(r.snapshots??[]).map(s=>zG(s))]},async startSession(n={}){var r;const i=await ri(e,{method:"POST",headers:vr({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((r=n.displayName)==null?void 0:r.trim())??"",...t.textOnly?{}:{persistent:n.persistent??!0}}),signal:n.signal},gI);if(!i.ok)throw await wr(i,"无法启动 AgentKit 沙箱,请稍后重试。");return cp(await i.json())},async listAgentSessions(n,i={}){const r=await ri(VG(`/web/${n}/sessions`,i),{method:"GET",headers:vr(),signal:i.signal},QG);if(!r.ok)throw await wr(r,`无法读取 ${n} 智能体,请稍后重试。`);const s=await r.json();if(!Array.isArray(s.sessions))throw new Error(`AgentKit 返回了无效的 ${n} Session 列表。`);if(s.snapshots!==void 0&&!Array.isArray(s.snapshots))throw new Error(`AgentKit 返回了无效的 ${n} Snapshot 列表。`);return[...s.sessions.map(a=>cp(a,n)),...(s.snapshots??[]).map(a=>zG(a,n))]},async startAgentSession(n,i={}){var s;const r=await ri(`/web/${n}/sessions`,{method:"POST",headers:vr({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((s=i.displayName)==null?void 0:s.trim())??"",persistent:i.persistent??!0}),signal:i.signal},gI);if(!r.ok)throw await wr(r,`无法创建 ${n} 智能体,请稍后重试。`);return cp(await r.json(),n)},async openAgentSession(n,i,r={}){if(!i)throw new Error("缺少要打开的 AgentKit Session。");const s=await ri(`/web/${n}/sessions/${encodeURIComponent(i)}/open`,{method:"POST",headers:vr(),signal:r.signal},sd);if(!s.ok)throw await wr(s,`无法打开 ${n} 智能体。`);const a=await s.json();if(typeof a.webuiUrl!="string"||!a.webuiUrl.startsWith("/"))throw new Error(`${n} 智能体返回了无效的主页面地址。`);return{session:cp(a,n),kind:n,webuiUrl:mo(a.webuiUrl)}},async launchAgentTerminal(n,i,r={}){if(!i)throw new Error("缺少要打开 Terminal 的 AgentKit Session。");const s=await ri(`/web/${n}/sessions/${encodeURIComponent(i)}/terminal`,{method:"POST",headers:vr(),signal:r.signal},sd);if(!s.ok)throw await wr(s,`无法打开 ${n} Terminal。`);const a=await s.json();return{url:jge(a.url,`${n} Terminal`),...typeof a.shellSessionId=="string"?{shellSessionId:a.shellSessionId}:{}}},async deleteAgentSession(n,i,r={}){if(!i)return;const s=await ri(`/web/${n}/sessions/${encodeURIComponent(i)}`,{method:"DELETE",headers:vr(),signal:r.signal},Oy);if(!s.ok&&s.status!==404)throw await wr(s,`无法删除 ${n} 智能体。`)},async resumeSnapshot(n,i,r={}){if(!i)throw new Error("缺少要唤醒的 AgentKit Snapshot。");const s=n==="codex"?"/web/sandbox":`/web/${n}`,a=await ri(`${s}/snapshots/${encodeURIComponent(i)}/resume`,{method:"POST",headers:vr(),signal:r.signal},gI);if(!a.ok)throw await wr(a,"无法从快照唤醒智能体,请稍后重试。");return cp(await a.json(),n)},async deleteSnapshot(n,i,r={}){if(!i)return;const s=n==="codex"?"/web/sandbox":`/web/${n}`,a=await ri(`${s}/snapshots/${encodeURIComponent(i)}`,{method:"DELETE",headers:vr(),signal:r.signal},Oy);if(!a.ok&&a.status!==404)throw await wr(a,"无法删除智能体快照。")},async connectSession(n,i={}){if(!n)throw new Error("缺少要连接的 AgentKit Session。");const r=await ri(`${e}/${encodeURIComponent(n)}/connect`,{method:"POST",headers:vr({"Content-Type":"application/json"}),signal:i.signal},rpt);if(!r.ok)throw await wr(r,"无法连接 Codex 智能体,请稍后重试。");const s=cp(await r.json());if(s.status.toLowerCase()!=="ready")throw new Error(`AgentKit Session 尚未就绪,当前状态:${s.status}。`);return s},async sendMessage(n,i={}){var s;if(!n.sessionId||!n.text.trim())throw new Error("内置智能体会话缺少有效的消息内容。");const r=await ri(`${e}/${encodeURIComponent(n.sessionId)}/messages`,{method:"POST",headers:vr({Accept:"text/event-stream","Content-Type":"application/json"}),body:JSON.stringify({message:n.text,...!t.textOnly&&((s=n.skillIds)!=null&&s.length)?{skillIds:n.skillIds}:{}}),signal:i.signal},t.messageTimeoutMs??spt);if(!r.ok)throw await wr(r,"沙箱对话失败,请稍后重试。");return fpt(r,i)},async interruptSession(n,i={}){if(!n)return;const r=await ri(`${e}/${encodeURIComponent(n)}/interrupt`,{method:"POST",headers:vr(),signal:i.signal},t.interruptTimeoutMs??Oy);if(!r.ok&&![404,409].includes(r.status))throw await wr(r,"无法停止当前任务。")},async getStatus(n,i={}){const r=await Po(e,n,"status",{options:i,fallback:"无法读取 Codex 状态。"}),s=qG(r),a=Ps(r),o=c5(a==null?void 0:a.threadTotal),c=a==null?void 0:a.modelContextWindow;return{...s,...o?{threadTotal:o}:{},...typeof c=="number"&&Number.isFinite(c)&&c>=0?{modelContextWindow:Math.trunc(c)}:{}}},async getEndpoint(n,i={}){const r=Ps(await Po(e,n,"endpoint",{options:i,fallback:"无法读取 Sandbox Endpoint。"}));if(typeof(r==null?void 0:r.endpoint)!="string"||!r.endpoint.trim())throw new Error("Sandbox 返回了无效 Endpoint。");return{endpoint:r.endpoint,sessionId:typeof r.sessionId=="string"?r.sessionId:n,...typeof r.expireAt=="string"?{expireAt:r.expireAt}:{}}},async createCodexProjectHandoffPairing(n={}){const i=await ri(`${$G}/pairings`,{method:"POST",headers:vr({Accept:"application/json","Content-Type":"application/json"}),body:JSON.stringify({ttlSeconds:opt}),signal:n.signal},BG);if(!i.ok)throw await wr(i,"无法生成 Codex 云端接力配对码。");const r=Ps(await UG(i,"无法生成 Codex 云端接力配对码。"));if(typeof(r==null?void 0:r.pairingCode)!="string"||!r.pairingCode.trim()||typeof r.expireAt!="string"||!r.expireAt.trim())throw new Error("Studio 返回了无效的 Codex 云端接力配对码。");const s=typeof r.studioUrl=="string"&&r.studioUrl.trim()?r.studioUrl.trim():window.location.origin;return{pairingCode:r.pairingCode,expireAt:r.expireAt,studioUrl:s}},async getCodexProjectHandoffStatus(n,i={}){const r=await ri(`${$G}/pairings/${encodeURIComponent(n)}`,{headers:vr({Accept:"application/json"}),signal:i.signal},BG);if(!r.ok)throw await wr(r,"无法读取端云接力状态。");const s=Ps(await UG(r,"无法读取端云接力状态。")),a=new Set(["issued","creating","session-created","continuing","running","completed","failed"]);if(typeof(s==null?void 0:s.state)!="string"||!a.has(s.state)||typeof s.expireAt!="string"||!s.expireAt.trim())throw new Error("Studio 返回了无效的端云接力状态。");return{state:s.state,expireAt:s.expireAt,...typeof s.projectName=="string"?{projectName:s.projectName}:{},...typeof s.agentName=="string"?{agentName:s.agentName}:{},...typeof s.sessionId=="string"?{sessionId:s.sessionId}:{},...typeof s.error=="string"?{error:s.error}:{},...s.failedStage==="creating-session"||s.failedStage==="uploading-project"||s.failedStage==="restoring-project"||s.failedStage==="continuing-task"?{failedStage:s.failedStage}:{}}},async listModels(n,i={}){const r=Ps(await Po(e,n,"models",{options:i,fallback:"无法读取 Codex 模型列表。"}));if(!Array.isArray(r==null?void 0:r.models))throw new Error("Sandbox 返回了无效模型列表。");return r.models.flatMap(s=>{const a=lpt(s);return a?[a]:[]})},async setModel(n,i,r={}){const s=Ps(await Po(e,n,"model",{method:"PUT",body:{model:i},options:r,fallback:"无法切换 Codex 模型。"}));if(typeof(s==null?void 0:s.model)!="string"||!s.model)throw new Error("Sandbox 返回了无效模型。");return s.model},async listSkills(n,i=!1,r={}){const a=Ps(await Po(e,n,`skills${i?"?force_reload=true":""}`,{options:r,fallback:"无法读取 Codex Skills。"}));if(!Array.isArray(a==null?void 0:a.skills))throw new Error("Sandbox 返回了无效 Skill 列表。");return a.skills.flatMap(o=>{const c=cpt(o);return c?[c]:[]})},async listThreads(n,i={},r={}){const s=new URLSearchParams;i.cursor&&s.set("cursor",i.cursor),i.search&&s.set("search",i.search),i.archived&&s.set("archived","true");const a=s.size?`?${s}`:"",o=Ps(await Po(e,n,`threads${a}`,{options:r,fallback:"无法读取 Codex Thread 列表。"}));if(!Array.isArray(o==null?void 0:o.threads))throw new Error("Sandbox 返回了无效 Thread 列表。");return{threads:o.threads.flatMap(c=>{const u=Cge(c);return u?[u]:[]}),...typeof o.nextCursor=="string"?{nextCursor:o.nextCursor}:{}}},async newThread(n,i={}){return Ep(await Po(e,n,"threads/new",{method:"POST",options:i,fallback:"无法创建新的 Codex Thread。"}))},async readThread(n,i,r={}){if(!i)throw new Error("缺少要读取的 Codex Thread。");return Ep(await Po(e,n,`threads/${encodeURIComponent(i)}`,{options:r,fallback:"无法读取 Codex 历史消息。"}))},async resumeThread(n,i,r={}){return Ep(await Po(e,n,"threads/resume",{method:"POST",body:{threadId:i},options:r,fallback:"无法恢复 Codex Thread。"}))},async forkThread(n,i={}){return Ep(await Po(e,n,"threads/fork",{method:"POST",options:i,fallback:"无法分叉 Codex Thread。"}))},async archiveThread(n,i,r={}){const s=Ps(await Po(e,n,"threads/archive",{method:"POST",body:{threadId:i},options:r,fallback:"无法归档 Codex Thread。"}));if((s==null?void 0:s.archived)!==!0)throw new Error("Sandbox 返回了无效归档结果。");return{archived:!0,...s.thread?{snapshot:Ep(s)}:{}}},async deleteThread(n,i,r={}){const s=Ps(await Po(e,n,"threads/delete",{method:"POST",body:{threadId:i},options:r,fallback:"无法删除 Codex Thread。"}));if((s==null?void 0:s.deleted)!==!0)throw new Error("Sandbox 返回了无效删除结果。");return{deleted:!0,...s.thread?{snapshot:Ep(s)}:{}}},async compactThread(n,i={}){await Po(e,n,"threads/compact",{method:"POST",options:i,fallback:"无法压缩 Codex Thread。"})},async getSettings(n,i={}){const r=await ri(`${e}/${encodeURIComponent(n)}/settings`,{method:"GET",headers:vr(),signal:i.signal},sd);if(!r.ok)throw await wr(r,"无法读取 Codex 权限与工作空间。");return qG(await r.json())},async updatePermissions(n,i,r={}){const s=await ri(`${e}/${encodeURIComponent(n)}/permissions`,{method:"PUT",headers:vr({"Content-Type":"application/json"}),body:JSON.stringify(i),signal:r.signal},sd);if(!s.ok)throw await wr(s,"无法更新 Codex 权限。");const a=await s.json();return lC(a.permissions)},async updateWorkspace(n,i,r={}){const s=await ri(`${e}/${encodeURIComponent(n)}/workspace`,{method:"PUT",headers:vr({"Content-Type":"application/json"}),body:JSON.stringify({cwd:i}),signal:r.signal},sd);if(!s.ok)throw await wr(s,"无法更新 Codex 工作空间。");const a=await s.json();if(typeof a.cwd!="string"||!a.cwd)throw new Error("Sandbox 返回了无效工作目录。");return a.cwd},async listDirectories(n,i,r={}){const s=new URLSearchParams({path:i}),a=await ri(`${e}/${encodeURIComponent(n)}/directories?${s}`,{method:"GET",headers:vr(),signal:r.signal},sd);if(!a.ok)throw await wr(a,"无法读取 Sandbox 目录。");const o=await a.json();if(typeof o.path!="string"||!Array.isArray(o.directories)||o.directories.some(c=>!c||typeof c.name!="string"||typeof c.path!="string"))throw new Error("Sandbox 返回了无效目录列表。");return{path:o.path,...typeof o.parent=="string"?{parent:o.parent}:{},directories:o.directories}},async resolveApproval(n,i,r,s={}){const a=await ri(`${e}/${encodeURIComponent(n)}/approvals/${encodeURIComponent(i)}`,{method:"POST",headers:vr({"Content-Type":"application/json"}),body:JSON.stringify({decision:r}),signal:s.signal},sd);if(!a.ok)throw await wr(a,"无法提交 Codex 审批决定。")},async launchTerminal(n,i={}){return XG(e,n,"terminal",i)},async launchBrowser(n,i={}){return XG(e,n,"browser",i)},async uploadFile(n,i,r={}){const s=new FormData;s.set("file",i,i.name);const a=await ri(`${e}/${encodeURIComponent(n)}/files`,{method:"POST",headers:vr(),body:s,signal:r.signal},apt);if(!a.ok)throw await wr(a,"无法上传文件到 Sandbox。");const o=await a.json();if(typeof o.id!="string"||typeof o.path!="string"||typeof o.name!="string"||typeof o.mimeType!="string"||typeof o.sizeBytes!="number")throw new Error("Sandbox 返回了无效上传结果。");return o},async closeSession(n,i={}){if(!n)return;const r=await ri(`${e}/${encodeURIComponent(n)}/disconnect`,{method:"POST",headers:vr(),signal:i.signal},Oy);if(!r.ok&&r.status!==404)throw await wr(r,"无法断开 Codex 智能体连接。")},async deleteSession(n,i={}){if(!n)return;const r=await ri(`${e}/${encodeURIComponent(n)}`,{method:"DELETE",headers:vr(),signal:i.signal},Oy);if(!r.ok&&r.status!==404)throw await wr(r,"无法删除 Codex 智能体。")}}}const _i=Nge(ipt),Yc=Nge("/web/intelligent-development/sessions",{textOnly:!0,messageTimeoutMs:36e5,interruptTimeoutMs:45e3});async function XG(e,t,n,i){const r=await ri(`${e}/${encodeURIComponent(t)}/${n}`,{method:"POST",headers:vr(),signal:i.signal},sd);if(!r.ok)throw await wr(r,n==="terminal"?"无法打开 Sandbox Terminal。":"无法打开 Sandbox Browser。");const s=await r.json();return{url:jge(s.url,"Sandbox 工具"),...typeof s.shellSessionId=="string"?{shellSessionId:s.shellSessionId}:{}}}function jge(e,t){if(typeof e!="string")throw new Error(`${t} 返回了无效地址。`);if(e.startsWith("/"))return mo(e);let n;try{n=new URL(e)}catch{throw new Error(`${t} 返回了无效地址。`)}const i=n.protocol==="http:"&&window.location.protocol==="http:";if(n.protocol!=="https:"&&!i)throw new Error(`${t} 返回了不安全的地址。`);return n.toString()}function m0(e,t,n){const i=e instanceof Error?`${e.name}: ${e.message}`:String(e||"未知错误");return[`${t}失败`,`详细信息:${i}`,n?`请求:${n}`:""].filter(Boolean).join(` +`)}function hpt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.jsx("path",{d:"m7.8 12.3 2 2-2 2M12.2 16.3h3.2"})]})}function ppt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M18.9 6.25A8.4 8.4 0 1 0 19.6 16"}),l.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"}),l.jsx("circle",{cx:"10.6",cy:"12.8",r:"2.45"}),l.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 mpt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.jsx("path",{d:"M9.3 12.65h.01M14.9 12.65h.01M10.8 15.55c.8.5 1.65.5 2.45 0"}),l.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 gpt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M5.2 17.2V8.1a3 3 0 0 1 3-3h7.6a3 3 0 0 1 3 3v9.1"}),l.jsx("path",{d:"M7.4 17.2h9.2M9 19.9h6"}),l.jsx("path",{d:"M9.1 9.25h5.8M9.1 12h3.1"}),l.jsx("path",{d:"m14.1 12.4 2 2.1M16.2 12.4l-2.1 2.1"})]})}function cv({kind:e,...t}){return e==="codex"?l.jsx(hpt,{...t}):e==="deepseek-harness"?l.jsx(gpt,{...t}):e==="openclaw"?l.jsx(ppt,{...t}):l.jsx(mpt,{...t})}const bI=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"deepseek-harness",label:"DeepSeek Harness"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],bpt=24,Opt=3e4,g0=new Map,z0=new Map,ypt=new Set;function OE(e){if(!e){g0.clear(),z0.clear();return}const t=new Set(e);if(t.size!==0){for(const[n,i]of z0)i.page.runtimes.some(r=>t.has(r.runtimeId))&&z0.delete(n);g0.clear()}}function xpt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function OI(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M8 3.25v9.5M3.25 8h9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function vpt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"M2.75 5.25h8.75m0 0-2-2m2 2-2 2M13.25 10.75H4.5m0 0 2 2m-2-2 2-2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function wpt({type:e}){return e==="general"?l.jsx(vh,{}):l.jsx(cv,{kind:e})}function qQ(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 Spt(e,t=Date.now()){const n=Date.parse(e);if(!Number.isFinite(n)||n-t<6e4)return"即将清空";const i=Math.ceil((n-t)/6e4),r=Math.floor(i/60),s=i%60;return`${r} 小时 ${s} 分钟`}function HG(e){var t;return{id:e.runtimeId,name:e.name,description:((t=e.description)==null?void 0:t.trim())||"暂无描述",createdAt:qQ(e.createdAt??""),specificationLabel:"创建人",specification:e.author||"—",isMine:e.isMine,runtime:{runtimeId:e.runtimeId,region:e.region,currentVersion:e.currentVersion,canDelete:e.canDelete}}}function Ept(e){return{id:e.id,name:e.displayName||`${e.toolName} 智能体`,description:oC(e.status),createdAt:qQ(e.createdAt),specificationLabel:"创建人",specification:e.createdBy||"—",sandbox:e}}function kpt(e){var t;return{id:e.id,name:e.draft.name||"未命名 Agent",description:((t=e.draft.description)==null?void 0:t.trim())||"暂无描述",createdAt:qQ(new Date(e.updatedAt).toISOString()),specificationLabel:"存储位置",specification:"当前浏览器",draft:e}}async function Tpt(e,t,n){const i=`${e}:all:${t}`,r=z0.get(i);if(r&&r.expiresAt>Date.now())return n(r.page.runtimes.map(HG)),r.page.nextToken;r&&z0.delete(i);let s=g0.get(i);s||(s=IA({scope:e,region:"all",pageSize:bpt,nextToken:t}),g0.set(i,s),s.then(()=>g0.delete(i),()=>g0.delete(i)));const a=await s;return z0.set(i,{page:a,expiresAt:Date.now()+Opt}),n(a.runtimes.map(HG)),a.nextToken}function _pt({agent:e,cloudProvider:t,onUse:n,onViewDetails:i,connecting:r,connected:s,showOwnership:a,deploymentTask:o,nowMs:c,onViewDeploymentTask:u,onEditDraft:d,onDeleteDraft:f}){var O,y,v,x;const h=(O=e.sandbox)==null?void 0:O.status.toLowerCase(),p=((y=e.sandbox)==null?void 0:y.resourceType)==="snapshot",b=!!(e.runtime||h==="ready"||h==="wakeable"),g=((v=e.sandbox)==null?void 0:v.resourceType)==="snapshot"?e.sandbox.sourceSessionId||e.sandbox.snapshotId:(x=e.sandbox)==null?void 0:x.id;return l.jsxs("article",{className:"my-agent-card",children:[l.jsxs("div",{className:"my-agent-card-content",children:[l.jsxs("div",{className:"my-agent-card-title",children:[l.jsxs("div",{className:"my-agent-card-title-copy",children:[l.jsx("h3",{children:e.name}),e.sandbox?l.jsx("span",{className:"my-agent-session-id",title:g,children:g}):null]}),e.draft?l.jsx("span",{className:"my-agent-draft-badge",children:o?"部署中":"草稿"}):e.sandbox?l.jsx("span",{className:"my-agent-status-label","data-ready":e.sandbox.status.toLowerCase()==="ready"||void 0,"data-wakeable":p||void 0,children:e.description}):e.runtime?l.jsxs("div",{className:"my-agent-card-badges",children:[o?l.jsx("span",{className:"my-agent-deploying-badge",children:"部署中"}):null,l.jsx("span",{className:"my-agent-region-badge",children:wu(e.runtime.region,t)}),a&&e.isMine?l.jsx("span",{className:"runtime-owner-badge",children:"我创建的"}):null]}):null]}),e.sandbox?null:l.jsx("p",{className:"my-agent-description",children:e.description}),l.jsxs("dl",{className:"my-agent-meta",children:[l.jsxs("div",{className:"my-agent-created-at",children:[l.jsx("dt",{children:e.draft?"更新时间":"创建时间"}),l.jsx("dd",{children:e.createdAt})]}),l.jsxs("div",{className:"my-agent-region",children:[l.jsx("dt",{children:e.specificationLabel}),l.jsx("dd",{children:e.specification})]}),e.sandbox?l.jsxs("div",{className:`my-agent-expiry${e.sandbox.resourceType==="session"&&e.sandbox.persistent?"":" is-expiring"}`,children:[l.jsx("dt",{children:"剩余时间"}),l.jsx("dd",{children:e.sandbox.resourceType==="snapshot"?"可唤醒":e.sandbox.persistent?"永不过期":Spt(e.sandbox.expireAt,c)})]}):null]})]}),l.jsx("footer",{className:"my-agent-actions",children:e.draft?l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"my-agent-details","aria-label":o?`查看 ${e.name} 部署进度`:`编辑草稿 ${e.name}`,onClick:()=>o?u==null?void 0:u(o):d==null?void 0:d(e.draft),children:o?"查看进度":"编辑"}),l.jsx("button",{type:"button",className:"my-agent-delete","aria-label":`删除草稿 ${e.name}`,onClick:()=>f==null?void 0:f(e.draft),children:"删除"})]}):l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"my-agent-details",disabled:!b,"aria-label":o?`查看 ${e.name} 部署进度`:`查看 ${e.name} 详情`,onClick:()=>o?u==null?void 0:u(o):i==null?void 0:i(e),children:o?"查看进度":"查看详情"}),l.jsx("button",{type:"button",className:`my-agent-use${s?" is-connected":""}`,disabled:!b||r||s,"aria-busy":r||void 0,"aria-label":s?`${e.name} 已连接`:p?`唤醒 ${e.name}`:`使用 ${e.name}`,onClick:()=>void(n==null?void 0:n(e)),children:r?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-use-spinner","aria-hidden":"true"}),l.jsx("span",{children:p?"唤醒中":"连接中"})]}):s?"已连接":p?"唤醒":"使用"})]})})]})}function Apt({cloudProvider:e,canCreate:t,runtimeScope:n,onCreateAgent:i,onOpenCodexProjectUpload:r,onUseAgent:s,onViewAgentDetails:a,onCreateSandboxAgent:o,onUseSandboxAgent:c,onViewSandboxAgentDetails:u,activeType:d,onActiveTypeChange:f,sandboxRefreshKey:h=0,connectedRuntimeId:p="",hiddenRuntimeIds:b=ypt,drafts:g=[],deploymentTasks:O=[],draftDeploymentTaskIds:y={},onViewDeploymentTask:v,onEditDraft:x,onDeleteDraft:w}){const E=m.useRef(null),S=m.useRef(null),k=m.useRef(0),T=m.useRef(0),C=m.useRef(null),[A,N]=m.useState(""),[P,Q]=m.useState([]),[D,$]=m.useState(""),[j,I]=m.useState(!0),[F,B]=m.useState(""),[M,Y]=m.useState([]),[q,U]=m.useState(!1),[V,re]=m.useState(""),[de,be]=m.useState(""),[ce,K]=m.useState(null),[ee,me]=m.useState(()=>Date.now()),ve=M.some(ue=>{var ye;return((ye=ue.sandbox)==null?void 0:ye.resourceType)==="session"&&ue.sandbox.persistent===!1});m.useEffect(()=>{if(!ve)return;me(Date.now());const ue=window.setInterval(()=>me(Date.now()),6e4);return()=>window.clearInterval(ue)},[ve]);const Ne=m.useMemo(()=>g.map(kpt),[g]),Ie=m.useMemo(()=>{const ue=new Map,ye=new Map;for(const z of O){if(z.status!=="running"||(ue.set(z.id,z),!z.runtimeId))continue;const je=ye.get(z.runtimeId);(!je||z.startedAt>je.startedAt)&&ye.set(z.runtimeId,z)}return{byId:ue,byRuntimeId:ye}},[O]),De=m.useCallback(ue=>{var z;if(ue.draft){const je=y[ue.draft.id];return je?Ie.byId.get(je):void 0}const ye=(z=ue.runtime)==null?void 0:z.runtimeId;return ye?Ie.byRuntimeId.get(ye):void 0},[Ie,y]),pe=m.useCallback((ue,ye)=>{const z=++k.current;return I(!0),B(""),Tpt(n,ue,je=>{k.current===z&&Q(We=>ye?je:[...We,...je])}).then(je=>{k.current===z&&$(je)}).catch(je=>{k.current===z&&B(m0(je,"加载通用智能体","GET /web/runtimes"))}).finally(()=>{k.current===z&&I(!1)})},[n]);m.useEffect(()=>{if(d==="general")return Q([]),$(""),pe("",!0),()=>{k.current+=1}},[d,pe]);const Se=m.useCallback(async ue=>{var je,We;(je=C.current)==null||je.abort();const ye=new AbortController;C.current=ye;const z=++T.current;U(!0),re(""),Y([]);try{const et=ue==="codex"?await _i.listSessions({signal:ye.signal,autoResumeSnapshots:!0}):await _i.listAgentSessions(ue,{signal:ye.signal,autoResumeSnapshots:!0});if(T.current!==z)return;Y(et.map(Ept))}catch(et){if((et==null?void 0:et.name)==="AbortError"||T.current!==z)return;re(m0(et,`加载 ${((We=bI.find(Jt=>Jt.id===ue))==null?void 0:We.label)??ue}`,`GET /web/${ue==="codex"?"sandbox":ue}/sessions`))}finally{C.current===ye&&(C.current=null),T.current===z&&U(!1)}},[]);function Oe(ue){var ye;ue!==d&&(ue==="general"?(k.current+=1,Q([]),$(""),B(""),I(!0)):((ye=C.current)==null||ye.abort(),C.current=null,T.current+=1,Y([]),re(""),U(!0)),f(ue))}m.useEffect(()=>{var ue;if(d==="general"){(ue=C.current)==null||ue.abort(),C.current=null,T.current+=1;return}return Se(d),()=>{var ye;(ye=C.current)==null||ye.abort(),C.current=null,T.current+=1}},[d,Se,h]),m.useEffect(()=>{const ue=S.current,ye=E.current;if(!ue||!ye||d!=="general"||!D||j)return;const z=new IntersectionObserver(([je])=>{je.isIntersecting&&pe(D,!1)},{root:ye,rootMargin:"240px 0px",threshold:.01});return z.observe(ue),()=>z.disconnect()},[d,pe,j,D]);const Le=m.useCallback(async ue=>{if(!de){be(ue.id);try{await new Promise(ye=>requestAnimationFrame(()=>ye())),ue.sandbox?await c(ue.sandbox):await s(ue)}finally{be("")}}},[de,s,c]),Fe=m.useMemo(()=>{const ue=A.trim().toLocaleLowerCase(),ye=d==="general"?[...Ne,...P]:M,z=ue?ye.filter(et=>et.name.toLocaleLowerCase().includes(ue)):ye;if(d!=="general")return z;const je=b.size>0?z.filter(et=>!et.runtime||!b.has(et.runtime.runtimeId)):z,We=je.findIndex(et=>{var Jt;return((Jt=et.runtime)==null?void 0:Jt.runtimeId)===p});return We<=0?je:[je[We],...je.slice(0,We),...je.slice(We+1)]},[d,p,Ne,b,A,P,M]),Te=bI.find(ue=>ue.id===d),Ue=(Te==null?void 0:Te.label)??"智能体",ot=d==="general"?j&&P.length===0&&Ne.length===0:q&&M.length===0,Bt=!ot&&Fe.length===0,Ye=t?d==="general"?()=>i(Li(e)):()=>o(d):void 0,Z=d==="codex"&&t&&!!r,ie=t?void 0:"当前账号没有创建智能体权限";return l.jsxs("div",{className:"my-agents-page",children:[l.jsxs("header",{className:"my-agents-header",children:[l.jsxs("div",{className:"my-agents-heading",children:[l.jsx("div",{className:"my-agents-title-row",children:l.jsx("h1",{children:"智能体"})}),l.jsx("p",{children:n==="all"?"在此处浏览所有智能体":"在此处浏览您的所有智能体"})]}),l.jsxs("label",{className:"my-agent-search",children:[l.jsx(xpt,{}),l.jsx("input",{type:"search","aria-label":"搜索智能体",value:A,onChange:ue=>N(ue.target.value),placeholder:"搜索所有类型智能体名称"})]})]}),l.jsxs("div",{className:"my-agent-type-bar",children:[l.jsx("nav",{className:"my-agent-type-pills","aria-label":"智能体类型",children:bI.map(ue=>l.jsx("button",{type:"button",className:`my-agent-type-pill${d===ue.id?" is-active":""}`,"aria-pressed":d===ue.id,onClick:()=>Oe(ue.id),children:ue.label},ue.id))}),l.jsxs("div",{className:"my-agent-type-actions",children:[Z?l.jsxs("button",{type:"button",className:"my-agent-create-secondary",onClick:r,children:[l.jsx(vpt,{}),l.jsx("span",{children:"接力"})]}):null,l.jsxs("button",{type:"button",className:"my-agent-create-primary",disabled:!Ye,title:ie,onClick:()=>Ye==null?void 0:Ye(),children:[l.jsx(OI,{}),l.jsx("span",{children:"创建智能体"})]})]})]}),l.jsxs("section",{className:"my-agent-results",ref:E,"aria-label":`${Ue}列表`,children:[ot?l.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载智能体"})]}):(d==="general"?F:V)&&Fe.length===0?l.jsxs("div",{className:"my-agent-empty",role:"alert",children:[l.jsx("p",{children:d==="general"?F:V}),l.jsx("button",{type:"button",onClick:()=>{d==="general"?pe("",!0):Se(d)},children:"重新加载"})]}):Bt?A.trim()?l.jsx("div",{className:"my-agent-empty-message",children:l.jsxs(Ci,{fill:"none",children:[l.jsx(Ci.Icon,{children:l.jsx(Bke,{})}),l.jsx(Ci.Title,{children:"没有匹配的智能体"}),l.jsx(Ci.Description,{children:"请尝试搜索其他名称"})]})}):d!=="general"?l.jsx("div",{className:"my-agent-empty-message",children:l.jsxs(Ci,{fill:"none",children:[l.jsx(Ci.Icon,{children:l.jsx(wpt,{type:d})}),l.jsxs(Ci.Title,{className:"my-agent-sandbox-empty-title",children:["暂无 ",Ue]}),t?l.jsx(Ci.ActionRow,{children:l.jsxs(Pl,{color:"primary",size:"lg",onClick:()=>o(d),children:[l.jsx(OI,{}),"创建智能体"]})}):null]})}):l.jsx("div",{className:"my-agent-empty-message",children:l.jsxs(Ci,{fill:"none",children:[l.jsx(Ci.Icon,{children:l.jsx(vh,{})}),l.jsx(Ci.Title,{children:"暂无通用智能体"}),l.jsx(Ci.Description,{children:"创建一个通用智能体,开始构建和对话"}),t?l.jsx(Ci.ActionRow,{children:l.jsxs(Pl,{color:"primary",size:"lg",onClick:()=>i(Li(e)),children:[l.jsx(OI,{}),"创建智能体"]})}):null]})}):l.jsxs(l.Fragment,{children:[d==="general"&&F?l.jsxs("div",{className:"my-agent-inline-error",role:"alert",children:[l.jsx("span",{children:F}),l.jsx("button",{type:"button",onClick:()=>void pe("",!0),children:"重新加载"})]}):null,l.jsx("div",{className:"my-agent-grid",children:Fe.map(ue=>{var ye;return l.jsx(_pt,{agent:ue,cloudProvider:e,deploymentTask:De(ue),nowMs:ee,onViewDeploymentTask:v,onUse:Le,onViewDetails:z=>{z.sandbox?u(z.sandbox):a(z)},connecting:ue.id===de,connected:((ye=ue.runtime)==null?void 0:ye.runtimeId)===p,showOwnership:n==="all",onEditDraft:x,onDeleteDraft:K},ue.id)})})]}),d==="general"&&!F&&!ot&&(Fe.length>0||!!D)&&l.jsx("div",{className:"my-agent-load-more",ref:S,"aria-live":"polite",children:j?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),l.jsx("span",{children:"正在加载更多智能体"})]}):D?l.jsx("span",{children:"继续下滑加载更多"}):l.jsx("span",{children:"已加载全部智能体"})})]}),ce?l.jsx(yc,{title:"删除草稿?",description:`删除后将无法恢复“${ce.draft.name||"未命名 Agent"}”。`,confirmLabel:"删除草稿",variant:"danger",onCancel:()=>K(null),onConfirm:()=>{w==null||w(ce),K(null)}}):null]})}function Cpt(e){return e==="127.0.0.1"}const Npt={id:"coding-agents",kind:"coding-agent",category:"development",icon:"coding-agents",name:"配置 Coding Agents",badge:"本地",badgeTone:"success",description:"将 VeADK 和 AgentKit 内置 Skills 全局配置到 Trae、Claude Code 或 Codex。"},jpt={id:"feishu",kind:"feishu",category:"channels",icon:"feishu",name:"飞书机器人",badge:"Beta",description:"创建飞书机器人,并将消息直接接入 AgentKit Runtime。"},Rpt="https://api.github.com",Ipt=/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/,GG=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,199}$/,Dpt=/^[A-Za-z0-9._/-]+$/;function Ppt(e,t,n){return e===401||e===403?"GitHub Token 无效或没有仓库写入权限":e===404?"仓库、分支或文件不存在,或 Token 无权访问":e===422?"GitHub 拒绝了提交,请检查分支和文件状态":String((t==null?void 0:t.message)||"").split(n).join("***").trim().slice(0,240)||`GitHub 请求失败(HTTP ${e})`}async function up(e,t){const n={Accept:"application/vnd.github+json",Authorization:`Bearer ${t.token}`,"X-GitHub-Api-Version":"2022-11-28"};t.body&&(n["Content-Type"]="application/json");let i;try{i=await fetch(`${Rpt}${e}`,{method:t.method||"GET",headers:n,body:t.body?JSON.stringify(t.body):void 0,signal:t.signal})}catch(s){throw t.signal.aborted?s:new Error("连接 GitHub 失败,请检查网络后重试")}const r=await i.json().catch(()=>null);if(!t.expected.includes(i.status))throw new Error(Ppt(i.status,r,t.token));return{status:i.status,payload:r}}function yI(e){return e.split("/").map(encodeURIComponent).join("/")}function Mpt(e){const t=new TextEncoder().encode(e);let n="";const i=32768;for(let r=0;r({...h,path:XQ(h.path,"")})),s=AbortSignal.any([t,AbortSignal.timeout(6e4)]),a=`/repos/${n}`;await up(`${a}`,{token:e.token,expected:[200],signal:s});const c=(f=(await up(`${a}/git/ref/heads/${yI(i)}`,{token:e.token,expected:[200],signal:s})).payload.object)==null?void 0:f.sha;if(!c)throw new Error("目标分支缺少有效 Git SHA");const u=Lpt(e.branchPrefix);await up(`${a}/git/refs`,{token:e.token,expected:[201],signal:s,method:"POST",body:{ref:`refs/heads/${u}`,sha:c}});let d=!0;try{for(const p of r){const b=yI(p.path),g=await up(`${a}/contents/${b}?ref=${encodeURIComponent(i)}`,{token:e.token,expected:[200,404],signal:s});if(p.mustBeNew&&g.status===200)throw new Error(`目标仓库中已存在 ${p.path},未覆盖现有文件`);if(g.status===200&&!g.payload.sha)throw new Error(`目标路径 ${p.path} 不是可更新的文件`);await up(`${a}/contents/${b}`,{token:e.token,expected:[200,201],signal:s,method:"PUT",body:{message:p.commitMessage,content:Mpt(p.content),branch:u,...g.payload.sha?{sha:g.payload.sha}:{}}})}const h=await up(`${a}/pulls`,{token:e.token,expected:[201],signal:s,method:"POST",body:{title:e.title,head:u,base:i,body:e.description}});if(!h.payload.number||!h.payload.html_url)throw new Error("GitHub 未返回有效的 Pull Request");return d=!1,{number:h.payload.number,url:h.payload.html_url,branch:u}}finally{d&&await up(`${a}/git/refs/heads/${yI(u)}`,{token:e.token,expected:[204],signal:AbortSignal.timeout(15e3),method:"DELETE"}).catch(()=>{})}}const GQ={name:"repository",label:"GitHub Repo",placeholder:"owner/repository",help:"支持 owner/repository 或完整 github.com URL",required:!0},YQ={name:"baseBranch",label:"目标分支",placeholder:"main",help:"留空时使用 main,PR 将以此分支为 base",required:!1},Ige={name:"runtimeName",label:"Runtime 名称",placeholder:"support-agent",help:"用于 AgentKit 发布配置",required:!0},Dge={name:"runtimeId",label:"Runtime ID",placeholder:"rt-xxxxxxxx",help:"持续更新的目标 AgentKit Runtime",required:!0};function WQ(e={}){return{repository:"",baseBranch:"main",projectPath:".",runtimeName:"",runtimeId:"",sandboxToolId:"",modelName:"",modelBaseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3",region:"cn-beijing",token:"",...e}}function ZQ(e){return{repository:e.repository.trim(),baseBranch:e.baseBranch.trim()||"main",region:e.region,token:e.token.trim()}}const $pt=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/,Qpt=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/;function Bpt(e){if(!$pt.test(e.sandboxToolId))throw new Error("Sandbox Tool ID 格式不正确");if(!Qpt.test(e.modelName))throw new Error("模型名称格式不正确");let t;try{t=new URL(e.modelBaseUrl)}catch{throw new Error("模型 API 地址必须是安全的 HTTPS URL")}if(t.protocol!=="https:"||!t.hostname||t.username||t.password||t.search||t.hash)throw new Error("模型 API 地址必须是安全的 HTTPS URL")}function Fpt(e){Bpt(e);const t=String.raw`name: PR Automated Review "on": pull_request: @@ -883,7 +883,7 @@ jobs: gh pr review "__GH__ github.event.pull_request.number }}" \ --comment \ --body-file review-body.md -`,n={__GH__:"${{",__REGION__:JSON.stringify(e.region),__SANDBOX_TOOL_ID__:JSON.stringify(e.sandboxToolId),__MODEL_NAME__:JSON.stringify(e.modelName),__MODEL_BASE_URL__:JSON.stringify(e.modelBaseUrl)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const wpt={id:"review",kind:"github",category:"development",icon:"github",name:"PR 自动评审",description:"在隔离 Sandbox 中评审代码变更,并将结果发布到 Pull Request。",title:"PR 自动评审",subtitle:"在隔离 Sandbox 中检查代码变更并把结果发布到 Pull Request",panel:"工作流仅评审同仓库的非草稿 PR;fork PR 不会读取仓库 Secrets。",submitLabel:"添加评审并提交 PR",fields:[$Q,QQ,{name:"sandboxToolId",label:"Sandbox Tool ID",placeholder:"tool-xxxxxxxx",help:"用于运行每次评审的 AgentKit CodeEnv",required:!0},{name:"modelName",label:"评审模型",placeholder:"doubao-seed-code-preview",help:"注入 Sandbox 的代码评审模型名称",required:!0},{name:"modelBaseUrl",label:"模型 API 地址",placeholder:"https://ark.cn-beijing.volces.com/api/coding/v3",help:"必须使用 OpenAI 兼容的 HTTPS 地址",required:!0}],initialValues:BQ(),regionHelp:"必须与 Sandbox Tool 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","CODEX_MODEL_API_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=FQ(e);return LQ({...n,files:[{path:".github/workflows/codex-pr-review.yml",content:vpt({sandboxToolId:e.sandboxToolId.trim(),modelName:e.modelName.trim(),modelBaseUrl:e.modelBaseUrl.trim(),region:n.region}),commitMessage:"chore: configure PR automated review"}],branchPrefix:"chore/pr-automated-review",title:"chore: 配置 PR 自动评审",description:"新增 GitHub Actions 工作流,在隔离 Sandbox 中评审同仓库 PR,并将结果发布为 GitHub Review。合并前请配置工作流所需 Secrets。"},t)}},Spt=/^[A-Za-z0-9_-]+$/,gge=4,M_=64,L_=6,QY="agent-runtime";function bge(e){const t=e.trim();if(!t)return QY;let n=t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").slice(0,M_);return n?(n.lengthM_?"Runtime 名称长度须为 4-64 个字符":null:"Runtime 名称只能包含英文字母、数字、下划线和连字符":"Runtime 名称为必填项"}const Tpt=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;function _pt(e){const t=iC(e.runtimeName);if(t)throw new Error(t);if(!Tpt.test(e.runtimeId))throw new Error("Runtime ID 格式不正确")}function yge(e){_pt(e);const t=`name: Publish to AgentKit Runtime +`,n={__GH__:"${{",__REGION__:JSON.stringify(e.region),__SANDBOX_TOOL_ID__:JSON.stringify(e.sandboxToolId),__MODEL_NAME__:JSON.stringify(e.modelName),__MODEL_BASE_URL__:JSON.stringify(e.modelBaseUrl)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const Upt={id:"review",kind:"github",category:"development",icon:"github",name:"PR 自动评审",description:"在隔离 Sandbox 中评审代码变更,并将结果发布到 Pull Request。",title:"PR 自动评审",subtitle:"在隔离 Sandbox 中检查代码变更并把结果发布到 Pull Request",panel:"工作流仅评审同仓库的非草稿 PR;fork PR 不会读取仓库 Secrets。",submitLabel:"添加评审并提交 PR",fields:[GQ,YQ,{name:"sandboxToolId",label:"Sandbox Tool ID",placeholder:"tool-xxxxxxxx",help:"用于运行每次评审的 AgentKit CodeEnv",required:!0},{name:"modelName",label:"评审模型",placeholder:"doubao-seed-code-preview",help:"注入 Sandbox 的代码评审模型名称",required:!0},{name:"modelBaseUrl",label:"模型 API 地址",placeholder:"https://ark.cn-beijing.volces.com/api/coding/v3",help:"必须使用 OpenAI 兼容的 HTTPS 地址",required:!0}],initialValues:WQ(),regionHelp:"必须与 Sandbox Tool 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","CODEX_MODEL_API_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=ZQ(e);return HQ({...n,files:[{path:".github/workflows/codex-pr-review.yml",content:Fpt({sandboxToolId:e.sandboxToolId.trim(),modelName:e.modelName.trim(),modelBaseUrl:e.modelBaseUrl.trim(),region:n.region}),commitMessage:"chore: configure PR automated review"}],branchPrefix:"chore/pr-automated-review",title:"chore: 配置 PR 自动评审",description:"新增 GitHub Actions 工作流,在隔离 Sandbox 中评审同仓库 PR,并将结果发布为 GitHub Review。合并前请配置工作流所需 Secrets。"},t)}},zpt=/^[A-Za-z0-9_-]+$/,Pge=4,U_=64,z_=6,YG="agent-runtime";function Mge(e){const t=e.trim();if(!t)return YG;let n=t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").slice(0,U_);return n?(n.lengthU_?"Runtime 名称长度须为 4-64 个字符":null:"Runtime 名称只能包含英文字母、数字、下划线和连字符":"Runtime 名称为必填项"}const Xpt=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;function Hpt(e){const t=cC(e.runtimeName);if(t)throw new Error(t);if(!Xpt.test(e.runtimeId))throw new Error("Runtime ID 格式不正确")}function $ge(e){Hpt(e);const t=`name: Publish to AgentKit Runtime on: push: @@ -979,7 +979,7 @@ jobs: if not result.success: raise SystemExit(f"AgentKit publish failed: {result.error}") PY -`,n={__BASE_BRANCH__:JSON.stringify(e.baseBranch),__PROJECT_PATH__:JSON.stringify(e.projectPath),__RUNTIME_NAME__:JSON.stringify(e.runtimeName),__RUNTIME_ID__:JSON.stringify(e.runtimeId),__REGION__:JSON.stringify(e.region),__CONCURRENCY_GROUP__:JSON.stringify(`agentkit-runtime-${e.runtimeId}`)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const Apt={id:"delivery",kind:"github",category:"development",icon:"github",name:"AgentKit Runtime 持续交付",description:"为您的仓库添加持续交付到 AgentKit Runtime 的自动化工作流。",title:"AgentKit Runtime 持续交付",subtitle:"用 Pull Request 把持续发布配置安全地加入代码仓库",panel:"提交后将在目标仓库创建发布分支,并发起包含 GitHub Actions 工作流的 PR。",submitLabel:"确定并提交 PR",fields:[$Q,QQ,{name:"projectPath",label:"Agent 项目目录",placeholder:".",help:"留空时使用仓库根目录;目录内需包含挂载完整 Studio App Server 的 app.py",required:!1},pge,mge],initialValues:BQ(),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=FQ(e),i=MQ(e.projectPath,".");return LQ({...n,files:[{path:".github/workflows/publish-agentkit.yml",content:yge({baseBranch:n.baseBranch,projectPath:i,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: publish Agent to AgentKit Runtime"}],branchPrefix:"feat/agentkit-release",title:"feat: 持续发布到 AgentKit Runtime",description:"新增 GitHub Actions 工作流,在目标分支更新时持续发布到 AgentKit Runtime。合并前请配置工作流所需的 Volcengine Secrets。"},t)}};function Cpt(e,t){return e==="."?t:`${e}/${t}`}function Npt(e){return`.github/workflows/publish-agentkit-${e.replace(/[^A-Za-z0-9]+/g,"-").replace(/^-|-$/g,"").toLowerCase()||"root"}.yml`}function jpt(e){return Object.fromEntries(Object.entries({"app.py":`"""__PROJECT_NAME__ — a VeADK agent with the full Studio App Server.""" +`,n={__BASE_BRANCH__:JSON.stringify(e.baseBranch),__PROJECT_PATH__:JSON.stringify(e.projectPath),__RUNTIME_NAME__:JSON.stringify(e.runtimeName),__RUNTIME_ID__:JSON.stringify(e.runtimeId),__REGION__:JSON.stringify(e.region),__CONCURRENCY_GROUP__:JSON.stringify(`agentkit-runtime-${e.runtimeId}`)};return Object.entries(n).reduce((i,[r,s])=>i.split(r).join(s),t)}const Gpt={id:"delivery",kind:"github",category:"development",icon:"github",name:"AgentKit Runtime 持续交付",description:"为您的仓库添加持续交付到 AgentKit Runtime 的自动化工作流。",title:"AgentKit Runtime 持续交付",subtitle:"用 Pull Request 把持续发布配置安全地加入代码仓库",panel:"提交后将在目标仓库创建发布分支,并发起包含 GitHub Actions 工作流的 PR。",submitLabel:"确定并提交 PR",fields:[GQ,YQ,{name:"projectPath",label:"Agent 项目目录",placeholder:".",help:"留空时使用仓库根目录;目录内需包含挂载完整 Studio App Server 的 app.py",required:!1},Ige,Dge],initialValues:WQ(),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=ZQ(e),i=XQ(e.projectPath,".");return HQ({...n,files:[{path:".github/workflows/publish-agentkit.yml",content:$ge({baseBranch:n.baseBranch,projectPath:i,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: publish Agent to AgentKit Runtime"}],branchPrefix:"feat/agentkit-release",title:"feat: 持续发布到 AgentKit Runtime",description:"新增 GitHub Actions 工作流,在目标分支更新时持续发布到 AgentKit Runtime。合并前请配置工作流所需的 Volcengine Secrets。"},t)}};function Ypt(e,t){return e==="."?t:`${e}/${t}`}function Wpt(e){return`.github/workflows/publish-agentkit-${e.replace(/[^A-Za-z0-9]+/g,"-").replace(/^-|-$/g,"").toLowerCase()||"root"}.yml`}function Zpt(e){return Object.fromEntries(Object.entries({"app.py":`"""__PROJECT_NAME__ — a VeADK agent with the full Studio App Server.""" from assistant import root_agent from veadk.integrations.agentkit import create_agentkit_app, run_agentkit_app @@ -1087,38 +1087,40 @@ __pycache__/ Dockerfile .dockerignore README.md -`}).map(([n,i])=>[n,i.split("__PROJECT_NAME__").join(e)]))}const Rpt={id:"template",kind:"github",category:"development",icon:"github",name:"模板项目导入",description:"在您的仓库中创建一个可持续交付到 AgentKit Runtime 的最简智能体",title:"模板项目导入",subtitle:"把可直接启动 Studio 的 basic Agent 和持续交付配置加入仓库",panel:"提交后将创建一个 PR,同时导入 basic 项目和 AgentKit Runtime 发布工作流。",submitLabel:"导入模板并提交 PR",fields:[$Q,QQ,{name:"projectPath",label:"Agent 项目目录",placeholder:"agentkit-basic-agent",help:"将在此目录新增 basic 项目;app.py 挂载完整 Studio App Server,并作为服务入口启动",required:!0},pge,mge],initialValues:BQ({projectPath:"agentkit-basic-agent"}),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=FQ(e),i=hge(n.repository),r=MQ(e.projectPath,"agentkit-basic-agent"),s=r==="."?i.split("/").slice(-1)[0]||"agentkit-basic-agent":r.split("/").slice(-1)[0]||"agentkit-basic-agent",a=Object.entries(jpt(s)).map(([o,c])=>({path:Cpt(r,o),content:c,commitMessage:"feat: import AgentKit basic template",mustBeNew:!0}));return a.push({path:Npt(r),content:yge({baseBranch:n.baseBranch,projectPath:r,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: add AgentKit Runtime delivery",mustBeNew:!0}),LQ({...n,repository:i,files:a,branchPrefix:"feat/agentkit-basic-template",title:"feat: 导入 AgentKit basic 模板",description:"导入带有 AgentKit Studio App Server 的 basic Agent 项目,并添加持续发布到 AgentKit Runtime 的工作流。合并前请配置 Volcengine Secrets。"},t)}},BY=[{id:"development",label:"研发"},{id:"channels",label:"消息渠道"}],xge=[upt,Rpt,Apt,wpt,dpt],Dpt=new Map(xge.map(e=>[e.id,e]));function vge(e){const t=Dpt.get(e);if(!t)throw new Error(`Unknown automation: ${e}`);return t}function Ipt(e){const t=vge(e);if(t.kind!=="github")throw new Error(`Automation is not backed by GitHub: ${e}`);return t}const rC="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cimage%20width='48'%20height='48'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAH7UlEQVRoBdVZWWwbVRQ9492Onc1xTfaWLukq9oSqLKnYBZRSNgn6AagsAgmJRfzxg4SEEDtiER8IBKKAChK0FS1tKYWW0lZQKKV0gxCVJm3ikDiO17EdzrUzSdw4jj1OpeQqNzO237vvnHfvu/e9GWVwcBBDYue1mrqE2kI1UqeSJAnmIHUzNUCNUmGiKtQy6oPUR6geqnw/FSVOUH9R36KupfaDHnBQn6MGqEnqVJcEAfZTBbNL4b+lZPI1VbwwnaSfYO8z8N+TVMd0Qj6EVdbs3eIBP29cVFkL00kk+wSEwHAamgh9bDAJSQWTITZFnF+85J1tBPyOUC9OqqnsVdTIRkVBi70Msy125uriHJ8XAXFRfzKBTQM+rO0/hc54cSQE8iyzAx/XLcEltjIU44uCQijOaHvPfxIv97TjWCzEcMo7+sZ4TGa+2V6KT2rPQ73ZptsPBZE30fVrymvxTvUCtDoqYC0ijhMk/3MkgDd62xFheOqVggjIIAbOVaujEh/ULsaNzioUsxhVAv/A34GD0YBubxZMQJupWpMNr58zHytcHth1ekICsDcRx4u+fxBK6vOCbgKyEIXEK975WOmaoZuErKv1QR8ORQd0eUE3Ac0TNSYrXvI24fZSLxwGfebiDKW3e08gln9J0oYvKoMNG6kmiRdmzMOtTi8sOsJJJfANA93oiseGbeZ7k1EHZAKCEcApu4wCxUsSz3rm4HQiim3B/wpOsBJA2yP/4cZIJYIBFcGwCjWeSKEwm4wosZtR7rKizGXJQJZRB1TuttftAprnAbOrM9rl9UHqwg+s1o+eOow/GNN5CaPOklSgdKq4us+Ji7pt6Dw1AF9vBOGImjJht5lRVWFDY7UL58/3wOt2YPEcN2xWVpPRe6EQC+y9rwINPNKsuRaYX5cXhIxGkks+Y7V+6vQRdLBi5yx1bGwicFebivj+ARgOhZGMJMFyQyWpoV2GRIa2ZXOX2bDyqnPxzEPNKC+1Zj957eDBTbz34PXAwvoMfBN+kGV8Bxf00VgQz/vaEB6nSCnRQVj2h2DZG4TyZwQWlSils3m8RDDEhk2uaqlHaYklVb3Ha42dh4B3eMzZ//eEmMc0kGL3cEU9WksqU4XvzAYKZ9n6fQCOz3thORCGkhgCf2bDMz4bjQpW39yE65Y1QO5FxiUgP+76E3hzI7D1VyBcwP5NTFcZzXjaPRMNZmvGPkfA23YMwLHRD0Mf3ZwTgaBIi8GgYMGsSjx2z3kEP9Jp5E5rOeoqQH75C3htPfDpD4CskXxFvHC5vQKPVjSwPqQfcKTAfxuA/Ws/lBAXwEhUTGjWSAL3r1qYykSju+UkIFbZDx09wPvb0iH1W9uEYw03MHAV3ltew1CqgDkyCNtWgt/cnwY/3GriG5n9hbMrccNljRmzLz0nJCCNJBsEwsCH24E3NgDr96brhfyWS2Sm3EYLVsOL0i0DsG8h+LDkqcLExHhfc9siVDDrjJ59sZJRyHKZFRKybiSkTtIjR08CrXwEdtGcXL2A4+192LOuDeatfqg6wMvsL5lbhWuWysIdO995E9BgSkh19THX7wQOtANXLgKWLQSaarUWI9dNP7bjo68OY9uef6GqhcW8ZkViX2a/nBWYQ4+RggmIBfFGnHgOcD0c7wD2HgOW0xuXk0xN5SDaOwL4cnsb1m05joPHejKK0hgEOb4Q8Muba3H1pXUwZZl96aqLgHSU2RCbEe6/9hzh875OYPdhYF5NDLt/Oohd+46gNxBjm2zzJhZyi/RyV5TggdsvRJnTOm5j3QQ0i9ra6OHj1u9+B/YdNcLXVQdDmYNPy9oZ971IcIPHjUHadVrHHFfZNphtTtx508W4eJEHsg7Gk6IJaIZlDEn3EdUEl7sBg4la2MtqkYgNIOz/F9FgF6IhX6p5mozcjgbGasw/xWCCs7IeN7U24b4VddwZj26jjTZynTQCmknxSBqIETanh7ceWEpmpIiokT7E6JFosBvxaD/iJCeNDQYzTFYnzHY3SsobmfM9eOyucjTO0KyOf510AqOHkl2kiMlSQoAlsPLAk4hHSCaIJMMqmUgfYBQeggxGK4xmOxprXHh8lYK51em+E/0/qwQyBh8iY+Q52pjlOZD8XFcFPHELcGlT3stlbBaymtOROTReBoZJ+0DjZ9pv4SFq9fL0YWqcjJl1+AwP8OSGS+amq6y4P/fyyWqvoC9lDAG7ainPEJcBs7xMBGOLbU6bGQTMJHAnDUlG2biPFZevEM4GCZl9sSsnPgG+bAHfa+l8vZJxpNSo+oPp/c4XP6bPBN0kog2qtdFz1WzIkfXmZuAKVm6JewlbvZKVgGZMilMPwW9ngdr5B3CEG7iEbCY5ffl6RgPtYDGdybS4ogW4YDbgLefTD5s2kv5rTgKaWdlKi1fau4BDJ3jM5I70NDd0J7grzfZEUMg5CM5Tmg4TiW3ZtVYxTKpcgM2iWS7+mhcBbRiZ/TBTd4jPjtSEVF3AxxdUPgkxTrUUMTcBykKUmLZwhQlYPhWBeCBV5DRjk3QtiEC2McUDsjPVCEhWEQ8Umk2y2c7nOyEwrV/ySdbdQo3nw3aKtRHM3wiBtVQu02knISJ+SQh8Q32TyqTJJ6xTXyQzyzb2LeoBWQOy5pjwcDf1YSqzNIooLex99kTCppsq4N+l+oUArylhoku9sb+O18VU8c5UEiZu7KGyrKKTmgr7/wGxhy03aZIycwAAAABJRU5ErkJggg=='%20/%3e%3c/svg%3e";function UQ(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91 .58 .11 .79-.25.79-.56v-2.02c-3.2.7-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.69-1.28-1.69-1.05-.72.08-.7.08-.7 1.16.08 1.77 1.19 1.77 1.19 1.03 1.77 2.71 1.26 3.37.96.1-.75.4-1.26.73-1.55-2.56-.29-5.25-1.28-5.25-5.7 0-1.26.45-2.29 1.19-3.1-.12-.29-.52-1.47.11-3.06 0 0 .97-.31 3.16 1.18A10.98 10.98 0 0 1 12 6.11c.98 0 1.96.13 2.87.39 2.19-1.49 3.16-1.18 3.16-1.18.63 1.59.23 2.77.11 3.06.74.81 1.19 1.84 1.19 3.1 0 4.43-2.7 5.4-5.27 5.69.42.36.78 1.06.78 2.14v3.04c0 .31.21.67.8.56A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function FY(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function Ppt(e){return l.jsxs("svg",{viewBox:"0 0 36 36",fill:"none","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",fill:"currentColor",opacity:"0.1"}),l.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",stroke:"currentColor",strokeWidth:"1.6"}),l.jsx("path",{d:"m9.2 11.2-2.8 2.7 2.8 2.7M12.1 17.4h4.3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),l.jsx("circle",{cx:"26.5",cy:"12",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),l.jsx("circle",{cx:"27",cy:"26.5",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),l.jsx("path",{d:"M21.5 12h2M19.3 21l5.6 3.8M27 15v8.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function Mpt({onOpen:e}){var u;const[t,n]=m.useState("development"),[i,r]=m.useState(""),s=m.useDeferredValue(i),a=m.useMemo(()=>{const d=s.trim().toLocaleLowerCase();return xge.filter(f=>f.category===t).filter(f=>!d||`${f.name} ${f.description}`.toLocaleLowerCase().includes(d))},[t,s]),o=(u=BY.find(d=>d.id===t))==null?void 0:u.label,c=cpt(window.location.hostname);return l.jsxs("div",{className:"applications-page",children:[l.jsxs("header",{className:"applications-header",children:[l.jsxs("div",{children:[l.jsx("h1",{children:"自动化"}),l.jsx("p",{children:"连接研发工具,为智能体扩展自动化工作流"})]}),l.jsxs("label",{className:"applications-search",children:[l.jsx(FY,{}),l.jsx("input",{type:"search","aria-label":"搜索自动化",value:i,onChange:d=>r(d.target.value),placeholder:"搜索自动化"})]})]}),l.jsx("nav",{className:"applications-categories","aria-label":"自动化分类",children:BY.map(d=>l.jsx("button",{type:"button",className:t===d.id?"is-active":"","aria-pressed":t===d.id,onClick:()=>n(d.id),children:d.label},d.id))}),l.jsx("section",{className:"applications-results","aria-label":`${o}自动化列表`,children:a.length?l.jsx("div",{className:"applications-grid",children:a.map(d=>{const f=d.id==="coding-agents"&&!c,h=f?"coding-agents-local-only-tooltip":void 0;return l.jsxs("div",{className:`application-card-wrap${f?" is-disabled":""}`,tabIndex:f?0:void 0,"aria-describedby":h,children:[l.jsxs("button",{type:"button",className:"application-card",onClick:()=>e(d.id),"aria-label":`打开${d.name}`,disabled:f,children:[d.icon==="feishu"?l.jsx("img",{className:"application-card-icon application-card-brand-icon",src:rC,alt:"","aria-hidden":"true"}):d.icon==="coding-agents"?l.jsx(Ppt,{className:"application-card-icon"}):l.jsx(UQ,{className:"application-card-icon"}),l.jsxs("div",{className:"application-card-copy",children:[l.jsxs("div",{className:"application-card-title",children:[l.jsx("h2",{children:d.name}),d.badge?l.jsx("span",{className:`application-card-badge is-${d.badgeTone||"default"}`,children:d.badge}):null]}),l.jsx("p",{children:d.description})]})]}),f?l.jsx("span",{id:h,className:"application-card-tooltip",role:"tooltip",children:"仅本地部署可用"}):null]},d.id)})}):l.jsxs("div",{className:"applications-empty",role:"status",children:[l.jsx(FY,{}),l.jsx("h2",{children:"没有匹配的自动化"}),l.jsx("p",{children:"请尝试搜索其他名称"})]})})]})}const Lpt={volcengine:"https://console.volcengine.com",byteplus:"https://console.byteplus.com"};function nv(e){return e.trim()}function zQ(e){return Lpt[e]}function $pt(e){const t=nv(e);if(!t)return null;let n=t;try{n=new URL(t.includes("://")?t:`https://${t}`).hostname}catch{return null}const i=n.match(/^(.+)\.tos-([a-z0-9-]+)\.(?:volces|bytepluses)\.com$/i);return i?{bucket:i[1],region:i[2]}:null}function Qpt(e,t){const n=$pt(t);if(!n)return null;const i=new URLSearchParams({id:n.bucket,region:n.region,type:"objects"});return`${zQ(e)}/tos/bucket/setting?${i.toString()}`}function Bpt(e,t,n){const i=nv(t),r=nv(n);return!i||!r?null:`${zQ(e)}/agentkit/region:agentkit+${encodeURIComponent(i)}/builtintools/${encodeURIComponent(r)}/detail`}function Fpt(e,t,n){const i=nv(t),r=nv(n);return!i||!r?null:`${zQ(e)}/identity/region:identity+${encodeURIComponent(i)}/user-pools/${encodeURIComponent(r)}/info`}function dD({href:e,label:t,children:n}){return e?l.jsxs("a",{className:"system-info-resource-link",href:e,target:"_blank",rel:"noreferrer","aria-label":t,title:t,children:[l.jsx("span",{children:n}),l.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("path",{d:"M7.75 5.25h-2.5a1.5 1.5 0 0 0-1.5 1.5v8a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5"}),l.jsx("path",{d:"M10.25 3.75h6v6M16 4 9 11"})]})]}):l.jsx("span",{children:n})}function Upt(e){return e instanceof Error&&e.message.includes("Volcengine credentials not found")}function UY(e){return e==="codex"||e==="codex_snapshot"}function zY(){return{busy:!1,error:"",message:""}}function zpt({version:e,localMode:t,role:n,provider:i,region:r,onBack:s}){const a=n==="admin",[o,c]=m.useState(""),[u,d]=m.useState([]),[f,h]=m.useState([]),[p,b]=m.useState(!0),[g,O]=m.useState(""),[y,v]=m.useState(!0),[x,w]=m.useState(""),[E,S]=m.useState(0),[k,T]=m.useState(0),C=m.useRef(!1),[A,R]=m.useState({});m.useEffect(()=>(C.current=!0,()=>{C.current=!1}),[]);function P(I,$){R(j=>({...j,[I]:{...zY(),...j[I],...$}}))}async function B(I){if(!(!UY(I.kind)||!I.toolId||(A[I.kind]??zY()).busy)){P(I.kind,{busy:!0,error:"",message:""});try{const j=await sne(I.kind);if(!C.current)return;d(D=>D.map(F=>F.kind===I.kind?{...F,needsModelEnvUpdate:!1,canUpdateModelEnv:!1,modelEnvError:"",modelEnvErrorCode:""}:F)),P(I.kind,{busy:!1,error:"",message:j.updated?"已更新":"无需更新"})}catch(j){if(!C.current)return;P(I.kind,{busy:!1,error:j instanceof Error?j.message:String(j),message:""})}}}return m.useEffect(()=>{if(!a){c(""),d([]),b(!1),O("");return}const I=new AbortController;return b(!0),O(""),rne(I.signal).then($=>{c($.storage.tosAddress),d($.sandboxTools)}).catch($=>{($==null?void 0:$.name)!=="AbortError"&&O($ instanceof Error?$.message:String($))}).finally(()=>{I.signal.aborted||b(!1)}),()=>I.abort()},[a,E]),m.useEffect(()=>{if(!a){h([]),v(!1),w("");return}const I=new AbortController;return v(!0),w(""),g$(I.signal).then($=>{h($.filter(j=>j.isCurrent))}).catch($=>{if(($==null?void 0:$.name)!=="AbortError"){if(t&&Upt($)){h([]);return}w($ instanceof Error?$.message:String($))}}).finally(()=>{I.signal.aborted||v(!1)}),()=>I.abort()},[a,t,k]),l.jsxs("div",{className:"system-info-page",children:[l.jsxs("header",{className:"system-info-page-header",children:[l.jsx(IQ,{label:"返回上一页",onClick:s}),l.jsxs("div",{children:[l.jsx("h1",{children:"系统信息"}),l.jsx("p",{children:"查看当前 Studio 版本及关联的基础资源"})]})]}),l.jsxs("div",{className:"system-info-scroll",children:[l.jsxs("section",{className:"system-info-section","aria-labelledby":"studio-info-title",children:[l.jsx("h2",{id:"studio-info-title",children:"通用"}),l.jsx("dl",{className:"system-info-summary",children:l.jsxs("div",{children:[l.jsx("dt",{children:"当前版本"}),l.jsx("dd",{children:e||"—"})]})})]}),a?l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:"system-info-section","aria-labelledby":"storage-info-title",children:[l.jsx("h2",{id:"storage-info-title",children:"存储"}),p?l.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:l.jsx(Ln,{as:"span",children:"正在加载存储信息"})}):g?l.jsxs("div",{className:"system-info-error",role:"alert",children:[l.jsx("p",{children:g}),l.jsx("button",{type:"button",onClick:()=>S(I=>I+1),children:"重新加载"})]}):l.jsx("dl",{className:"system-info-summary",children:l.jsxs("div",{className:"system-info-resource-row",children:[l.jsx("dt",{children:"TOS 地址"}),l.jsx("dd",{className:`system-info-resource-value${o?"":" is-empty"}`,children:l.jsx(dD,{href:Qpt(i,o),label:"在云控制台中打开 TOS 存储桶",children:o||"未配置"})})]})})]}),l.jsxs("section",{className:"system-info-section","aria-labelledby":"sandbox-tool-title",children:[l.jsx("h2",{id:"sandbox-tool-title",children:"沙箱信息"}),p?l.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:l.jsx(Ln,{as:"span",children:"正在加载沙箱信息"})}):g?l.jsxs("div",{className:"system-info-error",role:"alert",children:[l.jsx("p",{children:g}),l.jsx("button",{type:"button",onClick:()=>S(I=>I+1),children:"重新加载"})]}):l.jsx("div",{className:"system-info-tool-list",children:u.map(I=>{const $=UY(I.kind)?I.kind:null,j=$?A[$]:void 0,D=$!==null&&!!I.toolId&&I.needsModelEnvUpdate&&I.canUpdateModelEnv,F=$?(j==null?void 0:j.error)||I.modelEnvError:"";return l.jsx("dl",{className:"system-info-tool",children:l.jsxs("div",{className:"system-info-resource-row",children:[l.jsxs("dt",{className:"system-info-tool-label",children:[l.jsx("span",{children:I.label}),I.snapshot?l.jsx("span",{className:"system-info-tool-badge",children:"快照版"}):null]}),l.jsxs("dd",{className:`system-info-resource-value${I.toolId?"":" is-empty"}`,children:[l.jsx(dD,{href:Bpt(i,r,I.toolId),label:`在云控制台中打开${I.label}`,children:I.toolId||"未配置"}),D?l.jsx("button",{type:"button",className:"system-info-resource-update",disabled:j==null?void 0:j.busy,"aria-busy":(j==null?void 0:j.busy)||void 0,"aria-label":`更新${I.snapshot?"快照版 ":""}${I.label}模型环境变量`,title:`更新${I.snapshot?"快照版 ":""}${I.label}模型环境变量`,onClick:()=>void B(I),children:l.jsx(xte,{"aria-hidden":"true",className:j!=null&&j.busy?"is-spinning":""})}):null,$&&(j!=null&&j.message)?l.jsx("span",{className:"system-info-inline-status",role:"status",children:j.message}):null,F?l.jsx("span",{className:"system-info-inline-error",role:"alert",children:F}):null]})]})},I.kind)})})]}),l.jsxs("section",{className:"system-info-section","aria-labelledby":"user-pool-title",children:[l.jsx("h2",{id:"user-pool-title",children:"用户池"}),y?l.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:l.jsx(Ln,{as:"span",children:"正在加载用户池"})}):x?l.jsxs("div",{className:"system-info-error",role:"alert",children:[l.jsx("p",{children:x}),l.jsx("button",{type:"button",onClick:()=>T(I=>I+1),children:"重新加载"})]}):f.length>0?l.jsx("div",{className:"system-info-pool-list",children:f.map(I=>l.jsxs("dl",{className:"system-info-pool",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"名称"}),l.jsx("dd",{className:"system-info-resource-value",children:l.jsx(dD,{href:Fpt(i,I.region||r,I.uid),label:`在云控制台中打开用户池${I.name?`“${I.name}”`:""}`,children:I.name||"未命名用户池"})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"ID"}),l.jsx("dd",{children:I.uid||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"域名"}),l.jsx("dd",{children:I.domain||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"区域"}),l.jsx("dd",{children:I.region||"—"})]})]},I.uid))}):l.jsx("p",{className:"system-info-empty",children:t?"本地模式未配置用户池":"当前 Studio 未配置用户池"})]})]}):null]})]})}function Vpt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 qpt({hidden:e,...t}){return l.jsxs("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[l.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"}),l.jsx("circle",{cx:"10",cy:"10",r:"1.8"}),e?l.jsx("path",{d:"m4 4 12 12"}):null]})}function VY(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Xpt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m4 6 4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Hpt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 fD(e,t,n){const i=t.trim();if(!i)return n?"此项不能为空":"";if(e==="repository"&&!/^(?:https:\/\/github\.com\/)?[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/.test(i))return"请输入 owner/repository 或完整 GitHub Repo URL";if(e==="baseBranch"&&(!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(i)||i.includes("..")))return"目标分支格式不正确";if(e==="projectPath"&&(i.startsWith("/")||i.split("/").includes("..")))return"请输入仓库内的相对目录";if(e==="runtimeName")return iC(i)??"";if(e==="runtimeId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Runtime ID 格式不正确";if(e==="sandboxToolId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Sandbox Tool ID 格式不正确";if(e==="modelName"&&!/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(i))return"模型名称格式不正确";if(e==="modelBaseUrl")try{const r=new URL(i);if(r.protocol!=="https:"||r.username||r.password||r.search||r.hash)return"请输入不含凭据、查询参数或锚点的 HTTPS 地址"}catch{return"请输入有效的 HTTPS 地址"}return""}function Ypt({automation:e,onBack:t}){const n=Ipt(e),[i,r]=m.useState(()=>({...n.initialValues})),[s,a]=m.useState({}),[o,c]=m.useState(""),[u,d]=m.useState(!1),[f,h]=m.useState(!1),[p,b]=m.useState(!1),[g,O]=m.useState(null),y=m.useRef(null);m.useEffect(()=>()=>{var k;return(k=y.current)==null?void 0:k.abort()},[]);const v=(k,T)=>{r(C=>({...C,[k]:T})),s[k]&&a(C=>({...C,[k]:""}))},x=k=>{var A;const T=k==="token"||((A=n.fields.find(R=>R.name===k))==null?void 0:A.required)===!0,C=fD(k,i[k],T);a(R=>({...R,[k]:C}))},w=async k=>{var R;k.preventDefault();const T={};for(const P of n.fields){const B=fD(P.name,i[P.name],P.required);B&&(T[P.name]=B)}const C=fD("token",i.token,!0);if(C&&(T.token=C),a(T),Object.keys(T).length)return;(R=y.current)==null||R.abort();const A=new AbortController;y.current=A,d(!0),c(""),O(null);try{const P=await n.submit(i,A.signal);if(y.current!==A)return;O(P),r(B=>({...B,token:""}))}catch(P){if(A.signal.aborted||y.current!==A)return;c(P instanceof Error?P.message:String(P))}finally{y.current===A&&(y.current=null,d(!1))}},E=k=>{k.key==="Enter"&&(k.nativeEvent.isComposing||k.nativeEvent.keyCode===229)&&k.preventDefault()},S=k=>{const{name:T,label:C,placeholder:A,help:R,required:P}=k;return l.jsxs("div",{className:"github-field",children:[l.jsxs("label",{htmlFor:`github-${T}`,children:[l.jsx("span",{children:C}),l.jsx("span",{className:`github-field-requirement${P?" is-required":""}`,children:P?"必填":"可选"})]}),l.jsx("input",{id:`github-${T}`,value:i[T],onChange:B=>v(T,B.target.value),onBlur:()=>x(T),placeholder:A,required:P,"aria-invalid":!!s[T],"aria-describedby":`github-${T}-help${s[T]?` github-${T}-error`:""}`}),l.jsx("span",{id:`github-${T}-help`,className:"github-field-help",children:R}),s[T]?l.jsx("span",{id:`github-${T}-error`,className:"github-field-error",role:"alert",children:s[T]}):null]},T)};return l.jsxs("div",{className:"github-integration-page",children:[l.jsxs("header",{className:"github-integration-header",children:[l.jsx("button",{type:"button",className:"github-back",onClick:t,"aria-label":"返回自动化列表",children:l.jsx(Vpt,{})}),l.jsx(UQ,{className:"github-integration-logo"}),l.jsxs("div",{children:[l.jsx("h1",{children:n.title}),l.jsx("p",{children:n.subtitle})]})]}),l.jsx("div",{className:"github-integration-layout",children:l.jsxs("section",{id:`github-panel-${e}`,className:"github-section-panel",children:[l.jsx("div",{className:"github-panel-heading",children:l.jsx("p",{children:n.panel})}),l.jsxs("form",{className:"github-release-form",onSubmit:w,onKeyDown:E,noValidate:!0,children:[l.jsxs("div",{className:"github-field-grid",children:[n.fields.map(S),l.jsxs("div",{className:"github-field",children:[l.jsxs("label",{id:"github-region-label",children:[l.jsx("span",{children:"地域"}),l.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),l.jsxs("div",{className:"pp-network-region github-region-picker",onKeyDown:k=>{k.key==="Escape"&&b(!1)},children:[l.jsxs("button",{type:"button",className:"pp-region-trigger","aria-labelledby":"github-region-label","aria-haspopup":"listbox","aria-expanded":p,onClick:()=>b(k=>!k),children:[l.jsx("span",{children:i.region==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),l.jsx(Xpt,{className:`pp-region-chevron${p?" is-open":""}`})]}),p?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>b(!1)}),l.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"地域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(k=>{const T=k.value===i.region;return l.jsxs("button",{type:"button",role:"option","aria-selected":T,className:`pp-region-option${T?" is-selected":""}`,onClick:()=>{v("region",k.value),b(!1)},children:[l.jsx("span",{children:k.label}),T?l.jsx(Hpt,{}):null]},k.value)})})]}):null]}),l.jsx("span",{className:"github-field-help",children:n.regionHelp})]})]}),l.jsxs("div",{className:"github-field github-token-field",children:[l.jsxs("div",{className:"github-token-label-row",children:[l.jsxs("label",{htmlFor:"github-token",children:[l.jsx("span",{children:"GitHub Token"}),l.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),l.jsxs("a",{href:"https://github.com/settings/personal-access-tokens/new?name=VeADK%20Studio&description=Create%20a%20GitHub%20automation%20pull%20request&contents=write&pull_requests=write",target:"_blank",rel:"noreferrer",children:["获取 Token",l.jsx(VY,{})]})]}),l.jsxs("div",{className:"github-token-input",children:[l.jsx("input",{id:"github-token",type:f?"text":"password",value:i.token,onChange:k=>v("token",k.target.value),onBlur:()=>x("token"),autoComplete:"off",required:!0,placeholder:"需要仓库 Contents 与 Pull requests 写权限","aria-invalid":!!s.token,"aria-describedby":`github-token-help${s.token?" github-token-error":""}`}),l.jsx("button",{type:"button",onClick:()=>h(k=>!k),"aria-label":f?"隐藏 Token":"显示 Token",title:f?"隐藏 Token":"显示 Token",children:l.jsx(qpt,{hidden:f})})]}),l.jsx("span",{id:"github-token-help",className:"github-field-help",children:"Token 仅用于本次提交,不会保存在浏览器或写入 PR"}),s.token?l.jsx("span",{id:"github-token-error",className:"github-field-error",role:"alert",children:s.token}):null]}),o?l.jsx("div",{className:"github-submit-message is-error",role:"alert",children:o}):null,g?l.jsxs("div",{className:"github-submit-message is-success",role:"status",children:[l.jsxs("span",{children:["PR #",g.number," 已创建"]}),l.jsxs("a",{href:g.url,target:"_blank",rel:"noreferrer",children:["在 GitHub 查看",l.jsx(VY,{})]})]}):null,l.jsxs("div",{className:"github-form-actions",children:[l.jsxs("div",{className:"github-secrets-note",children:[l.jsx("strong",{children:"合并 PR 前,请在仓库的 GitHub Actions Secrets 中配置:"}),n.secrets.map(k=>l.jsx("span",{children:k},k))]}),l.jsx("button",{type:"submit",disabled:u,children:u?"提交 PR 中…":n.submitLabel})]})]})]})})]})}const Gpt=1050062,qY="1.0",Wpt="https://lf-static.applogcdn.com/obj/applog-sdk-static/log-sdk/collect/5/collect.js";class Zpt{constructor(){Rr(this,"enabled",!1);Rr(this,"initialized",!1);Rr(this,"pending",[]);Rr(this,"userUniqueId","");Rr(this,"initPromise")}init(t){return this.enabled=t.enabled,this.enabled?this.initPromise?this.initPromise:(this.initPromise=Promise.resolve().then(()=>{const n=this.bootstrapCollector();n("init",{app_id:Gpt,channel:"cn",disable_auto_pv:1}),this.userUniqueId&&n("config",{user_unique_id:this.userUniqueId}),n("config",{_staging_flag:t.environment==="prod"?0:1}),n("start"),this.initialized=!0;const i=this.pending;this.pending=[];for(const[r,s]of i)this.collect(r,s)}),this.initPromise):(this.pending=[],Promise.resolve())}identify(t){this.userUniqueId=t,this.initialized&&this.collect("config",{user_unique_id:t})}emit(t,n){if(this.enabled){if(this.initialized){this.collect(t,n);return}this.pending=[...this.pending.slice(-49),[t,n]]}}bootstrapCollector(){if(window.collectEvent)return window.collectEvent;window.LogAnalyticsObject="collectEvent";const t=function(){var r;(r=t.q)==null||r.push(arguments)};t.q=[],t.l=Date.now(),window.collectEvent=t;const n=document.createElement("script");return n.async=!0,n.src=Wpt,n.onerror=()=>{this.enabled=!1,t.q=[],console.warn("[telemetry] TEA SDK script failed to load")},document.head.appendChild(n),t}collect(t,n){var i;(i=window.collectEvent)==null||i.call(window,t,n)}}function Kpt(e){if(typeof e!="string"&&typeof e!="number")return;const t=String(e).trim();return/^[A-Za-z0-9_.:-]{1,64}$/.test(t)?t:void 0}function zu(e,t){return t===void 0?{errorKind:e}:{errorKind:e,errorCode:t}}function Ta(e,t={}){const n=e!==null&&typeof e=="object"?e:{},i=Kpt(n.code),r=typeof n.name=="string"?n.name:"";if(r==="RuntimeProbeError")return zu("runtime_probe_error",i);if(r==="AbortError")return zu("abort",i);if(r==="RuntimeAccessDeniedError"||r==="AuthError")return zu("auth",i);if(t.phase==="build")return zu("build_failed",i);if(r==="TimeoutError")return zu("timeout",i);if(r==="NetworkError"||r==="TypeError")return zu("network",i);if(r==="ValidationError")return zu("validation",i);if(r==="ServerError")return zu("server",i);const s=typeof n.status=="number"&&Number.isInteger(n.status)?n.status:void 0;if(s===void 0||s<400||s>599)return zu("unknown",i);const a=String(s);return s===401||s===403?{errorKind:"auth",errorCode:a}:s===400||s===409||s===422?{errorKind:"validation",errorCode:a}:s>=500?{errorKind:"server",errorCode:a}:{errorKind:"unknown",errorCode:a}}const Jpt=["schema_version","event_id","operation_id","user_pool_id","studio_deploy_id","vefaas_application_id","vefaas_function_id","studio_region","studio_project","studio_version","environment","cloud_provider","account_id","user_role","user_source","page_instance_id"],emt={studio_entry_viewed:["auth_state"],studio_session_started:["agents_source"],studio_agent_deploy:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","deploy_region","runtime_network_type","feishu_enabled","runtime_id","duration_ms","failed_phase","error_kind","error_code"],studio_sandbox_create:["status","sandbox_kind","sandbox_source","sandbox_id","duration_ms","error_kind","error_code"],studio_agent_debug:["status","agent_id","variant_type","debug_run_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_connect:["status","target_id","agent_kind","connect_source","runtime_region","runtime_is_mine","sandbox_status","duration_ms","error_kind","error_code"],studio_agent_message:["status","agent_id","agent_kind","message_source","session_state","session_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_source_download:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","duration_ms","file_count","zip_size_bytes","error_kind","error_code"]};function tmt(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)}function XY(e,t){const n=new Set([...Jpt,...emt[e]]),i={};for(const[r,s]of Object.entries(t))!n.has(r)||!tmt(s)||(i[r]=typeof s=="string"?s.slice(0,256):s);return i}function nmt(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function imt(){return typeof performance<"u"?performance.now():Date.now()}function dg(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}class rmt{constructor(t){Rr(this,"sink");Rr(this,"createId");Rr(this,"now");Rr(this,"pageInstanceId");Rr(this,"context");Rr(this,"identity");Rr(this,"entryViewed",!1);Rr(this,"sessionStarted",!1);this.sink=t.sink,this.createId=t.createId??nmt,this.now=t.now??imt,this.pageInstanceId=this.createId()}setContext(t){var n;this.context={...t,accountId:((n=t.accountId)==null?void 0:n.trim())??""}}identify(t){var i,r,s;const n=t.userUniqueId.trim();n&&(this.identity&&this.identity.userUniqueId!==n&&(this.pageInstanceId=this.createId(),this.sessionStarted=!1),this.identity={...t,userUniqueId:n,accountId:((i=t.accountId)==null?void 0:i.trim())??""},(s=(r=this.sink).identify)==null||s.call(r,n))}trackStudioSessionStarted(t){this.sessionStarted||!this.context||!this.identity||(this.sessionStarted=!0,this.emit("studio_session_started",{agents_source:t.agentsSource}))}trackStudioEntryViewed(t){if(this.entryViewed||!this.context)return;this.entryViewed=!0;const n=XY("studio_entry_viewed",dg({schema_version:qY,event_id:this.createId(),user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,account_id:this.context.accountId,page_instance_id:this.pageInstanceId,auth_state:t.authState}));this.sink.emit("studio_entry_viewed",n)}beginAgentDeploy(t){return this.beginOperation("studio_agent_deploy",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted,deploy_region:t.deployRegion,runtime_network_type:t.runtimeNetworkType,feishu_enabled:t.feishuEnabled},n=>({runtime_id:n.runtimeId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginSandboxCreate(t){return this.beginOperation("studio_sandbox_create",{sandbox_kind:t.sandboxKind,sandbox_source:t.sandboxSource},n=>({sandbox_id:n.sandboxId}),n=>({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentDebug(t){return this.beginOperation("studio_agent_debug",{agent_id:t.agentId,variant_type:t.variantType},n=>({debug_run_id:n.debugRunId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentConnect(t){return this.beginOperation("studio_agent_connect",{target_id:t.targetId,agent_kind:t.agentKind,connect_source:t.connectSource},n=>dg({runtime_region:n.runtimeRegion,runtime_is_mine:n.runtimeIsMine,sandbox_status:n.sandboxStatus}),n=>dg({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentMessage(t){return this.beginOperation("studio_agent_message",dg({agent_id:t.agentId,agent_kind:t.agentKind,message_source:t.messageSource,session_state:t.sessionState,session_id:t.sessionId}),n=>({session_id:n.sessionId}),n=>dg({session_id:n.sessionId,failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentSourceDownload(t){return this.beginOperation("studio_agent_source_download",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted},n=>({file_count:n.fileCount,zip_size_bytes:n.zipSizeBytes}),n=>({file_count:n.fileCount,error_kind:n.errorKind,error_code:n.errorCode}))}beginOperation(t,n,i,r){const s=this.createId(),a=this.now(),o=!!(this.context&&this.identity);let c=!1;o&&this.emit(t,{...n,status:"started"},s);const u=(d,f)=>{c||(c=!0,o&&this.emit(t,{...n,...f,status:d,duration_ms:Math.max(0,this.now()-a)},s))};return{operationId:s,succeed:d=>u("succeeded",i(d)),fail:d=>u("failed",r(d))}}emit(t,n,i){if(!this.context||!this.identity)return;const r=XY(t,dg({schema_version:qY,event_id:this.createId(),operation_id:i,user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,account_id:this.identity.accountId,user_role:this.identity.userRole,user_source:this.identity.userSource,page_instance_id:this.pageInstanceId,...n}));this.sink.emit(t,r)}}const wge=new Zpt,Tu=new rmt({sink:wge});function smt(e){return wge.init(e)}function amt(e){Tu.setContext(e)}function omt(e){Tu.identify(e)}function lmt(e){Tu.trackStudioEntryViewed(e)}function cmt(e){Tu.trackStudioSessionStarted(e)}function Sge(e){return Tu.beginAgentDeploy(e)}function umt(e){return Tu.beginSandboxCreate(e)}function dmt(e){return Tu.beginAgentDebug(e)}function hD(e){return Tu.beginAgentConnect(e)}function HY(e){return Tu.beginAgentMessage(e)}function Ege(e){return Tu.beginAgentSourceDownload(e)}const fmt=/^[A-Za-z_][A-Za-z0-9_]*$/;function iv(e){return e.trim().length===0?"名称为必填项":e==="user"?"user 是 Google ADK 保留名称,请使用其他名称":fmt.test(e)?null:"名称须以英文字母或下划线开头,且只能包含英文字母、数字和下划线"}function hmt(e){const t=new Set,n=new Set,i=r=>{iv(r.name)===null&&(t.has(r.name)?n.add(r.name):t.add(r.name)),r.subAgents.forEach(i)};return i(e),n}function pmt(e){return{...Yo(),name:e,description:"一个通过飞书接收消息并提供帮助的智能助手。",instruction:"你是一个通过飞书为用户提供帮助的智能助手。准确理解用户问题,给出简洁、可靠的回答;信息不足时先提问澄清,不要臆造事实。",deployment:{feishuEnabled:!0}}}async function mmt(e){const t=pmt(e.agentName),n=await y$(t);return zb(n.name,n.files,{region:e.region,projectName:"default"},{taskId:e.taskId,sessionStorage:"in-memory",minInstance:1,maxInstance:1,description:t.description,im:{feishu:{enabled:!0}},envs:[{key:"FEISHU_APP_ID",value:e.appId},{key:"FEISHU_APP_SECRET",value:e.appSecret}],onStage:e.onStage})}const Yl=[{value:"cn-beijing",label:"北京"},{value:"cn-shanghai",label:"上海"}],kge=[{phase:"prepare",label:"生成智能体"},{phase:"build",label:"构建镜像"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}];function gmt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 bmt(e){return l.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 7 4 4 4-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function YY(e){return l.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m4 9.2 3.1 3.1L14 5.8",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function Omt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 ymt(e){if(!e||e==="upload")return 0;const t=kge.findIndex(n=>n.phase===e);return t<0?0:t}function pD(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}function xmt({onBack:e}){var ce;const[t,n]=m.useState("feishu_assistant"),[i,r]=m.useState(""),[s,a]=m.useState(""),[o,c]=m.useState(!1),[u,d]=m.useState("cn-beijing"),[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState(""),[y,v]=m.useState(""),[x,w]=m.useState("idle"),[E,S]=m.useState(null),[k,T]=m.useState(""),[C,A]=m.useState(null),R=m.useRef(null),P=m.useRef(null),B=m.useRef([]),I=m.useRef(0),$=m.useRef(null),j=m.useRef(null),D=m.useRef("prepare"),F=m.useRef(!1),Q=m.useRef(!0),M=["preparing","running","cancelling"].includes(x);m.useEffect(()=>(Q.current=!0,()=>{Q.current=!1}),[]),m.useEffect(()=>{var ye;if(!f)return;(ye=B.current[I.current])==null||ye.focus();const K=ve=>{ve.target instanceof Node&&R.current&&!R.current.contains(ve.target)&&h(!1)},ee=ve=>{var Re;ve.key==="Escape"&&(h(!1),(Re=P.current)==null||Re.focus())};return window.addEventListener("pointerdown",K),window.addEventListener("keydown",ee),()=>{window.removeEventListener("pointerdown",K),window.removeEventListener("keydown",ee)}},[f]);const G=K=>{K.key==="Enter"&&(K.nativeEvent.isComposing||K.nativeEvent.keyCode===229)&&K.preventDefault()},H=()=>{const K=iv(t.trim())??"",ee=i.trim()?"":"请输入飞书 App ID",ye=s.trim()?"":"请输入飞书 App Secret";return b(K),O(ee),v(ye),!K&&!ee&&!ye},U=async K=>{if(K.preventDefault(),!H()||M)return;const ee=crypto.randomUUID();$.current=ee,D.current="prepare",F.current=!1,w("preparing"),S(null),T(""),A(null);const ye=Sge({agentId:String(t.trim()),deployAction:"create",deploySource:"feishu_automation",createMode:"feishu_template",aiAssisted:0,deployRegion:String(u),runtimeNetworkType:"public",feishuEnabled:1});j.current=ye;try{const ve=await mmt({agentName:t.trim(),appId:i.trim(),appSecret:s.trim(),region:u,taskId:ee,onStage:Re=>{D.current=Re.phase||"deploy",!(!Q.current||F.current)&&(w("running"),S(Re))}});if(F.current){ye.fail({failedPhase:pD(D.current),errorKind:"abort"});return}if(ye.succeed({runtimeId:String(ve.runtimeId||"")}),!Q.current)return;A(ve),a(""),c(!1),w("succeeded")}catch(ve){if(ye.fail({failedPhase:pD(D.current),...F.current?{errorKind:"abort"}:Ta(ve,{phase:D.current})}),!Q.current||F.current)return;w("failed"),T(ve instanceof Error?ve.message:String(ve))}finally{$.current===ee&&($.current=null),j.current===ye&&(j.current=null)}},q=async()=>{var ee;const K=$.current;if(!(!K||x!=="running")&&window.confirm("取消部署将停止任务并清理已创建的 Runtime,确定继续吗?")){F.current=!0,w("cancelling"),T("");try{await ane(K),(ee=j.current)==null||ee.fail({failedPhase:pD(D.current),errorKind:"abort"}),Q.current&&w("cancelled")}catch(ye){if(F.current=!1,!Q.current)return;w("failed"),T(ye instanceof Error?ye.message:String(ye))}}},ie=ymt((E==null?void 0:E.phase)??null),fe=!!(t.trim()&&i.trim()&&s.trim()&&!M),me=Yl.find(K=>K.value===u);return l.jsxs("div",{className:"feishu-integration-page",children:[l.jsxs("header",{className:"feishu-integration-header",children:[l.jsx("button",{type:"button",className:"feishu-back",onClick:e,"aria-label":"返回自动化列表",disabled:M,children:l.jsx(gmt,{})}),l.jsx("img",{className:"feishu-integration-logo",src:rC,alt:"","aria-hidden":"true"}),l.jsxs("div",{children:[l.jsx("h1",{children:"飞书机器人"}),l.jsx("p",{children:"创建一个由 AgentKit Runtime 驱动的飞书智能体"})]})]}),l.jsx("div",{className:"feishu-integration-layout",children:l.jsxs("section",{className:"feishu-section-panel",children:[l.jsx("p",{className:"feishu-panel-description",children:"填写已发布飞书应用的凭据,Studio 将生成 basic 智能体、创建独立 Runtime,并启用飞书消息长连接。"}),l.jsxs("form",{className:"feishu-form",onSubmit:U,onKeyDown:G,noValidate:!0,children:[l.jsxs("div",{className:"feishu-field-grid",children:[l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{htmlFor:"feishu-agent-name",children:"智能体名称"}),l.jsx("input",{id:"feishu-agent-name",value:t,maxLength:64,disabled:M,onChange:K=>{n(K.target.value),p&&b("")},onBlur:()=>b(iv(t.trim())??""),"aria-invalid":!!p,"aria-describedby":`feishu-agent-name-help${p?" feishu-agent-name-error":""}`}),l.jsx("span",{id:"feishu-agent-name-help",className:"feishu-field-help",children:"将作为新 Runtime 中的根智能体名称"}),p?l.jsx("span",{id:"feishu-agent-name-error",className:"feishu-field-error",role:"alert",children:p}):null]}),l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{id:"feishu-region-label",children:"部署地域"}),l.jsxs("div",{className:"feishu-region-picker",ref:R,children:[l.jsxs("button",{ref:P,type:"button",className:"feishu-region-trigger",disabled:M,"aria-haspopup":"listbox","aria-expanded":f,"aria-labelledby":"feishu-region-label feishu-region-value",onClick:()=>{I.current=Yl.findIndex(K=>K.value===u),h(K=>!K)},onKeyDown:K=>{K.key!=="ArrowDown"&&K.key!=="ArrowUp"||(K.preventDefault(),I.current=K.key==="ArrowUp"?Yl.length-1:Yl.findIndex(ee=>ee.value===u),h(!0))},children:[l.jsx("span",{id:"feishu-region-value",children:me.label}),l.jsx(bmt,{})]}),f?l.jsx("div",{className:"feishu-region-menu",role:"listbox","aria-label":"部署地域",onKeyDown:K=>{var ve;const ee=B.current.findIndex(Re=>Re===document.activeElement);let ye=null;K.key==="ArrowDown"?ye=(ee+1)%Yl.length:K.key==="ArrowUp"?ye=(ee-1+Yl.length)%Yl.length:K.key==="Home"?ye=0:K.key==="End"?ye=Yl.length-1:K.key==="Tab"&&h(!1),ye!==null&&(K.preventDefault(),(ve=B.current[ye])==null||ve.focus())},children:Yl.map(K=>l.jsx("button",{ref:ee=>{const ye=Yl.findIndex(ve=>ve.value===K.value);B.current[ye]=ee},type:"button",role:"option","aria-selected":u===K.value,className:`feishu-region-option${u===K.value?" is-selected":""}`,onClick:()=>{var ee;d(K.value),h(!1),(ee=P.current)==null||ee.focus()},children:K.label},K.value))}):null]}),l.jsx("span",{className:"feishu-field-help",children:"Runtime 与构建产物将创建在该地域"})]}),l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{htmlFor:"feishu-app-id",children:"飞书 App ID"}),l.jsx("input",{id:"feishu-app-id",value:i,maxLength:128,autoComplete:"off",disabled:M,placeholder:"cli_xxxxxxxxxxxxxxxx",onChange:K=>{r(K.target.value),g&&O("")},onBlur:()=>O(i.trim()?"":"请输入飞书 App ID"),"aria-invalid":!!g,"aria-describedby":`feishu-app-id-help${g?" feishu-app-id-error":""}`}),l.jsx("span",{id:"feishu-app-id-help",className:"feishu-field-help",children:"来自飞书开放平台的应用凭证"}),g?l.jsx("span",{id:"feishu-app-id-error",className:"feishu-field-error",role:"alert",children:g}):null]}),l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{htmlFor:"feishu-app-secret",children:"飞书 App Secret"}),l.jsxs("div",{className:"feishu-secret-input",children:[l.jsx("input",{id:"feishu-app-secret",type:o?"text":"password",value:s,maxLength:256,autoComplete:"off",disabled:M,placeholder:"请输入 App Secret",onChange:K=>{a(K.target.value),y&&v("")},onBlur:()=>v(s.trim()?"":"请输入飞书 App Secret"),"aria-invalid":!!y,"aria-describedby":`feishu-app-secret-help${y?" feishu-app-secret-error":""}`}),l.jsx("button",{type:"button",disabled:M,onClick:()=>c(K=>!K),"aria-label":o?"隐藏 App Secret":"显示 App Secret",children:o?"隐藏":"显示"})]}),l.jsx("span",{id:"feishu-app-secret-help",className:"feishu-field-help",children:"仅写入新 Runtime 的环境变量"}),y?l.jsx("span",{id:"feishu-app-secret-error",className:"feishu-field-error",role:"alert",children:y}):null]})]}),x!=="idle"?l.jsxs("div",{className:`feishu-deployment-status is-${x}`,role:x==="failed"?"alert":"status",children:[l.jsxs("div",{className:"feishu-deployment-heading",children:[x==="preparing"?l.jsx(Ln,{as:"strong",children:"正在生成 basic 智能体"}):null,x==="running"?l.jsx(Ln,{as:"strong",children:(E==null?void 0:E.message)||"正在创建 Runtime"}):null,x==="cancelling"?l.jsx(Ln,{as:"strong",children:"正在取消部署"}):null,x==="succeeded"?l.jsxs("strong",{children:[l.jsx(YY,{}),"飞书机器人 Runtime 已创建"]}):null,x==="cancelled"?l.jsx("strong",{children:"部署已取消"}):null,x==="failed"?l.jsx("strong",{children:"创建失败"}):null]}),x==="preparing"||x==="running"||x==="cancelling"?l.jsx("ol",{className:"feishu-deployment-steps",children:kge.map((K,ee)=>{const ye=x==="running"&&eeK.value===(C.region||u)))==null?void 0:ce.label)||C.region}),C.consoleUrl?l.jsxs("a",{href:C.consoleUrl,target:"_blank",rel:"noreferrer",children:["打开 Runtime 控制台",l.jsx(Omt,{})]}):null]}):null]}):null,l.jsxs("div",{className:"feishu-form-actions",children:[l.jsxs("div",{className:"feishu-secrets-note",children:[l.jsx("strong",{children:"凭据处理"}),l.jsx("span",{children:"App Secret 仅用于本次部署,不会写入生成源码或浏览器存储。"})]}),l.jsxs("div",{className:"feishu-action-buttons",children:[x==="running"?l.jsx("button",{type:"button",className:"feishu-cancel",onClick:()=>void q(),children:"取消部署"}):null,l.jsx("button",{type:"submit",className:"feishu-submit",disabled:!fe,children:M?"正在创建…":"创建飞书机器人 Runtime"})]})]})]})]})})]})}async function VQ(e,t,n,i=mo){var s;const r=await Kn(e,{...t,headers:{accept:"application/json",...t.headers},signal:n},i);if(!r.ok){let a="";try{a=((s=(await r.json()).detail)==null?void 0:s.trim())||""}catch{}throw new Error(a||`请求失败 (${r.status})`)}return r.json()}function vmt(e){return VQ("/web/coding-agents/capabilities",{method:"GET"},e,K3)}function wmt(e,t){return VQ(`/web/coding-agents/skills/${encodeURIComponent(e)}/preview`,{method:"GET"},t)}function Smt(e,t){return VQ("/web/coding-agents/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)},t)}const Emt="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='16'%20height='16'%20rx='3.692'%20fill='%231A1B1D'/%3e%3cpath%20d='M13.235%205.829V4.332H2.758v5.987h1.496v1.496h8.981V5.828Zm-1.497%204.49H4.254V5.83h7.484v4.49Z'%20fill='%2332F08C'/%3e%3cpath%20d='M6.937%206.993%205.88%208.051%206.937%209.11%207.995%208.05%206.937%206.993ZM9.931%206.992%208.873%208.05%209.931%209.11%2010.99%208.05%209.93%206.992Z'%20fill='%2332F08C'/%3e%3c/svg%3e";function kmt(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m4 4 8 8m0-8-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function GY(){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[l.jsx("path",{d:"M4 1.8h5l3 3V14H4z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),l.jsx("path",{d:"M9 1.8V5h3M6 8h4M6 10.5h4",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function WY(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M1.8 4.5h4l1.2-1.3h2.2l1.2 1.3h3.8v8H1.8z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})})}function Tmt(e){return e instanceof DOMException&&e.name==="AbortError"}function _mt(e){return e instanceof Error&&e.message?e.message:"读取 Skill 文件失败"}function Amt(e){return e<1024?`${e} B`:`${(e/1024).toFixed(e<10*1024?1:0)} KB`}function Cmt(e){const t=e.split("/");return t[t.length-1]??e}function Nmt(e){const t=new Map;for(const n of e){const i=n.path.split("/"),r=i.length>1?i.slice(0,-1).join("/"):"";t.set(r,[...t.get(r)??[],n])}return Array.from(t,([n,i])=>({directory:n,files:i})).sort((n,i)=>n.directory?i.directory?n.directory.localeCompare(i.directory):1:-1)}function jmt({skill:e,onClose:t}){const n=m.useRef(null),i=m.useRef(null),r=m.useId(),s=m.useId(),[a,o]=m.useState(null),[c,u]=m.useState(""),[d,f]=m.useState(!0),[h,p]=m.useState(""),[b,g]=m.useState(0);m.useEffect(()=>{i.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const v=n.current;return v&&!v.open&&v.showModal(),()=>{var x;v!=null&&v.open&&v.close(),(x=i.current)==null||x.focus()}},[]),m.useEffect(()=>{const v=new AbortController;return f(!0),p(""),o(null),u(""),wmt(e.id,v.signal).then(x=>{if(v.signal.aborted)return;o(x);const w=x.files.find(E=>E.path==="SKILL.md")??x.files[0];u((w==null?void 0:w.path)??"")}).catch(x=>{!v.signal.aborted&&!Tmt(x)&&p(_mt(x))}).finally(()=>{v.signal.aborted||f(!1)}),()=>v.abort()},[b,e.id]);const O=m.useMemo(()=>Nmt((a==null?void 0:a.files)??[]),[a]),y=(a==null?void 0:a.files.find(v=>v.path===c))??null;return l.jsxs("dialog",{ref:n,className:"coding-agents-preview-dialog","aria-labelledby":r,"aria-describedby":s,onCancel:v=>{v.preventDefault(),t()},onMouseDown:v=>{const x=v.currentTarget.getBoundingClientRect();(v.clientXx.right||v.clientYx.bottom)&&t()},children:[l.jsxs("header",{className:"coding-agents-preview-header",children:[l.jsx("span",{className:"coding-agents-preview-mark",children:l.jsx(WY,{})}),l.jsxs("div",{children:[l.jsx("h2",{id:r,children:e.name}),l.jsx("p",{id:s,children:"只读浏览随 Studio 提供的 Skill 文件"})]}),l.jsx("button",{type:"button",autoFocus:!0,"aria-label":"关闭文件预览",onClick:t,children:l.jsx(kmt,{})})]}),d?l.jsxs("div",{className:"coding-agents-preview-state",children:[l.jsx("i",{}),"正在读取文件…"]}):h?l.jsxs("div",{className:"coding-agents-preview-state is-error",role:"alert",children:[l.jsx("span",{children:h}),l.jsx("button",{type:"button",onClick:()=>g(v=>v+1),children:"重试"})]}):l.jsxs("div",{className:"coding-agents-preview-layout",children:[l.jsxs("nav",{className:"coding-agents-preview-tree","aria-label":`${e.name} 文件`,children:[l.jsxs("div",{className:"coding-agents-preview-tree-title",children:[l.jsx("span",{children:"文件"}),l.jsx("small",{children:(a==null?void 0:a.files.length)??0})]}),l.jsx("div",{className:"coding-agents-preview-tree-scroll",children:O.map(v=>v.directory?l.jsxs("details",{open:!0,children:[l.jsxs("summary",{children:[l.jsx(WY,{}),l.jsx("span",{children:v.directory})]}),l.jsx("div",{children:v.files.map(x=>l.jsxs("button",{type:"button",className:c===x.path?"is-selected":"","aria-current":c===x.path?"true":void 0,onClick:()=>u(x.path),children:[l.jsx(GY,{}),l.jsx("span",{children:Cmt(x.path)})]},x.path))})]},v.directory):v.files.map(x=>l.jsxs("button",{type:"button",className:c===x.path?"is-selected":"","aria-current":c===x.path?"true":void 0,onClick:()=>u(x.path),children:[l.jsx(GY,{}),l.jsx("span",{children:x.path})]},x.path)))})]}),l.jsx("section",{className:"coding-agents-preview-file","aria-label":"文件内容",children:y?l.jsxs(l.Fragment,{children:[l.jsxs("header",{children:[l.jsx("strong",{children:y.path}),l.jsx("span",{children:Amt(y.size)})]}),y.previewable&&y.content!==null?l.jsx("pre",{tabIndex:0,children:l.jsx("code",{children:y.content})}):l.jsx("div",{className:"coding-agents-preview-unavailable",children:"此文件不是可预览的 UTF-8 文本。"})]}):l.jsx("div",{className:"coding-agents-preview-unavailable",children:"没有可预览的文件。"})})]})]})}function Rmt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Dmt(e){return l.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"5",width:"16",height:"16",rx:"4.5",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"m8.5 11-2.4 2.4 2.4 2.4M11 16.5h3.8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),l.jsx("circle",{cx:"24.5",cy:"10.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("circle",{cx:"24.5",cy:"24.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M19.5 10.5H22M18.2 19l4.3 3.7M24.5 13v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Imt(e){return l.jsx("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:l.jsxs("g",{stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:[l.jsx("path",{d:"M16 4.5v7M16 20.5v7"}),l.jsx("path",{d:"m9.3 6.3 3.5 6.1M19.2 19.6l3.5 6.1"}),l.jsx("path",{d:"m5.9 11.1 6.2 3.5M19.9 17.4l6.2 3.5"}),l.jsx("path",{d:"M4.7 16h7M20.3 16h7"}),l.jsx("path",{d:"m5.9 20.9 6.2-3.5M19.9 14.6l6.2-3.5"}),l.jsx("path",{d:"m9.3 25.7 3.5-6.1M19.2 12.4l3.5-6.1"})]})})}function Pmt(e){return l.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M15.8 4.2c2.4 0 4.5 1.2 5.7 3.1 2.2-.3 4.5.8 5.6 2.9 1.1 2 .8 4.4-.5 6.1 1.2 1.8 1.3 4.3.1 6.2-1.2 2-3.4 3-5.6 2.6-1.3 1.8-3.5 2.9-5.8 2.7-2.2-.2-4.1-1.5-5.1-3.4-2.2.1-4.4-1-5.4-3.1-1-2-.6-4.4.8-6.1-1.1-1.9-1.1-4.3.2-6.1 1.3-1.9 3.6-2.7 5.7-2.2 1.1-1.7 2.6-2.7 4.3-2.7Z",stroke:"currentColor",strokeWidth:"1.7",strokeLinejoin:"round"}),l.jsx("path",{d:"m10.7 12.2 3.1 3.8-3.1 3.8M17.1 20h4.3",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})}function ZY(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m3.4 8.2 3 3L12.8 5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function Mmt(e){return l.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M2.8 6.3h14.4v8.3a1.6 1.6 0 0 1-1.6 1.6H4.4a1.6 1.6 0 0 1-1.6-1.6V6.3Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"}),l.jsx("path",{d:"M2.8 6.3V5.1a1.4 1.4 0 0 1 1.4-1.4h3.4l1.5 1.6h6.5a1.6 1.6 0 0 1 1.6 1.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})]})}function Lmt({agentId:e}){return e==="trae"?l.jsx("img",{src:Emt,alt:"","aria-hidden":"true"}):e==="claude-code"?l.jsx(Imt,{}):l.jsx(Pmt,{})}function KY(e){return e instanceof DOMException&&e.name==="AbortError"}function JY(e,t){return e instanceof Error&&e.message?e.message:t}function $mt({onBack:e}){var A;const[t,n]=m.useState(null),[i,r]=m.useState(!0),[s,a]=m.useState(""),[o,c]=m.useState(0),[u,d]=m.useState(new Set),[f,h]=m.useState(new Set),[p,b]=m.useState(null),[g,O]=m.useState(!1),[y,v]=m.useState(null),x=m.useRef(null);m.useEffect(()=>{const R=new AbortController;return r(!0),a(""),vmt(R.signal).then(P=>{if(R.signal.aborted)return;n(P);const B=P.agents.filter(I=>I.available);d(I=>{const $=B.filter(j=>I.has(j.id));return new Set(($.length?$:B.slice(0,1)).map(j=>j.id))}),h(I=>{const $=P.skills.filter(j=>I.has(j.id));return new Set(($.length?$:P.skills).map(j=>j.id))})}).catch(P=>{!KY(P)&&!R.signal.aborted&&(n(null),a(JY(P,"检测本机客户端失败")))}).finally(()=>{R.signal.aborted||r(!1)}),()=>R.abort()},[o]),m.useEffect(()=>()=>{var R;return(R=x.current)==null?void 0:R.abort()},[]);const w=m.useMemo(()=>(t==null?void 0:t.agents.filter(R=>R.available&&u.has(R.id)))||[],[t,u]),E=m.useMemo(()=>(t==null?void 0:t.skills.filter(R=>f.has(R.id)))||[],[t,f]),S=!!(!g&&w.length&&E.length),k=(R,P)=>{!P||g||(v(null),d(B=>{const I=new Set(B);return I.has(R)?I.delete(R):I.add(R),I}))},T=R=>{g||(v(null),h(P=>{const B=new Set(P);return B.has(R)?B.delete(R):B.add(R),B}))},C=async()=>{var P;if(!S)return;(P=x.current)==null||P.abort();const R=new AbortController;x.current=R,O(!0),v(null);try{const B=await Smt({agents:w.map($=>$.id),skills:E.map($=>$.id)},R.signal);if(R.signal.aborted)return;const I=B.installations;v({tone:"success",message:`已为 ${w.length} 个客户端配置 ${E.length} 个 Skill`,details:I.map($=>`${$.agentName} · ${$.skill} → ${$.displayPath}`)})}catch(B){!KY(B)&&!R.signal.aborted&&v({tone:"error",message:JY(B,"配置失败,请检查用户目录权限后重试")})}finally{x.current===R&&(x.current=null),R.signal.aborted||O(!1)}};return l.jsxs("section",{className:"coding-agents-page",children:[l.jsxs("header",{className:"coding-agents-header",children:[l.jsx("button",{type:"button",className:"coding-agents-back",onClick:e,disabled:g,"aria-label":"返回自动化列表",children:l.jsx(Rmt,{})}),l.jsx(Dmt,{className:"coding-agents-logo"}),l.jsxs("div",{children:[l.jsx("h1",{children:"配置 Coding Agents"}),l.jsx("p",{children:"把随 Studio 提供的 AgentKit Skills 全局安装到本地编码客户端。"})]})]}),l.jsx("div",{className:"coding-agents-scroll",children:l.jsxs("div",{className:"coding-agents-content",children:[l.jsxs("section",{className:"coding-agents-section","aria-label":"选择 Coding Agent",children:[l.jsxs("div",{className:"coding-agents-section-heading",children:[l.jsxs("div",{children:[l.jsx("span",{children:"1"}),l.jsx("h2",{children:"本机客户端"})]}),l.jsx("button",{type:"button",onClick:()=>c(R=>R+1),disabled:i||g,children:"重新检测"})]}),i?l.jsxs("div",{className:"coding-agents-inline-state",children:[l.jsx("i",{}),"正在检测本机客户端…"]}):s?l.jsxs("div",{className:"coding-agents-error-row",role:"alert",children:[l.jsx("span",{children:s}),l.jsx("button",{type:"button",onClick:()=>c(R=>R+1),children:"重试"})]}):l.jsx("div",{className:"coding-agents-agent-grid",children:t==null?void 0:t.agents.map(R=>l.jsxs("button",{type:"button",className:`coding-agents-agent ${u.has(R.id)?"is-selected":""}`,"aria-pressed":u.has(R.id),disabled:!R.available||g,onClick:()=>k(R.id,R.available),title:R.available?R.name:R.reason,children:[l.jsx("span",{className:`coding-agents-agent-mark is-${R.id}`,children:l.jsx(Lmt,{agentId:R.id})}),l.jsxs("span",{className:"coding-agents-agent-copy",children:[l.jsx("strong",{children:R.name}),l.jsx("small",{children:R.available?R.version||"已检测到客户端":R.reason})]}),l.jsx("span",{className:`coding-agents-status ${R.available?"is-ready":""}`,children:R.available?"可用":"未检测到"}),l.jsx("span",{className:"coding-agents-check",children:l.jsx(ZY,{})})]},R.id))})]}),l.jsxs("section",{className:"coding-agents-section","aria-label":"选择内置 Skill",children:[l.jsx("div",{className:"coding-agents-section-heading",children:l.jsxs("div",{children:[l.jsx("span",{children:"2"}),l.jsx("h2",{children:"内置 Skills"})]})}),l.jsx("div",{className:"coding-agents-skill-list",children:t==null?void 0:t.skills.map(R=>l.jsxs("div",{className:`coding-agents-skill ${f.has(R.id)?"is-selected":""}`,children:[l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:f.has(R.id),onChange:()=>T(R.id),disabled:g}),l.jsx("span",{className:"coding-agents-skill-check","aria-hidden":"true",children:l.jsx(ZY,{})}),l.jsxs("span",{children:[l.jsx("strong",{children:R.name}),l.jsx("small",{children:R.description})]})]}),l.jsx("button",{type:"button",onClick:()=>b(R),children:"查看文件"})]},R.id))}),l.jsxs("div",{className:"coding-agents-global","aria-label":"全局安装目录",children:[l.jsxs("div",{className:"coding-agents-global-heading",children:[l.jsx(Mmt,{}),l.jsxs("div",{children:[l.jsx("strong",{children:"全局安装"}),l.jsx("span",{children:"配置后可在本机其他项目中使用"})]})]}),w.length?l.jsx("dl",{children:w.map(R=>l.jsxs("div",{children:[l.jsx("dt",{children:R.name}),l.jsx("dd",{children:R.globalSkillsPath})]},R.id))}):l.jsx("p",{children:"选择客户端后显示对应安装目录。"})]})]}),y?l.jsxs("div",{className:`coding-agents-result is-${y.tone}`,role:y.tone==="error"?"alert":"status",children:[l.jsx("strong",{children:y.message}),(A=y.details)!=null&&A.length?l.jsx("ul",{children:y.details.map(R=>l.jsx("li",{children:R},R))}):null]}):null,l.jsxs("div",{className:"coding-agents-actions",children:[l.jsx("span",{children:w.length?`已选择 ${w.length} 个客户端、${E.length} 个 Skill`:"请先选择客户端"}),l.jsx("button",{type:"button",onClick:()=>void C(),disabled:!S,children:g?"正在配置…":"配置"})]})]})}),p?l.jsx(jmt,{skill:p,onClose:()=>b(null)}):null]})}function eG(e){return e.replace(/\s+/g," ").trim()}function Qmt(e,t){const n=eG(e)||"AgentKit Studio";if(t.kind==="home")return n;const i=eG(t.title);return i?t.kind==="conversation"?i:`${n} - ${i}`:n}const Bmt="/web/video",Fmt=18e4;async function gO(e,t={},n=mo){return fetch(lo(`${Bmt}${e}`),{...t,headers:Ph(t.headers),signal:go(t.signal,n)})}async function Tge(e,t){const n=await e.text().catch(()=>"");let i="";try{const r=JSON.parse(n),s=r.detail??r.error;i=typeof s=="string"?s:""}catch{i=n.trim().slice(0,500)}return new Error(i||`${t}(HTTP ${e.status})`)}async function rw(e,t){if(!e.ok)throw await Tge(e,t);const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const i=e.headers.get("content-type")||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(${i})`)}}async function Umt(e){return rw(await gO("/capabilities",{signal:e,headers:{Accept:"application/json"}}),"加载视频模型能力失败")}async function zmt(e,t,n){const i=new FormData;return i.set("file",e),i.set("role",t),rw(await gO("/assets",{method:"POST",body:i,signal:n},gr),`上传${e.name}失败`)}async function Vmt(e,t){return rw(await gO("/prompts/enhance",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},Fmt),"提示词优化失败")}async function qmt(e,t){return rw(await gO("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},gr),"创建视频生成任务失败")}async function Xmt(e,t){return rw(await gO(`/tasks/${encodeURIComponent(e)}`,{signal:t,headers:{Accept:"application/json"}}),"查询视频生成任务失败")}async function Hmt(e,t){const n=await gO(`/tasks/${encodeURIComponent(e)}/download`,{signal:t,headers:{Accept:"video/*"}},gr);if(!n.ok)throw await Tge(n,"下载生成视频失败");return n.blob()}function Ymt(e){return e.startsWith("/")?lo(e):e}function sC(e){return e.isComposing||e.keyCode===229}function Gmt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function Wmt(e){return l.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:l.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}const Kl=[{value:"agent",label:"Agent",description:"与当前选择的 Agent 对话"},{value:"temporary",label:"内置智能体",description:"使用平台提供的智能体"}],tG=[{label:"Codex 智能体",kind:"codex",value:"temporary",description:"在沙箱中执行任务"},{label:"DeepSeek Harness",kind:"deepseek-harness",value:"deepseek-harness",description:"打开 DeepSeek Harness 工作区"}],Zmt=[{label:"ArkClaw",kind:"openclaw"},{label:"Hermes 智能体",kind:"hermes"}];function nG({mode:e}){return e==="temporary"?l.jsxs("svg",{className:"new-chat-mode__temporary-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("path",{d:"m10 2.8 6.1 3.45v7.5L10 17.2l-6.1-3.45v-7.5L10 2.8Z"}),l.jsx("path",{d:"m3.9 6.25 6.1 3.5 6.1-3.5M10 9.75v7.45"})]}):l.jsx(gh,{className:"new-chat-mode__agent-icon"})}function Kmt(){return l.jsx("svg",{className:"new-chat-mode__nested-chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:l.jsx("path",{d:"m4.5 3 3 3-3 3"})})}function iG(e){const t=Kl.findIndex(n=>n.value===e);return t>=0?t:Kl.findIndex(n=>n.value==="temporary")}function Jmt({value:e,onChange:t,disabled:n=!1,temporaryEnabled:i,deepseekHarnessEnabled:r}){const[s,a]=m.useState(!1),[o,c]=m.useState(!1),[u,d]=m.useState(()=>iG(e)),f=m.useRef(null),h=m.useRef(null),p=e==="agent"?Kl[0]:Kl[1],b=tG.find(k=>k.value===e),g=(b==null?void 0:b.label)??p.label;function O(k){return k.value==="temporary"?i===!0||r===!0?!0:i===!1&&r===!1?!1:void 0:!0}function y(k){return k==="temporary"?i:k==="deepseek-harness"?r:!1}function v(k){return O(k)!==!0}function x(k){const T=O(k);return T===void 0?"正在检查配置":T?k.description:"管理员未配置"}m.useEffect(()=>{if(!s)return;const k=T=>{var C;(C=f.current)!=null&&C.contains(T.target)||(a(!1),c(!1))};return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[s]);function w(k){let T=u;do T=(T+k+Kl.length)%Kl.length;while(v(Kl[T]));d(T),c(Kl[T].value==="temporary")}function E(k){var T;if(!v(k)){if(k.value==="temporary"){c(!0);return}t(k.value),a(!1),c(!1),(T=h.current)==null||T.focus()}}function S(k){y(k)===!0&&(t(k),a(!1),c(!1))}return l.jsxs("div",{className:"new-chat-mode",ref:f,children:[l.jsxs("button",{ref:h,type:"button",className:"new-chat-mode__trigger","aria-label":"选择新会话模式","aria-haspopup":"listbox","aria-expanded":s,disabled:n,onClick:()=>{d(iG(e)),a(k=>(k&&c(!1),!k))},onKeyDown:k=>{k.key==="ArrowDown"||k.key==="ArrowUp"?(k.preventDefault(),s?w(k.key==="ArrowDown"?1:-1):a(!0)):s&&(k.key==="Enter"||k.key===" ")?(k.preventDefault(),E(Kl[u])):s&&k.key==="Escape"&&(k.preventDefault(),a(!1),c(!1))},children:[l.jsx("span",{className:"new-chat-mode__icon",children:l.jsx(nG,{mode:p.value})}),l.jsx("span",{className:"new-chat-mode__current",title:g,children:g}),l.jsx("svg",{className:"new-chat-mode__chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:l.jsx("path",{d:"m3 4.5 3 3 3-3"})})]}),s?l.jsxs("div",{className:"new-chat-mode__menus",children:[l.jsx("div",{className:"new-chat-mode__menu",role:"listbox","aria-label":"新会话模式",tabIndex:-1,onKeyDown:k=>{var T;k.key==="ArrowDown"||k.key==="ArrowUp"?(k.preventDefault(),w(k.key==="ArrowDown"?1:-1)):k.key==="Enter"?(k.preventDefault(),E(Kl[u])):k.key==="Escape"&&(k.preventDefault(),a(!1),c(!1),(T=h.current)==null||T.focus())},children:Kl.map((k,T)=>{const C=k.value==="temporary";return l.jsxs("button",{type:"button",role:"option","aria-selected":p.value===k.value,"aria-haspopup":C?"menu":void 0,"aria-expanded":C?o:void 0,"aria-disabled":v(k),disabled:v(k),className:`new-chat-mode__option${T===u?" is-active":""}`,onMouseEnter:()=>{d(T),c(k.value==="temporary")},onClick:()=>E(k),children:[l.jsx("span",{className:"new-chat-mode__option-icon",children:l.jsx(nG,{mode:k.value})}),l.jsxs("span",{className:"new-chat-mode__copy",children:[l.jsx("span",{className:"new-chat-mode__label",children:k.label}),l.jsx("span",{children:x(k)})]}),C?l.jsx(Kmt,{}):e===k.value?l.jsx("svg",{className:"new-chat-mode__check",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})}):null]},k.value)})}),o?l.jsxs("div",{className:"new-chat-mode__submenu",role:"menu","aria-label":"内置智能体",children:[tG.map(k=>{const T=y(k.value);return l.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:T!==!0,onClick:()=>S(k.value),children:[l.jsx(tv,{kind:k.kind,className:"new-chat-mode__builtin-icon"}),l.jsxs("span",{className:"new-chat-mode__copy",children:[l.jsx("span",{className:"new-chat-mode__label",children:k.label}),l.jsx("span",{children:T===void 0?"正在检查配置":T?k.description:"管理员未配置"})]})]},k.value)}),Zmt.map(({label:k,kind:T})=>l.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:!0,children:[l.jsx(tv,{kind:T,className:"new-chat-mode__builtin-icon"}),l.jsxs("span",{className:"new-chat-mode__copy",children:[l.jsx("span",{className:"new-chat-mode__label",children:k}),l.jsx("span",{children:"暂不可用"})]})]},k))]}):null]}):null]})}const fg=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"deepseek-harness",label:"DeepSeek Harness"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],egt=15,tgt=15e3,ngt=120,igt=180;function rG(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 rgt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function mD({type:e,className:t="new-chat-agent-picker__type-icon"}){return e==="general"?l.jsx(gh,{className:t}):l.jsx(tv,{kind:e,className:t})}function sgt({selectedAgentName:e="",selectedRuntimeId:t="",runtimeScope:n,disabled:i=!1,onSelectRuntime:r,onSelectSandboxSession:s}){var De;const[a,o]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(0),[h,p]=m.useState(0),[b,g]=m.useState("types"),[O,y]=m.useState(!1),[v,x]=m.useState([]),[w,E]=m.useState([]),[S,k]=m.useState(null),[T,C]=m.useState(""),[A,R]=m.useState(!1),[P,B]=m.useState(""),[I,$]=m.useState(""),j=m.useRef(null),D=m.useRef(null),F=m.useRef(null),Q=m.useRef(0),M=m.useRef(null),G=m.useRef(null),H=m.useRef(null),U=((De=fg.find(he=>he.id===c))==null?void 0:De.label)??"智能体",q=m.useCallback((he=!1)=>{var Ee;G.current!==null&&(window.clearTimeout(G.current),G.current=null),H.current!==null&&(window.clearTimeout(H.current),H.current=null),o(!1),u(null),g("types"),y(!1),he&&((Ee=D.current)==null||Ee.focus())},[]),ie=m.useCallback(async(he="",Ee=!1)=>{const Oe=++Q.current;let Le;R(!0),B("");try{const Fe=await Promise.race([_A({scope:n,region:"all",pageSize:egt,nextToken:he}),new Promise((_e,Ye)=>{Le=window.setTimeout(()=>{Ye(new Error("加载智能体超时(15 秒),请检查网络或 Runtime 服务后重试"))},tgt)})]);if(Q.current!==Oe)return;x(_e=>{const Ye=Ee?Fe.runtimes:[..._e,...Fe.runtimes];return Ye.filter((dt,It)=>Ye.findIndex(Ge=>Ge.runtimeId===dt.runtimeId)===It)}),C(Fe.nextToken),p(0)}catch(Fe){if(Q.current!==Oe)return;B(o0(Fe,"加载通用智能体","GET /web/runtimes"))}finally{window.clearTimeout(Le),Q.current===Oe&&R(!1)}},[n]),fe=m.useCallback(async he=>{var Le,Fe;(Le=M.current)==null||Le.abort();const Ee=new AbortController;M.current=Ee;const Oe=++Q.current;R(!0),B(""),E([]);try{const _e=he==="codex"?await Ei.listSessions({signal:Ee.signal,autoResumeSnapshots:!0}):await Ei.listAgentSessions(he,{signal:Ee.signal,autoResumeSnapshots:!0});if(Q.current!==Oe)return;E(_e),k(he),p(0)}catch(_e){if((_e==null?void 0:_e.name)==="AbortError"||Q.current!==Oe)return;B(o0(_e,`加载 ${((Fe=fg.find(Ye=>Ye.id===he))==null?void 0:Fe.label)??he}`,`GET /web/${he==="codex"?"sandbox":he}/sessions`)),k(he)}finally{M.current===Ee&&(M.current=null),Q.current===Oe&&R(!1)}},[]);m.useEffect(()=>{!a||c!=="general"||v.length>0||A||P||ie("",!0)},[c,P,ie,A,a,v.length]),m.useEffect(()=>{!a||c===null||c==="general"||S===c||fe(c)},[c,fe,S,a]),m.useEffect(()=>{if(!a)return;const he=Ee=>{var Oe;(Oe=j.current)!=null&&Oe.contains(Ee.target)||q()};return document.addEventListener("mousedown",he),()=>document.removeEventListener("mousedown",he)},[q,a]),m.useEffect(()=>()=>{var he;Q.current+=1,(he=M.current)==null||he.abort(),G.current!==null&&window.clearTimeout(G.current),H.current!==null&&window.clearTimeout(H.current)},[]);function me(he,Ee=!1){G.current!==null&&(window.clearTimeout(G.current),G.current=null),H.current!==null&&(window.clearTimeout(H.current),H.current=null),o(!0),u(Ee?"general":null),f(0),g("types"),y(Ee),he&&requestAnimationFrame(()=>{var Oe;return(Oe=F.current)==null?void 0:Oe.focus()})}function ce(){i||a||G.current!==null||(G.current=window.setTimeout(()=>{G.current=null,me(!1)},ngt))}function K(){H.current!==null&&(window.clearTimeout(H.current),H.current=null)}function ee(){G.current!==null&&(window.clearTimeout(G.current),G.current=null),!(!a||H.current!==null)&&(H.current=window.setTimeout(()=>{H.current=null,q()},igt))}function ye(he){var Le;const Ee=(he+fg.length)%fg.length,Oe=fg[Ee].id;Oe!==c&&(Q.current+=1,(Le=M.current)==null||Le.abort(),M.current=null,R(!1),B("")),f(Ee),u(Oe),p(0)}async function ve(he){if(!I){$(he.runtimeId),B("");try{await r(he),q(!0)}catch(Ee){B(o0(Ee,"连接通用智能体"))}finally{$("")}}}async function Re(he){if(!I){$(he.id),B("");try{await s(he),q(!0)}catch(Ee){B(o0(Ee,`打开 ${U}`))}finally{$("")}}}function Pe(he){if(he.key==="Escape"){he.preventDefault(),q(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(he.key)&&y(!0),b==="types"){he.key==="ArrowDown"||he.key==="ArrowUp"?(he.preventDefault(),ye(d+(he.key==="ArrowDown"?1:-1))):(he.key==="ArrowRight"||he.key==="Enter")&&(he.preventDefault(),c===null&&ye(d),g("runtimes"));return}if(he.key==="ArrowLeft")he.preventDefault(),g("types");else if((c==="general"?v:w).length>0&&(he.key==="ArrowDown"||he.key==="ArrowUp")){he.preventDefault();const Ee=he.key==="ArrowDown"?1:-1,Oe=c==="general"?v.length:w.length;p(Le=>(Le+Ee+Oe)%Oe)}else he.key==="Enter"&&c==="general"&&v[h]?(he.preventDefault(),ve(v[h])):he.key==="Enter"&&c!=="general"&&w[h]&&(he.preventDefault(),Re(w[h]))}return l.jsxs("div",{className:"new-chat-agent-picker",ref:j,onPointerEnter:he=>{he.pointerType==="mouse"&&K()},onPointerLeave:he=>{he.pointerType==="mouse"&&ee()},children:[l.jsxs("button",{ref:D,type:"button",className:"new-chat-agent-picker__trigger","aria-label":"选择智能体","aria-haspopup":"menu","aria-expanded":a,disabled:i,onPointerEnter:he=>{he.pointerType==="mouse"&&ce()},onClick:()=>a?q():me(!0),onKeyDown:he=>{he.key==="ArrowDown"||he.key==="ArrowUp"?(he.preventDefault(),a||me(!0,!0)):he.key==="Escape"&&a&&(he.preventDefault(),q(!0))},children:[l.jsx("span",{title:e||"选择智能体",children:e||"选择智能体"}),l.jsx(rG,{className:"new-chat-agent-picker__trigger-chevron"})]}),a?l.jsxs("div",{ref:F,className:"new-chat-agent-picker__menus",tabIndex:-1,onKeyDown:Pe,onPointerMove:he=>{he.pointerType==="mouse"&&y(!1)},children:[l.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"智能体类型",children:fg.map((he,Ee)=>l.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":c===he.id,className:`new-chat-agent-picker__type${O&&b==="types"&&d===Ee?" is-keyboard-active":""}`,onMouseEnter:()=>ye(Ee),onClick:()=>{ye(Ee),g("runtimes")},children:[l.jsx(mD,{type:he.id}),l.jsx("span",{children:he.label}),l.jsx(rG,{className:"new-chat-agent-picker__nested-chevron"})]},he.id))}),c!==null?l.jsx("div",{className:"new-chat-agent-picker__submenu",role:"listbox","aria-label":`${U}列表`,children:c!=="general"&&A&&w.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):c!=="general"&&P&&w.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:P}),l.jsx("button",{type:"button",onClick:()=>void fe(c),children:"重新加载"})]}):c!=="general"&&w.length===0?l.jsxs(Ti,{className:"new-chat-agent-picker__empty",fill:"none",children:[l.jsx(Ti.Icon,{size:"sm",children:l.jsx(mD,{type:c,className:"new-chat-agent-picker__empty-agent-icon"})}),l.jsx(Ti.Title,{children:l.jsxs("span",{className:"new-chat-agent-picker__empty-title",children:["暂无 ",U]})}),l.jsx(Ti.Description,{children:"请前往智能体页创建"})]}):c!=="general"?l.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:w.map((he,Ee)=>{const Oe=I===he.id,Le=he.resourceType==="snapshot";return l.jsxs("button",{type:"button",role:"option","aria-selected":!1,"aria-busy":Oe||void 0,className:`new-chat-agent-picker__runtime${O&&b==="runtimes"&&h===Ee?" is-keyboard-active":""}`,disabled:!!I,title:`${he.displayName||U} · ${he.id}`,onMouseEnter:()=>p(Ee),onClick:()=>void Re(he),children:[l.jsx(mD,{type:c,className:"new-chat-agent-picker__runtime-icon"}),l.jsx("span",{children:he.displayName||U}),l.jsx("small",{children:Oe?Le?"正在唤醒":"正在打开":tC(he.status)})]},he.id)})}):A&&v.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):P&&v.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:P}),l.jsx("button",{type:"button",onClick:()=>void ie("",!0),children:"重新加载"})]}):v.length===0?l.jsxs(Ti,{className:"new-chat-agent-picker__empty",fill:"none",children:[l.jsx(Ti.Icon,{size:"sm",children:l.jsx(gh,{})}),l.jsx(Ti.Title,{children:l.jsx("span",{className:"new-chat-agent-picker__empty-title",children:"暂无通用智能体"})}),l.jsx(Ti.Description,{children:"请前往智能体页创建"})]}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:v.map((he,Ee)=>{const Oe=I===he.runtimeId,Le=he.runtimeId===t;return l.jsxs("button",{type:"button",role:"option","aria-selected":Le,"aria-busy":Oe||void 0,className:`new-chat-agent-picker__runtime${O&&b==="runtimes"&&h===Ee?" is-keyboard-active":""}`,disabled:!!I,title:he.name,onMouseEnter:()=>p(Ee),onClick:()=>void ve(he),children:[l.jsx(gh,{className:"new-chat-agent-picker__runtime-icon"}),l.jsx("span",{children:he.name}),Oe?l.jsx("small",{children:"正在连接"}):Le?l.jsx(rgt,{className:"new-chat-agent-picker__check"}):null]},he.runtimeId)})}),P?l.jsx("div",{className:"new-chat-agent-picker__inline-error",role:"alert",children:P}):null,T?l.jsx("button",{type:"button",className:"new-chat-agent-picker__load-more",disabled:A||!!I,onClick:()=>void ie(T),children:A?"加载中":"加载更多"}):null]})}):null]}):null]})}const agt=120,ogt=180;function lgt(){return l.jsx("svg",{className:"new-chat-compact-select__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function cgt(){return l.jsx("svg",{className:"new-chat-compact-select__check",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function ym({label:e,hideLabel:t=!1,value:n,options:i,onChange:r,placeholder:s,loading:a=!1,error:o="",disabled:c=!1,searchable:u=!1,onRetry:d}){const[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState(0),y=m.useRef(null),v=m.useRef(null),x=m.useRef(null),w=m.useRef(!1),E=m.useRef(null),S=m.useRef(null),k=i.find(Q=>Q.value===n),T=p.trim().toLocaleLowerCase(),C=m.useMemo(()=>T?i.filter(Q=>`${Q.label} ${Q.description||""}`.toLocaleLowerCase().includes(T)):i,[T,i]),A=m.useCallback((Q=!1)=>{var M;E.current!==null&&(window.clearTimeout(E.current),E.current=null),S.current!==null&&(window.clearTimeout(S.current),S.current=null),w.current=!1,h(!1),b(""),Q&&((M=v.current)==null||M.focus())},[]);m.useEffect(()=>{if(!f)return;const Q=M=>{var G;(G=y.current)!=null&&G.contains(M.target)||A()};return document.addEventListener("mousedown",Q),()=>document.removeEventListener("mousedown",Q)},[A,f]),m.useEffect(()=>{!f||!u||!w.current||(w.current=!1,requestAnimationFrame(()=>{var Q;return(Q=x.current)==null?void 0:Q.focus()}))},[f,u]),m.useEffect(()=>()=>{E.current!==null&&window.clearTimeout(E.current),S.current!==null&&window.clearTimeout(S.current)},[]);function R(Q){E.current!==null&&(window.clearTimeout(E.current),E.current=null),S.current!==null&&(window.clearTimeout(S.current),S.current=null),w.current=Q,b(""),O(Math.max(0,i.findIndex(M=>M.value===n))),h(!0)}function P(){c||f||E.current!==null||(E.current=window.setTimeout(()=>{E.current=null,R(!1)},agt))}function B(){S.current!==null&&(window.clearTimeout(S.current),S.current=null)}function I(){E.current!==null&&(window.clearTimeout(E.current),E.current=null),!(!f||S.current!==null)&&(S.current=window.setTimeout(()=>{S.current=null,A()},ogt))}function $(Q){const M=C[Q];M&&(r(M.value),A(!0))}function j(Q){if(Q.key==="Escape"&&f){Q.preventDefault(),A(!0);return}if(Q.key==="Home"&&f&&C.length>0){Q.preventDefault(),O(0);return}if(Q.key==="End"&&f&&C.length>0){Q.preventDefault(),O(C.length-1);return}if(Q.key!=="ArrowDown"&&Q.key!=="ArrowUp"){f&&Q.key==="Enter"&&C[g]&&(Q.preventDefault(),$(g));return}if(Q.preventDefault(),!f){R(!0);return}const M=Q.key==="ArrowDown"?1:-1;O(G=>(G+M+C.length)%Math.max(1,C.length))}const D=a&&i.length===0,F=D?"加载中…":(k==null?void 0:k.label)||s;return l.jsxs("div",{className:"new-chat-compact-select",ref:y,onKeyDown:j,onPointerEnter:Q=>{Q.pointerType==="mouse"&&B()},onPointerLeave:Q=>{Q.pointerType==="mouse"&&I()},children:[l.jsxs("button",{ref:v,type:"button",className:"new-chat-compact-select__trigger","aria-label":`${e}:${F}`,"aria-haspopup":"listbox","aria-expanded":f,disabled:c,onPointerEnter:Q=>{Q.pointerType==="mouse"&&P()},onClick:()=>f?A():R(!0),children:[t?null:l.jsx("span",{className:"new-chat-compact-select__label",children:e}),D?l.jsx("span",{className:"new-chat-compact-select__spinner","aria-hidden":"true"}):l.jsx("span",{className:`new-chat-compact-select__value${k?"":" is-placeholder"}`,children:F}),D?null:l.jsx(lgt,{})]}),f?l.jsxs("div",{className:"new-chat-compact-select__menu",children:[u&&i.length>0?l.jsxs("label",{className:"new-chat-compact-select__search",children:[l.jsxs("span",{className:"sr-only",children:["搜索",e]}),l.jsx("input",{ref:x,value:p,placeholder:`搜索${e}`,onChange:Q=>{b(Q.currentTarget.value),O(0)}})]}):null,l.jsx("div",{className:"new-chat-compact-select__list",role:"listbox","aria-label":e,children:a&&i.length===0?l.jsx("div",{className:"new-chat-compact-select__status",role:"status",children:"正在加载…"}):o?l.jsxs("div",{className:"new-chat-compact-select__status is-error",role:"alert",children:[l.jsx("span",{children:o}),d?l.jsx("button",{type:"button",onClick:d,children:"重试"}):null]}):C.length===0?l.jsx("div",{className:"new-chat-compact-select__status",children:p?"没有匹配项":"暂无可选项"}):C.map((Q,M)=>l.jsxs("button",{type:"button",role:"option",tabIndex:-1,"aria-selected":Q.value===n,className:`new-chat-compact-select__option${M===g?" is-active":""}`,onMouseEnter:()=>O(M),onClick:()=>$(M),children:[l.jsxs("span",{className:"new-chat-compact-select__option-copy",children:[l.jsx("strong",{children:Q.label}),Q.description?l.jsx("small",{children:Q.description}):null]}),Q.value===n?l.jsx(cgt,{}):null]},Q.value))})]}):null]})}const Of=[{value:"create",label:"技能生成"},{value:"optimize",label:"技能优化"}],ugt=120,dgt=180;function fgt(){return l.jsx("svg",{className:"new-chat-skill-picker__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function hgt(){return l.jsx("svg",{className:"new-chat-skill-picker__check",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function pgt({value:e,onChange:t,disabled:n=!1}){const[i,r]=m.useState(!1),[s,a]=m.useState(()=>Math.max(0,Of.findIndex(x=>x.value===e))),o=m.useRef(null),c=m.useRef(null),u=m.useRef(null),d=m.useRef(null),f=Of.find(x=>x.value===e)??Of[0],h=m.useCallback((x=!1)=>{var w;u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),r(!1),x&&((w=c.current)==null||w.focus())},[]);m.useEffect(()=>{if(!i)return;const x=w=>{var E;(E=o.current)!=null&&E.contains(w.target)||h()};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[h,i]),m.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current),d.current!==null&&window.clearTimeout(d.current)},[]);function p(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),a(Math.max(0,Of.findIndex(x=>x.value===e))),r(!0)}function b(){n||i||u.current!==null||(u.current=window.setTimeout(()=>{u.current=null,p()},ugt))}function g(){d.current!==null&&(window.clearTimeout(d.current),d.current=null)}function O(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),!(!i||d.current!==null)&&(d.current=window.setTimeout(()=>{d.current=null,h()},dgt))}function y(x){const w=Of[x];w&&(t(w.value),a(x),h(!0))}function v(x){if(x.key==="Escape"&&i){x.preventDefault(),h(!0);return}if(x.key!=="ArrowDown"&&x.key!=="ArrowUp"){i&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),y(s));return}if(x.preventDefault(),!i){p();return}const w=x.key==="ArrowDown"?1:-1;a(E=>(E+w+Of.length)%Of.length)}return l.jsxs("div",{className:"new-chat-skill-picker",ref:o,onPointerEnter:x=>{x.pointerType==="mouse"&&g()},onPointerLeave:x=>{x.pointerType==="mouse"&&O()},children:[l.jsxs("button",{ref:c,type:"button",className:"new-chat-skill-picker__trigger","aria-label":"选择技能定制方式","aria-haspopup":"listbox","aria-expanded":i,disabled:n,onPointerEnter:x=>{x.pointerType==="mouse"&&b()},onClick:()=>{i?h():p()},onKeyDown:v,children:[l.jsx("span",{children:f.label}),l.jsx(fgt,{})]}),i?l.jsx("div",{className:"new-chat-skill-picker__menu",role:"listbox","aria-label":"技能定制方式",tabIndex:-1,onKeyDown:v,children:Of.map((x,w)=>l.jsxs("button",{type:"button",role:"option","aria-selected":x.value===e,className:`new-chat-skill-picker__option${w===s?" is-active":""}`,onMouseEnter:()=>a(w),onClick:()=>y(w),children:[l.jsx("span",{children:x.label}),x.value===e?l.jsx(hgt,{}):null]},x.value))}):null]})}const mgt=120,ggt=180;function sG(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 bgt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function gD(e){return e.name.trim()||"未命名 Skill Space"}function Ogt({spaces:e,skills:t,activeSpaceId:n,selectedSpaceId:i,selectedSkillId:r,selectedSkillLabel:s,spacesLoading:a=!1,skillsLoading:o=!1,spacesError:c="",skillsError:u="",disabled:d=!1,onActivateSpace:f,onSelect:h,onRetrySpaces:p,onRetrySkills:b}){const[g,O]=m.useState(!1),[y,v]=m.useState(0),[x,w]=m.useState(0),[E,S]=m.useState("spaces"),[k,T]=m.useState(!1),[C,A]=m.useState("below"),[R,P]=m.useState(286),B=m.useRef(null),I=m.useRef(null),$=m.useRef(null),j=m.useRef(null),D=m.useRef(null),F=e.find(ee=>ee.id===n)??null,Q=F?gD(F):"Skill Space",M=s||"选择 Skill",G=m.useCallback((ee=!1)=>{var ye;j.current!==null&&(window.clearTimeout(j.current),j.current=null),D.current!==null&&(window.clearTimeout(D.current),D.current=null),O(!1),S("spaces"),T(!1),f(""),ee&&((ye=I.current)==null||ye.focus())},[f]);m.useEffect(()=>{if(!g)return;const ee=ye=>{var ve;(ve=B.current)!=null&&ve.contains(ye.target)||G()};return document.addEventListener("mousedown",ee),()=>document.removeEventListener("mousedown",ee)},[G,g]),m.useEffect(()=>{d&&g&&G()},[G,d,g]);const H=m.useCallback(()=>{const ee=I.current;if(!ee)return;const ye=ee.getBoundingClientRect(),ve=12,Re=7,Pe=window.innerHeight-ye.bottom-Re-ve,De=ye.top-Re-ve,he=Pe>=220||Pe>=De?"below":"above",Ee=he==="below"?Pe:De;A(he),P(Math.max(120,Math.floor(Ee)))},[]);m.useLayoutEffect(()=>{if(g)return H(),window.addEventListener("resize",H),window.addEventListener("scroll",H,!0),()=>{window.removeEventListener("resize",H),window.removeEventListener("scroll",H,!0)}},[g,H]),m.useEffect(()=>()=>{j.current!==null&&window.clearTimeout(j.current),D.current!==null&&window.clearTimeout(D.current)},[]);function U(ee){if(e.length===0)return;const ye=(ee+e.length)%e.length,ve=e[ye];v(ye),w(0),ve.id!==n&&f(ve.id)}function q(ee,ye=!1){j.current!==null&&(window.clearTimeout(j.current),j.current=null),D.current!==null&&(window.clearTimeout(D.current),D.current=null);const ve=e.findIndex(Pe=>Pe.id===i),Re=ve>=0?ve:0;v(Re),w(0),S("spaces"),T(ye),O(!0),ye&&e[Re]?f(e[Re].id):f(""),ee&&requestAnimationFrame(()=>{var Pe;return(Pe=$.current)==null?void 0:Pe.focus()})}function ie(){d||g||j.current!==null||(j.current=window.setTimeout(()=>{j.current=null,q(!1)},mgt))}function fe(){D.current!==null&&(window.clearTimeout(D.current),D.current=null)}function me(){j.current!==null&&(window.clearTimeout(j.current),j.current=null),!(!g||D.current!==null)&&(D.current=window.setTimeout(()=>{D.current=null,G()},ggt))}function ce(ee){F&&(h(F,ee),G(!0))}function K(ee){if(ee.key==="Escape"){ee.preventDefault(),G(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(ee.key)&&T(!0),E==="spaces"){ee.key==="ArrowDown"||ee.key==="ArrowUp"?(ee.preventDefault(),U(y+(ee.key==="ArrowDown"?1:-1))):(ee.key==="ArrowRight"||ee.key==="Enter")&&(ee.preventDefault(),F||U(y),S("skills"));return}if(ee.key==="ArrowLeft")ee.preventDefault(),S("spaces");else if(t.length>0&&(ee.key==="ArrowDown"||ee.key==="ArrowUp")){ee.preventDefault();const ye=ee.key==="ArrowDown"?1:-1;w(ve=>(ve+ye+t.length)%t.length)}else ee.key==="Enter"&&t[x]&&(ee.preventDefault(),ce(t[x]))}return l.jsxs("div",{className:"new-chat-skill-target-picker",ref:B,onPointerEnter:ee=>{ee.pointerType==="mouse"&&fe()},onPointerLeave:ee=>{ee.pointerType==="mouse"&&me()},children:[l.jsxs("button",{ref:I,type:"button",className:"new-chat-agent-picker__trigger new-chat-skill-target-picker__trigger","aria-label":`选择 Skill:${M}`,"aria-haspopup":"menu","aria-expanded":g,disabled:d,onPointerEnter:ee=>{ee.pointerType==="mouse"&&ie()},onClick:()=>g?G():q(!0),onKeyDown:ee=>{ee.key==="ArrowDown"||ee.key==="ArrowUp"?(ee.preventDefault(),g||q(!0,!0)):ee.key==="Escape"&&g&&(ee.preventDefault(),G(!0))},children:[l.jsx("span",{title:M,children:M}),l.jsx(sG,{className:"new-chat-agent-picker__trigger-chevron"})]}),g?l.jsxs("div",{ref:$,className:`new-chat-agent-picker__menus new-chat-skill-target-picker__menus is-${C}`,style:{"--new-chat-skill-menu-max-height":`${R}px`},tabIndex:-1,onKeyDown:K,onPointerMove:ee=>{ee.pointerType==="mouse"&&T(!1)},children:[l.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"Skill Space",children:a&&e.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:"正在加载 Skill Space"})]}):c&&e.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:c}),l.jsx("button",{type:"button",onClick:p,children:"重新加载"})]}):e.length===0?l.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill Space"}):e.map((ee,ye)=>l.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"listbox","aria-expanded":n===ee.id,className:`new-chat-agent-picker__type new-chat-skill-target-picker__space${n===ee.id?" is-previewed":""}${k&&E==="spaces"&&y===ye?" is-keyboard-active":""}`,title:gD(ee),onMouseEnter:()=>U(ye),onClick:()=>{U(ye),S("skills")},children:[l.jsx("span",{children:gD(ee)}),l.jsx(sG,{className:"new-chat-agent-picker__nested-chevron"})]},ee.id))}),F?l.jsx("div",{className:"new-chat-agent-picker__submenu new-chat-skill-target-picker__submenu",role:"listbox","aria-label":`${Q} Skill 列表`,children:o&&t.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:"正在加载 Skill"})]}):u&&t.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:u}),l.jsx("button",{type:"button",onClick:b,children:"重新加载"})]}):t.length===0?l.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill"}):l.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:t.map((ee,ye)=>{const ve=F.id===i&&ee.skillId===r;return l.jsxs("button",{type:"button",role:"option","aria-selected":ve,className:`new-chat-agent-picker__runtime new-chat-skill-target-picker__skill${k&&E==="skills"&&x===ye?" is-keyboard-active":""}`,title:ee.skillDescription||ee.skillName||ee.skillId,onMouseEnter:()=>w(ye),onClick:()=>ce(ee),children:[l.jsx("span",{children:ee.skillName||ee.skillId}),ee.skillDescription?l.jsx("small",{children:ee.skillDescription}):null,ve?l.jsx(bgt,{className:"new-chat-agent-picker__check"}):null]},ee.skillId)})})}):null]}):null]})}const aG={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"};function bD(e,t){return e instanceof Error&&e.message?e.message:t}function ygt({action:e,onActionChange:t,optimizationSource:n=null,onOptimizationSourceChange:i,disabled:r=!1}){const[s,a]=m.useState(null),[o,c]=m.useState(!1),[u,d]=m.useState(""),[f,h]=m.useState(0),[p,b]=m.useState("concise"),[g,O]=m.useState(""),[y,v]=m.useState([]),[x,w]=m.useState(!1),[E,S]=m.useState(""),[k,T]=m.useState(0),[C,A]=m.useState(""),[R,P]=m.useState([]),[B,I]=m.useState(!1),[$,j]=m.useState(""),[D,F]=m.useState(0);m.useEffect(()=>{if(e!=="create"||s)return;const H=new AbortController;return c(!0),d(""),w2(H.signal).then(U=>{a(U),O(q=>{var ie;return q||((ie=U.models[0])==null?void 0:ie.id)||""}),!U.enabled&&U.reason&&d(U.reason)}).catch(U=>{H.signal.aborted||d(bD(U,"模型配置加载失败"))}).finally(()=>{H.signal.aborted||c(!1)}),()=>H.abort()},[e,s,f]),m.useEffect(()=>{if(e!=="optimize"||y.length>0)return;let H=!1;return w(!0),S(""),H$().then(U=>{H||v(U)}).catch(U=>{H||S(bD(U,"Skill Space 加载失败"))}).finally(()=>{H||w(!1)}),()=>{H=!0}},[e,y.length,k]);const Q=y.find(H=>H.id===C);m.useEffect(()=>{if(e!=="optimize"||!Q){P([]),j(""),I(!1);return}let H=!1;return P([]),I(!0),j(""),Y$(Q.id,Q.region).then(U=>{H||P(U)}).catch(U=>{H||j(bD(U,"Skill 加载失败"))}).finally(()=>{H||I(!1)}),()=>{H=!0}},[e,Q,D]);const M=m.useMemo(()=>Object.keys(s?s.styles:aG).map(U=>({value:U,label:aG[U]||U})),[s]),G=m.useMemo(()=>(s==null?void 0:s.models.map(H=>({value:H.id,label:H.label})))||[],[s]);return l.jsxs("div",{className:`new-chat-skill-controls is-${e}`,"aria-label":"技能定制配置",children:[l.jsx(pgt,{value:e,onChange:t,disabled:r}),e==="create"?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"new-chat-skill-controls__style",children:l.jsx(ym,{label:"风格",value:p,options:M,onChange:b,placeholder:"选择风格",disabled:r})}),l.jsx("div",{className:"new-chat-skill-controls__model",children:l.jsx(ym,{label:"模型",hideLabel:!0,value:g,options:G,onChange:O,placeholder:"选择模型",loading:o,error:u,disabled:r,onRetry:()=>{a(null),h(H=>H+1)}})})]}):l.jsx(Ogt,{spaces:y,skills:R,activeSpaceId:C,selectedSpaceId:(n==null?void 0:n.space.id)||"",selectedSkillId:(n==null?void 0:n.skill.skillId)||"",selectedSkillLabel:(n==null?void 0:n.skill.skillName)||(n==null?void 0:n.skill.skillId)||"",spacesLoading:x,skillsLoading:B,spacesError:E,skillsError:$,disabled:r,onActivateSpace:A,onSelect:(H,U)=>{i==null||i({space:H,skill:U})},onRetrySpaces:()=>{v([]),T(H=>H+1)},onRetrySkills:()=>{P([]),F(H=>H+1)}})]})}const oG=[{value:"auto",label:"自动识别"},{value:"text_to_video",label:"文生视频"},{value:"reference_to_video",label:"参考素材生视频"},{value:"video_editing",label:"视频编辑"},{value:"video_extension",label:"视频续写"},{value:"first_last_frame",label:"首尾帧生成"}],xgt=[{value:"21:9",label:"21:9"},{value:"16:9",label:"16:9"},{value:"4:3",label:"4:3"},{value:"1:1",label:"1:1"},{value:"3:4",label:"3:4"},{value:"9:16",label:"9:16"}],vgt=[{value:"480p",label:"480p"},{value:"720p",label:"720p"}],wgt={taskMode:"auto",aspectRatio:"16:9",resolution:"720p",durationSeconds:8,referenceImage:null,referenceVideo:null,firstFrame:null,lastFrame:null};function _ge({kind:e,...t}){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:e==="image"?l.jsxs(l.Fragment,{children:[l.jsx("rect",{x:"3.5",y:"4",width:"17",height:"16",rx:"2.5"}),l.jsx("circle",{cx:"9",cy:"9.25",r:"1.5"}),l.jsx("path",{d:"m5.75 17 4.1-4.1a1.25 1.25 0 0 1 1.77 0l1.35 1.35 1.55-1.55a1.25 1.25 0 0 1 1.77 0L19 15.4"})]}):l.jsxs(l.Fragment,{children:[l.jsx("rect",{x:"3.5",y:"5",width:"12.5",height:"14",rx:"2.5"}),l.jsx("path",{d:"m16 9.5 3.1-1.75a.9.9 0 0 1 1.35.78v6.94a.9.9 0 0 1-1.35.78L16 14.5"}),l.jsx("path",{d:"m9 9.5 3.5 2.5L9 14.5Z"})]})})}function Age(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m4.5 4.5 7 7m0-7-7 7"})})}function Sgt({asset:e,onChange:t,disabled:n=!1,unavailableReason:i="",kind:r,label:s}){const a=m.useId(),[o,c]=m.useState("");m.useEffect(()=>{if(!e){c("");return}const d=URL.createObjectURL(e);return c(d),()=>URL.revokeObjectURL(d)},[e]);function u(d){var h;const f=((h=d.currentTarget.files)==null?void 0:h[0])??null;f&&t(f),d.currentTarget.value=""}return l.jsxs("div",{className:`new-chat-inline-video${e?" has-preview":""}${n?" is-disabled":""}`,children:[l.jsx("input",{id:a,className:"new-chat-inline-video__input",type:"file",accept:`${r}/*`,disabled:n,required:!0,"aria-label":`上传${s}`,onChange:u}),l.jsx("label",{className:"new-chat-inline-video__tile",htmlFor:a,title:i||(e?`更换${s}:${e.name}`:`上传${s}`),children:o&&r==="image"?l.jsx("img",{src:o,alt:""}):o?l.jsx("video",{src:o,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}):l.jsxs(l.Fragment,{children:[l.jsx(_ge,{kind:r}),l.jsx("span",{children:s})]})}),e?l.jsx("button",{className:"new-chat-inline-video__remove",type:"button","aria-label":`移除${s} ${e.name}`,disabled:n,onClick:()=>t(null),children:l.jsx(Age,{})}):null]})}function Egt(){return l.jsx("span",{className:"new-chat-video-model-spinner",role:"status","aria-label":"正在加载增强模型"})}function OD({label:e,helper:t,accept:n,asset:i,onChange:r,disabled:s,kind:a}){const o=m.useId();function c(u){var f;const d=((f=u.currentTarget.files)==null?void 0:f[0])??null;d&&r(d),u.currentTarget.value=""}return l.jsxs("div",{className:`new-chat-video-asset${s?" is-disabled":""}`,children:[l.jsx("input",{id:o,className:"new-chat-video-asset__input",type:"file",accept:n,disabled:s,onChange:c}),l.jsxs("label",{className:"new-chat-video-asset__label",htmlFor:o,children:[l.jsx("span",{className:"new-chat-video-asset__icon",children:l.jsx(_ge,{kind:a})}),l.jsxs("span",{className:"new-chat-video-asset__copy",children:[l.jsxs("span",{className:"new-chat-video-asset__title",children:[e,l.jsx("small",{children:"可选"})]}),l.jsx("span",{className:`new-chat-video-asset__value${i?" is-selected":""}`,title:i==null?void 0:i.name,children:(i==null?void 0:i.name)||t})]}),l.jsx("span",{className:"new-chat-video-asset__action",children:i?"更换":"添加"})]}),i?l.jsx("button",{className:"new-chat-video-asset__remove",type:"button","aria-label":`移除${e} ${i.name}`,disabled:s,onClick:()=>r(null),children:l.jsx(Age,{})}):null]})}function kgt({config:e,onChange:t,enhancerModel:n,assetStorageAvailable:i,assetStorageUnavailableReason:r="",modelsLoading:s=!1,modelsError:a="",disabled:o=!1}){const c=ike();function u(b,g){t({...e,[b]:g})}const d=e.taskMode==="first_last_frame",f=e.taskMode==="video_editing",h=e.taskMode==="video_extension",p=o||!i;return l.jsxs(Mr.section,{className:"new-chat-video-controls","aria-label":"视频创作配置",initial:c?!1:{opacity:0,y:-12,scaleY:.96},animate:{opacity:1,y:0,scaleY:1},exit:c?{opacity:0}:{opacity:0,y:-8,scaleY:.98},transition:{duration:c?0:.2,ease:[.22,1,.36,1]},children:[l.jsxs("div",{className:"new-chat-video-controls__parameters",children:[l.jsx("div",{className:"new-chat-video-controls__field",children:l.jsx(ym,{label:"比例",value:e.aspectRatio,options:xgt,placeholder:"选择比例",disabled:o,onChange:b=>u("aspectRatio",b)})}),l.jsx("div",{className:"new-chat-video-controls__field",children:l.jsx(ym,{label:"清晰度",value:e.resolution,options:vgt,placeholder:"选择清晰度",disabled:o,onChange:b=>u("resolution",b)})}),l.jsxs("label",{className:`new-chat-video-duration${o?" is-disabled":""}`,children:[l.jsxs("span",{className:"new-chat-video-duration__header",children:[l.jsx("span",{children:"时长"}),l.jsxs("output",{children:[e.durationSeconds,"s"]})]}),l.jsx("input",{type:"range",min:"4",max:"30",step:"1",value:e.durationSeconds,disabled:o,"aria-label":`视频时长:${e.durationSeconds} 秒`,onChange:b=>u("durationSeconds",Number(b.currentTarget.value))})]})]}),l.jsx("div",{className:`new-chat-video-controls__assets${d||f||h?" is-single":""}`,children:d?l.jsx(OD,{label:"尾帧",helper:"添加视频结束画面",accept:"image/*",asset:e.lastFrame,disabled:p,kind:"image",onChange:b=>u("lastFrame",b)}):l.jsxs(l.Fragment,{children:[l.jsx(OD,{label:f||h?"辅助图片":"参考图片",helper:f||h?"用于补充画面参考":"支持常见图片格式",accept:"image/*",asset:e.referenceImage,disabled:p,kind:"image",onChange:b=>u("referenceImage",b)}),f||h?null:l.jsx(OD,{label:"参考视频",helper:"支持常见视频格式",accept:"video/*",asset:e.referenceVideo,disabled:p,kind:"video",onChange:b=>u("referenceVideo",b)})]})}),!i&&r?l.jsx("p",{className:"new-chat-video-controls__storage-unavailable",role:"status",children:r}):null,l.jsx("p",{className:"new-chat-video-controls__model-hint",title:a||void 0,children:s?l.jsx(Egt,{}):n?l.jsxs(l.Fragment,{children:["使用 ",n," 模型进行意图识别和提示词增强"]}):"增强模型不可用"})]})}function Tgt({className:e=""}){return l.jsxs("span",{className:`${e} new-chat-workspace-tabs__skill-icon`,"aria-hidden":"true",children:[l.jsx(qN,{className:"new-chat-workspace-tabs__skill-shape is-triangle"}),l.jsx(qN,{className:"new-chat-workspace-tabs__skill-shape is-circle"}),l.jsx(qN,{className:"new-chat-workspace-tabs__skill-shape is-square"})]})}const lG=[{value:"agent",label:"智能体",icon:gh},{value:"skill",label:"技能定制",icon:Tgt},{value:"video",label:"视频创作",icon:i6}];function _gt({value:e,onChange:t,disabled:n=!1,skillCustomizationEnabled:i=!1}){const r=m.useRef([]),s=i?lG:lG.filter(c=>c.value!=="skill");function a(c){var d;const u=s[c];!u||n||(t(u.value),(d=r.current[c])==null||d.focus())}function o(c,u){let d=null;c.key==="ArrowRight"&&(d=(u+1)%s.length),c.key==="ArrowLeft"&&(d=(u-1+s.length)%s.length),c.key==="Home"&&(d=0),c.key==="End"&&(d=s.length-1),d!==null&&(c.preventDefault(),a(d))}return l.jsx("div",{className:"new-chat-workspace-tabs",role:"tablist","aria-label":"新会话模式",children:s.map((c,u)=>{const d=c.icon,f=e===c.value;return l.jsxs("button",{ref:h=>{r.current[u]=h},id:`new-chat-workspace-tab-${c.value}`,type:"button",role:"tab","aria-controls":"new-chat-workspace-panel","aria-selected":f,tabIndex:f?0:-1,className:`new-chat-workspace-tabs__tab${f?" is-active":""}`,disabled:n,onClick:()=>t(c.value),onKeyDown:h=>o(h,u),children:[f?l.jsx(Mr.span,{className:"new-chat-workspace-tabs__slider",layoutId:"new-chat-workspace-active-pill",initial:!1,transition:{layout:{duration:.24,ease:[.22,1,.36,1]}},"aria-hidden":"true"}):null,l.jsx(d,{className:"new-chat-workspace-tabs__icon"}),l.jsx("span",{className:"new-chat-workspace-tabs__label",children:c.label})]},c.value)})})}const Agt={auto:"视频生成",text_to_video:"文生视频",reference_to_video:"参考素材生视频",video_editing:"视频编辑",video_extension:"视频续写",first_last_frame:"首尾帧生成"};function Cge(e){return e?Agt[e]:"视频生成"}function Cgt({prompt:e,config:t,enhancerModel:n,generationModel:i}){return{localId:crypto.randomUUID(),remoteTaskId:"",runId:1,status:"optimizing",requestedPrompt:e,optimizedPrompt:"",requestedMode:t.taskMode,resolvedMode:null,config:{...t},enhancerModel:n,generationModel:i,providerStatus:null,generationStartedAt:null,assetIds:[],output:null,errorStage:null,error:""}}function cG(e,t){return t.type==="optimization_succeeded"?{...e,status:"generating",optimizedPrompt:t.optimizedPrompt,resolvedMode:t.resolvedMode,enhancerModel:t.enhancerModel,errorStage:null,error:""}:t.type==="assets_uploaded"?{...e,assetIds:t.assetIds}:t.type==="generation_started"?{...e,status:"generating",remoteTaskId:t.remoteTaskId,generationModel:t.generationModel,providerStatus:"queued",generationStartedAt:t.startedAt,errorStage:null,error:""}:t.type==="generation_status_changed"?e.providerStatus===t.providerStatus?e:{...e,providerStatus:t.providerStatus}:t.type==="generation_succeeded"?{...e,status:"success",providerStatus:null,output:t.output,errorStage:null,error:""}:t.type==="failed"?{...e,status:"error",providerStatus:null,errorStage:t.stage,error:t.error}:{...e,runId:e.runId+1,status:t.stage==="optimization"?"optimizing":"generating",remoteTaskId:"",providerStatus:null,generationStartedAt:null,optimizedPrompt:t.stage==="optimization"?"":e.optimizedPrompt,resolvedMode:t.stage==="optimization"?null:e.resolvedMode,output:null,errorStage:null,error:""}}function tL(e){const t=Cge(e.resolvedMode),n=e.status==="error"&&e.errorStage==="optimization",i=e.status==="error"&&e.errorStage==="generation",r=!!e.optimizedPrompt&&!n;return[{id:"optimization",label:n?"提示词优化失败":r?"提示词优化完成":"提示词优化中",status:n?"failed":r?"done":"active"},{id:"generation",label:e.status==="success"?`${t}已完成`:i?`${t}失败`:e.status==="generating"?e.providerStatus==="queued"?`${t}排队中`:e.providerStatus==="running"?`${t}生成中`:`${t}进行中`:"等待视频生成",status:e.status==="success"?"done":i?"failed":e.status==="generating"?"active":"pending"}]}function Ngt(e){const t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),i=Math.floor(t%3600/60),r=t%60;return n>0?`${n}小时${String(i).padStart(2,"0")}分`:i>0?`${i}分${String(r).padStart(2,"0")}秒`:`${r}秒`}function jgt(e){var t,n;return((t=tL(e).find(i=>i.status==="active"))==null?void 0:t.label)??((n=tL(e).find(i=>i.status==="failed"))==null?void 0:n.label)??"视频生成完成"}function Nge(e){return(e==null?void 0:e.status)==="optimizing"||(e==null?void 0:e.status)==="generating"}const jge={ppt:["ppt_generate"],image:["image_generate"],video:["video_generate"]},Rgt={ppt:[],image:[],video:["video_task_query"]},Dgt=[{pattern:/(?:^|[-_.])glm[-_.]?5[-_.]?2(?:[-_.]|$)/,tokens:1024e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v4(?:[-_.]|$)/,tokens:1024e3}],Igt=[{pattern:/doubao[-_.]seed[-_.]evolving(?:[-_.]|$)/,tokens:1024e3},{pattern:/doubao[-_.]seed[-_.]translation(?:[-_.]|$)/,tokens:4e3},{pattern:/doubao[-_.]seed[-_.]character(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k[-_.]character(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.](?:lite[-_.]32k|vision[-_.]pro[-_.]32k)(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]seed[-_.]2[-_.][01](?:[-_.]|$)/,tokens:256e3},{pattern:/doubao[-_.]seed[-_.](?:1[-_.][68]|code[-_.]preview)(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:2e5}],Pgt=[{pattern:/dola[-_.]seed[-_.]2[-_.]1(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]2[-_.]0(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]1[-_.][68](?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v3[-_.]?2(?:[-_.]|$)/,tokens:128e3},{pattern:/(?:^|[-_.])gpt[-_.]?oss[-_.]?120b(?:[-_.]|$)/,tokens:128e3}];function Mgt(e){const t=e.match(/(?:^|[-_.])(\d+(?:\.\d+)?)(k|m)(?:[-_.]|$)/i);if(!t)return null;const n=Number(t[1]);return!Number.isFinite(n)||n<=0?null:Math.round(n*(t[2].toLowerCase()==="m"?1e6:1e3))}function Lgt(e,t){const n=e.trim().toLowerCase().split("/").pop()??"";if(!n)return null;const i=t==="byteplus"?Pgt:Igt;for(const r of[...i,...Dgt])if(r.pattern.test(n))return r.tokens;return Mgt(n)}const wp=new Intl.NumberFormat("zh-CN");function uG(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:wp.format(e)}function yD(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:`${wp.format(e)} Token`}function dG(e){return`${Number(e.toFixed(2))}%`}const fG={system:"系统与工具",input:"输入与历史",output:"输出与思考",remaining:"剩余"};function $gt({cloudProvider:e,modelName:t,usage:n,systemTokenEstimate:i}){const r=m.useId(),s=Lgt(t,e),a=s?E_e({usage:n,contextWindow:s,estimatedSystemTokens:i}):null,o=(a==null?void 0:a.usedTokens)??n.current.totalTokenCount,c=s?o/s*100:null,u=c===null?null:Math.round(c),d=c!==null&&c>0&&c<1?"<1":String(u??0),f=c===null?0:Math.min(100,Math.max(0,c)),h=100-f,p=t.trim()||"模型信息未提供",b=i===null?"提示词(含系统)":fG.input,g=a?Math.max(0,a.usedTokens-a.contextWindow):0,O=i===null?"系统与工具占用未知":`系统与工具约 ${wp.format((a==null?void 0:a.systemTokens)??0)} Token`,y=a?`上下文已使用 ${d}%,${O},${b} ${wp.format(a.inputTokens)} Token,输出与思考 ${wp.format(a.outputTokens)} Token,剩余 ${wp.format(a.remainingTokens)} Token`:`${p},上下文窗口未知,会话累计使用 ${wp.format(n.cumulative.totalTokenCount)} Token`,v=a?k_e(a):[],x=a?[{kind:"system",tokens:a.systemTokens},{kind:"input",tokens:a.inputTokens},{kind:"output",tokens:a.outputTokens},{kind:"remaining",tokens:a.remainingTokens}]:[];return l.jsxs("div",{className:"token-usage-indicator",tabIndex:0,role:s===null?"status":"meter","aria-label":y,"aria-describedby":r,"aria-valuemin":s===null?void 0:0,"aria-valuemax":s??void 0,"aria-valuenow":s===null?void 0:Math.min(o,s),children:[l.jsxs("svg",{className:"token-usage-ring",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("circle",{className:"token-usage-ring__track",cx:"10",cy:"10",r:"7"}),l.jsx("circle",{className:"token-usage-ring__value",cx:"10",cy:"10",r:"7",pathLength:"100",style:{strokeDasharray:`${f} ${100-f}`}})]}),l.jsxs("div",{id:r,className:"token-usage-tooltip",role:"tooltip",children:[a?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"token-usage-tooltip__header",children:[l.jsx("strong",{children:"上下文构成"}),l.jsxs("span",{children:[d,"% 已用"]})]}),l.jsxs("div",{className:"token-context-breakdown",children:[l.jsx("div",{className:"token-context-grid",role:"img","aria-label":"100 格上下文构成图,每格代表上下文窗口的百分之一",children:v.map(w=>l.jsx("span",{className:"token-context-cell","aria-hidden":"true",children:w.slices.map(E=>l.jsx("span",{className:`token-context-cell__slice is-${E.kind}`,style:{width:`${E.share*100}%`}},E.kind))},w.index))}),l.jsx("dl",{className:"token-context-legend",children:x.map(w=>l.jsxs("div",{children:[l.jsxs("dt",{children:[l.jsx("span",{className:`token-context-swatch is-${w.kind}`,"aria-hidden":"true"}),w.kind==="input"?b:fG[w.kind],w.kind==="system"&&i!==null?l.jsx("em",{children:"估算"}):null]}),l.jsx("dd",{children:w.kind==="system"&&i===null?"未知":`${w.kind==="system"?"≈":""}${uG(w.tokens)}`})]},w.kind))})]}),l.jsxs("div",{className:"token-context-summary",children:[l.jsxs("div",{children:[l.jsx("strong",{children:dG(f)})," 已用,剩余"," ",l.jsx("strong",{children:dG(h)})]}),l.jsxs("div",{children:[l.jsx("strong",{children:yD(a.usedTokens)})," 已用,剩余"," ",l.jsx("strong",{children:yD(a.remainingTokens)}),",总计"," ",l.jsx("strong",{children:yD(a.contextWindow)})]})]}),g>0?l.jsxs("div",{className:"token-usage-tooltip__overflow",children:["已超出上下文 ",uG(g)," Token"]}):null]}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"token-usage-tooltip__title",children:"上下文用量"}),l.jsx("div",{className:"token-usage-tooltip__unknown",children:t.trim()?"暂未收录该模型的上下文窗口":"当前 Runtime 未提供模型信息"})]}),l.jsx("div",{className:"token-usage-tooltip__model",title:p,children:p})]})]})}const hG=[{value:"ppt",label:"PPT",icon:eTe,prompts:["复盘【季度】经营表现,提炼指标差距、原因与行动建议","汇报【项目名称】进展:里程碑、风险、预算和资源诉求","为【客户行业】输出解决方案:痛点、架构、实施路径与收益","分析【行业主题】趋势,给出竞争格局、机会与战略建议"]},{value:"image",label:"图片生成",icon:Z3,prompts:["为【品牌或产品】设计【高级科技】风格的发布会主视觉","生成【产品名称】电商海报,突出【核心卖点】与品牌色","呈现【产品或空间】在【使用场景】中的写实概念效果图","围绕【传播主题】制作简洁专业的企业社媒配图"]},{value:"video",label:"视频生成",icon:i6,prompts:["制作【品牌名称】30 秒宣传片,突出【品牌价值】","为【产品名称】制作 45 秒发布视频:痛点、功能、场景与行动号召","制作【培训主题】企业培训视频,讲清【关键操作或规范】","生成【活动名称】20 秒预热视频,包含亮点、时间地点和报名信息"]}];function Qgt({cloudProvider:e,sessionId:t,sessionInitializing:n=!1,appName:i,agentName:r,value:s,onChange:a,onSubmit:o,onStop:c,onVideoSubmit:u,videoTask:d=null,onOpenVideoTask:f,disabled:h,busy:p,showMeta:b,attachments:g,skills:O,agents:y,invocation:v,capabilitiesLoading:x=!1,modelName:w,tokenUsage:E,systemTokenEstimate:S,allowAttachments:k=!0,onInvocationChange:T,onAddFiles:C,onRemoveAttachment:A,newChatMode:R="agent",newChatWorkspaceMode:P="agent",newChatSkillAction:B="create",newChatSkillTarget:I=null,skillCustomizationEnabled:$=!1,newChatTask:j=null,newChatLayout:D=!1,showWorkspaceTabs:F=!1,showModeSelector:Q=!1,onWorkspaceModeChange:M,onSkillActionChange:G,onSkillTargetChange:H,onModeChange:U,onTaskChange:q,temporaryEnabled:ie,deepseekHarnessEnabled:fe,harnessEnabled:me=!1,builtinTools:ce=[],showAgentPicker:K=!1,agentPickerDisabled:ee=!1,selectedRuntimeId:ye="",runtimeScope:ve="mine",onSelectRuntime:Re,onSelectSandboxSession:Pe}){var Sn;const De=m.useRef(null),he=m.useRef(null),Ee=m.useRef(null),Oe=m.useRef(null),[Le,Fe]=m.useState(!1),[_e,Ye]=m.useState(null),[dt,It]=m.useState(0),[Ge,Z]=m.useState(!1),[ne,ue]=m.useState(wgt),[be,V]=m.useState(null),[je,He]=m.useState(!1),[et,qt]=m.useState("");m.useEffect(()=>{if(!D||P!=="video")return;const Ie=new AbortController;return He(!0),qt(""),Umt(Ie.signal).then(ft=>{Ie.signal.aborted||V(ft)}).catch(ft=>{Ie.signal.aborted||(V(null),qt(ft instanceof Error?ft.message:String(ft)))}).finally(()=>{Ie.signal.aborted||He(!1)}),()=>Ie.abort()},[e,D,P]),m.useEffect(()=>{!(be!=null&&be.supportedModes.length)||ne.taskMode==="auto"||be.supportedModes.includes(ne.taskMode)||ue(Ie=>({...Ie,taskMode:be.supportedModes[0]}))},[ne.taskMode,be]);async function Ft(){if(t)try{await navigator.clipboard.writeText(t),Z(!0),setTimeout(()=>Z(!1),1500)}catch{Z(!1)}}m.useLayoutEffect(()=>{const Ie=De.current;Ie&&(Ie.style.height="auto",Ie.style.height=`${Math.min(Ie.scrollHeight,200)}px`)},[s]);const At=g.some(Ie=>Ie.status!=="ready"),xt=D&&P==="video",xe=xt?ne.taskMode==="first_last_frame"?{asset:ne.firstFrame,kind:"image",label:"首帧"}:ne.taskMode==="video_editing"||ne.taskMode==="video_extension"?{asset:ne.referenceVideo,kind:"video",label:ne.taskMode==="video_editing"?"待编辑视频":"基础视频"}:null:null,Ue=Nge(d),Qe=xt&&!!d&&!s.trim(),Ot=p&&!!c,Et=xt?Ue||Qe||!h&&!p&&!At&&(!xe||!!xe.asset)&&!!be&&s.trim().length>0:!h&&!p&&!At&&(s.trim().length>0||g.length>0);function Rt(){if(xt){if(Ue||Qe){f==null||f();return}be&&s.trim()&&(u==null||u(s.trim(),ne,be));return}o()}const Ce=P==="skill"?B==="optimize"?"描述你想优化的技能…":"描述你想生成的技能…":P==="video"?"描述你想创作的视频…":`向 ${r} 发消息…`,We=h&&P==="agent"?"请先选择智能体":h&&P==="skill"&&B==="optimize"&&!I?"请先选择需要优化的 Skill":Ce,mt=(_e==null?void 0:_e.query.toLocaleLowerCase())??"",tn=(_e==null?void 0:_e.kind)==="skill"?O.filter(Ie=>!v.skills.some(ft=>ft.name===Ie.name)).filter(Ie=>`${Ie.name} ${Ie.description}`.toLocaleLowerCase().includes(mt)).map(Ie=>({kind:"skill",value:Ie})):(_e==null?void 0:_e.kind)==="agent"?y.filter(Ie=>`${Ie.name} ${Ie.description}`.toLocaleLowerCase().includes(mt)).map(Ie=>({kind:"agent",value:Ie})):[];function st(Ie){var ft;Fe(!1),Ye(null),(ft=Ie.current)==null||ft.click()}function gn(Ie){q==null||q(Ie.value),Fe(!1),Ye(null),requestAnimationFrame(()=>{var ft,kt;(ft=De.current)==null||ft.focus(),(kt=De.current)==null||kt.setSelectionRange(s.length,s.length)})}function ti(Ie){a(Ie),Fe(!1),Ye(null),requestAnimationFrame(()=>{var Xt,fn,Cn;(Xt=De.current)==null||Xt.focus();const ft=Ie.indexOf("【"),kt=Ie.indexOf("】",ft+1);ft>=0&&kt>ft?(fn=De.current)==null||fn.setSelectionRange(ft+1,kt):(Cn=De.current)==null||Cn.setSelectionRange(Ie.length,Ie.length)})}function Pt(){q==null||q(null),a(""),Fe(!1),Ye(null),requestAnimationFrame(()=>{var Ie,ft;(Ie=De.current)==null||Ie.focus(),(ft=De.current)==null||ft.setSelectionRange(0,0)})}const wt=hG.find(Ie=>Ie.value===j),Ae=hG.filter(Ie=>jge[Ie.value].every(ft=>ce.includes(ft)));function it(Ie,ft){const kt=Ie.slice(0,ft),Xt=/(^|\s)([/@])([^\s/@]*)$/.exec(kt);if(!Xt){Ye(null);return}const fn=Xt[2].length+Xt[3].length,Cn={kind:Xt[2]==="/"?"skill":"agent",query:Xt[3],start:ft-fn,end:ft},mi=!_e||_e.kind!==Cn.kind||_e.query!==Cn.query||_e.start!==Cn.start||_e.end!==Cn.end;Ye(Cn),mi&&It(0),Fe(!1)}function Nt(Ie){if(!_e)return;const ft=s.slice(0,_e.start)+s.slice(_e.end);a(ft),Ie.kind==="skill"?T({...v,skills:[...v.skills,Ie.value]}):T({skills:[],targetAgent:Ie.value});const kt=_e.start;Ye(null),requestAnimationFrame(()=>{var Xt,fn;(Xt=De.current)==null||Xt.focus(),(fn=De.current)==null||fn.setSelectionRange(kt,kt)})}function Yt(){if(v.targetAgent){T({skills:[]});return}v.skills.length>0&&T({...v,skills:v.skills.slice(0,-1)})}function Jt(Ie){const ft=Ie.target.files?Array.from(Ie.target.files):[];ft.length&&C(ft),Ie.target.value=""}return l.jsxs("div",{className:`composer${D?" composer--new-chat":""}${wt?` composer--has-task composer--task-${wt.value}`:""}`,children:[l.jsx(S2,{value:v,onRemoveSkill:Ie=>T({...v,skills:v.skills.filter(ft=>ft.name!==Ie)}),onRemoveAgent:()=>T({skills:[]})}),g.length>0&&l.jsx(E2,{appName:i,compact:!0,items:g,onRemove:A}),D&&F&&M?l.jsx(_gt,{value:P,onChange:M,disabled:p,skillCustomizationEnabled:$}):null,l.jsxs("div",{id:D&&F?"new-chat-workspace-panel":void 0,className:"composer-box",role:D&&F?"tabpanel":void 0,"aria-labelledby":D&&F?`new-chat-workspace-tab-${P}`:void 0,children:[_e?l.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":_e.kind==="skill"?"可用技能":"可用子 Agent",children:[l.jsxs("div",{className:"composer-command-head",children:[_e.kind==="skill"?l.jsx(t1,{}):l.jsx(fte,{}),l.jsx("span",{children:_e.kind==="skill"?"调用技能":"使用子 Agent"}),l.jsx("kbd",{children:_e.kind==="skill"?"/":"@"})]}),x?l.jsxs("div",{className:"composer-command-empty",children:[l.jsx(qn,{className:"spin"})," 正在读取 Agent 能力…"]}):tn.length===0?l.jsx("div",{className:"composer-command-empty",children:_e.kind==="skill"?"当前 Agent 没有匹配技能":"当前 Agent 没有匹配子 Agent"}):l.jsx("div",{className:"composer-command-list",children:tn.map((Ie,ft)=>l.jsxs("button",{type:"button",role:"option","aria-selected":ft===dt,className:`composer-command-item${ft===dt?" is-active":""}`,onMouseDown:kt=>{kt.preventDefault(),Nt(Ie)},onMouseEnter:()=>It(ft),children:[l.jsx("span",{className:`composer-command-icon composer-command-icon--${Ie.kind}`,children:Ie.kind==="skill"?l.jsx(t1,{}):l.jsx(hte,{})}),l.jsxs("span",{className:"composer-command-copy",children:[l.jsxs("strong",{children:[Ie.kind==="skill"?"/":"@",Ie.value.name]}),l.jsx("span",{children:Ie.value.description||(Ie.kind==="skill"?"加载并执行该技能":"将本轮交给该 Agent")})]}),l.jsx("kbd",{children:ft===dt?"↵":Ie.kind==="skill"?"技能":"Agent"})]},`${Ie.kind}-${Ie.value.name}`))})]}):null,l.jsxs("div",{className:"composer-menu-wrap",children:[l.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:h||!k,onClick:()=>{Ye(null),Fe(Ie=>!Ie)},children:l.jsx(ea,{className:"icon"})}),Le&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>Fe(!1)}),l.jsxs("div",{className:"composer-menu",role:"menu",children:[l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>st(he),children:[l.jsx(Z3,{className:"icon"}),"上传图片"]}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>st(Ee),children:[l.jsx(G3,{className:"icon"}),"上传文档或 PDF"]}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>st(Oe),children:[l.jsx(gte,{className:"icon"}),"上传视频"]})]})]})]}),P==="agent"&&K&&Re&&Pe?l.jsx(sgt,{selectedAgentName:i?r:"",selectedRuntimeId:ye,runtimeScope:ve,disabled:ee,onSelectRuntime:Re,onSelectSandboxSession:Pe}):null,D&&P==="skill"&&G?l.jsx(ygt,{action:B,onActionChange:G,optimizationSource:I,onOptimizationSourceChange:H,disabled:p}):null,D&&P==="video"?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"new-chat-video-task-mode",children:l.jsx(ym,{label:"任务模式",hideLabel:!0,value:ne.taskMode,options:(Sn=be==null?void 0:be.supportedModes)!=null&&Sn.length?oG.filter(Ie=>Ie.value==="auto"||be.supportedModes.includes(Ie.value)):oG,onChange:Ie=>ue(ft=>({...ft,taskMode:Ie})),placeholder:"选择任务模式",disabled:p||Ue||je||!be})}),l.jsx("div",{className:"new-chat-video-generation-model",title:et||(be==null?void 0:be.generationModel),children:je?l.jsx(qn,{className:"icon spin",role:"status","aria-label":"正在加载生成模型"}):l.jsx("strong",{children:(be==null?void 0:be.generationModel)||"模型不可用"})})]}):null,Q&&U?l.jsx(Jmt,{value:R,onChange:U,disabled:p,temporaryEnabled:ie,deepseekHarnessEnabled:fe}):null,D&&P==="agent"&&R==="agent"&&wt&&q?l.jsxs("button",{type:"button",className:`new-chat-task-chip new-chat-task-chip--${wt.value}`,"aria-label":`取消${wt.label}任务`,disabled:p,onClick:Pt,children:[l.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[l.jsx(wt.icon,{className:"new-chat-task-chip__task-icon"}),l.jsx(Ma,{className:"new-chat-task-chip__remove-icon"})]}),l.jsx("span",{children:wt.label})]}):null,l.jsxs("div",{className:`composer-input-stack${xe?" has-inline-asset":""}`,children:[xe?l.jsx(Sgt,{asset:xe.asset,kind:xe.kind,label:xe.label,disabled:p||Ue||!((be==null?void 0:be.assetStorageAvailable)??!1),unavailableReason:(be==null?void 0:be.assetStorageUnavailableReason)||"",onChange:Ie=>ue(ft=>ft.taskMode==="first_last_frame"?{...ft,firstFrame:Ie}:{...ft,referenceVideo:Ie})}):null,l.jsx("textarea",{ref:De,className:"comp-input scroll",rows:D?4:1,value:s,disabled:h,placeholder:We,"aria-expanded":!!_e,onChange:Ie=>{a(Ie.target.value),it(Ie.target.value,Ie.target.selectionStart)},onSelect:Ie=>{it(Ie.currentTarget.value,Ie.currentTarget.selectionStart)},onBlur:()=>setTimeout(()=>Ye(null),0),onKeyDown:Ie=>{if(!sC(Ie.nativeEvent)){if(_e){if(Ie.key==="ArrowDown"&&tn.length>0){Ie.preventDefault(),It(ft=>(ft+1)%tn.length);return}if(Ie.key==="ArrowUp"&&tn.length>0){Ie.preventDefault(),It(ft=>(ft-1+tn.length)%tn.length);return}if((Ie.key==="Enter"||Ie.key==="Tab")&&tn[dt]){Ie.preventDefault(),Nt(tn[dt]);return}if(Ie.key==="Escape"){Ie.preventDefault(),Ye(null);return}}if(Ie.key==="Backspace"&&!s&&Ie.currentTarget.selectionStart===0&&Ie.currentTarget.selectionEnd===0){Yt();return}Ie.key==="Enter"&&!Ie.shiftKey&&(Ie.preventDefault(),Et&&Rt())}}}),D&&s.length===0?l.jsx("span",{className:"composer-placeholder-reveal","aria-hidden":"true",children:We},We):null]}),l.jsxs("div",{className:"composer-submit-actions",children:[t&&i&&P==="agent"?l.jsx($gt,{cloudProvider:e,modelName:w,usage:E,systemTokenEstimate:S}):null,l.jsx(Mr.button,{type:"button",className:"comp-send",disabled:Ot?!1:!Et,onClick:Ot?c:Rt,"aria-label":Ot?"停止生成":Ue||Qe?"查看视频生成进度":"发送",title:Ot?"停止生成":et||void 0,whileTap:Ot||Et?{scale:.9}:void 0,transition:{type:"spring",stiffness:600,damping:22},children:Ot?l.jsx(Wmt,{className:"icon"}):p||Ue?l.jsx(qn,{className:"icon spin"}):l.jsx(Gmt,{className:"icon"})})]})]}),l.jsx(nh,{initial:!1,children:D&&F&&P==="video"?l.jsx(kgt,{config:ne,onChange:ue,enhancerModel:(be==null?void 0:be.enhancerModel)||"",assetStorageAvailable:(be==null?void 0:be.assetStorageAvailable)??!1,assetStorageUnavailableReason:(be==null?void 0:be.assetStorageUnavailableReason)||"",modelsLoading:je,modelsError:et,disabled:p||Ue},"new-chat-video-controls"):null}),D&&P==="agent"&&R==="agent"&&me&&!wt?l.jsx("div",{className:"task-shortcuts","aria-label":"选择任务类型",children:Ae.map(Ie=>{const ft=Ie.icon;return l.jsxs("button",{type:"button",className:"task-shortcut",disabled:h||p,onClick:()=>gn(Ie),children:[l.jsx(ft,{}),l.jsx("span",{children:Ie.label})]},Ie.value)})}):null,D&&P==="agent"&&R==="agent"&&wt?l.jsx("div",{className:"prompt-suggestions","aria-label":`${wt.label}企业提示词`,children:wt.prompts.map(Ie=>{const ft=wt.icon;return l.jsxs("button",{type:"button",className:"prompt-suggestion",disabled:h||p,onClick:()=>ti(Ie),children:[l.jsx(ft,{}),l.jsx("span",{children:Ie})]},Ie)})}):null,b&&l.jsxs("div",{className:"composer-meta",children:[l.jsxs("span",{className:"composer-session-line",children:["会话 ID:",l.jsx("span",{className:"composer-session-id",title:t||void 0,"aria-live":"polite",children:n?"初始化中":t||"—"}),t&&l.jsx("button",{type:"button",className:"composer-session-copy",title:Ge?"已复制":"复制会话 ID","aria-label":Ge?"已复制会话 ID":"复制会话 ID",onClick:()=>void Ft(),children:Ge?l.jsx(yu,{}):l.jsx(OA,{})})]}),l.jsx("span",{className:"composer-meta-separator","aria-hidden":!0,children:"|"}),l.jsx("span",{children:"回答仅供参考"})]}),l.jsx("input",{ref:he,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:Jt}),l.jsx("input",{ref:Ee,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:Jt}),l.jsx("input",{ref:Oe,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:Jt})]})}function Bgt({title:e,sub:t,cards:n,footer:i}){return l.jsxs("div",{className:"stk",children:[l.jsxs("div",{className:"stk-head",children:[l.jsx("h1",{className:"stk-title",children:e}),t&&l.jsx("p",{className:"stk-sub",children:t})]}),l.jsx("div",{className:"stk-list",children:n.map((r,s)=>l.jsxs(Mr.button,{type:"button",className:`stk-card ${r.disabled?"stk-card-disabled":""}`,onClick:r.disabled?void 0:r.onClick,disabled:r.disabled,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.18,ease:"easeOut",delay:s*.04},children:[l.jsx("span",{className:"stk-card-icon",children:l.jsx(r.icon,{})}),l.jsxs("span",{className:"stk-card-text",children:[l.jsx("span",{className:"stk-card-title",children:r.title}),l.jsx("span",{className:"stk-card-desc",children:r.desc})]}),r.status&&l.jsx("span",{className:"stk-card-status",children:r.status}),l.jsx(Qb,{className:"stk-card-arrow"})]},r.key))}),i&&l.jsx("div",{className:"stk-footer",children:i})]})}function Fgt(){return l.jsxs("svg",{className:"ic-create-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M5 5.5h14v13H5z"}),l.jsx("path",{d:"m8 9 2 2-2 2M12.5 13H16"})]})}const Ugt={preparing:"正在创建任务环境…",starting:"环境已就绪,正在启动 Codex…"};function zgt({capabilities:e,loading:t,preparationStage:n,error:i,onBack:r,onCancel:s,onCreate:a}){const[o,c]=m.useState(""),u=n!==null,d=(e==null?void 0:e.enabled)!==!0,f=t?"正在检查智能开发能力…":e!=null&&e.enabled?"":(e==null?void 0:e.reason)||(i?"":"当前无法使用智能模式,请返回后重试。"),h=t||u||d||!o.trim();async function p(){const g=o.trim();!g||h||await a(g)}function b(g){g.key==="Enter"&&!g.shiftKey&&!sC(g.nativeEvent)&&(g.preventDefault(),p())}return l.jsxs("section",{className:"ic-root","aria-labelledby":"intelligent-create-title",children:[l.jsxs("header",{className:"ic-header",children:[l.jsx("button",{type:"button",className:"ic-back",onClick:r,children:"返回"}),l.jsxs("div",{children:[l.jsx("h1",{id:"intelligent-create-title",children:"智能模式"}),l.jsx("p",{children:"描述目标后,沙箱中的 Codex 会判断你的意图,完成构建、调试和临时云端验证。"})]})]}),l.jsx("div",{className:"ic-main",children:l.jsxs("section",{className:"ic-panel ic-goal-panel","aria-busy":u,children:[l.jsxs("div",{className:"ic-goal-heading",children:[l.jsx("span",{className:"ic-create-icon-wrap",children:l.jsx(Fgt,{})}),l.jsxs("div",{children:[l.jsx("h2",{children:"从目标开始"}),l.jsx("p",{children:"只需说明 Agent 要解决的问题;如有影响结果的关键信息,会在开始前向你确认。"})]})]}),l.jsx("label",{className:"ic-goal-label",htmlFor:"intelligent-goal",children:"目标描述"}),l.jsx("textarea",{id:"intelligent-goal",className:"ic-goal-input",value:o,onChange:g=>c(g.target.value),onKeyDown:b,placeholder:"例如:创建一个能读取销售数据、生成周报并校验输出格式的 Agent",rows:6,disabled:t||u||d,autoFocus:!0}),n?l.jsx("div",{className:"ic-preparation",role:"status","aria-live":"polite","aria-atomic":"true",children:l.jsxs("div",{children:[l.jsx("strong",{children:"目标已收到,马上开始实现"}),l.jsx(Ln,{as:"p",duration:2.4,spread:18,children:Ugt[n]}),l.jsx("p",{className:"ic-preparation-next",children:"接下来会先梳理目标和实现方式,再编写、运行和验证 Agent。"})]})}):null,f?l.jsx("p",{className:t?"ic-state":"ic-error",role:t?"status":"alert",children:f}):null,i?l.jsx("p",{className:"ic-error",role:"alert",children:i}):null,l.jsxs("div",{className:"ic-actions",children:[l.jsx("span",{children:u?"目标会保留在当前页面,取消后可以继续修改":"开发环境最多保留 8 小时,可在当前任务中持续优化。"}),l.jsxs("div",{className:"ic-action-buttons",children:[u?l.jsx("button",{type:"button",className:"ic-secondary",onClick:s,children:"取消"}):null,l.jsx("button",{type:"button",className:"ic-primary",onClick:()=>void p(),disabled:h,"aria-busy":u,children:u?"准备中…":"开始构建"})]})]})]})})]})}function Vgt(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function xD(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Rge(e,t){const n=e==null?void 0:e.trim();if(!n)return!1;try{const i=new URL(n),r=new URL(t),s=i.pathname.replace(/\/+$/,""),a=r.pathname.replace(/\/+$/,"");return i.protocol==="https:"&&i.username===""&&i.password===""&&i.search===""&&i.hash===""&&i.hostname.toLowerCase()===r.hostname.toLowerCase()&&i.port===r.port&&s===a}catch{return!1}}function Dge(e,t){const n=[],i=new Set,r=s=>{var a,o,c;if(s.agentType==="llm"&&s.modelSource!=="ark"&&(s.modelSource==="custom"||(a=s.modelApiBase)!=null&&a.trim()&&!Rge(s.modelApiBase,t))){const u=Vgt(s.name,"AGENT"),d=((o=s.modelProvider)==null?void 0:o.trim())??"",f=((c=s.modelApiBase)==null?void 0:c.trim())??"",h=d?xD(`CUSTOM_MODEL_${u}_PROVIDER`,i):void 0;h&&i.add(h);const p=f?xD(`CUSTOM_MODEL_${u}_API_BASE`,i):void 0;p&&i.add(p);const b=xD(`CUSTOM_MODEL_${u}_API_KEY`,i);i.add(b),n.push({providerKey:h,apiBaseKey:p,apiKeyKey:b,provider:d,apiBase:f,label:`${s.name.trim()||"自定义模型"} 模型 API Key`})}s.subAgents.forEach(r)};return r(e),n}function Ige(e,t){return Dge(e,t).map(({apiKeyKey:n,label:i})=>({key:n,label:i}))}const Pge="MODEL_AGENT_API_KEY_ID",Mge="MODEL_AGENT_API_KEY_NAME";function qgt(e){return e==="MODEL_AGENT_API_KEY"||e===Pge||e===Mge}function bO(e,t){var i,r,s;if(e.modelSource==="ark"||e.modelSource==="custom")return e.modelSource;if((r=(i=e.deployment)==null?void 0:i.modelApiKeyId)!=null&&r.trim())return"ark";const n=(s=e.modelApiBase)==null?void 0:s.trim();return!n||Rge(n,hc(t))?"ark":"custom"}function Xgt(e,t){var h,p,b,g;const n=new Map(t.map(({key:O,value:y})=>[O,y.trim()])),i=((p=(h=e.deployment)==null?void 0:h.modelApiKeyId)==null?void 0:p.trim())??"",r=((g=(b=e.deployment)==null?void 0:b.modelApiKeyName)==null?void 0:g.trim())??"",s=n.get(Pge)??"",a=n.get(Mge)??"",o=i||s,c=i?r||(s===i?a:""):s?a:r||a,u=!!o&&e.modelSource!=="custom",d=O=>{var E,S;const y=O.cloudProvider??e.cloudProvider??"volcengine",v=((E=O.modelProvider)==null?void 0:E.trim())??"",x=Am(O.modelName),w=(S=O.modelApiBase)!=null&&S.trim()?bO(O,y):"custom";return{...O,modelName:x.modelName,modelProvider:x.modelProvider||v,modelSource:O.modelSource==="ark"||O.modelSource==="custom"?O.modelSource:O.agentType==="llm"?u?"ark":w:O.modelSource,subAgents:O.subAgents.map(d),...O.workflow?{workflow:{...O.workflow,nodes:O.workflow.nodes.map(k=>({...k,agent:d(k.agent)}))}}:{}}},f=d(e);return{...f,deployment:{...f.deployment??{feishuEnabled:!1},modelApiKeyId:o,modelApiKeyName:c}}}function Lge(e,t){const n=e.cloudProvider??t,i=bO(e,n);return{...e,cloudProvider:n,modelSource:i,modelProvider:i==="ark"?"":e.modelProvider,modelApiBase:i==="ark"?"":e.modelApiBase,subAgents:e.subAgents.map(r=>Lge(r,n))}}function aC(e,t){return t[e.key]??e.defaultValue??""}function $ge(e){const t=new Map,n={};for(const i of e){for(const r of i.env){const s=t.get(r.key);(!s||r.required&&!s.required)&&t.set(r.key,r)}i.enableFlag&&(t.set(i.enableFlag,{key:i.enableFlag,required:!0}),n[i.enableFlag]="true")}return{specs:[...t.values()],fixedValues:n}}function Hgt(e,t){return $ge([{env:e}]).specs.filter(i=>!i.hidden).map(i=>({...i,value:i.serverManaged?i.placeholder||"由服务端注入":aC(i,t)}))}function Qge(e,t){const n=new Map;for(const i of e){if(i.serverManaged)continue;const r=aC(i,t);r.trim()&&n.set(i.key,r)}return[...n].map(([i,r])=>({key:i,value:r}))}function Ygt(e,t){return Bge(e,t)[0]}function Bge(e,t){return e.filter(n=>n.required&&!n.serverManaged&&!aC(n,t).trim())}function Fge(e){return[...new Set((e.requiredBy??[]).map(t=>t.trim()).filter(Boolean))]}function pG(e){const t=Fge(e);return t.length?`优化项「${t.join("、")}」依赖此配置。`:void 0}function Ggt(e){const t=Fge(e);return t.length?`优化项「${t.join("、")}」依赖此配置,请填写 ${e.key}。`:`请填写 ${e.comment||e.key}(${e.key})。`}function qQ(e,t){if(e.format!=="json")return;const n=aC(e,t).trim();if(n)try{JSON.parse(n);return}catch{return"JSON 格式不正确"}}function Uge(e,t){for(const n of e){const i=qQ(n,t);if(i)return{spec:n,error:i}}}const Wgt=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let i=0;i<8;i++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function Zgt(e){let t=4294967295;for(let n=0;n>>8;return(t^4294967295)>>>0}function Tr(e,t){e.push(t&255,t>>>8&255)}function Ao(e,t){e.push(t&255,t>>>8&255,t>>>16&255,t>>>24&255)}const mG=2048,vD=20,gG=0;function Kgt(e){const t=new TextEncoder,n=[],i=[];let r=0;for(const p of e){const b=t.encode(p.path),g=t.encode(p.content),O=Zgt(g),y=g.length,v=[];Ao(v,67324752),Tr(v,vD),Tr(v,mG),Tr(v,gG),Tr(v,0),Tr(v,0),Ao(v,O),Ao(v,y),Ao(v,y),Tr(v,b.length),Tr(v,0);const x=Uint8Array.from(v);n.push(x,b,g),i.push({nameBytes:b,dataBytes:g,crc:O,size:y,offset:r}),r+=x.length+b.length+g.length}const s=r,a=[];let o=0;for(const p of i){const b=[];Ao(b,33639248),Tr(b,vD),Tr(b,vD),Tr(b,mG),Tr(b,gG),Tr(b,0),Tr(b,0),Ao(b,p.crc),Ao(b,p.size),Ao(b,p.size),Tr(b,p.nameBytes.length),Tr(b,0),Tr(b,0),Tr(b,0),Tr(b,0),Ao(b,0),Ao(b,p.offset);const g=Uint8Array.from(b);a.push(g,p.nameBytes),o+=g.length+p.nameBytes.length}const c=[];Ao(c,101010256),Tr(c,0),Tr(c,0),Tr(c,i.length),Tr(c,i.length),Ao(c,o),Ao(c,s),Tr(c,0);const u=[...n,...a,Uint8Array.from(c)],d=u.reduce((p,b)=>p+b.length,0),f=new Uint8Array(d);let h=0;for(const p of u)f.set(p,h),h+=p.length;return new Blob([f],{type:"application/zip"})}function $_({message:e,className:t="",onRetry:n,retryLabel:i="重试部署",defaultExpanded:r=!0}){const[s,a]=m.useState(r),[o,c]=m.useState(!1),[u,d]=m.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 l.jsxs("div",{className:`deploy-error-message${s?" is-expanded":""}${t?` ${t}`:""}`,role:"alert",children:[l.jsx("p",{className:"deploy-error-message-text",children:e}),l.jsxs("div",{className:"deploy-error-message-actions",children:[n&&l.jsxs("button",{type:"button",className:"deploy-error-retry",disabled:u,onClick:()=>void h(),children:[u?l.jsx(qn,{className:"spin"}):l.jsx(aTe,{}),u?"重试中…":i]}),l.jsx("button",{type:"button",title:s?"收起错误信息":"展开完整错误信息","aria-label":s?"收起错误信息":"展开完整错误信息",onClick:()=>a(p=>!p),children:s?l.jsx(Jke,{}):l.jsx(Fp,{})}),l.jsx("button",{type:"button",title:o?"已复制":"复制完整错误信息","aria-label":o?"已复制":"复制完整错误信息",onClick:()=>void f(),children:o?l.jsx(yu,{}):l.jsx(OA,{})})]})]})}function Jgt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m7 9.5 5 5 5-5"})})}function e0t(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 12.5 3.5 3.5 7.5-8"})})}function oC({ariaLabel:e,value:t,valueLabel:n,placeholder:i,options:r,disabled:s=!1,searchValue:a,searchPlaceholder:o="搜索资源名称",loading:c=!1,hasMore:u=!1,emptyMessage:d="暂无可用选项",onSearchChange:f,onLoadMore:h,onChange:p}){const b=m.useId(),g=m.useRef(null),O=m.useRef(null),y=m.useRef(null),v=m.useRef(null),x=m.useRef([]),[w,E]=m.useState(!1),[S,k]=m.useState(0),T=r.find($=>$.value===t),C=(T==null?void 0:T.label)??(t?n:void 0),A=a!==void 0&&!!f,R=()=>{E(!1),A&&a&&(f==null||f(""))};m.useEffect(()=>{if(!w)return;const $=j=>{j.target instanceof Node&&g.current&&!g.current.contains(j.target)&&R()};return window.addEventListener("pointerdown",$),()=>window.removeEventListener("pointerdown",$)},[w,f,a,A]),m.useEffect(()=>{var $,j;if(w){if(A){($=y.current)==null||$.focus();return}(j=x.current[S])==null||j.focus()}},[w,A]),m.useEffect(()=>{var $;!w||A&&document.activeElement===y.current||($=x.current[S])==null||$.focus()},[S,w,A]),m.useEffect(()=>{k($=>Math.min($,Math.max(0,r.length-1)))},[r.length]),m.useEffect(()=>{if(!w||!u||c||!h)return;const $=window.requestAnimationFrame(()=>{const j=v.current;j&&j.scrollHeight<=j.clientHeight+1&&h()});return()=>window.cancelAnimationFrame($)},[u,c,h,w,r.length]);const P=($=1)=>{const j=r.findIndex(F=>F.value===t),D=j>=0?j:$===1?0:Math.max(0,r.length-1);k(D),E(!0)},B=$=>{r.length!==0&&k(($+r.length)%r.length)},I=$=>{var j;p($.value),R(),(j=O.current)==null||j.focus()};return l.jsxs("div",{className:"pp-deployment-select",ref:g,onKeyDown:$=>{var D,F;const j=$.target===y.current;if($.key==="Escape"&&w){$.preventDefault(),R(),(D=O.current)==null||D.focus();return}if($.key==="Tab"){R();return}if(j){$.key==="ArrowDown"&&r.length>0&&($.preventDefault(),k(0),(F=x.current[0])==null||F.focus());return}$.key==="ArrowDown"?($.preventDefault(),w?B(S+1):P(1)):$.key==="ArrowUp"?($.preventDefault(),w?B(S-1):P(-1)):w&&$.key==="Home"?($.preventDefault(),k(0)):w&&$.key==="End"&&($.preventDefault(),k(Math.max(0,r.length-1)))},children:[l.jsxs("button",{ref:O,type:"button",className:"pp-deployment-select-trigger","aria-label":e,"aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?b:void 0,disabled:s,onClick:()=>{w?R():P()},children:[l.jsx("span",{className:C?void 0:"is-placeholder",children:C??i}),l.jsx(Jgt,{className:`pp-deployment-select-chevron${w?" is-open":""}`})]}),w&&l.jsxs("div",{className:"pp-deployment-select-menu",children:[A&&l.jsx("div",{className:"pp-deployment-select-search",children:l.jsx("input",{ref:y,type:"search",value:a,"aria-label":`搜索${e}`,placeholder:o,autoComplete:"off",onChange:$=>f==null?void 0:f($.currentTarget.value)})}),l.jsx("div",{id:b,ref:v,className:"pp-deployment-select-options",role:"listbox","aria-label":e,"aria-busy":c||void 0,onScroll:$=>{if(!u||c||!h)return;const j=$.currentTarget;j.scrollHeight-j.scrollTop-j.clientHeight<=24&&h()},children:r.map(($,j)=>{const D=$.value===t;return l.jsxs("button",{ref:F=>{x.current[j]=F},type:"button",role:"option","aria-selected":D,tabIndex:j===S?0:-1,className:`pp-deployment-select-option${D?" is-selected":""}`,title:$.description,onFocus:()=>k(j),onClick:()=>I($),children:[l.jsxs("span",{className:"pp-deployment-select-copy",children:[l.jsxs("span",{className:"pp-deployment-select-name",children:[$.label,$.badge&&l.jsx("span",{className:"pp-deployment-select-badge",children:$.badge})]}),$.description&&l.jsx("small",{children:$.description})]}),D&&l.jsx(e0t,{})]},$.value)})}),c&&l.jsx("div",{className:"pp-deployment-select-state","aria-live":"polite",children:"正在加载更多资源…"}),!c&&r.length===0&&l.jsx("div",{className:"pp-deployment-select-state",children:d})]})]})}const t0t=[{value:"auto",label:"自动创建",description:"部署时自动创建所需资源",badge:"推荐"},{value:"create",label:"指定名称",description:"使用指定名称创建或复用资源"},{value:"existing",label:"选择已有",description:"从当前账号的已有资源中选择"}],n0t={tos:{mode:"auto"},cr:{mode:"auto"},codePipeline:{mode:"auto"}};function hg(e){const[t,n]=m.useState([]),[i,r]=m.useState(""),[s,a]=m.useState(1),[o,c]=m.useState(0),[u,d]=m.useState(!1),[f,h]=m.useState(!1),[p,b]=m.useState(null),[g,O]=m.useState(""),[y,v]=m.useState(""),[x,w]=m.useState(""),[E,S]=m.useState(0),k=m.useRef(!1),T=m.useRef(null),C=e?JSON.stringify(e):"",A=e?JSON.stringify({...e,search:y}):"";m.useEffect(()=>{const $=window.setTimeout(()=>{v(g.trim())},250);return()=>window.clearTimeout($)},[g]),m.useEffect(()=>{O(""),v("")},[C]);const R=m.useCallback(($,j)=>{var Q;if(!A)return;(Q=T.current)==null||Q.abort();const D=new AbortController;T.current=D;const F=JSON.parse(A);j&&n([]),k.current=!0,h(!0),b(null),ine({...F,pageNumber:$,pageSize:100},D.signal).then(M=>{n(G=>{if(j)return M.items;const H=new Set(G.map(U=>`${U.id}\0${U.name}`));return[...G,...M.items.filter(U=>!H.has(`${U.id}\0${U.name}`))]}),r(M.serviceRegion),a(M.pageNumber),c(M.totalCount),d(M.hasMore),w(A)}).catch(M=>{M instanceof DOMException&&M.name==="AbortError"||(w(A),b(M instanceof Error?M.message:String(M)))}).finally(()=>{T.current===D&&(T.current=null,k.current=!1,h(!1))})},[A]);m.useEffect(()=>{var $;if(!A){($=T.current)==null||$.abort(),T.current=null,k.current=!1,n([]),r(""),a(1),c(0),d(!1),w(""),h(!1),b(null);return}return R(1,!0),()=>{var j;return(j=T.current)==null?void 0:j.abort()}},[R,A,E]);const P=!!A&&x===A&&g.trim()===y,B=m.useCallback(()=>{w(""),S($=>$+1)},[]),I=m.useCallback(()=>{!P||k.current||!u||R(s+1,!1)},[u,R,s,P]);return{items:t,serviceRegion:i,totalCount:o,hasMore:P?u:!1,loading:!!A&&(!P||f),error:p,search:g,setSearch:O,reload:B,loadMore:I}}function i0t(e,t){return e.map(n=>({value:n[t],label:n.name,description:[n.status,n.region,n.id].filter(Boolean).join(" · ")}))}function pg({ariaLabel:e,value:t,valueLabel:n,state:i,disabled:r,valueField:s="id",onChange:a}){const o=m.useMemo(()=>i0t(i.items,s),[i.items,s]);return l.jsxs("div",{className:"pp-resource-picker",children:[l.jsx(oC,{ariaLabel:e,value:t,valueLabel:n,placeholder:i.loading?"正在加载…":"请选择已有资源",options:o,disabled:r||!!i.error,searchValue:i.search,searchPlaceholder:"搜索资源名称",loading:i.loading,hasMore:i.hasMore,emptyMessage:i.search.trim()?"未找到匹配资源":"暂无可用资源",onSearchChange:i.setSearch,onLoadMore:i.loadMore,onChange:c=>{const u=i.items.find(d=>d[s]===c);u&&a(u)}}),i.error?l.jsxs("div",{className:"pp-resource-error",role:"alert",children:[l.jsx("span",{children:i.error}),l.jsx("button",{type:"button",onClick:i.reload,children:"重试"})]}):i.loading&&i.items.length===0?l.jsx("span",{className:"pp-resource-status","aria-live":"polite",children:i.search.trim()?"正在搜索云资源…":"正在加载云资源…"}):i.items.length===0?l.jsx("span",{className:"pp-resource-status",children:i.search.trim()?"未找到匹配资源。":"暂无可用资源。"}):i.serviceRegion?l.jsxs("span",{className:"pp-resource-status",children:["实际服务区域:",i.serviceRegion," · 已加载 ",i.items.length,i.totalCount>0?`/${i.totalCount}`:""]}):null]})}function wD({resource:e,value:t,disabled:n,onChange:i}){return l.jsxs("label",{className:"pp-resource-field pp-resource-mode",children:[l.jsx("span",{children:"配置方式"}),l.jsx(oC,{ariaLabel:`${e}配置方式`,value:t,placeholder:"请选择配置方式",options:t0t,disabled:n,onChange:r=>i(r)})]})}function mg({label:e,value:t,placeholder:n,disabled:i,onChange:r}){return l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:e}),l.jsx("input",{value:t,placeholder:n,disabled:i,autoComplete:"off",onChange:s=>r(s.currentTarget.value)})]})}function SD({items:e,note:t}){return l.jsxs("div",{className:"pp-resource-auto-names",children:[l.jsx("span",{children:"自动创建名称"}),l.jsx("dl",{children:e.map(n=>l.jsxs("div",{children:[l.jsx("dt",{children:n.label}),l.jsx("dd",{title:n.name,children:n.name})]},n.label))}),t&&l.jsx("small",{children:t})]})}function r0t(e){var t,n,i,r,s,a,o,c;return e.tos.mode!=="auto"&&!((t=e.tos.bucket)!=null&&t.trim())?"请填写或选择 TOS 存储桶。":e.cr.mode!=="auto"&&(!((n=e.cr.instance)!=null&&n.trim())||!((i=e.cr.namespace)!=null&&i.trim())||!((r=e.cr.repository)!=null&&r.trim()))?"请完整填写或选择 CR 实例、命名空间和镜像仓库。":e.codePipeline.mode!=="auto"&&(!((s=e.codePipeline.workspaceName)!=null&&s.trim())||!((a=e.codePipeline.pipelineName)!=null&&a.trim()))?"请完整填写或选择 CodePipeline Workspace 和 Pipeline。":e.codePipeline.mode==="existing"&&(!((o=e.codePipeline.workspaceId)!=null&&o.trim())||!((c=e.codePipeline.pipelineId)!=null&&c.trim()))?"请选择已有的 CodePipeline Workspace 和兼容 Pipeline。":null}function s0t({value:e,agentName:t,runtimeName:n,region:i,disabled:r,validationError:s,onChange:a}){const o=t.trim()||"agentkit-app",c=n.trim()||o,u=i&&i!=="cn-beijing"?`agentkit-platform-{账号 ID}-${i.startsWith("cn-")?i.slice(3):i}`:"agentkit-platform-{账号 ID}",d=hg(e.tos.mode==="existing"?{kind:"tos-bucket",region:i}:null),f=hg(e.cr.mode==="existing"?{kind:"cr-registry",region:i}:null),h=hg(e.cr.mode==="existing"&&e.cr.instance?{kind:"cr-namespace",region:i,registry:e.cr.instance}:null),p=hg(e.cr.mode==="existing"&&e.cr.instance&&e.cr.namespace?{kind:"cr-repository",region:i,registry:e.cr.instance,namespace:e.cr.namespace}:null),b=hg(e.codePipeline.mode==="existing"?{kind:"cp-workspace",region:i}:null),g=hg(e.codePipeline.mode==="existing"&&e.codePipeline.workspaceId?{kind:"cp-pipeline",region:i,workspaceId:e.codePipeline.workspaceId}:null),O=y=>a({...e,...y});return l.jsxs("div",{className:"pp-resource-list",children:[l.jsxs("div",{className:"pp-resource-item",children:[l.jsx("div",{className:"pp-resource-name",children:"TOS 存储桶"}),l.jsxs("div",{className:"pp-resource-grid",children:[l.jsx(wD,{resource:"TOS 存储桶",value:e.tos.mode,disabled:r,onChange:y=>O({tos:{mode:y}})}),e.tos.mode==="create"&&l.jsx(mg,{label:"存储桶名称",value:e.tos.bucket??"",placeholder:"输入存储桶名称",disabled:r,onChange:y=>O({tos:{...e.tos,bucket:y}})}),e.tos.mode==="existing"&&l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"已有存储桶"}),l.jsx(pg,{ariaLabel:"已有 TOS 存储桶",value:e.tos.bucket??"",valueLabel:e.tos.bucket,state:d,disabled:r,onChange:y=>O({tos:{...e.tos,bucket:y.name}})})]}),e.tos.mode==="auto"&&l.jsx(SD,{items:[{label:"存储桶",name:u}],note:"账号 ID 在部署时按当前云账号解析。"})]})]}),l.jsxs("div",{className:"pp-resource-item",children:[l.jsx("div",{className:"pp-resource-name",children:"容器镜像仓库(CR)"}),l.jsxs("div",{className:"pp-resource-grid",children:[l.jsx(wD,{resource:"CR",value:e.cr.mode,disabled:r,onChange:y=>O({cr:{mode:y}})}),e.cr.mode==="create"&&l.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[l.jsx(mg,{label:"实例名称",value:e.cr.instance??"",placeholder:"CR 实例",disabled:r,onChange:y=>O({cr:{...e.cr,instance:y}})}),l.jsx(mg,{label:"命名空间",value:e.cr.namespace??"",placeholder:"命名空间",disabled:r,onChange:y=>O({cr:{...e.cr,namespace:y}})}),l.jsx(mg,{label:"镜像仓库",value:e.cr.repository??"",placeholder:"镜像仓库",disabled:r,onChange:y=>O({cr:{...e.cr,repository:y}})})]}),e.cr.mode==="existing"&&l.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"CR 实例"}),l.jsx(pg,{ariaLabel:"已有 CR 实例",value:e.cr.instance??"",valueLabel:e.cr.instance,state:f,disabled:r,valueField:"name",onChange:y=>O({cr:{mode:"existing",instance:y.name}})})]}),l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"命名空间"}),l.jsx(pg,{ariaLabel:"已有 CR 命名空间",value:e.cr.namespace??"",valueLabel:e.cr.namespace,state:h,disabled:r||!e.cr.instance,valueField:"name",onChange:y=>O({cr:{...e.cr,namespace:y.name,repository:void 0}})})]}),l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"镜像仓库"}),l.jsx(pg,{ariaLabel:"已有 CR 镜像仓库",value:e.cr.repository??"",valueLabel:e.cr.repository,state:p,disabled:r||!e.cr.namespace,valueField:"name",onChange:y=>O({cr:{...e.cr,repository:y.name}})})]})]}),e.cr.mode==="auto"&&l.jsx(SD,{items:[{label:"CR 实例",name:"agentkit-platform-{账号 ID}"},{label:"命名空间",name:"agentkit"},{label:"镜像仓库",name:`${o}-{4 位随机字符}`}],note:"账号 ID 在部署时解析,镜像仓库的随机字符在部署时生成。"})]})]}),l.jsxs("div",{className:"pp-resource-item",children:[l.jsx("div",{className:"pp-resource-name",children:"CodePipeline"}),l.jsxs("div",{className:"pp-resource-grid",children:[l.jsx(wD,{resource:"CodePipeline",value:e.codePipeline.mode,disabled:r,onChange:y=>O({codePipeline:{mode:y}})}),e.codePipeline.mode==="create"&&l.jsxs("div",{className:"pp-resource-fields",children:[l.jsx(mg,{label:"Workspace 名称",value:e.codePipeline.workspaceName??"",placeholder:"Workspace 名称",disabled:r,onChange:y=>O({codePipeline:{...e.codePipeline,workspaceName:y}})}),l.jsx(mg,{label:"Pipeline 名称",value:e.codePipeline.pipelineName??"",placeholder:"Pipeline 名称",disabled:r,onChange:y=>O({codePipeline:{...e.codePipeline,pipelineName:y}})})]}),e.codePipeline.mode==="existing"&&l.jsxs("div",{className:"pp-resource-fields",children:[l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"Workspace"}),l.jsx(pg,{ariaLabel:"已有 CodePipeline Workspace",value:e.codePipeline.workspaceId??"",valueLabel:e.codePipeline.workspaceName,state:b,disabled:r,onChange:y=>O({codePipeline:{mode:"existing",workspaceId:y.id,workspaceName:y.name}})})]}),l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"兼容 Pipeline"}),l.jsx(pg,{ariaLabel:"已有 AgentKit CodePipeline",value:e.codePipeline.pipelineId??"",valueLabel:e.codePipeline.pipelineName,state:g,disabled:r||!e.codePipeline.workspaceId,onChange:y=>O({codePipeline:{...e.codePipeline,pipelineId:y.id,pipelineName:y.name}})})]})]}),e.codePipeline.mode==="auto"&&l.jsx(SD,{items:[{label:"Workspace",name:"agentkit-cli-workspace"},{label:"Pipeline",name:c}],note:"Pipeline 与 Runtime 名称一致。"})]})]}),s&&l.jsx("p",{className:"pp-resource-validation",role:"alert",children:s})]})}const a0t=5e4;function o0t(e,t){if(!e)return t;if(!t||e.endsWith(t))return e;if(t.startsWith(e))return t;const n=e.split(` +`}).map(([n,i])=>[n,i.split("__PROJECT_NAME__").join(e)]))}const Kpt={id:"template",kind:"github",category:"development",icon:"github",name:"模板项目导入",description:"在您的仓库中创建一个可持续交付到 AgentKit Runtime 的最简智能体",title:"模板项目导入",subtitle:"把可直接启动 Studio 的 basic Agent 和持续交付配置加入仓库",panel:"提交后将创建一个 PR,同时导入 basic 项目和 AgentKit Runtime 发布工作流。",submitLabel:"导入模板并提交 PR",fields:[GQ,YQ,{name:"projectPath",label:"Agent 项目目录",placeholder:"agentkit-basic-agent",help:"将在此目录新增 basic 项目;app.py 挂载完整 Studio App Server,并作为服务入口启动",required:!0},Ige,Dge],initialValues:WQ({projectPath:"agentkit-basic-agent"}),regionHelp:"必须与目标 Runtime 所在地域一致",secrets:["VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)","VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"],submit(e,t){const n=ZQ(e),i=Rge(n.repository),r=XQ(e.projectPath,"agentkit-basic-agent"),s=r==="."?i.split("/").slice(-1)[0]||"agentkit-basic-agent":r.split("/").slice(-1)[0]||"agentkit-basic-agent",a=Object.entries(Zpt(s)).map(([o,c])=>({path:Ypt(r,o),content:c,commitMessage:"feat: import AgentKit basic template",mustBeNew:!0}));return a.push({path:Wpt(r),content:$ge({baseBranch:n.baseBranch,projectPath:r,runtimeName:e.runtimeName.trim(),runtimeId:e.runtimeId.trim(),region:n.region}),commitMessage:"feat: add AgentKit Runtime delivery",mustBeNew:!0}),HQ({...n,repository:i,files:a,branchPrefix:"feat/agentkit-basic-template",title:"feat: 导入 AgentKit basic 模板",description:"导入带有 AgentKit Studio App Server 的 basic Agent 项目,并添加持续发布到 AgentKit Runtime 的工作流。合并前请配置 Volcengine Secrets。"},t)}},WG=[{id:"development",label:"研发"},{id:"channels",label:"消息渠道"}],Qge=[Npt,Kpt,Gpt,Upt,jpt],Jpt=new Map(Qge.map(e=>[e.id,e]));function Bge(e){const t=Jpt.get(e);if(!t)throw new Error(`Unknown automation: ${e}`);return t}function emt(e){const t=Bge(e);if(t.kind!=="github")throw new Error(`Automation is not backed by GitHub: ${e}`);return t}const uC="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cimage%20width='48'%20height='48'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAH7UlEQVRoBdVZWWwbVRQ9492Onc1xTfaWLukq9oSqLKnYBZRSNgn6AagsAgmJRfzxg4SEEDtiER8IBKKAChK0FS1tKYWW0lZQKKV0gxCVJm3ikDiO17EdzrUzSdw4jj1OpeQqNzO237vvnHfvu/e9GWVwcBBDYue1mrqE2kI1UqeSJAnmIHUzNUCNUmGiKtQy6oPUR6geqnw/FSVOUH9R36KupfaDHnBQn6MGqEnqVJcEAfZTBbNL4b+lZPI1VbwwnaSfYO8z8N+TVMd0Qj6EVdbs3eIBP29cVFkL00kk+wSEwHAamgh9bDAJSQWTITZFnF+85J1tBPyOUC9OqqnsVdTIRkVBi70Msy125uriHJ8XAXFRfzKBTQM+rO0/hc54cSQE8iyzAx/XLcEltjIU44uCQijOaHvPfxIv97TjWCzEcMo7+sZ4TGa+2V6KT2rPQ73ZptsPBZE30fVrymvxTvUCtDoqYC0ijhMk/3MkgDd62xFheOqVggjIIAbOVaujEh/ULsaNzioUsxhVAv/A34GD0YBubxZMQJupWpMNr58zHytcHth1ekICsDcRx4u+fxBK6vOCbgKyEIXEK975WOmaoZuErKv1QR8ORQd0eUE3Ac0TNSYrXvI24fZSLxwGfebiDKW3e08gln9J0oYvKoMNG6kmiRdmzMOtTi8sOsJJJfANA93oiseGbeZ7k1EHZAKCEcApu4wCxUsSz3rm4HQiim3B/wpOsBJA2yP/4cZIJYIBFcGwCjWeSKEwm4wosZtR7rKizGXJQJZRB1TuttftAprnAbOrM9rl9UHqwg+s1o+eOow/GNN5CaPOklSgdKq4us+Ji7pt6Dw1AF9vBOGImjJht5lRVWFDY7UL58/3wOt2YPEcN2xWVpPRe6EQC+y9rwINPNKsuRaYX5cXhIxGkks+Y7V+6vQRdLBi5yx1bGwicFebivj+ARgOhZGMJMFyQyWpoV2GRIa2ZXOX2bDyqnPxzEPNKC+1Zj957eDBTbz34PXAwvoMfBN+kGV8Bxf00VgQz/vaEB6nSCnRQVj2h2DZG4TyZwQWlSils3m8RDDEhk2uaqlHaYklVb3Ha42dh4B3eMzZ//eEmMc0kGL3cEU9WksqU4XvzAYKZ9n6fQCOz3thORCGkhgCf2bDMz4bjQpW39yE65Y1QO5FxiUgP+76E3hzI7D1VyBcwP5NTFcZzXjaPRMNZmvGPkfA23YMwLHRD0Mf3ZwTgaBIi8GgYMGsSjx2z3kEP9Jp5E5rOeoqQH75C3htPfDpD4CskXxFvHC5vQKPVjSwPqQfcKTAfxuA/Ws/lBAXwEhUTGjWSAL3r1qYykSju+UkIFbZDx09wPvb0iH1W9uEYw03MHAV3ltew1CqgDkyCNtWgt/cnwY/3GriG5n9hbMrccNljRmzLz0nJCCNJBsEwsCH24E3NgDr96brhfyWS2Sm3EYLVsOL0i0DsG8h+LDkqcLExHhfc9siVDDrjJ59sZJRyHKZFRKybiSkTtIjR08CrXwEdtGcXL2A4+192LOuDeatfqg6wMvsL5lbhWuWysIdO995E9BgSkh19THX7wQOtANXLgKWLQSaarUWI9dNP7bjo68OY9uef6GqhcW8ZkViX2a/nBWYQ4+RggmIBfFGnHgOcD0c7wD2HgOW0xuXk0xN5SDaOwL4cnsb1m05joPHejKK0hgEOb4Q8Muba3H1pXUwZZl96aqLgHSU2RCbEe6/9hzh875OYPdhYF5NDLt/Oohd+46gNxBjm2zzJhZyi/RyV5TggdsvRJnTOm5j3QQ0i9ra6OHj1u9+B/YdNcLXVQdDmYNPy9oZ971IcIPHjUHadVrHHFfZNphtTtx508W4eJEHsg7Gk6IJaIZlDEn3EdUEl7sBg4la2MtqkYgNIOz/F9FgF6IhX6p5mozcjgbGasw/xWCCs7IeN7U24b4VddwZj26jjTZynTQCmknxSBqIETanh7ceWEpmpIiokT7E6JFosBvxaD/iJCeNDQYzTFYnzHY3SsobmfM9eOyucjTO0KyOf510AqOHkl2kiMlSQoAlsPLAk4hHSCaIJMMqmUgfYBQeggxGK4xmOxprXHh8lYK51em+E/0/qwQyBh8iY+Q52pjlOZD8XFcFPHELcGlT3stlbBaymtOROTReBoZJ+0DjZ9pv4SFq9fL0YWqcjJl1+AwP8OSGS+amq6y4P/fyyWqvoC9lDAG7ainPEJcBs7xMBGOLbU6bGQTMJHAnDUlG2biPFZevEM4GCZl9sSsnPgG+bAHfa+l8vZJxpNSo+oPp/c4XP6bPBN0kog2qtdFz1WzIkfXmZuAKVm6JewlbvZKVgGZMilMPwW9ngdr5B3CEG7iEbCY5ffl6RgPtYDGdybS4ogW4YDbgLefTD5s2kv5rTgKaWdlKi1fau4BDJ3jM5I70NDd0J7grzfZEUMg5CM5Tmg4TiW3ZtVYxTKpcgM2iWS7+mhcBbRiZ/TBTd4jPjtSEVF3AxxdUPgkxTrUUMTcBykKUmLZwhQlYPhWBeCBV5DRjk3QtiEC2McUDsjPVCEhWEQ8Umk2y2c7nOyEwrV/ySdbdQo3nw3aKtRHM3wiBtVQu02knISJ+SQh8Q32TyqTJJ6xTXyQzyzb2LeoBWQOy5pjwcDf1YSqzNIooLex99kTCppsq4N+l+oUArylhoku9sb+O18VU8c5UEiZu7KGyrKKTmgr7/wGxhy03aZIycwAAAABJRU5ErkJggg=='%20/%3e%3c/svg%3e";function KQ(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91 .58 .11 .79-.25.79-.56v-2.02c-3.2.7-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.69-1.28-1.69-1.05-.72.08-.7.08-.7 1.16.08 1.77 1.19 1.77 1.19 1.03 1.77 2.71 1.26 3.37.96.1-.75.4-1.26.73-1.55-2.56-.29-5.25-1.28-5.25-5.7 0-1.26.45-2.29 1.19-3.1-.12-.29-.52-1.47.11-3.06 0 0 .97-.31 3.16 1.18A10.98 10.98 0 0 1 12 6.11c.98 0 1.96.13 2.87.39 2.19-1.49 3.16-1.18 3.16-1.18.63 1.59.23 2.77.11 3.06.74.81 1.19 1.84 1.19 3.1 0 4.43-2.7 5.4-5.27 5.69.42.36.78 1.06.78 2.14v3.04c0 .31.21.67.8.56A11.51 11.51 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function ZG(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),l.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function tmt(e){return l.jsxs("svg",{viewBox:"0 0 36 36",fill:"none","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",fill:"currentColor",opacity:"0.1"}),l.jsx("rect",{x:"3.5",y:"5",width:"18",height:"18",rx:"5",stroke:"currentColor",strokeWidth:"1.6"}),l.jsx("path",{d:"m9.2 11.2-2.8 2.7 2.8 2.7M12.1 17.4h4.3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),l.jsx("circle",{cx:"26.5",cy:"12",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),l.jsx("circle",{cx:"27",cy:"26.5",r:"3",fill:"hsl(var(--background))",stroke:"currentColor",strokeWidth:"1.6"}),l.jsx("path",{d:"M21.5 12h2M19.3 21l5.6 3.8M27 15v8.5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function nmt({onOpen:e}){var u;const[t,n]=m.useState("development"),[i,r]=m.useState(""),s=m.useDeferredValue(i),a=m.useMemo(()=>{const d=s.trim().toLocaleLowerCase();return Qge.filter(f=>f.category===t).filter(f=>!d||`${f.name} ${f.description}`.toLocaleLowerCase().includes(d))},[t,s]),o=(u=WG.find(d=>d.id===t))==null?void 0:u.label,c=Cpt(window.location.hostname);return l.jsxs("div",{className:"applications-page",children:[l.jsxs("header",{className:"applications-header",children:[l.jsxs("div",{children:[l.jsx("h1",{children:"自动化"}),l.jsx("p",{children:"连接研发工具,为智能体扩展自动化工作流"})]}),l.jsxs("label",{className:"applications-search",children:[l.jsx(ZG,{}),l.jsx("input",{type:"search","aria-label":"搜索自动化",value:i,onChange:d=>r(d.target.value),placeholder:"搜索自动化"})]})]}),l.jsx("nav",{className:"applications-categories","aria-label":"自动化分类",children:WG.map(d=>l.jsx("button",{type:"button",className:t===d.id?"is-active":"","aria-pressed":t===d.id,onClick:()=>n(d.id),children:d.label},d.id))}),l.jsx("section",{className:"applications-results","aria-label":`${o}自动化列表`,children:a.length?l.jsx("div",{className:"applications-grid",children:a.map(d=>{const f=d.id==="coding-agents"&&!c,h=f?"coding-agents-local-only-tooltip":void 0;return l.jsxs("div",{className:`application-card-wrap${f?" is-disabled":""}`,tabIndex:f?0:void 0,"aria-describedby":h,children:[l.jsxs("button",{type:"button",className:"application-card",onClick:()=>e(d.id),"aria-label":`打开${d.name}`,disabled:f,children:[d.icon==="feishu"?l.jsx("img",{className:"application-card-icon application-card-brand-icon",src:uC,alt:"","aria-hidden":"true"}):d.icon==="coding-agents"?l.jsx(tmt,{className:"application-card-icon"}):l.jsx(KQ,{className:"application-card-icon"}),l.jsxs("div",{className:"application-card-copy",children:[l.jsxs("div",{className:"application-card-title",children:[l.jsx("h2",{children:d.name}),d.badge?l.jsx("span",{className:`application-card-badge is-${d.badgeTone||"default"}`,children:d.badge}):null]}),l.jsx("p",{children:d.description})]})]}),f?l.jsx("span",{id:h,className:"application-card-tooltip",role:"tooltip",children:"仅本地部署可用"}):null]},d.id)})}):l.jsxs("div",{className:"applications-empty",role:"status",children:[l.jsx(ZG,{}),l.jsx("h2",{children:"没有匹配的自动化"}),l.jsx("p",{children:"请尝试搜索其他名称"})]})})]})}const imt={volcengine:"https://console.volcengine.com",byteplus:"https://console.byteplus.com"};function uv(e){return e.trim()}function JQ(e){return imt[e]}function rmt(e){const t=uv(e);if(!t)return null;let n=t;try{n=new URL(t.includes("://")?t:`https://${t}`).hostname}catch{return null}const i=n.match(/^(.+)\.tos-([a-z0-9-]+)\.(?:volces|bytepluses)\.com$/i);return i?{bucket:i[1],region:i[2]}:null}function smt(e,t){const n=rmt(t);if(!n)return null;const i=new URLSearchParams({id:n.bucket,region:n.region,type:"objects"});return`${JQ(e)}/tos/bucket/setting?${i.toString()}`}function amt(e,t,n){const i=uv(t),r=uv(n);return!i||!r?null:`${JQ(e)}/agentkit/region:agentkit+${encodeURIComponent(i)}/builtintools/${encodeURIComponent(r)}/detail`}function omt(e,t,n){const i=uv(t),r=uv(n);return!i||!r?null:`${JQ(e)}/identity/region:identity+${encodeURIComponent(i)}/user-pools/${encodeURIComponent(r)}/info`}function xI({href:e,label:t,children:n}){return e?l.jsxs("a",{className:"system-info-resource-link",href:e,target:"_blank",rel:"noreferrer","aria-label":t,title:t,children:[l.jsx("span",{children:n}),l.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("path",{d:"M7.75 5.25h-2.5a1.5 1.5 0 0 0-1.5 1.5v8a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5"}),l.jsx("path",{d:"M10.25 3.75h6v6M16 4 9 11"})]})]}):l.jsx("span",{children:n})}function lmt(e){return e instanceof Error&&e.message.includes("Volcengine credentials not found")}function KG(e){return e==="codex"||e==="codex_snapshot"}function JG(){return{busy:!1,error:"",message:""}}function cmt({version:e,localMode:t,role:n,provider:i,region:r,onBack:s}){const a=n==="admin",[o,c]=m.useState(""),[u,d]=m.useState([]),[f,h]=m.useState([]),[p,b]=m.useState(!0),[g,O]=m.useState(""),[y,v]=m.useState(!0),[x,w]=m.useState(""),[E,S]=m.useState(0),[k,T]=m.useState(0),C=m.useRef(!1),[A,N]=m.useState({});m.useEffect(()=>(C.current=!0,()=>{C.current=!1}),[]);function P(D,$){N(j=>({...j,[D]:{...JG(),...j[D],...$}}))}async function Q(D){if(!(!KG(D.kind)||!D.toolId||(A[D.kind]??JG()).busy)){P(D.kind,{busy:!0,error:"",message:""});try{const j=await bne(D.kind);if(!C.current)return;d(I=>I.map(F=>F.kind===D.kind?{...F,needsModelEnvUpdate:!1,canUpdateModelEnv:!1,modelEnvError:"",modelEnvErrorCode:""}:F)),P(D.kind,{busy:!1,error:"",message:j.updated?"已更新":"无需更新"})}catch(j){if(!C.current)return;P(D.kind,{busy:!1,error:j instanceof Error?j.message:String(j),message:""})}}}return m.useEffect(()=>{if(!a){c(""),d([]),b(!1),O("");return}const D=new AbortController;return b(!0),O(""),gne(D.signal).then($=>{c($.storage.tosAddress),d($.sandboxTools)}).catch($=>{($==null?void 0:$.name)!=="AbortError"&&O($ instanceof Error?$.message:String($))}).finally(()=>{D.signal.aborted||b(!1)}),()=>D.abort()},[a,E]),m.useEffect(()=>{if(!a){h([]),v(!1),w("");return}const D=new AbortController;return v(!0),w(""),k$(D.signal).then($=>{h($.filter(j=>j.isCurrent))}).catch($=>{if(($==null?void 0:$.name)!=="AbortError"){if(t&&lmt($)){h([]);return}w($ instanceof Error?$.message:String($))}}).finally(()=>{D.signal.aborted||v(!1)}),()=>D.abort()},[a,t,k]),l.jsxs("div",{className:"system-info-page",children:[l.jsxs("header",{className:"system-info-page-header",children:[l.jsx(VQ,{label:"返回上一页",onClick:s}),l.jsxs("div",{children:[l.jsx("h1",{children:"系统信息"}),l.jsx("p",{children:"查看当前 Studio 版本及关联的基础资源"})]})]}),l.jsxs("div",{className:"system-info-scroll",children:[l.jsxs("section",{className:"system-info-section","aria-labelledby":"studio-info-title",children:[l.jsx("h2",{id:"studio-info-title",children:"通用"}),l.jsx("dl",{className:"system-info-summary",children:l.jsxs("div",{children:[l.jsx("dt",{children:"当前版本"}),l.jsx("dd",{children:e||"—"})]})})]}),a?l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:"system-info-section","aria-labelledby":"storage-info-title",children:[l.jsx("h2",{id:"storage-info-title",children:"存储"}),p?l.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:l.jsx(Fn,{as:"span",children:"正在加载存储信息"})}):g?l.jsxs("div",{className:"system-info-error",role:"alert",children:[l.jsx("p",{children:g}),l.jsx("button",{type:"button",onClick:()=>S(D=>D+1),children:"重新加载"})]}):l.jsx("dl",{className:"system-info-summary",children:l.jsxs("div",{className:"system-info-resource-row",children:[l.jsx("dt",{children:"TOS 地址"}),l.jsx("dd",{className:`system-info-resource-value${o?"":" is-empty"}`,children:l.jsx(xI,{href:smt(i,o),label:"在云控制台中打开 TOS 存储桶",children:o||"未配置"})})]})})]}),l.jsxs("section",{className:"system-info-section","aria-labelledby":"sandbox-tool-title",children:[l.jsx("h2",{id:"sandbox-tool-title",children:"沙箱信息"}),p?l.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:l.jsx(Fn,{as:"span",children:"正在加载沙箱信息"})}):g?l.jsxs("div",{className:"system-info-error",role:"alert",children:[l.jsx("p",{children:g}),l.jsx("button",{type:"button",onClick:()=>S(D=>D+1),children:"重新加载"})]}):l.jsx("div",{className:"system-info-tool-list",children:u.map(D=>{const $=KG(D.kind)?D.kind:null,j=$?A[$]:void 0,I=$!==null&&!!D.toolId&&D.needsModelEnvUpdate&&D.canUpdateModelEnv,F=$?(j==null?void 0:j.error)||D.modelEnvError:"";return l.jsx("dl",{className:"system-info-tool",children:l.jsxs("div",{className:"system-info-resource-row",children:[l.jsxs("dt",{className:"system-info-tool-label",children:[l.jsx("span",{children:D.label}),D.snapshot?l.jsx("span",{className:"system-info-tool-badge",children:"快照版"}):null]}),l.jsxs("dd",{className:`system-info-resource-value${D.toolId?"":" is-empty"}`,children:[l.jsx(xI,{href:amt(i,r,D.toolId),label:`在云控制台中打开${D.label}`,children:D.toolId||"未配置"}),I?l.jsx("button",{type:"button",className:"system-info-resource-update",disabled:j==null?void 0:j.busy,"aria-busy":(j==null?void 0:j.busy)||void 0,"aria-label":`更新${D.snapshot?"快照版 ":""}${D.label}模型环境变量`,title:`更新${D.snapshot?"快照版 ":""}${D.label}模型环境变量`,onClick:()=>void Q(D),children:l.jsx(Rte,{"aria-hidden":"true",className:j!=null&&j.busy?"is-spinning":""})}):null,$&&(j!=null&&j.message)?l.jsx("span",{className:"system-info-inline-status",role:"status",children:j.message}):null,F?l.jsx("span",{className:"system-info-inline-error",role:"alert",children:F}):null]})]})},D.kind)})})]}),l.jsxs("section",{className:"system-info-section","aria-labelledby":"user-pool-title",children:[l.jsx("h2",{id:"user-pool-title",children:"用户池"}),y?l.jsx("div",{className:"system-info-loading",role:"status","aria-live":"polite",children:l.jsx(Fn,{as:"span",children:"正在加载用户池"})}):x?l.jsxs("div",{className:"system-info-error",role:"alert",children:[l.jsx("p",{children:x}),l.jsx("button",{type:"button",onClick:()=>T(D=>D+1),children:"重新加载"})]}):f.length>0?l.jsx("div",{className:"system-info-pool-list",children:f.map(D=>l.jsxs("dl",{className:"system-info-pool",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"名称"}),l.jsx("dd",{className:"system-info-resource-value",children:l.jsx(xI,{href:omt(i,D.region||r,D.uid),label:`在云控制台中打开用户池${D.name?`“${D.name}”`:""}`,children:D.name||"未命名用户池"})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"ID"}),l.jsx("dd",{children:D.uid||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"域名"}),l.jsx("dd",{children:D.domain||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"区域"}),l.jsx("dd",{children:D.region||"—"})]})]},D.uid))}):l.jsx("p",{className:"system-info-empty",children:t?"本地模式未配置用户池":"当前 Studio 未配置用户池"})]})]}):null]})]})}function umt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 dmt({hidden:e,...t}){return l.jsxs("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[l.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"}),l.jsx("circle",{cx:"10",cy:"10",r:"1.8"}),e?l.jsx("path",{d:"m4 4 12 12"}):null]})}function eY(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 fmt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m4 6 4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function hmt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 vI(e,t,n){const i=t.trim();if(!i)return n?"此项不能为空":"";if(e==="repository"&&!/^(?:https:\/\/github\.com\/)?[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/.test(i))return"请输入 owner/repository 或完整 GitHub Repo URL";if(e==="baseBranch"&&(!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(i)||i.includes("..")))return"目标分支格式不正确";if(e==="projectPath"&&(i.startsWith("/")||i.split("/").includes("..")))return"请输入仓库内的相对目录";if(e==="runtimeName")return cC(i)??"";if(e==="runtimeId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Runtime ID 格式不正确";if(e==="sandboxToolId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(i))return"Sandbox Tool ID 格式不正确";if(e==="modelName"&&!/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(i))return"模型名称格式不正确";if(e==="modelBaseUrl")try{const r=new URL(i);if(r.protocol!=="https:"||r.username||r.password||r.search||r.hash)return"请输入不含凭据、查询参数或锚点的 HTTPS 地址"}catch{return"请输入有效的 HTTPS 地址"}return""}function pmt({automation:e,onBack:t}){const n=emt(e),[i,r]=m.useState(()=>({...n.initialValues})),[s,a]=m.useState({}),[o,c]=m.useState(""),[u,d]=m.useState(!1),[f,h]=m.useState(!1),[p,b]=m.useState(!1),[g,O]=m.useState(null),y=m.useRef(null);m.useEffect(()=>()=>{var k;return(k=y.current)==null?void 0:k.abort()},[]);const v=(k,T)=>{r(C=>({...C,[k]:T})),s[k]&&a(C=>({...C,[k]:""}))},x=k=>{var A;const T=k==="token"||((A=n.fields.find(N=>N.name===k))==null?void 0:A.required)===!0,C=vI(k,i[k],T);a(N=>({...N,[k]:C}))},w=async k=>{var N;k.preventDefault();const T={};for(const P of n.fields){const Q=vI(P.name,i[P.name],P.required);Q&&(T[P.name]=Q)}const C=vI("token",i.token,!0);if(C&&(T.token=C),a(T),Object.keys(T).length)return;(N=y.current)==null||N.abort();const A=new AbortController;y.current=A,d(!0),c(""),O(null);try{const P=await n.submit(i,A.signal);if(y.current!==A)return;O(P),r(Q=>({...Q,token:""}))}catch(P){if(A.signal.aborted||y.current!==A)return;c(P instanceof Error?P.message:String(P))}finally{y.current===A&&(y.current=null,d(!1))}},E=k=>{k.key==="Enter"&&(k.nativeEvent.isComposing||k.nativeEvent.keyCode===229)&&k.preventDefault()},S=k=>{const{name:T,label:C,placeholder:A,help:N,required:P}=k;return l.jsxs("div",{className:"github-field",children:[l.jsxs("label",{htmlFor:`github-${T}`,children:[l.jsx("span",{children:C}),l.jsx("span",{className:`github-field-requirement${P?" is-required":""}`,children:P?"必填":"可选"})]}),l.jsx("input",{id:`github-${T}`,value:i[T],onChange:Q=>v(T,Q.target.value),onBlur:()=>x(T),placeholder:A,required:P,"aria-invalid":!!s[T],"aria-describedby":`github-${T}-help${s[T]?` github-${T}-error`:""}`}),l.jsx("span",{id:`github-${T}-help`,className:"github-field-help",children:N}),s[T]?l.jsx("span",{id:`github-${T}-error`,className:"github-field-error",role:"alert",children:s[T]}):null]},T)};return l.jsxs("div",{className:"github-integration-page",children:[l.jsxs("header",{className:"github-integration-header",children:[l.jsx("button",{type:"button",className:"github-back",onClick:t,"aria-label":"返回自动化列表",children:l.jsx(umt,{})}),l.jsx(KQ,{className:"github-integration-logo"}),l.jsxs("div",{children:[l.jsx("h1",{children:n.title}),l.jsx("p",{children:n.subtitle})]})]}),l.jsx("div",{className:"github-integration-layout",children:l.jsxs("section",{id:`github-panel-${e}`,className:"github-section-panel",children:[l.jsx("div",{className:"github-panel-heading",children:l.jsx("p",{children:n.panel})}),l.jsxs("form",{className:"github-release-form",onSubmit:w,onKeyDown:E,noValidate:!0,children:[l.jsxs("div",{className:"github-field-grid",children:[n.fields.map(S),l.jsxs("div",{className:"github-field",children:[l.jsxs("label",{id:"github-region-label",children:[l.jsx("span",{children:"地域"}),l.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),l.jsxs("div",{className:"pp-network-region github-region-picker",onKeyDown:k=>{k.key==="Escape"&&b(!1)},children:[l.jsxs("button",{type:"button",className:"pp-region-trigger","aria-labelledby":"github-region-label","aria-haspopup":"listbox","aria-expanded":p,onClick:()=>b(k=>!k),children:[l.jsx("span",{children:i.region==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),l.jsx(fmt,{className:`pp-region-chevron${p?" is-open":""}`})]}),p?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>b(!1)}),l.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"地域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(k=>{const T=k.value===i.region;return l.jsxs("button",{type:"button",role:"option","aria-selected":T,className:`pp-region-option${T?" is-selected":""}`,onClick:()=>{v("region",k.value),b(!1)},children:[l.jsx("span",{children:k.label}),T?l.jsx(hmt,{}):null]},k.value)})})]}):null]}),l.jsx("span",{className:"github-field-help",children:n.regionHelp})]})]}),l.jsxs("div",{className:"github-field github-token-field",children:[l.jsxs("div",{className:"github-token-label-row",children:[l.jsxs("label",{htmlFor:"github-token",children:[l.jsx("span",{children:"GitHub Token"}),l.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),l.jsxs("a",{href:"https://github.com/settings/personal-access-tokens/new?name=VeADK%20Studio&description=Create%20a%20GitHub%20automation%20pull%20request&contents=write&pull_requests=write",target:"_blank",rel:"noreferrer",children:["获取 Token",l.jsx(eY,{})]})]}),l.jsxs("div",{className:"github-token-input",children:[l.jsx("input",{id:"github-token",type:f?"text":"password",value:i.token,onChange:k=>v("token",k.target.value),onBlur:()=>x("token"),autoComplete:"off",required:!0,placeholder:"需要仓库 Contents 与 Pull requests 写权限","aria-invalid":!!s.token,"aria-describedby":`github-token-help${s.token?" github-token-error":""}`}),l.jsx("button",{type:"button",onClick:()=>h(k=>!k),"aria-label":f?"隐藏 Token":"显示 Token",title:f?"隐藏 Token":"显示 Token",children:l.jsx(dmt,{hidden:f})})]}),l.jsx("span",{id:"github-token-help",className:"github-field-help",children:"Token 仅用于本次提交,不会保存在浏览器或写入 PR"}),s.token?l.jsx("span",{id:"github-token-error",className:"github-field-error",role:"alert",children:s.token}):null]}),o?l.jsx("div",{className:"github-submit-message is-error",role:"alert",children:o}):null,g?l.jsxs("div",{className:"github-submit-message is-success",role:"status",children:[l.jsxs("span",{children:["PR #",g.number," 已创建"]}),l.jsxs("a",{href:g.url,target:"_blank",rel:"noreferrer",children:["在 GitHub 查看",l.jsx(eY,{})]})]}):null,l.jsxs("div",{className:"github-form-actions",children:[l.jsxs("div",{className:"github-secrets-note",children:[l.jsx("strong",{children:"合并 PR 前,请在仓库的 GitHub Actions Secrets 中配置:"}),n.secrets.map(k=>l.jsx("span",{children:k},k))]}),l.jsx("button",{type:"submit",disabled:u,children:u?"提交 PR 中…":n.submitLabel})]})]})]})})]})}const mmt=1050062,tY="1.0",gmt="https://lf-static.applogcdn.com/obj/applog-sdk-static/log-sdk/collect/5/collect.js";class bmt{constructor(){Lr(this,"enabled",!1);Lr(this,"initialized",!1);Lr(this,"pending",[]);Lr(this,"userUniqueId","");Lr(this,"initPromise")}init(t){return this.enabled=t.enabled,this.enabled?this.initPromise?this.initPromise:(this.initPromise=Promise.resolve().then(()=>{const n=this.bootstrapCollector();n("init",{app_id:mmt,channel:"cn",disable_auto_pv:1}),this.userUniqueId&&n("config",{user_unique_id:this.userUniqueId}),n("config",{_staging_flag:t.environment==="prod"?0:1}),n("start"),this.initialized=!0;const i=this.pending;this.pending=[];for(const[r,s]of i)this.collect(r,s)}),this.initPromise):(this.pending=[],Promise.resolve())}identify(t){this.userUniqueId=t,this.initialized&&this.collect("config",{user_unique_id:t})}emit(t,n){if(this.enabled){if(this.initialized){this.collect(t,n);return}this.pending=[...this.pending.slice(-49),[t,n]]}}bootstrapCollector(){if(window.collectEvent)return window.collectEvent;window.LogAnalyticsObject="collectEvent";const t=function(){var r;(r=t.q)==null||r.push(arguments)};t.q=[],t.l=Date.now(),window.collectEvent=t;const n=document.createElement("script");return n.async=!0,n.src=gmt,n.onerror=()=>{this.enabled=!1,t.q=[],console.warn("[telemetry] TEA SDK script failed to load")},document.head.appendChild(n),t}collect(t,n){var i;(i=window.collectEvent)==null||i.call(window,t,n)}}function Omt(e){if(typeof e!="string"&&typeof e!="number")return;const t=String(e).trim();return/^[A-Za-z0-9_.:-]{1,64}$/.test(t)?t:void 0}function Yu(e,t){return t===void 0?{errorKind:e}:{errorKind:e,errorCode:t}}function Ia(e,t={}){const n=e!==null&&typeof e=="object"?e:{},i=Omt(n.code),r=typeof n.name=="string"?n.name:"";if(r==="RuntimeProbeError")return Yu("runtime_probe_error",i);if(r==="AbortError")return Yu("abort",i);if(r==="RuntimeAccessDeniedError"||r==="AuthError")return Yu("auth",i);if(t.phase==="build")return Yu("build_failed",i);if(r==="TimeoutError")return Yu("timeout",i);if(r==="NetworkError"||r==="TypeError")return Yu("network",i);if(r==="ValidationError")return Yu("validation",i);if(r==="ServerError")return Yu("server",i);const s=typeof n.status=="number"&&Number.isInteger(n.status)?n.status:void 0;if(s===void 0||s<400||s>599)return Yu("unknown",i);const a=String(s);return s===401||s===403?{errorKind:"auth",errorCode:a}:s===400||s===409||s===422?{errorKind:"validation",errorCode:a}:s>=500?{errorKind:"server",errorCode:a}:{errorKind:"unknown",errorCode:a}}const ymt=["schema_version","event_id","operation_id","user_pool_id","studio_deploy_id","vefaas_application_id","vefaas_function_id","studio_region","studio_project","studio_version","environment","cloud_provider","account_id","user_role","user_source","page_instance_id"],xmt={studio_entry_viewed:["auth_state"],studio_session_started:["agents_source"],studio_agent_deploy:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","deploy_region","runtime_network_type","feishu_enabled","runtime_id","duration_ms","failed_phase","error_kind","error_code"],studio_sandbox_create:["status","sandbox_kind","sandbox_source","sandbox_id","duration_ms","error_kind","error_code"],studio_agent_debug:["status","agent_id","variant_type","debug_run_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_connect:["status","target_id","agent_kind","connect_source","runtime_region","runtime_is_mine","sandbox_status","duration_ms","error_kind","error_code"],studio_agent_message:["status","agent_id","agent_kind","message_source","session_state","session_id","duration_ms","failed_phase","error_kind","error_code"],studio_agent_source_download:["status","agent_id","deploy_action","deploy_source","create_mode","ai_assisted","duration_ms","file_count","zip_size_bytes","error_kind","error_code"]};function vmt(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)}function nY(e,t){const n=new Set([...ymt,...xmt[e]]),i={};for(const[r,s]of Object.entries(t))!n.has(r)||!vmt(s)||(i[r]=typeof s=="string"?s.slice(0,256):s);return i}function wmt(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function Smt(){return typeof performance<"u"?performance.now():Date.now()}function Og(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}class Emt{constructor(t){Lr(this,"sink");Lr(this,"createId");Lr(this,"now");Lr(this,"pageInstanceId");Lr(this,"context");Lr(this,"identity");Lr(this,"entryViewed",!1);Lr(this,"sessionStarted",!1);this.sink=t.sink,this.createId=t.createId??wmt,this.now=t.now??Smt,this.pageInstanceId=this.createId()}setContext(t){var n;this.context={...t,accountId:((n=t.accountId)==null?void 0:n.trim())??""}}identify(t){var i,r,s;const n=t.userUniqueId.trim();n&&(this.identity&&this.identity.userUniqueId!==n&&(this.pageInstanceId=this.createId(),this.sessionStarted=!1),this.identity={...t,userUniqueId:n,accountId:((i=t.accountId)==null?void 0:i.trim())??""},(s=(r=this.sink).identify)==null||s.call(r,n))}trackStudioSessionStarted(t){this.sessionStarted||!this.context||!this.identity||(this.sessionStarted=!0,this.emit("studio_session_started",{agents_source:t.agentsSource}))}trackStudioEntryViewed(t){if(this.entryViewed||!this.context)return;this.entryViewed=!0;const n=nY("studio_entry_viewed",Og({schema_version:tY,event_id:this.createId(),user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,account_id:this.context.accountId,page_instance_id:this.pageInstanceId,auth_state:t.authState}));this.sink.emit("studio_entry_viewed",n)}beginAgentDeploy(t){return this.beginOperation("studio_agent_deploy",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted,deploy_region:t.deployRegion,runtime_network_type:t.runtimeNetworkType,feishu_enabled:t.feishuEnabled},n=>({runtime_id:n.runtimeId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginSandboxCreate(t){return this.beginOperation("studio_sandbox_create",{sandbox_kind:t.sandboxKind,sandbox_source:t.sandboxSource},n=>({sandbox_id:n.sandboxId}),n=>({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentDebug(t){return this.beginOperation("studio_agent_debug",{agent_id:t.agentId,variant_type:t.variantType},n=>({debug_run_id:n.debugRunId}),n=>({failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentConnect(t){return this.beginOperation("studio_agent_connect",{target_id:t.targetId,agent_kind:t.agentKind,connect_source:t.connectSource},n=>Og({runtime_region:n.runtimeRegion,runtime_is_mine:n.runtimeIsMine,sandbox_status:n.sandboxStatus}),n=>Og({error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentMessage(t){return this.beginOperation("studio_agent_message",Og({agent_id:t.agentId,agent_kind:t.agentKind,message_source:t.messageSource,session_state:t.sessionState,session_id:t.sessionId}),n=>({session_id:n.sessionId}),n=>Og({session_id:n.sessionId,failed_phase:n.failedPhase,error_kind:n.errorKind,error_code:n.errorCode}))}beginAgentSourceDownload(t){return this.beginOperation("studio_agent_source_download",{agent_id:t.agentId,deploy_action:t.deployAction,deploy_source:t.deploySource,create_mode:t.createMode,ai_assisted:t.aiAssisted},n=>({file_count:n.fileCount,zip_size_bytes:n.zipSizeBytes}),n=>({file_count:n.fileCount,error_kind:n.errorKind,error_code:n.errorCode}))}beginOperation(t,n,i,r){const s=this.createId(),a=this.now(),o=!!(this.context&&this.identity);let c=!1;o&&this.emit(t,{...n,status:"started"},s);const u=(d,f)=>{c||(c=!0,o&&this.emit(t,{...n,...f,status:d,duration_ms:Math.max(0,this.now()-a)},s))};return{operationId:s,succeed:d=>u("succeeded",i(d)),fail:d=>u("failed",r(d))}}emit(t,n,i){if(!this.context||!this.identity)return;const r=nY(t,Og({schema_version:tY,event_id:this.createId(),operation_id:i,user_pool_id:this.context.userPoolId,studio_deploy_id:this.context.studioDeployId,vefaas_application_id:this.context.applicationId,vefaas_function_id:this.context.functionId,studio_region:this.context.studioRegion,studio_project:this.context.studioProject,studio_version:this.context.studioVersion,environment:this.context.environment,cloud_provider:this.context.cloudProvider,account_id:this.identity.accountId,user_role:this.identity.userRole,user_source:this.identity.userSource,page_instance_id:this.pageInstanceId,...n}));this.sink.emit(t,r)}}const Fge=new bmt,Lu=new Emt({sink:Fge});function kmt(e){return Fge.init(e)}function Tmt(e){Lu.setContext(e)}function _mt(e){Lu.identify(e)}function Amt(e){Lu.trackStudioEntryViewed(e)}function Cmt(e){Lu.trackStudioSessionStarted(e)}function Uge(e){return Lu.beginAgentDeploy(e)}function Nmt(e){return Lu.beginSandboxCreate(e)}function jmt(e){return Lu.beginAgentDebug(e)}function wI(e){return Lu.beginAgentConnect(e)}function iY(e){return Lu.beginAgentMessage(e)}function zge(e){return Lu.beginAgentSourceDownload(e)}const Rmt=/^[A-Za-z_][A-Za-z0-9_]*$/;function dv(e){return e.trim().length===0?"名称为必填项":e==="user"?"user 是 Google ADK 保留名称,请使用其他名称":Rmt.test(e)?null:"名称须以英文字母或下划线开头,且只能包含英文字母、数字和下划线"}function Imt(e){const t=new Set,n=new Set,i=r=>{dv(r.name)===null&&(t.has(r.name)?n.add(r.name):t.add(r.name)),r.subAgents.forEach(i)};return i(e),n}function Dmt(e){return{...nl(),name:e,description:"一个通过飞书接收消息并提供帮助的智能助手。",instruction:"你是一个通过飞书为用户提供帮助的智能助手。准确理解用户问题,给出简洁、可靠的回答;信息不足时先提问澄清,不要臆造事实。",deployment:{feishuEnabled:!0}}}async function Pmt(e){const t=Dmt(e.agentName),n=await C$(t);return Zb(n.name,n.files,{region:e.region,projectName:"default"},{taskId:e.taskId,sessionStorage:"in-memory",minInstance:1,maxInstance:1,description:t.description,im:{feishu:{enabled:!0}},envs:[{key:"FEISHU_APP_ID",value:e.appId},{key:"FEISHU_APP_SECRET",value:e.appSecret}],onStage:e.onStage})}const rc=[{value:"cn-beijing",label:"北京"},{value:"cn-shanghai",label:"上海"}],Vge=[{phase:"prepare",label:"生成智能体"},{phase:"build",label:"构建镜像"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}];function Mmt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Lmt(e){return l.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 7 4 4 4-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function rY(e){return l.jsx("svg",{viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m4 9.2 3.1 3.1L14 5.8",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function $mt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Qmt(e){if(!e||e==="upload")return 0;const t=Vge.findIndex(n=>n.phase===e);return t<0?0:t}function SI(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}function Bmt({onBack:e}){var ce;const[t,n]=m.useState("feishu_assistant"),[i,r]=m.useState(""),[s,a]=m.useState(""),[o,c]=m.useState(!1),[u,d]=m.useState("cn-beijing"),[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState(""),[y,v]=m.useState(""),[x,w]=m.useState("idle"),[E,S]=m.useState(null),[k,T]=m.useState(""),[C,A]=m.useState(null),N=m.useRef(null),P=m.useRef(null),Q=m.useRef([]),D=m.useRef(0),$=m.useRef(null),j=m.useRef(null),I=m.useRef("prepare"),F=m.useRef(!1),B=m.useRef(!0),M=["preparing","running","cancelling"].includes(x);m.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]),m.useEffect(()=>{var me;if(!f)return;(me=Q.current[D.current])==null||me.focus();const K=ve=>{ve.target instanceof Node&&N.current&&!N.current.contains(ve.target)&&h(!1)},ee=ve=>{var Ne;ve.key==="Escape"&&(h(!1),(Ne=P.current)==null||Ne.focus())};return window.addEventListener("pointerdown",K),window.addEventListener("keydown",ee),()=>{window.removeEventListener("pointerdown",K),window.removeEventListener("keydown",ee)}},[f]);const Y=K=>{K.key==="Enter"&&(K.nativeEvent.isComposing||K.nativeEvent.keyCode===229)&&K.preventDefault()},q=()=>{const K=dv(t.trim())??"",ee=i.trim()?"":"请输入飞书 App ID",me=s.trim()?"":"请输入飞书 App Secret";return b(K),O(ee),v(me),!K&&!ee&&!me},U=async K=>{if(K.preventDefault(),!q()||M)return;const ee=crypto.randomUUID();$.current=ee,I.current="prepare",F.current=!1,w("preparing"),S(null),T(""),A(null);const me=Uge({agentId:String(t.trim()),deployAction:"create",deploySource:"feishu_automation",createMode:"feishu_template",aiAssisted:0,deployRegion:String(u),runtimeNetworkType:"public",feishuEnabled:1});j.current=me;try{const ve=await Pmt({agentName:t.trim(),appId:i.trim(),appSecret:s.trim(),region:u,taskId:ee,onStage:Ne=>{I.current=Ne.phase||"deploy",!(!B.current||F.current)&&(w("running"),S(Ne))}});if(F.current){me.fail({failedPhase:SI(I.current),errorKind:"abort"});return}if(me.succeed({runtimeId:String(ve.runtimeId||"")}),!B.current)return;A(ve),a(""),c(!1),w("succeeded")}catch(ve){if(me.fail({failedPhase:SI(I.current),...F.current?{errorKind:"abort"}:Ia(ve,{phase:I.current})}),!B.current||F.current)return;w("failed"),T(ve instanceof Error?ve.message:String(ve))}finally{$.current===ee&&($.current=null),j.current===me&&(j.current=null)}},V=async()=>{var ee;const K=$.current;if(!(!K||x!=="running")&&window.confirm("取消部署将停止任务并清理已创建的 Runtime,确定继续吗?")){F.current=!0,w("cancelling"),T("");try{await Ene(K),(ee=j.current)==null||ee.fail({failedPhase:SI(I.current),errorKind:"abort"}),B.current&&w("cancelled")}catch(me){if(F.current=!1,!B.current)return;w("failed"),T(me instanceof Error?me.message:String(me))}}},re=Qmt((E==null?void 0:E.phase)??null),de=!!(t.trim()&&i.trim()&&s.trim()&&!M),be=rc.find(K=>K.value===u);return l.jsxs("div",{className:"feishu-integration-page",children:[l.jsxs("header",{className:"feishu-integration-header",children:[l.jsx("button",{type:"button",className:"feishu-back",onClick:e,"aria-label":"返回自动化列表",disabled:M,children:l.jsx(Mmt,{})}),l.jsx("img",{className:"feishu-integration-logo",src:uC,alt:"","aria-hidden":"true"}),l.jsxs("div",{children:[l.jsx("h1",{children:"飞书机器人"}),l.jsx("p",{children:"创建一个由 AgentKit Runtime 驱动的飞书智能体"})]})]}),l.jsx("div",{className:"feishu-integration-layout",children:l.jsxs("section",{className:"feishu-section-panel",children:[l.jsx("p",{className:"feishu-panel-description",children:"填写已发布飞书应用的凭据,Studio 将生成 basic 智能体、创建独立 Runtime,并启用飞书消息长连接。"}),l.jsxs("form",{className:"feishu-form",onSubmit:U,onKeyDown:Y,noValidate:!0,children:[l.jsxs("div",{className:"feishu-field-grid",children:[l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{htmlFor:"feishu-agent-name",children:"智能体名称"}),l.jsx("input",{id:"feishu-agent-name",value:t,maxLength:64,disabled:M,onChange:K=>{n(K.target.value),p&&b("")},onBlur:()=>b(dv(t.trim())??""),"aria-invalid":!!p,"aria-describedby":`feishu-agent-name-help${p?" feishu-agent-name-error":""}`}),l.jsx("span",{id:"feishu-agent-name-help",className:"feishu-field-help",children:"将作为新 Runtime 中的根智能体名称"}),p?l.jsx("span",{id:"feishu-agent-name-error",className:"feishu-field-error",role:"alert",children:p}):null]}),l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{id:"feishu-region-label",children:"部署地域"}),l.jsxs("div",{className:"feishu-region-picker",ref:N,children:[l.jsxs("button",{ref:P,type:"button",className:"feishu-region-trigger",disabled:M,"aria-haspopup":"listbox","aria-expanded":f,"aria-labelledby":"feishu-region-label feishu-region-value",onClick:()=>{D.current=rc.findIndex(K=>K.value===u),h(K=>!K)},onKeyDown:K=>{K.key!=="ArrowDown"&&K.key!=="ArrowUp"||(K.preventDefault(),D.current=K.key==="ArrowUp"?rc.length-1:rc.findIndex(ee=>ee.value===u),h(!0))},children:[l.jsx("span",{id:"feishu-region-value",children:be.label}),l.jsx(Lmt,{})]}),f?l.jsx("div",{className:"feishu-region-menu",role:"listbox","aria-label":"部署地域",onKeyDown:K=>{var ve;const ee=Q.current.findIndex(Ne=>Ne===document.activeElement);let me=null;K.key==="ArrowDown"?me=(ee+1)%rc.length:K.key==="ArrowUp"?me=(ee-1+rc.length)%rc.length:K.key==="Home"?me=0:K.key==="End"?me=rc.length-1:K.key==="Tab"&&h(!1),me!==null&&(K.preventDefault(),(ve=Q.current[me])==null||ve.focus())},children:rc.map(K=>l.jsx("button",{ref:ee=>{const me=rc.findIndex(ve=>ve.value===K.value);Q.current[me]=ee},type:"button",role:"option","aria-selected":u===K.value,className:`feishu-region-option${u===K.value?" is-selected":""}`,onClick:()=>{var ee;d(K.value),h(!1),(ee=P.current)==null||ee.focus()},children:K.label},K.value))}):null]}),l.jsx("span",{className:"feishu-field-help",children:"Runtime 与构建产物将创建在该地域"})]}),l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{htmlFor:"feishu-app-id",children:"飞书 App ID"}),l.jsx("input",{id:"feishu-app-id",value:i,maxLength:128,autoComplete:"off",disabled:M,placeholder:"cli_xxxxxxxxxxxxxxxx",onChange:K=>{r(K.target.value),g&&O("")},onBlur:()=>O(i.trim()?"":"请输入飞书 App ID"),"aria-invalid":!!g,"aria-describedby":`feishu-app-id-help${g?" feishu-app-id-error":""}`}),l.jsx("span",{id:"feishu-app-id-help",className:"feishu-field-help",children:"来自飞书开放平台的应用凭证"}),g?l.jsx("span",{id:"feishu-app-id-error",className:"feishu-field-error",role:"alert",children:g}):null]}),l.jsxs("div",{className:"feishu-field",children:[l.jsx("label",{htmlFor:"feishu-app-secret",children:"飞书 App Secret"}),l.jsxs("div",{className:"feishu-secret-input",children:[l.jsx("input",{id:"feishu-app-secret",type:o?"text":"password",value:s,maxLength:256,autoComplete:"off",disabled:M,placeholder:"请输入 App Secret",onChange:K=>{a(K.target.value),y&&v("")},onBlur:()=>v(s.trim()?"":"请输入飞书 App Secret"),"aria-invalid":!!y,"aria-describedby":`feishu-app-secret-help${y?" feishu-app-secret-error":""}`}),l.jsx("button",{type:"button",disabled:M,onClick:()=>c(K=>!K),"aria-label":o?"隐藏 App Secret":"显示 App Secret",children:o?"隐藏":"显示"})]}),l.jsx("span",{id:"feishu-app-secret-help",className:"feishu-field-help",children:"仅写入新 Runtime 的环境变量"}),y?l.jsx("span",{id:"feishu-app-secret-error",className:"feishu-field-error",role:"alert",children:y}):null]})]}),x!=="idle"?l.jsxs("div",{className:`feishu-deployment-status is-${x}`,role:x==="failed"?"alert":"status",children:[l.jsxs("div",{className:"feishu-deployment-heading",children:[x==="preparing"?l.jsx(Fn,{as:"strong",children:"正在生成 basic 智能体"}):null,x==="running"?l.jsx(Fn,{as:"strong",children:(E==null?void 0:E.message)||"正在创建 Runtime"}):null,x==="cancelling"?l.jsx(Fn,{as:"strong",children:"正在取消部署"}):null,x==="succeeded"?l.jsxs("strong",{children:[l.jsx(rY,{}),"飞书机器人 Runtime 已创建"]}):null,x==="cancelled"?l.jsx("strong",{children:"部署已取消"}):null,x==="failed"?l.jsx("strong",{children:"创建失败"}):null]}),x==="preparing"||x==="running"||x==="cancelling"?l.jsx("ol",{className:"feishu-deployment-steps",children:Vge.map((K,ee)=>{const me=x==="running"&&eeK.value===(C.region||u)))==null?void 0:ce.label)||C.region}),C.consoleUrl?l.jsxs("a",{href:C.consoleUrl,target:"_blank",rel:"noreferrer",children:["打开 Runtime 控制台",l.jsx($mt,{})]}):null]}):null]}):null,l.jsxs("div",{className:"feishu-form-actions",children:[l.jsxs("div",{className:"feishu-secrets-note",children:[l.jsx("strong",{children:"凭据处理"}),l.jsx("span",{children:"App Secret 仅用于本次部署,不会写入生成源码或浏览器存储。"})]}),l.jsxs("div",{className:"feishu-action-buttons",children:[x==="running"?l.jsx("button",{type:"button",className:"feishu-cancel",onClick:()=>void V(),children:"取消部署"}):null,l.jsx("button",{type:"submit",className:"feishu-submit",disabled:!de,children:M?"正在创建…":"创建飞书机器人 Runtime"})]})]})]})]})})]})}async function eB(e,t,n,i=vo){var s;const r=await ri(e,{...t,headers:{accept:"application/json",...t.headers},signal:n},i);if(!r.ok){let a="";try{a=((s=(await r.json()).detail)==null?void 0:s.trim())||""}catch{}throw new Error(a||`请求失败 (${r.status})`)}return r.json()}function Fmt(e){return eB("/web/coding-agents/capabilities",{method:"GET"},e,o$)}function Umt(e,t){return eB(`/web/coding-agents/skills/${encodeURIComponent(e)}/preview`,{method:"GET"},t)}function zmt(e,t){return eB("/web/coding-agents/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)},t)}const Vmt="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='16'%20height='16'%20rx='3.692'%20fill='%231A1B1D'/%3e%3cpath%20d='M13.235%205.829V4.332H2.758v5.987h1.496v1.496h8.981V5.828Zm-1.497%204.49H4.254V5.83h7.484v4.49Z'%20fill='%2332F08C'/%3e%3cpath%20d='M6.937%206.993%205.88%208.051%206.937%209.11%207.995%208.05%206.937%206.993ZM9.931%206.992%208.873%208.05%209.931%209.11%2010.99%208.05%209.93%206.992Z'%20fill='%2332F08C'/%3e%3c/svg%3e";function qmt(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m4 4 8 8m0-8-8 8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function sY(){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[l.jsx("path",{d:"M4 1.8h5l3 3V14H4z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),l.jsx("path",{d:"M9 1.8V5h3M6 8h4M6 10.5h4",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function aY(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M1.8 4.5h4l1.2-1.3h2.2l1.2 1.3h3.8v8H1.8z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"})})}function Xmt(e){return e instanceof DOMException&&e.name==="AbortError"}function Hmt(e){return e instanceof Error&&e.message?e.message:"读取 Skill 文件失败"}function Gmt(e){return e<1024?`${e} B`:`${(e/1024).toFixed(e<10*1024?1:0)} KB`}function Ymt(e){const t=e.split("/");return t[t.length-1]??e}function Wmt(e){const t=new Map;for(const n of e){const i=n.path.split("/"),r=i.length>1?i.slice(0,-1).join("/"):"";t.set(r,[...t.get(r)??[],n])}return Array.from(t,([n,i])=>({directory:n,files:i})).sort((n,i)=>n.directory?i.directory?n.directory.localeCompare(i.directory):1:-1)}function Zmt({skill:e,onClose:t}){const n=m.useRef(null),i=m.useRef(null),r=m.useId(),s=m.useId(),[a,o]=m.useState(null),[c,u]=m.useState(""),[d,f]=m.useState(!0),[h,p]=m.useState(""),[b,g]=m.useState(0);m.useEffect(()=>{i.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const v=n.current;return v&&!v.open&&v.showModal(),()=>{var x;v!=null&&v.open&&v.close(),(x=i.current)==null||x.focus()}},[]),m.useEffect(()=>{const v=new AbortController;return f(!0),p(""),o(null),u(""),Umt(e.id,v.signal).then(x=>{if(v.signal.aborted)return;o(x);const w=x.files.find(E=>E.path==="SKILL.md")??x.files[0];u((w==null?void 0:w.path)??"")}).catch(x=>{!v.signal.aborted&&!Xmt(x)&&p(Hmt(x))}).finally(()=>{v.signal.aborted||f(!1)}),()=>v.abort()},[b,e.id]);const O=m.useMemo(()=>Wmt((a==null?void 0:a.files)??[]),[a]),y=(a==null?void 0:a.files.find(v=>v.path===c))??null;return l.jsxs("dialog",{ref:n,className:"coding-agents-preview-dialog","aria-labelledby":r,"aria-describedby":s,onCancel:v=>{v.preventDefault(),t()},onMouseDown:v=>{const x=v.currentTarget.getBoundingClientRect();(v.clientXx.right||v.clientYx.bottom)&&t()},children:[l.jsxs("header",{className:"coding-agents-preview-header",children:[l.jsx("span",{className:"coding-agents-preview-mark",children:l.jsx(aY,{})}),l.jsxs("div",{children:[l.jsx("h2",{id:r,children:e.name}),l.jsx("p",{id:s,children:"只读浏览随 Studio 提供的 Skill 文件"})]}),l.jsx("button",{type:"button",autoFocus:!0,"aria-label":"关闭文件预览",onClick:t,children:l.jsx(qmt,{})})]}),d?l.jsxs("div",{className:"coding-agents-preview-state",children:[l.jsx("i",{}),"正在读取文件…"]}):h?l.jsxs("div",{className:"coding-agents-preview-state is-error",role:"alert",children:[l.jsx("span",{children:h}),l.jsx("button",{type:"button",onClick:()=>g(v=>v+1),children:"重试"})]}):l.jsxs("div",{className:"coding-agents-preview-layout",children:[l.jsxs("nav",{className:"coding-agents-preview-tree","aria-label":`${e.name} 文件`,children:[l.jsxs("div",{className:"coding-agents-preview-tree-title",children:[l.jsx("span",{children:"文件"}),l.jsx("small",{children:(a==null?void 0:a.files.length)??0})]}),l.jsx("div",{className:"coding-agents-preview-tree-scroll",children:O.map(v=>v.directory?l.jsxs("details",{open:!0,children:[l.jsxs("summary",{children:[l.jsx(aY,{}),l.jsx("span",{children:v.directory})]}),l.jsx("div",{children:v.files.map(x=>l.jsxs("button",{type:"button",className:c===x.path?"is-selected":"","aria-current":c===x.path?"true":void 0,onClick:()=>u(x.path),children:[l.jsx(sY,{}),l.jsx("span",{children:Ymt(x.path)})]},x.path))})]},v.directory):v.files.map(x=>l.jsxs("button",{type:"button",className:c===x.path?"is-selected":"","aria-current":c===x.path?"true":void 0,onClick:()=>u(x.path),children:[l.jsx(sY,{}),l.jsx("span",{children:x.path})]},x.path)))})]}),l.jsx("section",{className:"coding-agents-preview-file","aria-label":"文件内容",children:y?l.jsxs(l.Fragment,{children:[l.jsxs("header",{children:[l.jsx("strong",{children:y.path}),l.jsx("span",{children:Gmt(y.size)})]}),y.previewable&&y.content!==null?l.jsx("pre",{tabIndex:0,children:l.jsx("code",{children:y.content})}):l.jsx("div",{className:"coding-agents-preview-unavailable",children:"此文件不是可预览的 UTF-8 文本。"})]}):l.jsx("div",{className:"coding-agents-preview-unavailable",children:"没有可预览的文件。"})})]})]})}function Kmt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Jmt(e){return l.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"5",width:"16",height:"16",rx:"4.5",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"m8.5 11-2.4 2.4 2.4 2.4M11 16.5h3.8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),l.jsx("circle",{cx:"24.5",cy:"10.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("circle",{cx:"24.5",cy:"24.5",r:"2.5",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M19.5 10.5H22M18.2 19l4.3 3.7M24.5 13v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function egt(e){return l.jsx("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:l.jsxs("g",{stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",children:[l.jsx("path",{d:"M16 4.5v7M16 20.5v7"}),l.jsx("path",{d:"m9.3 6.3 3.5 6.1M19.2 19.6l3.5 6.1"}),l.jsx("path",{d:"m5.9 11.1 6.2 3.5M19.9 17.4l6.2 3.5"}),l.jsx("path",{d:"M4.7 16h7M20.3 16h7"}),l.jsx("path",{d:"m5.9 20.9 6.2-3.5M19.9 14.6l6.2-3.5"}),l.jsx("path",{d:"m9.3 25.7 3.5-6.1M19.2 12.4l3.5-6.1"})]})})}function tgt(e){return l.jsxs("svg",{viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M15.8 4.2c2.4 0 4.5 1.2 5.7 3.1 2.2-.3 4.5.8 5.6 2.9 1.1 2 .8 4.4-.5 6.1 1.2 1.8 1.3 4.3.1 6.2-1.2 2-3.4 3-5.6 2.6-1.3 1.8-3.5 2.9-5.8 2.7-2.2-.2-4.1-1.5-5.1-3.4-2.2.1-4.4-1-5.4-3.1-1-2-.6-4.4.8-6.1-1.1-1.9-1.1-4.3.2-6.1 1.3-1.9 3.6-2.7 5.7-2.2 1.1-1.7 2.6-2.7 4.3-2.7Z",stroke:"currentColor",strokeWidth:"1.7",strokeLinejoin:"round"}),l.jsx("path",{d:"m10.7 12.2 3.1 3.8-3.1 3.8M17.1 20h4.3",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})}function oY(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m3.4 8.2 3 3L12.8 5",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function ngt(e){return l.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M2.8 6.3h14.4v8.3a1.6 1.6 0 0 1-1.6 1.6H4.4a1.6 1.6 0 0 1-1.6-1.6V6.3Z",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"}),l.jsx("path",{d:"M2.8 6.3V5.1a1.4 1.4 0 0 1 1.4-1.4h3.4l1.5 1.6h6.5a1.6 1.6 0 0 1 1.6 1.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})]})}function igt({agentId:e}){return e==="trae"?l.jsx("img",{src:Vmt,alt:"","aria-hidden":"true"}):e==="claude-code"?l.jsx(egt,{}):l.jsx(tgt,{})}function lY(e){return e instanceof DOMException&&e.name==="AbortError"}function cY(e,t){return e instanceof Error&&e.message?e.message:t}function rgt({onBack:e}){var A;const[t,n]=m.useState(null),[i,r]=m.useState(!0),[s,a]=m.useState(""),[o,c]=m.useState(0),[u,d]=m.useState(new Set),[f,h]=m.useState(new Set),[p,b]=m.useState(null),[g,O]=m.useState(!1),[y,v]=m.useState(null),x=m.useRef(null);m.useEffect(()=>{const N=new AbortController;return r(!0),a(""),Fmt(N.signal).then(P=>{if(N.signal.aborted)return;n(P);const Q=P.agents.filter(D=>D.available);d(D=>{const $=Q.filter(j=>D.has(j.id));return new Set(($.length?$:Q.slice(0,1)).map(j=>j.id))}),h(D=>{const $=P.skills.filter(j=>D.has(j.id));return new Set(($.length?$:P.skills).map(j=>j.id))})}).catch(P=>{!lY(P)&&!N.signal.aborted&&(n(null),a(cY(P,"检测本机客户端失败")))}).finally(()=>{N.signal.aborted||r(!1)}),()=>N.abort()},[o]),m.useEffect(()=>()=>{var N;return(N=x.current)==null?void 0:N.abort()},[]);const w=m.useMemo(()=>(t==null?void 0:t.agents.filter(N=>N.available&&u.has(N.id)))||[],[t,u]),E=m.useMemo(()=>(t==null?void 0:t.skills.filter(N=>f.has(N.id)))||[],[t,f]),S=!!(!g&&w.length&&E.length),k=(N,P)=>{!P||g||(v(null),d(Q=>{const D=new Set(Q);return D.has(N)?D.delete(N):D.add(N),D}))},T=N=>{g||(v(null),h(P=>{const Q=new Set(P);return Q.has(N)?Q.delete(N):Q.add(N),Q}))},C=async()=>{var P;if(!S)return;(P=x.current)==null||P.abort();const N=new AbortController;x.current=N,O(!0),v(null);try{const Q=await zmt({agents:w.map($=>$.id),skills:E.map($=>$.id)},N.signal);if(N.signal.aborted)return;const D=Q.installations;v({tone:"success",message:`已为 ${w.length} 个客户端配置 ${E.length} 个 Skill`,details:D.map($=>`${$.agentName} · ${$.skill} → ${$.displayPath}`)})}catch(Q){!lY(Q)&&!N.signal.aborted&&v({tone:"error",message:cY(Q,"配置失败,请检查用户目录权限后重试")})}finally{x.current===N&&(x.current=null),N.signal.aborted||O(!1)}};return l.jsxs("section",{className:"coding-agents-page",children:[l.jsxs("header",{className:"coding-agents-header",children:[l.jsx("button",{type:"button",className:"coding-agents-back",onClick:e,disabled:g,"aria-label":"返回自动化列表",children:l.jsx(Kmt,{})}),l.jsx(Jmt,{className:"coding-agents-logo"}),l.jsxs("div",{children:[l.jsx("h1",{children:"配置 Coding Agents"}),l.jsx("p",{children:"把随 Studio 提供的 AgentKit Skills 全局安装到本地编码客户端。"})]})]}),l.jsx("div",{className:"coding-agents-scroll",children:l.jsxs("div",{className:"coding-agents-content",children:[l.jsxs("section",{className:"coding-agents-section","aria-label":"选择 Coding Agent",children:[l.jsxs("div",{className:"coding-agents-section-heading",children:[l.jsxs("div",{children:[l.jsx("span",{children:"1"}),l.jsx("h2",{children:"本机客户端"})]}),l.jsx("button",{type:"button",onClick:()=>c(N=>N+1),disabled:i||g,children:"重新检测"})]}),i?l.jsxs("div",{className:"coding-agents-inline-state",children:[l.jsx("i",{}),"正在检测本机客户端…"]}):s?l.jsxs("div",{className:"coding-agents-error-row",role:"alert",children:[l.jsx("span",{children:s}),l.jsx("button",{type:"button",onClick:()=>c(N=>N+1),children:"重试"})]}):l.jsx("div",{className:"coding-agents-agent-grid",children:t==null?void 0:t.agents.map(N=>l.jsxs("button",{type:"button",className:`coding-agents-agent ${u.has(N.id)?"is-selected":""}`,"aria-pressed":u.has(N.id),disabled:!N.available||g,onClick:()=>k(N.id,N.available),title:N.available?N.name:N.reason,children:[l.jsx("span",{className:`coding-agents-agent-mark is-${N.id}`,children:l.jsx(igt,{agentId:N.id})}),l.jsxs("span",{className:"coding-agents-agent-copy",children:[l.jsx("strong",{children:N.name}),l.jsx("small",{children:N.available?N.version||"已检测到客户端":N.reason})]}),l.jsx("span",{className:`coding-agents-status ${N.available?"is-ready":""}`,children:N.available?"可用":"未检测到"}),l.jsx("span",{className:"coding-agents-check",children:l.jsx(oY,{})})]},N.id))})]}),l.jsxs("section",{className:"coding-agents-section","aria-label":"选择内置 Skill",children:[l.jsx("div",{className:"coding-agents-section-heading",children:l.jsxs("div",{children:[l.jsx("span",{children:"2"}),l.jsx("h2",{children:"内置 Skills"})]})}),l.jsx("div",{className:"coding-agents-skill-list",children:t==null?void 0:t.skills.map(N=>l.jsxs("div",{className:`coding-agents-skill ${f.has(N.id)?"is-selected":""}`,children:[l.jsxs("label",{children:[l.jsx("input",{type:"checkbox",checked:f.has(N.id),onChange:()=>T(N.id),disabled:g}),l.jsx("span",{className:"coding-agents-skill-check","aria-hidden":"true",children:l.jsx(oY,{})}),l.jsxs("span",{children:[l.jsx("strong",{children:N.name}),l.jsx("small",{children:N.description})]})]}),l.jsx("button",{type:"button",onClick:()=>b(N),children:"查看文件"})]},N.id))}),l.jsxs("div",{className:"coding-agents-global","aria-label":"全局安装目录",children:[l.jsxs("div",{className:"coding-agents-global-heading",children:[l.jsx(ngt,{}),l.jsxs("div",{children:[l.jsx("strong",{children:"全局安装"}),l.jsx("span",{children:"配置后可在本机其他项目中使用"})]})]}),w.length?l.jsx("dl",{children:w.map(N=>l.jsxs("div",{children:[l.jsx("dt",{children:N.name}),l.jsx("dd",{children:N.globalSkillsPath})]},N.id))}):l.jsx("p",{children:"选择客户端后显示对应安装目录。"})]})]}),y?l.jsxs("div",{className:`coding-agents-result is-${y.tone}`,role:y.tone==="error"?"alert":"status",children:[l.jsx("strong",{children:y.message}),(A=y.details)!=null&&A.length?l.jsx("ul",{children:y.details.map(N=>l.jsx("li",{children:N},N))}):null]}):null,l.jsxs("div",{className:"coding-agents-actions",children:[l.jsx("span",{children:w.length?`已选择 ${w.length} 个客户端、${E.length} 个 Skill`:"请先选择客户端"}),l.jsx("button",{type:"button",onClick:()=>void C(),disabled:!S,children:g?"正在配置…":"配置"})]})]})}),p?l.jsx(Zmt,{skill:p,onClose:()=>b(null)}):null]})}function uY(e){return e.replace(/\s+/g," ").trim()}function sgt(e,t){const n=uY(e)||"AgentKit Studio";if(t.kind==="home")return n;const i=uY(t.title);return i?t.kind==="conversation"?i:`${n} - ${i}`:n}const agt="/web/video",ogt=18e4;async function EO(e,t={},n=vo){return fetch(mo(`${agt}${e}`),{...t,headers:Bh(t.headers),signal:wo(t.signal,n)})}async function qge(e,t){const n=await e.text().catch(()=>"");let i="";try{const r=JSON.parse(n),s=r.detail??r.error;i=typeof s=="string"?s:""}catch{i=n.trim().slice(0,500)}return new Error(i||`${t}(HTTP ${e.status})`)}async function fw(e,t){if(!e.ok)throw await qge(e,t);const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const i=e.headers.get("content-type")||"Content-Type 缺失";throw new Error(`${t}:服务端返回非 JSON 响应(${i})`)}}async function lgt(e){return fw(await EO("/capabilities",{signal:e,headers:{Accept:"application/json"}}),"加载视频模型能力失败")}async function cgt(e,t,n){const i=new FormData;return i.set("file",e),i.set("role",t),fw(await EO("/assets",{method:"POST",body:i,signal:n},kr),`上传${e.name}失败`)}async function ugt(e,t){return fw(await EO("/prompts/enhance",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},ogt),"提示词优化失败")}async function dgt(e,t){return fw(await EO("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},kr),"创建视频生成任务失败")}async function fgt(e,t){return fw(await EO(`/tasks/${encodeURIComponent(e)}`,{signal:t,headers:{Accept:"application/json"}}),"查询视频生成任务失败")}async function hgt(e,t){const n=await EO(`/tasks/${encodeURIComponent(e)}/download`,{signal:t,headers:{Accept:"video/*"}},kr);if(!n.ok)throw await qge(n,"下载生成视频失败");return n.blob()}function pgt(e){return e.startsWith("/")?mo(e):e}function dC(e){return e.isComposing||e.keyCode===229}function mgt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function ggt(e){return l.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:l.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}const lc=[{value:"agent",label:"Agent",description:"与当前选择的 Agent 对话"},{value:"temporary",label:"内置智能体",description:"使用平台提供的智能体"}],dY=[{label:"Codex 智能体",kind:"codex",value:"temporary",description:"在沙箱中执行任务"},{label:"DeepSeek Harness",kind:"deepseek-harness",value:"deepseek-harness",description:"打开 DeepSeek Harness 工作区"}],bgt=[{label:"ArkClaw",kind:"openclaw"},{label:"Hermes 智能体",kind:"hermes"}];function fY({mode:e}){return e==="temporary"?l.jsxs("svg",{className:"new-chat-mode__temporary-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("path",{d:"m10 2.8 6.1 3.45v7.5L10 17.2l-6.1-3.45v-7.5L10 2.8Z"}),l.jsx("path",{d:"m3.9 6.25 6.1 3.5 6.1-3.5M10 9.75v7.45"})]}):l.jsx(vh,{className:"new-chat-mode__agent-icon"})}function Ogt(){return l.jsx("svg",{className:"new-chat-mode__nested-chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:l.jsx("path",{d:"m4.5 3 3 3-3 3"})})}function hY(e){const t=lc.findIndex(n=>n.value===e);return t>=0?t:lc.findIndex(n=>n.value==="temporary")}function ygt({value:e,onChange:t,disabled:n=!1,temporaryEnabled:i,deepseekHarnessEnabled:r}){const[s,a]=m.useState(!1),[o,c]=m.useState(!1),[u,d]=m.useState(()=>hY(e)),f=m.useRef(null),h=m.useRef(null),p=e==="agent"?lc[0]:lc[1],b=dY.find(k=>k.value===e),g=(b==null?void 0:b.label)??p.label;function O(k){return k.value==="temporary"?i===!0||r===!0?!0:i===!1&&r===!1?!1:void 0:!0}function y(k){return k==="temporary"?i:k==="deepseek-harness"?r:!1}function v(k){return O(k)!==!0}function x(k){const T=O(k);return T===void 0?"正在检查配置":T?k.description:"管理员未配置"}m.useEffect(()=>{if(!s)return;const k=T=>{var C;(C=f.current)!=null&&C.contains(T.target)||(a(!1),c(!1))};return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[s]);function w(k){let T=u;do T=(T+k+lc.length)%lc.length;while(v(lc[T]));d(T),c(lc[T].value==="temporary")}function E(k){var T;if(!v(k)){if(k.value==="temporary"){c(!0);return}t(k.value),a(!1),c(!1),(T=h.current)==null||T.focus()}}function S(k){y(k)===!0&&(t(k),a(!1),c(!1))}return l.jsxs("div",{className:"new-chat-mode",ref:f,children:[l.jsxs("button",{ref:h,type:"button",className:"new-chat-mode__trigger","aria-label":"选择新会话模式","aria-haspopup":"listbox","aria-expanded":s,disabled:n,onClick:()=>{d(hY(e)),a(k=>(k&&c(!1),!k))},onKeyDown:k=>{k.key==="ArrowDown"||k.key==="ArrowUp"?(k.preventDefault(),s?w(k.key==="ArrowDown"?1:-1):a(!0)):s&&(k.key==="Enter"||k.key===" ")?(k.preventDefault(),E(lc[u])):s&&k.key==="Escape"&&(k.preventDefault(),a(!1),c(!1))},children:[l.jsx("span",{className:"new-chat-mode__icon",children:l.jsx(fY,{mode:p.value})}),l.jsx("span",{className:"new-chat-mode__current",title:g,children:g}),l.jsx("svg",{className:"new-chat-mode__chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:l.jsx("path",{d:"m3 4.5 3 3 3-3"})})]}),s?l.jsxs("div",{className:"new-chat-mode__menus",children:[l.jsx("div",{className:"new-chat-mode__menu",role:"listbox","aria-label":"新会话模式",tabIndex:-1,onKeyDown:k=>{var T;k.key==="ArrowDown"||k.key==="ArrowUp"?(k.preventDefault(),w(k.key==="ArrowDown"?1:-1)):k.key==="Enter"?(k.preventDefault(),E(lc[u])):k.key==="Escape"&&(k.preventDefault(),a(!1),c(!1),(T=h.current)==null||T.focus())},children:lc.map((k,T)=>{const C=k.value==="temporary";return l.jsxs("button",{type:"button",role:"option","aria-selected":p.value===k.value,"aria-haspopup":C?"menu":void 0,"aria-expanded":C?o:void 0,"aria-disabled":v(k),disabled:v(k),className:`new-chat-mode__option${T===u?" is-active":""}`,onMouseEnter:()=>{d(T),c(k.value==="temporary")},onClick:()=>E(k),children:[l.jsx("span",{className:"new-chat-mode__option-icon",children:l.jsx(fY,{mode:k.value})}),l.jsxs("span",{className:"new-chat-mode__copy",children:[l.jsx("span",{className:"new-chat-mode__label",children:k.label}),l.jsx("span",{children:x(k)})]}),C?l.jsx(Ogt,{}):e===k.value?l.jsx("svg",{className:"new-chat-mode__check",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})}):null]},k.value)})}),o?l.jsxs("div",{className:"new-chat-mode__submenu",role:"menu","aria-label":"内置智能体",children:[dY.map(k=>{const T=y(k.value);return l.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:T!==!0,onClick:()=>S(k.value),children:[l.jsx(cv,{kind:k.kind,className:"new-chat-mode__builtin-icon"}),l.jsxs("span",{className:"new-chat-mode__copy",children:[l.jsx("span",{className:"new-chat-mode__label",children:k.label}),l.jsx("span",{children:T===void 0?"正在检查配置":T?k.description:"管理员未配置"})]})]},k.value)}),bgt.map(({label:k,kind:T})=>l.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:!0,children:[l.jsx(cv,{kind:T,className:"new-chat-mode__builtin-icon"}),l.jsxs("span",{className:"new-chat-mode__copy",children:[l.jsx("span",{className:"new-chat-mode__label",children:k}),l.jsx("span",{children:"暂不可用"})]})]},k))]}):null]}):null]})}const yg=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"deepseek-harness",label:"DeepSeek Harness"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],xgt=15,vgt=15e3,wgt=120,Sgt=180;function pY(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Egt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function EI({type:e,className:t="new-chat-agent-picker__type-icon"}){return e==="general"?l.jsx(vh,{className:t}):l.jsx(cv,{kind:e,className:t})}function kgt({selectedAgentName:e="",selectedRuntimeId:t="",runtimeScope:n,disabled:i=!1,onSelectRuntime:r,onSelectSandboxSession:s}){var De;const[a,o]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(0),[h,p]=m.useState(0),[b,g]=m.useState("types"),[O,y]=m.useState(!1),[v,x]=m.useState([]),[w,E]=m.useState([]),[S,k]=m.useState(null),[T,C]=m.useState(""),[A,N]=m.useState(!1),[P,Q]=m.useState(""),[D,$]=m.useState(""),j=m.useRef(null),I=m.useRef(null),F=m.useRef(null),B=m.useRef(0),M=m.useRef(null),Y=m.useRef(null),q=m.useRef(null),U=((De=yg.find(pe=>pe.id===c))==null?void 0:De.label)??"智能体",V=m.useCallback((pe=!1)=>{var Se;Y.current!==null&&(window.clearTimeout(Y.current),Y.current=null),q.current!==null&&(window.clearTimeout(q.current),q.current=null),o(!1),u(null),g("types"),y(!1),pe&&((Se=I.current)==null||Se.focus())},[]),re=m.useCallback(async(pe="",Se=!1)=>{const Oe=++B.current;let Le;N(!0),Q("");try{const Fe=await Promise.race([IA({scope:n,region:"all",pageSize:xgt,nextToken:pe}),new Promise((Te,Ue)=>{Le=window.setTimeout(()=>{Ue(new Error("加载智能体超时(15 秒),请检查网络或 Runtime 服务后重试"))},vgt)})]);if(B.current!==Oe)return;x(Te=>{const Ue=Se?Fe.runtimes:[...Te,...Fe.runtimes];return Ue.filter((ot,Bt)=>Ue.findIndex(Ye=>Ye.runtimeId===ot.runtimeId)===Bt)}),C(Fe.nextToken),p(0)}catch(Fe){if(B.current!==Oe)return;Q(m0(Fe,"加载通用智能体","GET /web/runtimes"))}finally{window.clearTimeout(Le),B.current===Oe&&N(!1)}},[n]),de=m.useCallback(async pe=>{var Le,Fe;(Le=M.current)==null||Le.abort();const Se=new AbortController;M.current=Se;const Oe=++B.current;N(!0),Q(""),E([]);try{const Te=pe==="codex"?await _i.listSessions({signal:Se.signal,autoResumeSnapshots:!0}):await _i.listAgentSessions(pe,{signal:Se.signal,autoResumeSnapshots:!0});if(B.current!==Oe)return;E(Te),k(pe),p(0)}catch(Te){if((Te==null?void 0:Te.name)==="AbortError"||B.current!==Oe)return;Q(m0(Te,`加载 ${((Fe=yg.find(Ue=>Ue.id===pe))==null?void 0:Fe.label)??pe}`,`GET /web/${pe==="codex"?"sandbox":pe}/sessions`)),k(pe)}finally{M.current===Se&&(M.current=null),B.current===Oe&&N(!1)}},[]);m.useEffect(()=>{!a||c!=="general"||v.length>0||A||P||re("",!0)},[c,P,re,A,a,v.length]),m.useEffect(()=>{!a||c===null||c==="general"||S===c||de(c)},[c,de,S,a]),m.useEffect(()=>{if(!a)return;const pe=Se=>{var Oe;(Oe=j.current)!=null&&Oe.contains(Se.target)||V()};return document.addEventListener("mousedown",pe),()=>document.removeEventListener("mousedown",pe)},[V,a]),m.useEffect(()=>()=>{var pe;B.current+=1,(pe=M.current)==null||pe.abort(),Y.current!==null&&window.clearTimeout(Y.current),q.current!==null&&window.clearTimeout(q.current)},[]);function be(pe,Se=!1){Y.current!==null&&(window.clearTimeout(Y.current),Y.current=null),q.current!==null&&(window.clearTimeout(q.current),q.current=null),o(!0),u(Se?"general":null),f(0),g("types"),y(Se),pe&&requestAnimationFrame(()=>{var Oe;return(Oe=F.current)==null?void 0:Oe.focus()})}function ce(){i||a||Y.current!==null||(Y.current=window.setTimeout(()=>{Y.current=null,be(!1)},wgt))}function K(){q.current!==null&&(window.clearTimeout(q.current),q.current=null)}function ee(){Y.current!==null&&(window.clearTimeout(Y.current),Y.current=null),!(!a||q.current!==null)&&(q.current=window.setTimeout(()=>{q.current=null,V()},Sgt))}function me(pe){var Le;const Se=(pe+yg.length)%yg.length,Oe=yg[Se].id;Oe!==c&&(B.current+=1,(Le=M.current)==null||Le.abort(),M.current=null,N(!1),Q("")),f(Se),u(Oe),p(0)}async function ve(pe){if(!D){$(pe.runtimeId),Q("");try{await r(pe),V(!0)}catch(Se){Q(m0(Se,"连接通用智能体"))}finally{$("")}}}async function Ne(pe){if(!D){$(pe.id),Q("");try{await s(pe),V(!0)}catch(Se){Q(m0(Se,`打开 ${U}`))}finally{$("")}}}function Ie(pe){if(pe.key==="Escape"){pe.preventDefault(),V(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(pe.key)&&y(!0),b==="types"){pe.key==="ArrowDown"||pe.key==="ArrowUp"?(pe.preventDefault(),me(d+(pe.key==="ArrowDown"?1:-1))):(pe.key==="ArrowRight"||pe.key==="Enter")&&(pe.preventDefault(),c===null&&me(d),g("runtimes"));return}if(pe.key==="ArrowLeft")pe.preventDefault(),g("types");else if((c==="general"?v:w).length>0&&(pe.key==="ArrowDown"||pe.key==="ArrowUp")){pe.preventDefault();const Se=pe.key==="ArrowDown"?1:-1,Oe=c==="general"?v.length:w.length;p(Le=>(Le+Se+Oe)%Oe)}else pe.key==="Enter"&&c==="general"&&v[h]?(pe.preventDefault(),ve(v[h])):pe.key==="Enter"&&c!=="general"&&w[h]&&(pe.preventDefault(),Ne(w[h]))}return l.jsxs("div",{className:"new-chat-agent-picker",ref:j,onPointerEnter:pe=>{pe.pointerType==="mouse"&&K()},onPointerLeave:pe=>{pe.pointerType==="mouse"&&ee()},children:[l.jsxs("button",{ref:I,type:"button",className:"new-chat-agent-picker__trigger","aria-label":"选择智能体","aria-haspopup":"menu","aria-expanded":a,disabled:i,onPointerEnter:pe=>{pe.pointerType==="mouse"&&ce()},onClick:()=>a?V():be(!0),onKeyDown:pe=>{pe.key==="ArrowDown"||pe.key==="ArrowUp"?(pe.preventDefault(),a||be(!0,!0)):pe.key==="Escape"&&a&&(pe.preventDefault(),V(!0))},children:[l.jsx("span",{title:e||"选择智能体",children:e||"选择智能体"}),l.jsx(pY,{className:"new-chat-agent-picker__trigger-chevron"})]}),a?l.jsxs("div",{ref:F,className:"new-chat-agent-picker__menus",tabIndex:-1,onKeyDown:Ie,onPointerMove:pe=>{pe.pointerType==="mouse"&&y(!1)},children:[l.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"智能体类型",children:yg.map((pe,Se)=>l.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":c===pe.id,className:`new-chat-agent-picker__type${O&&b==="types"&&d===Se?" is-keyboard-active":""}`,onMouseEnter:()=>me(Se),onClick:()=>{me(Se),g("runtimes")},children:[l.jsx(EI,{type:pe.id}),l.jsx("span",{children:pe.label}),l.jsx(pY,{className:"new-chat-agent-picker__nested-chevron"})]},pe.id))}),c!==null?l.jsx("div",{className:"new-chat-agent-picker__submenu",role:"listbox","aria-label":`${U}列表`,children:c!=="general"&&A&&w.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):c!=="general"&&P&&w.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:P}),l.jsx("button",{type:"button",onClick:()=>void de(c),children:"重新加载"})]}):c!=="general"&&w.length===0?l.jsxs(Ci,{className:"new-chat-agent-picker__empty",fill:"none",children:[l.jsx(Ci.Icon,{size:"sm",children:l.jsx(EI,{type:c,className:"new-chat-agent-picker__empty-agent-icon"})}),l.jsx(Ci.Title,{children:l.jsxs("span",{className:"new-chat-agent-picker__empty-title",children:["暂无 ",U]})}),l.jsx(Ci.Description,{children:"请前往智能体页创建"})]}):c!=="general"?l.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:w.map((pe,Se)=>{const Oe=D===pe.id,Le=pe.resourceType==="snapshot";return l.jsxs("button",{type:"button",role:"option","aria-selected":!1,"aria-busy":Oe||void 0,className:`new-chat-agent-picker__runtime${O&&b==="runtimes"&&h===Se?" is-keyboard-active":""}`,disabled:!!D,title:`${pe.displayName||U} · ${pe.id}`,onMouseEnter:()=>p(Se),onClick:()=>void Ne(pe),children:[l.jsx(EI,{type:c,className:"new-chat-agent-picker__runtime-icon"}),l.jsx("span",{children:pe.displayName||U}),l.jsx("small",{children:Oe?Le?"正在唤醒":"正在打开":oC(pe.status)})]},pe.id)})}):A&&v.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):P&&v.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:P}),l.jsx("button",{type:"button",onClick:()=>void re("",!0),children:"重新加载"})]}):v.length===0?l.jsxs(Ci,{className:"new-chat-agent-picker__empty",fill:"none",children:[l.jsx(Ci.Icon,{size:"sm",children:l.jsx(vh,{})}),l.jsx(Ci.Title,{children:l.jsx("span",{className:"new-chat-agent-picker__empty-title",children:"暂无通用智能体"})}),l.jsx(Ci.Description,{children:"请前往智能体页创建"})]}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:v.map((pe,Se)=>{const Oe=D===pe.runtimeId,Le=pe.runtimeId===t;return l.jsxs("button",{type:"button",role:"option","aria-selected":Le,"aria-busy":Oe||void 0,className:`new-chat-agent-picker__runtime${O&&b==="runtimes"&&h===Se?" is-keyboard-active":""}`,disabled:!!D,title:pe.name,onMouseEnter:()=>p(Se),onClick:()=>void ve(pe),children:[l.jsx(vh,{className:"new-chat-agent-picker__runtime-icon"}),l.jsx("span",{children:pe.name}),Oe?l.jsx("small",{children:"正在连接"}):Le?l.jsx(Egt,{className:"new-chat-agent-picker__check"}):null]},pe.runtimeId)})}),P?l.jsx("div",{className:"new-chat-agent-picker__inline-error",role:"alert",children:P}):null,T?l.jsx("button",{type:"button",className:"new-chat-agent-picker__load-more",disabled:A||!!D,onClick:()=>void re(T),children:A?"加载中":"加载更多"}):null]})}):null]}):null]})}const Tgt=120,_gt=180;function Agt(){return l.jsx("svg",{className:"new-chat-compact-select__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function Cgt(){return l.jsx("svg",{className:"new-chat-compact-select__check",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function Am({label:e,hideLabel:t=!1,value:n,options:i,onChange:r,placeholder:s,loading:a=!1,error:o="",disabled:c=!1,searchable:u=!1,onRetry:d}){const[f,h]=m.useState(!1),[p,b]=m.useState(""),[g,O]=m.useState(0),y=m.useRef(null),v=m.useRef(null),x=m.useRef(null),w=m.useRef(!1),E=m.useRef(null),S=m.useRef(null),k=i.find(B=>B.value===n),T=p.trim().toLocaleLowerCase(),C=m.useMemo(()=>T?i.filter(B=>`${B.label} ${B.description||""}`.toLocaleLowerCase().includes(T)):i,[T,i]),A=m.useCallback((B=!1)=>{var M;E.current!==null&&(window.clearTimeout(E.current),E.current=null),S.current!==null&&(window.clearTimeout(S.current),S.current=null),w.current=!1,h(!1),b(""),B&&((M=v.current)==null||M.focus())},[]);m.useEffect(()=>{if(!f)return;const B=M=>{var Y;(Y=y.current)!=null&&Y.contains(M.target)||A()};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[A,f]),m.useEffect(()=>{!f||!u||!w.current||(w.current=!1,requestAnimationFrame(()=>{var B;return(B=x.current)==null?void 0:B.focus()}))},[f,u]),m.useEffect(()=>()=>{E.current!==null&&window.clearTimeout(E.current),S.current!==null&&window.clearTimeout(S.current)},[]);function N(B){E.current!==null&&(window.clearTimeout(E.current),E.current=null),S.current!==null&&(window.clearTimeout(S.current),S.current=null),w.current=B,b(""),O(Math.max(0,i.findIndex(M=>M.value===n))),h(!0)}function P(){c||f||E.current!==null||(E.current=window.setTimeout(()=>{E.current=null,N(!1)},Tgt))}function Q(){S.current!==null&&(window.clearTimeout(S.current),S.current=null)}function D(){E.current!==null&&(window.clearTimeout(E.current),E.current=null),!(!f||S.current!==null)&&(S.current=window.setTimeout(()=>{S.current=null,A()},_gt))}function $(B){const M=C[B];M&&(r(M.value),A(!0))}function j(B){if(B.key==="Escape"&&f){B.preventDefault(),A(!0);return}if(B.key==="Home"&&f&&C.length>0){B.preventDefault(),O(0);return}if(B.key==="End"&&f&&C.length>0){B.preventDefault(),O(C.length-1);return}if(B.key!=="ArrowDown"&&B.key!=="ArrowUp"){f&&B.key==="Enter"&&C[g]&&(B.preventDefault(),$(g));return}if(B.preventDefault(),!f){N(!0);return}const M=B.key==="ArrowDown"?1:-1;O(Y=>(Y+M+C.length)%Math.max(1,C.length))}const I=a&&i.length===0,F=I?"加载中…":(k==null?void 0:k.label)||s;return l.jsxs("div",{className:"new-chat-compact-select",ref:y,onKeyDown:j,onPointerEnter:B=>{B.pointerType==="mouse"&&Q()},onPointerLeave:B=>{B.pointerType==="mouse"&&D()},children:[l.jsxs("button",{ref:v,type:"button",className:"new-chat-compact-select__trigger","aria-label":`${e}:${F}`,"aria-haspopup":"listbox","aria-expanded":f,disabled:c,onPointerEnter:B=>{B.pointerType==="mouse"&&P()},onClick:()=>f?A():N(!0),children:[t?null:l.jsx("span",{className:"new-chat-compact-select__label",children:e}),I?l.jsx("span",{className:"new-chat-compact-select__spinner","aria-hidden":"true"}):l.jsx("span",{className:`new-chat-compact-select__value${k?"":" is-placeholder"}`,children:F}),I?null:l.jsx(Agt,{})]}),f?l.jsxs("div",{className:"new-chat-compact-select__menu",children:[u&&i.length>0?l.jsxs("label",{className:"new-chat-compact-select__search",children:[l.jsxs("span",{className:"sr-only",children:["搜索",e]}),l.jsx("input",{ref:x,value:p,placeholder:`搜索${e}`,onChange:B=>{b(B.currentTarget.value),O(0)}})]}):null,l.jsx("div",{className:"new-chat-compact-select__list",role:"listbox","aria-label":e,children:a&&i.length===0?l.jsx("div",{className:"new-chat-compact-select__status",role:"status",children:"正在加载…"}):o?l.jsxs("div",{className:"new-chat-compact-select__status is-error",role:"alert",children:[l.jsx("span",{children:o}),d?l.jsx("button",{type:"button",onClick:d,children:"重试"}):null]}):C.length===0?l.jsx("div",{className:"new-chat-compact-select__status",children:p?"没有匹配项":"暂无可选项"}):C.map((B,M)=>l.jsxs("button",{type:"button",role:"option",tabIndex:-1,"aria-selected":B.value===n,className:`new-chat-compact-select__option${M===g?" is-active":""}`,onMouseEnter:()=>O(M),onClick:()=>$(M),children:[l.jsxs("span",{className:"new-chat-compact-select__option-copy",children:[l.jsx("strong",{children:B.label}),B.description?l.jsx("small",{children:B.description}):null]}),B.value===n?l.jsx(Cgt,{}):null]},B.value))})]}):null]})}const Sf=[{value:"create",label:"技能生成"},{value:"optimize",label:"技能优化"}],Ngt=120,jgt=180;function Rgt(){return l.jsx("svg",{className:"new-chat-skill-picker__chevron",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m4.75 6.25 3.25 3.5 3.25-3.5"})})}function Igt(){return l.jsx("svg",{className:"new-chat-skill-picker__check",viewBox:"0 0 16 16","aria-hidden":"true",children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5"})})}function Dgt({value:e,onChange:t,disabled:n=!1}){const[i,r]=m.useState(!1),[s,a]=m.useState(()=>Math.max(0,Sf.findIndex(x=>x.value===e))),o=m.useRef(null),c=m.useRef(null),u=m.useRef(null),d=m.useRef(null),f=Sf.find(x=>x.value===e)??Sf[0],h=m.useCallback((x=!1)=>{var w;u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),r(!1),x&&((w=c.current)==null||w.focus())},[]);m.useEffect(()=>{if(!i)return;const x=w=>{var E;(E=o.current)!=null&&E.contains(w.target)||h()};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[h,i]),m.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current),d.current!==null&&window.clearTimeout(d.current)},[]);function p(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),a(Math.max(0,Sf.findIndex(x=>x.value===e))),r(!0)}function b(){n||i||u.current!==null||(u.current=window.setTimeout(()=>{u.current=null,p()},Ngt))}function g(){d.current!==null&&(window.clearTimeout(d.current),d.current=null)}function O(){u.current!==null&&(window.clearTimeout(u.current),u.current=null),!(!i||d.current!==null)&&(d.current=window.setTimeout(()=>{d.current=null,h()},jgt))}function y(x){const w=Sf[x];w&&(t(w.value),a(x),h(!0))}function v(x){if(x.key==="Escape"&&i){x.preventDefault(),h(!0);return}if(x.key!=="ArrowDown"&&x.key!=="ArrowUp"){i&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),y(s));return}if(x.preventDefault(),!i){p();return}const w=x.key==="ArrowDown"?1:-1;a(E=>(E+w+Sf.length)%Sf.length)}return l.jsxs("div",{className:"new-chat-skill-picker",ref:o,onPointerEnter:x=>{x.pointerType==="mouse"&&g()},onPointerLeave:x=>{x.pointerType==="mouse"&&O()},children:[l.jsxs("button",{ref:c,type:"button",className:"new-chat-skill-picker__trigger","aria-label":"选择技能定制方式","aria-haspopup":"listbox","aria-expanded":i,disabled:n,onPointerEnter:x=>{x.pointerType==="mouse"&&b()},onClick:()=>{i?h():p()},onKeyDown:v,children:[l.jsx("span",{children:f.label}),l.jsx(Rgt,{})]}),i?l.jsx("div",{className:"new-chat-skill-picker__menu",role:"listbox","aria-label":"技能定制方式",tabIndex:-1,onKeyDown:v,children:Sf.map((x,w)=>l.jsxs("button",{type:"button",role:"option","aria-selected":x.value===e,className:`new-chat-skill-picker__option${w===s?" is-active":""}`,onMouseEnter:()=>a(w),onClick:()=>y(w),children:[l.jsx("span",{children:x.label}),x.value===e?l.jsx(Igt,{}):null]},x.value))}):null]})}const Pgt=120,Mgt=180;function mY(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.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 Lgt(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:l.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function kI(e){return e.name.trim()||"未命名 Skill Space"}function $gt({spaces:e,skills:t,activeSpaceId:n,selectedSpaceId:i,selectedSkillId:r,selectedSkillLabel:s,spacesLoading:a=!1,skillsLoading:o=!1,spacesError:c="",skillsError:u="",disabled:d=!1,onActivateSpace:f,onSelect:h,onRetrySpaces:p,onRetrySkills:b}){const[g,O]=m.useState(!1),[y,v]=m.useState(0),[x,w]=m.useState(0),[E,S]=m.useState("spaces"),[k,T]=m.useState(!1),[C,A]=m.useState("below"),[N,P]=m.useState(286),Q=m.useRef(null),D=m.useRef(null),$=m.useRef(null),j=m.useRef(null),I=m.useRef(null),F=e.find(ee=>ee.id===n)??null,B=F?kI(F):"Skill Space",M=s||"选择 Skill",Y=m.useCallback((ee=!1)=>{var me;j.current!==null&&(window.clearTimeout(j.current),j.current=null),I.current!==null&&(window.clearTimeout(I.current),I.current=null),O(!1),S("spaces"),T(!1),f(""),ee&&((me=D.current)==null||me.focus())},[f]);m.useEffect(()=>{if(!g)return;const ee=me=>{var ve;(ve=Q.current)!=null&&ve.contains(me.target)||Y()};return document.addEventListener("mousedown",ee),()=>document.removeEventListener("mousedown",ee)},[Y,g]),m.useEffect(()=>{d&&g&&Y()},[Y,d,g]);const q=m.useCallback(()=>{const ee=D.current;if(!ee)return;const me=ee.getBoundingClientRect(),ve=12,Ne=7,Ie=window.innerHeight-me.bottom-Ne-ve,De=me.top-Ne-ve,pe=Ie>=220||Ie>=De?"below":"above",Se=pe==="below"?Ie:De;A(pe),P(Math.max(120,Math.floor(Se)))},[]);m.useLayoutEffect(()=>{if(g)return q(),window.addEventListener("resize",q),window.addEventListener("scroll",q,!0),()=>{window.removeEventListener("resize",q),window.removeEventListener("scroll",q,!0)}},[g,q]),m.useEffect(()=>()=>{j.current!==null&&window.clearTimeout(j.current),I.current!==null&&window.clearTimeout(I.current)},[]);function U(ee){if(e.length===0)return;const me=(ee+e.length)%e.length,ve=e[me];v(me),w(0),ve.id!==n&&f(ve.id)}function V(ee,me=!1){j.current!==null&&(window.clearTimeout(j.current),j.current=null),I.current!==null&&(window.clearTimeout(I.current),I.current=null);const ve=e.findIndex(Ie=>Ie.id===i),Ne=ve>=0?ve:0;v(Ne),w(0),S("spaces"),T(me),O(!0),me&&e[Ne]?f(e[Ne].id):f(""),ee&&requestAnimationFrame(()=>{var Ie;return(Ie=$.current)==null?void 0:Ie.focus()})}function re(){d||g||j.current!==null||(j.current=window.setTimeout(()=>{j.current=null,V(!1)},Pgt))}function de(){I.current!==null&&(window.clearTimeout(I.current),I.current=null)}function be(){j.current!==null&&(window.clearTimeout(j.current),j.current=null),!(!g||I.current!==null)&&(I.current=window.setTimeout(()=>{I.current=null,Y()},Mgt))}function ce(ee){F&&(h(F,ee),Y(!0))}function K(ee){if(ee.key==="Escape"){ee.preventDefault(),Y(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(ee.key)&&T(!0),E==="spaces"){ee.key==="ArrowDown"||ee.key==="ArrowUp"?(ee.preventDefault(),U(y+(ee.key==="ArrowDown"?1:-1))):(ee.key==="ArrowRight"||ee.key==="Enter")&&(ee.preventDefault(),F||U(y),S("skills"));return}if(ee.key==="ArrowLeft")ee.preventDefault(),S("spaces");else if(t.length>0&&(ee.key==="ArrowDown"||ee.key==="ArrowUp")){ee.preventDefault();const me=ee.key==="ArrowDown"?1:-1;w(ve=>(ve+me+t.length)%t.length)}else ee.key==="Enter"&&t[x]&&(ee.preventDefault(),ce(t[x]))}return l.jsxs("div",{className:"new-chat-skill-target-picker",ref:Q,onPointerEnter:ee=>{ee.pointerType==="mouse"&&de()},onPointerLeave:ee=>{ee.pointerType==="mouse"&&be()},children:[l.jsxs("button",{ref:D,type:"button",className:"new-chat-agent-picker__trigger new-chat-skill-target-picker__trigger","aria-label":`选择 Skill:${M}`,"aria-haspopup":"menu","aria-expanded":g,disabled:d,onPointerEnter:ee=>{ee.pointerType==="mouse"&&re()},onClick:()=>g?Y():V(!0),onKeyDown:ee=>{ee.key==="ArrowDown"||ee.key==="ArrowUp"?(ee.preventDefault(),g||V(!0,!0)):ee.key==="Escape"&&g&&(ee.preventDefault(),Y(!0))},children:[l.jsx("span",{title:M,children:M}),l.jsx(mY,{className:"new-chat-agent-picker__trigger-chevron"})]}),g?l.jsxs("div",{ref:$,className:`new-chat-agent-picker__menus new-chat-skill-target-picker__menus is-${C}`,style:{"--new-chat-skill-menu-max-height":`${N}px`},tabIndex:-1,onKeyDown:K,onPointerMove:ee=>{ee.pointerType==="mouse"&&T(!1)},children:[l.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"Skill Space",children:a&&e.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:"正在加载 Skill Space"})]}):c&&e.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:c}),l.jsx("button",{type:"button",onClick:p,children:"重新加载"})]}):e.length===0?l.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill Space"}):e.map((ee,me)=>l.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"listbox","aria-expanded":n===ee.id,className:`new-chat-agent-picker__type new-chat-skill-target-picker__space${n===ee.id?" is-previewed":""}${k&&E==="spaces"&&y===me?" is-keyboard-active":""}`,title:kI(ee),onMouseEnter:()=>U(me),onClick:()=>{U(me),S("skills")},children:[l.jsx("span",{children:kI(ee)}),l.jsx(mY,{className:"new-chat-agent-picker__nested-chevron"})]},ee.id))}),F?l.jsx("div",{className:"new-chat-agent-picker__submenu new-chat-skill-target-picker__submenu",role:"listbox","aria-label":`${B} Skill 列表`,children:o&&t.length===0?l.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"new-chat-agent-picker__spinner new-chat-skill-target-picker__spinner","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:"正在加载 Skill"})]}):u&&t.length===0?l.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[l.jsx("span",{children:u}),l.jsx("button",{type:"button",onClick:b,children:"重新加载"})]}):t.length===0?l.jsx("div",{className:"new-chat-skill-target-picker__empty",children:"暂无 Skill"}):l.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:t.map((ee,me)=>{const ve=F.id===i&&ee.skillId===r;return l.jsxs("button",{type:"button",role:"option","aria-selected":ve,className:`new-chat-agent-picker__runtime new-chat-skill-target-picker__skill${k&&E==="skills"&&x===me?" is-keyboard-active":""}`,title:ee.skillDescription||ee.skillName||ee.skillId,onMouseEnter:()=>w(me),onClick:()=>ce(ee),children:[l.jsx("span",{children:ee.skillName||ee.skillId}),ee.skillDescription?l.jsx("small",{children:ee.skillDescription}):null,ve?l.jsx(Lgt,{className:"new-chat-agent-picker__check"}):null]},ee.skillId)})})}):null]}):null]})}const gY={concise:"简洁实用",strict:"严谨稳健",tutorial:"教程友好",automation:"自动化优先"};function TI(e,t){return e instanceof Error&&e.message?e.message:t}function Qgt({action:e,onActionChange:t,optimizationSource:n=null,onOptimizationSourceChange:i,disabled:r=!1}){const[s,a]=m.useState(null),[o,c]=m.useState(!1),[u,d]=m.useState(""),[f,h]=m.useState(0),[p,b]=m.useState("concise"),[g,O]=m.useState(""),[y,v]=m.useState([]),[x,w]=m.useState(!1),[E,S]=m.useState(""),[k,T]=m.useState(0),[C,A]=m.useState(""),[N,P]=m.useState([]),[Q,D]=m.useState(!1),[$,j]=m.useState(""),[I,F]=m.useState(0);m.useEffect(()=>{if(e!=="create"||s)return;const q=new AbortController;return c(!0),d(""),A2(q.signal).then(U=>{a(U),O(V=>{var re;return V||((re=U.models[0])==null?void 0:re.id)||""}),!U.enabled&&U.reason&&d(U.reason)}).catch(U=>{q.signal.aborted||d(TI(U,"模型配置加载失败"))}).finally(()=>{q.signal.aborted||c(!1)}),()=>q.abort()},[e,s,f]),m.useEffect(()=>{if(e!=="optimize"||y.length>0)return;let q=!1;return w(!0),S(""),i4().then(U=>{q||v(U)}).catch(U=>{q||S(TI(U,"Skill Space 加载失败"))}).finally(()=>{q||w(!1)}),()=>{q=!0}},[e,y.length,k]);const B=y.find(q=>q.id===C);m.useEffect(()=>{if(e!=="optimize"||!B){P([]),j(""),D(!1);return}let q=!1;return P([]),D(!0),j(""),r4(B.id,B.region).then(U=>{q||P(U)}).catch(U=>{q||j(TI(U,"Skill 加载失败"))}).finally(()=>{q||D(!1)}),()=>{q=!0}},[e,B,I]);const M=m.useMemo(()=>Object.keys(s?s.styles:gY).map(U=>({value:U,label:gY[U]||U})),[s]),Y=m.useMemo(()=>(s==null?void 0:s.models.map(q=>({value:q.id,label:q.label})))||[],[s]);return l.jsxs("div",{className:`new-chat-skill-controls is-${e}`,"aria-label":"技能定制配置",children:[l.jsx(Dgt,{value:e,onChange:t,disabled:r}),e==="create"?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"new-chat-skill-controls__style",children:l.jsx(Am,{label:"风格",value:p,options:M,onChange:b,placeholder:"选择风格",disabled:r})}),l.jsx("div",{className:"new-chat-skill-controls__model",children:l.jsx(Am,{label:"模型",hideLabel:!0,value:g,options:Y,onChange:O,placeholder:"选择模型",loading:o,error:u,disabled:r,onRetry:()=>{a(null),h(q=>q+1)}})})]}):l.jsx($gt,{spaces:y,skills:N,activeSpaceId:C,selectedSpaceId:(n==null?void 0:n.space.id)||"",selectedSkillId:(n==null?void 0:n.skill.skillId)||"",selectedSkillLabel:(n==null?void 0:n.skill.skillName)||(n==null?void 0:n.skill.skillId)||"",spacesLoading:x,skillsLoading:Q,spacesError:E,skillsError:$,disabled:r,onActivateSpace:A,onSelect:(q,U)=>{i==null||i({space:q,skill:U})},onRetrySpaces:()=>{v([]),T(q=>q+1)},onRetrySkills:()=>{P([]),F(q=>q+1)}})]})}const bY=[{value:"auto",label:"自动识别"},{value:"text_to_video",label:"文生视频"},{value:"reference_to_video",label:"参考素材生视频"},{value:"video_editing",label:"视频编辑"},{value:"video_extension",label:"视频续写"},{value:"first_last_frame",label:"首尾帧生成"}],Bgt=[{value:"21:9",label:"21:9"},{value:"16:9",label:"16:9"},{value:"4:3",label:"4:3"},{value:"1:1",label:"1:1"},{value:"3:4",label:"3:4"},{value:"9:16",label:"9:16"}],Fgt=[{value:"480p",label:"480p"},{value:"720p",label:"720p"}],Ugt={taskMode:"auto",aspectRatio:"16:9",resolution:"720p",durationSeconds:8,referenceImage:null,referenceVideo:null,firstFrame:null,lastFrame:null};function Xge({kind:e,...t}){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:e==="image"?l.jsxs(l.Fragment,{children:[l.jsx("rect",{x:"3.5",y:"4",width:"17",height:"16",rx:"2.5"}),l.jsx("circle",{cx:"9",cy:"9.25",r:"1.5"}),l.jsx("path",{d:"m5.75 17 4.1-4.1a1.25 1.25 0 0 1 1.77 0l1.35 1.35 1.55-1.55a1.25 1.25 0 0 1 1.77 0L19 15.4"})]}):l.jsxs(l.Fragment,{children:[l.jsx("rect",{x:"3.5",y:"5",width:"12.5",height:"14",rx:"2.5"}),l.jsx("path",{d:"m16 9.5 3.1-1.75a.9.9 0 0 1 1.35.78v6.94a.9.9 0 0 1-1.35.78L16 14.5"}),l.jsx("path",{d:"m9 9.5 3.5 2.5L9 14.5Z"})]})})}function Hge(e){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m4.5 4.5 7 7m0-7-7 7"})})}function zgt({asset:e,onChange:t,disabled:n=!1,unavailableReason:i="",kind:r,label:s}){const a=m.useId(),[o,c]=m.useState("");m.useEffect(()=>{if(!e){c("");return}const d=URL.createObjectURL(e);return c(d),()=>URL.revokeObjectURL(d)},[e]);function u(d){var h;const f=((h=d.currentTarget.files)==null?void 0:h[0])??null;f&&t(f),d.currentTarget.value=""}return l.jsxs("div",{className:`new-chat-inline-video${e?" has-preview":""}${n?" is-disabled":""}`,children:[l.jsx("input",{id:a,className:"new-chat-inline-video__input",type:"file",accept:`${r}/*`,disabled:n,required:!0,"aria-label":`上传${s}`,onChange:u}),l.jsx("label",{className:"new-chat-inline-video__tile",htmlFor:a,title:i||(e?`更换${s}:${e.name}`:`上传${s}`),children:o&&r==="image"?l.jsx("img",{src:o,alt:""}):o?l.jsx("video",{src:o,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}):l.jsxs(l.Fragment,{children:[l.jsx(Xge,{kind:r}),l.jsx("span",{children:s})]})}),e?l.jsx("button",{className:"new-chat-inline-video__remove",type:"button","aria-label":`移除${s} ${e.name}`,disabled:n,onClick:()=>t(null),children:l.jsx(Hge,{})}):null]})}function Vgt(){return l.jsx("span",{className:"new-chat-video-model-spinner",role:"status","aria-label":"正在加载增强模型"})}function _I({label:e,helper:t,accept:n,asset:i,onChange:r,disabled:s,kind:a}){const o=m.useId();function c(u){var f;const d=((f=u.currentTarget.files)==null?void 0:f[0])??null;d&&r(d),u.currentTarget.value=""}return l.jsxs("div",{className:`new-chat-video-asset${s?" is-disabled":""}`,children:[l.jsx("input",{id:o,className:"new-chat-video-asset__input",type:"file",accept:n,disabled:s,onChange:c}),l.jsxs("label",{className:"new-chat-video-asset__label",htmlFor:o,children:[l.jsx("span",{className:"new-chat-video-asset__icon",children:l.jsx(Xge,{kind:a})}),l.jsxs("span",{className:"new-chat-video-asset__copy",children:[l.jsxs("span",{className:"new-chat-video-asset__title",children:[e,l.jsx("small",{children:"可选"})]}),l.jsx("span",{className:`new-chat-video-asset__value${i?" is-selected":""}`,title:i==null?void 0:i.name,children:(i==null?void 0:i.name)||t})]}),l.jsx("span",{className:"new-chat-video-asset__action",children:i?"更换":"添加"})]}),i?l.jsx("button",{className:"new-chat-video-asset__remove",type:"button","aria-label":`移除${e} ${i.name}`,disabled:s,onClick:()=>r(null),children:l.jsx(Hge,{})}):null]})}function qgt({config:e,onChange:t,enhancerModel:n,assetStorageAvailable:i,assetStorageUnavailableReason:r="",modelsLoading:s=!1,modelsError:a="",disabled:o=!1}){const c=Oke();function u(b,g){t({...e,[b]:g})}const d=e.taskMode==="first_last_frame",f=e.taskMode==="video_editing",h=e.taskMode==="video_extension",p=o||!i;return l.jsxs(Fr.section,{className:"new-chat-video-controls","aria-label":"视频创作配置",initial:c?!1:{opacity:0,y:-12,scaleY:.96},animate:{opacity:1,y:0,scaleY:1},exit:c?{opacity:0}:{opacity:0,y:-8,scaleY:.98},transition:{duration:c?0:.2,ease:[.22,1,.36,1]},children:[l.jsxs("div",{className:"new-chat-video-controls__parameters",children:[l.jsx("div",{className:"new-chat-video-controls__field",children:l.jsx(Am,{label:"比例",value:e.aspectRatio,options:Bgt,placeholder:"选择比例",disabled:o,onChange:b=>u("aspectRatio",b)})}),l.jsx("div",{className:"new-chat-video-controls__field",children:l.jsx(Am,{label:"清晰度",value:e.resolution,options:Fgt,placeholder:"选择清晰度",disabled:o,onChange:b=>u("resolution",b)})}),l.jsxs("label",{className:`new-chat-video-duration${o?" is-disabled":""}`,children:[l.jsxs("span",{className:"new-chat-video-duration__header",children:[l.jsx("span",{children:"时长"}),l.jsxs("output",{children:[e.durationSeconds,"s"]})]}),l.jsx("input",{type:"range",min:"4",max:"30",step:"1",value:e.durationSeconds,disabled:o,"aria-label":`视频时长:${e.durationSeconds} 秒`,onChange:b=>u("durationSeconds",Number(b.currentTarget.value))})]})]}),l.jsx("div",{className:`new-chat-video-controls__assets${d||f||h?" is-single":""}`,children:d?l.jsx(_I,{label:"尾帧",helper:"添加视频结束画面",accept:"image/*",asset:e.lastFrame,disabled:p,kind:"image",onChange:b=>u("lastFrame",b)}):l.jsxs(l.Fragment,{children:[l.jsx(_I,{label:f||h?"辅助图片":"参考图片",helper:f||h?"用于补充画面参考":"支持常见图片格式",accept:"image/*",asset:e.referenceImage,disabled:p,kind:"image",onChange:b=>u("referenceImage",b)}),f||h?null:l.jsx(_I,{label:"参考视频",helper:"支持常见视频格式",accept:"video/*",asset:e.referenceVideo,disabled:p,kind:"video",onChange:b=>u("referenceVideo",b)})]})}),!i&&r?l.jsx("p",{className:"new-chat-video-controls__storage-unavailable",role:"status",children:r}):null,l.jsx("p",{className:"new-chat-video-controls__model-hint",title:a||void 0,children:s?l.jsx(Vgt,{}):n?l.jsxs(l.Fragment,{children:["使用 ",n," 模型进行意图识别和提示词增强"]}):"增强模型不可用"})]})}function Xgt({className:e=""}){return l.jsxs("span",{className:`${e} new-chat-workspace-tabs__skill-icon`,"aria-hidden":"true",children:[l.jsx(ej,{className:"new-chat-workspace-tabs__skill-shape is-triangle"}),l.jsx(ej,{className:"new-chat-workspace-tabs__skill-shape is-circle"}),l.jsx(ej,{className:"new-chat-workspace-tabs__skill-shape is-square"})]})}const OY=[{value:"agent",label:"智能体",icon:vh},{value:"skill",label:"技能定制",icon:Xgt},{value:"video",label:"视频创作",icon:h6}];function Hgt({value:e,onChange:t,disabled:n=!1,skillCustomizationEnabled:i=!1}){const r=m.useRef([]),s=i?OY:OY.filter(c=>c.value!=="skill");function a(c){var d;const u=s[c];!u||n||(t(u.value),(d=r.current[c])==null||d.focus())}function o(c,u){let d=null;c.key==="ArrowRight"&&(d=(u+1)%s.length),c.key==="ArrowLeft"&&(d=(u-1+s.length)%s.length),c.key==="Home"&&(d=0),c.key==="End"&&(d=s.length-1),d!==null&&(c.preventDefault(),a(d))}return l.jsx("div",{className:"new-chat-workspace-tabs",role:"tablist","aria-label":"新会话模式",children:s.map((c,u)=>{const d=c.icon,f=e===c.value;return l.jsxs("button",{ref:h=>{r.current[u]=h},id:`new-chat-workspace-tab-${c.value}`,type:"button",role:"tab","aria-controls":"new-chat-workspace-panel","aria-selected":f,tabIndex:f?0:-1,className:`new-chat-workspace-tabs__tab${f?" is-active":""}`,disabled:n,onClick:()=>t(c.value),onKeyDown:h=>o(h,u),children:[f?l.jsx(Fr.span,{className:"new-chat-workspace-tabs__slider",layoutId:"new-chat-workspace-active-pill",initial:!1,transition:{layout:{duration:.24,ease:[.22,1,.36,1]}},"aria-hidden":"true"}):null,l.jsx(d,{className:"new-chat-workspace-tabs__icon"}),l.jsx("span",{className:"new-chat-workspace-tabs__label",children:c.label})]},c.value)})})}const Ggt={auto:"视频生成",text_to_video:"文生视频",reference_to_video:"参考素材生视频",video_editing:"视频编辑",video_extension:"视频续写",first_last_frame:"首尾帧生成"};function Gge(e){return e?Ggt[e]:"视频生成"}function Ygt({prompt:e,config:t,enhancerModel:n,generationModel:i}){return{localId:crypto.randomUUID(),remoteTaskId:"",runId:1,status:"optimizing",requestedPrompt:e,optimizedPrompt:"",requestedMode:t.taskMode,resolvedMode:null,config:{...t},enhancerModel:n,generationModel:i,providerStatus:null,generationStartedAt:null,assetIds:[],output:null,errorStage:null,error:""}}function yY(e,t){return t.type==="optimization_succeeded"?{...e,status:"generating",optimizedPrompt:t.optimizedPrompt,resolvedMode:t.resolvedMode,enhancerModel:t.enhancerModel,errorStage:null,error:""}:t.type==="assets_uploaded"?{...e,assetIds:t.assetIds}:t.type==="generation_started"?{...e,status:"generating",remoteTaskId:t.remoteTaskId,generationModel:t.generationModel,providerStatus:"queued",generationStartedAt:t.startedAt,errorStage:null,error:""}:t.type==="generation_status_changed"?e.providerStatus===t.providerStatus?e:{...e,providerStatus:t.providerStatus}:t.type==="generation_succeeded"?{...e,status:"success",providerStatus:null,output:t.output,errorStage:null,error:""}:t.type==="failed"?{...e,status:"error",providerStatus:null,errorStage:t.stage,error:t.error}:{...e,runId:e.runId+1,status:t.stage==="optimization"?"optimizing":"generating",remoteTaskId:"",providerStatus:null,generationStartedAt:null,optimizedPrompt:t.stage==="optimization"?"":e.optimizedPrompt,resolvedMode:t.stage==="optimization"?null:e.resolvedMode,output:null,errorStage:null,error:""}}function u5(e){const t=Gge(e.resolvedMode),n=e.status==="error"&&e.errorStage==="optimization",i=e.status==="error"&&e.errorStage==="generation",r=!!e.optimizedPrompt&&!n;return[{id:"optimization",label:n?"提示词优化失败":r?"提示词优化完成":"提示词优化中",status:n?"failed":r?"done":"active"},{id:"generation",label:e.status==="success"?`${t}已完成`:i?`${t}失败`:e.status==="generating"?e.providerStatus==="queued"?`${t}排队中`:e.providerStatus==="running"?`${t}生成中`:`${t}进行中`:"等待视频生成",status:e.status==="success"?"done":i?"failed":e.status==="generating"?"active":"pending"}]}function Wgt(e){const t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),i=Math.floor(t%3600/60),r=t%60;return n>0?`${n}小时${String(i).padStart(2,"0")}分`:i>0?`${i}分${String(r).padStart(2,"0")}秒`:`${r}秒`}function Zgt(e){var t,n;return((t=u5(e).find(i=>i.status==="active"))==null?void 0:t.label)??((n=u5(e).find(i=>i.status==="failed"))==null?void 0:n.label)??"视频生成完成"}function Yge(e){return(e==null?void 0:e.status)==="optimizing"||(e==null?void 0:e.status)==="generating"}const Wge={ppt:["ppt_generate"],image:["image_generate"],video:["video_generate"]},Kgt={ppt:[],image:[],video:["video_task_query"]},Jgt=[{pattern:/(?:^|[-_.])glm[-_.]?5[-_.]?2(?:[-_.]|$)/,tokens:1024e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v4(?:[-_.]|$)/,tokens:1024e3}],e0t=[{pattern:/doubao[-_.]seed[-_.]evolving(?:[-_.]|$)/,tokens:1024e3},{pattern:/doubao[-_.]seed[-_.]translation(?:[-_.]|$)/,tokens:4e3},{pattern:/doubao[-_.]seed[-_.]character(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k[-_.]character(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]1[-_.]?5[-_.]pro[-_.]32k(?:[-_.]|$)/,tokens:128e3},{pattern:/doubao[-_.]1[-_.]?5[-_.](?:lite[-_.]32k|vision[-_.]pro[-_.]32k)(?:[-_.]|$)/,tokens:32e3},{pattern:/doubao[-_.]seed[-_.]2[-_.][01](?:[-_.]|$)/,tokens:256e3},{pattern:/doubao[-_.]seed[-_.](?:1[-_.][68]|code[-_.]preview)(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:2e5}],t0t=[{pattern:/dola[-_.]seed[-_.]2[-_.]1(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]2[-_.]0(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])seed[-_.]1[-_.][68](?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])glm[-_.]?4[-_.]?7(?:[-_.]|$)/,tokens:256e3},{pattern:/(?:^|[-_.])deepseek[-_.]?v3[-_.]?2(?:[-_.]|$)/,tokens:128e3},{pattern:/(?:^|[-_.])gpt[-_.]?oss[-_.]?120b(?:[-_.]|$)/,tokens:128e3}];function n0t(e){const t=e.match(/(?:^|[-_.])(\d+(?:\.\d+)?)(k|m)(?:[-_.]|$)/i);if(!t)return null;const n=Number(t[1]);return!Number.isFinite(n)||n<=0?null:Math.round(n*(t[2].toLowerCase()==="m"?1e6:1e3))}function i0t(e,t){const n=e.trim().toLowerCase().split("/").pop()??"";if(!n)return null;const i=t==="byteplus"?t0t:e0t;for(const r of[...i,...Jgt])if(r.pattern.test(n))return r.tokens;return n0t(n)}const jp=new Intl.NumberFormat("zh-CN");function xY(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:jp.format(e)}function AI(e){return e>=1e3?`${Number((e/1e3).toFixed(1))}K`:`${jp.format(e)} Token`}function vY(e){return`${Number(e.toFixed(2))}%`}const wY={system:"系统与工具",input:"输入与历史",output:"输出与思考",remaining:"剩余"};function r0t({cloudProvider:e,modelName:t,usage:n,systemTokenEstimate:i}){const r=m.useId(),s=i0t(t,e),a=s?F_e({usage:n,contextWindow:s,estimatedSystemTokens:i}):null,o=(a==null?void 0:a.usedTokens)??n.current.totalTokenCount,c=s?o/s*100:null,u=c===null?null:Math.round(c),d=c!==null&&c>0&&c<1?"<1":String(u??0),f=c===null?0:Math.min(100,Math.max(0,c)),h=100-f,p=t.trim()||"模型信息未提供",b=i===null?"提示词(含系统)":wY.input,g=a?Math.max(0,a.usedTokens-a.contextWindow):0,O=i===null?"系统与工具占用未知":`系统与工具约 ${jp.format((a==null?void 0:a.systemTokens)??0)} Token`,y=a?`上下文已使用 ${d}%,${O},${b} ${jp.format(a.inputTokens)} Token,输出与思考 ${jp.format(a.outputTokens)} Token,剩余 ${jp.format(a.remainingTokens)} Token`:`${p},上下文窗口未知,会话累计使用 ${jp.format(n.cumulative.totalTokenCount)} Token`,v=a?U_e(a):[],x=a?[{kind:"system",tokens:a.systemTokens},{kind:"input",tokens:a.inputTokens},{kind:"output",tokens:a.outputTokens},{kind:"remaining",tokens:a.remainingTokens}]:[];return l.jsxs("div",{className:"token-usage-indicator",tabIndex:0,role:s===null?"status":"meter","aria-label":y,"aria-describedby":r,"aria-valuemin":s===null?void 0:0,"aria-valuemax":s??void 0,"aria-valuenow":s===null?void 0:Math.min(o,s),children:[l.jsxs("svg",{className:"token-usage-ring",viewBox:"0 0 20 20","aria-hidden":"true",children:[l.jsx("circle",{className:"token-usage-ring__track",cx:"10",cy:"10",r:"7"}),l.jsx("circle",{className:"token-usage-ring__value",cx:"10",cy:"10",r:"7",pathLength:"100",style:{strokeDasharray:`${f} ${100-f}`}})]}),l.jsxs("div",{id:r,className:"token-usage-tooltip",role:"tooltip",children:[a?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"token-usage-tooltip__header",children:[l.jsx("strong",{children:"上下文构成"}),l.jsxs("span",{children:[d,"% 已用"]})]}),l.jsxs("div",{className:"token-context-breakdown",children:[l.jsx("div",{className:"token-context-grid",role:"img","aria-label":"100 格上下文构成图,每格代表上下文窗口的百分之一",children:v.map(w=>l.jsx("span",{className:"token-context-cell","aria-hidden":"true",children:w.slices.map(E=>l.jsx("span",{className:`token-context-cell__slice is-${E.kind}`,style:{width:`${E.share*100}%`}},E.kind))},w.index))}),l.jsx("dl",{className:"token-context-legend",children:x.map(w=>l.jsxs("div",{children:[l.jsxs("dt",{children:[l.jsx("span",{className:`token-context-swatch is-${w.kind}`,"aria-hidden":"true"}),w.kind==="input"?b:wY[w.kind],w.kind==="system"&&i!==null?l.jsx("em",{children:"估算"}):null]}),l.jsx("dd",{children:w.kind==="system"&&i===null?"未知":`${w.kind==="system"?"≈":""}${xY(w.tokens)}`})]},w.kind))})]}),l.jsxs("div",{className:"token-context-summary",children:[l.jsxs("div",{children:[l.jsx("strong",{children:vY(f)})," 已用,剩余"," ",l.jsx("strong",{children:vY(h)})]}),l.jsxs("div",{children:[l.jsx("strong",{children:AI(a.usedTokens)})," 已用,剩余"," ",l.jsx("strong",{children:AI(a.remainingTokens)}),",总计"," ",l.jsx("strong",{children:AI(a.contextWindow)})]})]}),g>0?l.jsxs("div",{className:"token-usage-tooltip__overflow",children:["已超出上下文 ",xY(g)," Token"]}):null]}):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"token-usage-tooltip__title",children:"上下文用量"}),l.jsx("div",{className:"token-usage-tooltip__unknown",children:t.trim()?"暂未收录该模型的上下文窗口":"当前 Runtime 未提供模型信息"})]}),l.jsx("div",{className:"token-usage-tooltip__model",title:p,children:p})]})]})}const SY=[{value:"ppt",label:"PPT",icon:mTe,prompts:["复盘【季度】经营表现,提炼指标差距、原因与行动建议","汇报【项目名称】进展:里程碑、风险、预算和资源诉求","为【客户行业】输出解决方案:痛点、架构、实施路径与收益","分析【行业主题】趋势,给出竞争格局、机会与战略建议"]},{value:"image",label:"图片生成",icon:a$,prompts:["为【品牌或产品】设计【高级科技】风格的发布会主视觉","生成【产品名称】电商海报,突出【核心卖点】与品牌色","呈现【产品或空间】在【使用场景】中的写实概念效果图","围绕【传播主题】制作简洁专业的企业社媒配图"]},{value:"video",label:"视频生成",icon:h6,prompts:["制作【品牌名称】30 秒宣传片,突出【品牌价值】","为【产品名称】制作 45 秒发布视频:痛点、功能、场景与行动号召","制作【培训主题】企业培训视频,讲清【关键操作或规范】","生成【活动名称】20 秒预热视频,包含亮点、时间地点和报名信息"]}];function s0t({cloudProvider:e,sessionId:t,sessionInitializing:n=!1,appName:i,agentName:r,value:s,onChange:a,onSubmit:o,onStop:c,onVideoSubmit:u,videoTask:d=null,onOpenVideoTask:f,disabled:h,busy:p,showMeta:b,attachments:g,skills:O,agents:y,invocation:v,capabilitiesLoading:x=!1,modelName:w,tokenUsage:E,systemTokenEstimate:S,allowAttachments:k=!0,onInvocationChange:T,onAddFiles:C,onRemoveAttachment:A,newChatMode:N="agent",newChatWorkspaceMode:P="agent",newChatSkillAction:Q="create",newChatSkillTarget:D=null,skillCustomizationEnabled:$=!1,newChatTask:j=null,newChatLayout:I=!1,showWorkspaceTabs:F=!1,showModeSelector:B=!1,onWorkspaceModeChange:M,onSkillActionChange:Y,onSkillTargetChange:q,onModeChange:U,onTaskChange:V,temporaryEnabled:re,deepseekHarnessEnabled:de,harnessEnabled:be=!1,builtinTools:ce=[],showAgentPicker:K=!1,agentPickerDisabled:ee=!1,selectedRuntimeId:me="",runtimeScope:ve="mine",onSelectRuntime:Ne,onSelectSandboxSession:Ie}){var ui;const De=m.useRef(null),pe=m.useRef(null),Se=m.useRef(null),Oe=m.useRef(null),[Le,Fe]=m.useState(!1),[Te,Ue]=m.useState(null),[ot,Bt]=m.useState(0),[Ye,Z]=m.useState(!1),[ie,ue]=m.useState(Ugt),[ye,z]=m.useState(null),[je,We]=m.useState(!1),[et,Jt]=m.useState("");m.useEffect(()=>{if(!I||P!=="video")return;const Re=new AbortController;return We(!0),Jt(""),lgt(Re.signal).then(rt=>{Re.signal.aborted||z(rt)}).catch(rt=>{Re.signal.aborted||(z(null),Jt(rt instanceof Error?rt.message:String(rt)))}).finally(()=>{Re.signal.aborted||We(!1)}),()=>Re.abort()},[e,I,P]),m.useEffect(()=>{!(ye!=null&&ye.supportedModes.length)||ie.taskMode==="auto"||ye.supportedModes.includes(ie.taskMode)||ue(Re=>({...Re,taskMode:ye.supportedModes[0]}))},[ie.taskMode,ye]);async function Xt(){if(t)try{await navigator.clipboard.writeText(t),Z(!0),setTimeout(()=>Z(!1),1500)}catch{Z(!1)}}m.useLayoutEffect(()=>{const Re=De.current;Re&&(Re.style.height="auto",Re.style.height=`${Math.min(Re.scrollHeight,200)}px`)},[s]);const Tt=g.some(Re=>Re.status!=="ready"),vt=I&&P==="video",xe=vt?ie.taskMode==="first_last_frame"?{asset:ie.firstFrame,kind:"image",label:"首帧"}:ie.taskMode==="video_editing"||ie.taskMode==="video_extension"?{asset:ie.referenceVideo,kind:"video",label:ie.taskMode==="video_editing"?"待编辑视频":"基础视频"}:null:null,ze=Yge(d),Be=vt&&!!d&&!s.trim(),bt=p&&!!c,mt=vt?ze||Be||!h&&!p&&!Tt&&(!xe||!!xe.asset)&&!!ye&&s.trim().length>0:!h&&!p&&!Tt&&(s.trim().length>0||g.length>0);function At(){if(vt){if(ze||Be){f==null||f();return}ye&&s.trim()&&(u==null||u(s.trim(),ie,ye));return}o()}const _e=P==="skill"?Q==="optimize"?"描述你想优化的技能…":"描述你想生成的技能…":P==="video"?"描述你想创作的视频…":`向 ${r} 发消息…`,Ze=h&&P==="agent"?"请先选择智能体":h&&P==="skill"&&Q==="optimize"&&!D?"请先选择需要优化的 Skill":_e,Ct=(Te==null?void 0:Te.query.toLocaleLowerCase())??"",an=(Te==null?void 0:Te.kind)==="skill"?O.filter(Re=>!v.skills.some(rt=>rt.name===Re.name)).filter(Re=>`${Re.name} ${Re.description}`.toLocaleLowerCase().includes(Ct)).map(Re=>({kind:"skill",value:Re})):(Te==null?void 0:Te.kind)==="agent"?y.filter(Re=>`${Re.name} ${Re.description}`.toLocaleLowerCase().includes(Ct)).map(Re=>({kind:"agent",value:Re})):[];function tt(Re){var rt;Fe(!1),Ue(null),(rt=Re.current)==null||rt.click()}function pn(Re){V==null||V(Re.value),Fe(!1),Ue(null),requestAnimationFrame(()=>{var rt,Dt;(rt=De.current)==null||rt.focus(),(Dt=De.current)==null||Dt.setSelectionRange(s.length,s.length)})}function Yn(Re){a(Re),Fe(!1),Ue(null),requestAnimationFrame(()=>{var Yt,cn,Zt;(Yt=De.current)==null||Yt.focus();const rt=Re.indexOf("【"),Dt=Re.indexOf("】",rt+1);rt>=0&&Dt>rt?(cn=De.current)==null||cn.setSelectionRange(rt+1,Dt):(Zt=De.current)==null||Zt.setSelectionRange(Re.length,Re.length)})}function zt(){V==null||V(null),a(""),Fe(!1),Ue(null),requestAnimationFrame(()=>{var Re,rt;(Re=De.current)==null||Re.focus(),(rt=De.current)==null||rt.setSelectionRange(0,0)})}const Vt=SY.find(Re=>Re.value===j),Ae=SY.filter(Re=>Wge[Re.value].every(rt=>ce.includes(rt)));function Ge(Re,rt){const Dt=Re.slice(0,rt),Yt=/(^|\s)([/@])([^\s/@]*)$/.exec(Dt);if(!Yt){Ue(null);return}const cn=Yt[2].length+Yt[3].length,Zt={kind:Yt[2]==="/"?"skill":"agent",query:Yt[3],start:rt-cn,end:rt},ni=!Te||Te.kind!==Zt.kind||Te.query!==Zt.query||Te.start!==Zt.start||Te.end!==Zt.end;Ue(Zt),ni&&Bt(0),Fe(!1)}function Ft(Re){if(!Te)return;const rt=s.slice(0,Te.start)+s.slice(Te.end);a(rt),Re.kind==="skill"?T({...v,skills:[...v.skills,Re.value]}):T({skills:[],targetAgent:Re.value});const Dt=Te.start;Ue(null),requestAnimationFrame(()=>{var Yt,cn;(Yt=De.current)==null||Yt.focus(),(cn=De.current)==null||cn.setSelectionRange(Dt,Dt)})}function mn(){if(v.targetAgent){T({skills:[]});return}v.skills.length>0&&T({...v,skills:v.skills.slice(0,-1)})}function en(Re){const rt=Re.target.files?Array.from(Re.target.files):[];rt.length&&C(rt),Re.target.value=""}return l.jsxs("div",{className:`composer${I?" composer--new-chat":""}${Vt?` composer--has-task composer--task-${Vt.value}`:""}`,children:[l.jsx(C2,{value:v,onRemoveSkill:Re=>T({...v,skills:v.skills.filter(rt=>rt.name!==Re)}),onRemoveAgent:()=>T({skills:[]})}),g.length>0&&l.jsx(N2,{appName:i,compact:!0,items:g,onRemove:A}),I&&F&&M?l.jsx(Hgt,{value:P,onChange:M,disabled:p,skillCustomizationEnabled:$}):null,l.jsxs("div",{id:I&&F?"new-chat-workspace-panel":void 0,className:"composer-box",role:I&&F?"tabpanel":void 0,"aria-labelledby":I&&F?`new-chat-workspace-tab-${P}`:void 0,children:[Te?l.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":Te.kind==="skill"?"可用技能":"可用子 Agent",children:[l.jsxs("div",{className:"composer-command-head",children:[Te.kind==="skill"?l.jsx(c1,{}):l.jsx(Ete,{}),l.jsx("span",{children:Te.kind==="skill"?"调用技能":"使用子 Agent"}),l.jsx("kbd",{children:Te.kind==="skill"?"/":"@"})]}),x?l.jsxs("div",{className:"composer-command-empty",children:[l.jsx(Hn,{className:"spin"})," 正在读取 Agent 能力…"]}):an.length===0?l.jsx("div",{className:"composer-command-empty",children:Te.kind==="skill"?"当前 Agent 没有匹配技能":"当前 Agent 没有匹配子 Agent"}):l.jsx("div",{className:"composer-command-list",children:an.map((Re,rt)=>l.jsxs("button",{type:"button",role:"option","aria-selected":rt===ot,className:`composer-command-item${rt===ot?" is-active":""}`,onMouseDown:Dt=>{Dt.preventDefault(),Ft(Re)},onMouseEnter:()=>Bt(rt),children:[l.jsx("span",{className:`composer-command-icon composer-command-icon--${Re.kind}`,children:Re.kind==="skill"?l.jsx(c1,{}):l.jsx(kte,{})}),l.jsxs("span",{className:"composer-command-copy",children:[l.jsxs("strong",{children:[Re.kind==="skill"?"/":"@",Re.value.name]}),l.jsx("span",{children:Re.value.description||(Re.kind==="skill"?"加载并执行该技能":"将本轮交给该 Agent")})]}),l.jsx("kbd",{children:rt===ot?"↵":Re.kind==="skill"?"技能":"Agent"})]},`${Re.kind}-${Re.value.name}`))})]}):null,l.jsxs("div",{className:"composer-menu-wrap",children:[l.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:h||!k,onClick:()=>{Ue(null),Fe(Re=>!Re)},children:l.jsx(wa,{className:"icon"})}),Le&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>Fe(!1)}),l.jsxs("div",{className:"composer-menu",role:"menu",children:[l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>tt(pe),children:[l.jsx(a$,{className:"icon"}),"上传图片"]}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>tt(Se),children:[l.jsx(r$,{className:"icon"}),"上传文档或 PDF"]}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>tt(Oe),children:[l.jsx(Ate,{className:"icon"}),"上传视频"]})]})]})]}),P==="agent"&&K&&Ne&&Ie?l.jsx(kgt,{selectedAgentName:i?r:"",selectedRuntimeId:me,runtimeScope:ve,disabled:ee,onSelectRuntime:Ne,onSelectSandboxSession:Ie}):null,I&&P==="skill"&&Y?l.jsx(Qgt,{action:Q,onActionChange:Y,optimizationSource:D,onOptimizationSourceChange:q,disabled:p}):null,I&&P==="video"?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"new-chat-video-task-mode",children:l.jsx(Am,{label:"任务模式",hideLabel:!0,value:ie.taskMode,options:(ui=ye==null?void 0:ye.supportedModes)!=null&&ui.length?bY.filter(Re=>Re.value==="auto"||ye.supportedModes.includes(Re.value)):bY,onChange:Re=>ue(rt=>({...rt,taskMode:Re})),placeholder:"选择任务模式",disabled:p||ze||je||!ye})}),l.jsx("div",{className:"new-chat-video-generation-model",title:et||(ye==null?void 0:ye.generationModel),children:je?l.jsx(Hn,{className:"icon spin",role:"status","aria-label":"正在加载生成模型"}):l.jsx("strong",{children:(ye==null?void 0:ye.generationModel)||"模型不可用"})})]}):null,B&&U?l.jsx(ygt,{value:N,onChange:U,disabled:p,temporaryEnabled:re,deepseekHarnessEnabled:de}):null,I&&P==="agent"&&N==="agent"&&Vt&&V?l.jsxs("button",{type:"button",className:`new-chat-task-chip new-chat-task-chip--${Vt.value}`,"aria-label":`取消${Vt.label}任务`,disabled:p,onClick:zt,children:[l.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[l.jsx(Vt.icon,{className:"new-chat-task-chip__task-icon"}),l.jsx(za,{className:"new-chat-task-chip__remove-icon"})]}),l.jsx("span",{children:Vt.label})]}):null,l.jsxs("div",{className:`composer-input-stack${xe?" has-inline-asset":""}`,children:[xe?l.jsx(zgt,{asset:xe.asset,kind:xe.kind,label:xe.label,disabled:p||ze||!((ye==null?void 0:ye.assetStorageAvailable)??!1),unavailableReason:(ye==null?void 0:ye.assetStorageUnavailableReason)||"",onChange:Re=>ue(rt=>rt.taskMode==="first_last_frame"?{...rt,firstFrame:Re}:{...rt,referenceVideo:Re})}):null,l.jsx("textarea",{ref:De,className:"comp-input scroll",rows:I?4:1,value:s,disabled:h,placeholder:Ze,"aria-expanded":!!Te,onChange:Re=>{a(Re.target.value),Ge(Re.target.value,Re.target.selectionStart)},onSelect:Re=>{Ge(Re.currentTarget.value,Re.currentTarget.selectionStart)},onBlur:()=>setTimeout(()=>Ue(null),0),onKeyDown:Re=>{if(!dC(Re.nativeEvent)){if(Te){if(Re.key==="ArrowDown"&&an.length>0){Re.preventDefault(),Bt(rt=>(rt+1)%an.length);return}if(Re.key==="ArrowUp"&&an.length>0){Re.preventDefault(),Bt(rt=>(rt-1+an.length)%an.length);return}if((Re.key==="Enter"||Re.key==="Tab")&&an[ot]){Re.preventDefault(),Ft(an[ot]);return}if(Re.key==="Escape"){Re.preventDefault(),Ue(null);return}}if(Re.key==="Backspace"&&!s&&Re.currentTarget.selectionStart===0&&Re.currentTarget.selectionEnd===0){mn();return}Re.key==="Enter"&&!Re.shiftKey&&(Re.preventDefault(),mt&&At())}}}),I&&s.length===0?l.jsx("span",{className:"composer-placeholder-reveal","aria-hidden":"true",children:Ze},Ze):null]}),l.jsxs("div",{className:"composer-submit-actions",children:[t&&i&&P==="agent"?l.jsx(r0t,{cloudProvider:e,modelName:w,usage:E,systemTokenEstimate:S}):null,l.jsx(Fr.button,{type:"button",className:"comp-send",disabled:bt?!1:!mt,onClick:bt?c:At,"aria-label":bt?"停止生成":ze||Be?"查看视频生成进度":"发送",title:bt?"停止生成":et||void 0,whileTap:bt||mt?{scale:.9}:void 0,transition:{type:"spring",stiffness:600,damping:22},children:bt?l.jsx(ggt,{className:"icon"}):p||ze?l.jsx(Hn,{className:"icon spin"}):l.jsx(mgt,{className:"icon"})})]})]}),l.jsx(oh,{initial:!1,children:I&&F&&P==="video"?l.jsx(qgt,{config:ie,onChange:ue,enhancerModel:(ye==null?void 0:ye.enhancerModel)||"",assetStorageAvailable:(ye==null?void 0:ye.assetStorageAvailable)??!1,assetStorageUnavailableReason:(ye==null?void 0:ye.assetStorageUnavailableReason)||"",modelsLoading:je,modelsError:et,disabled:p||ze},"new-chat-video-controls"):null}),I&&P==="agent"&&N==="agent"&&be&&!Vt?l.jsx("div",{className:"task-shortcuts","aria-label":"选择任务类型",children:Ae.map(Re=>{const rt=Re.icon;return l.jsxs("button",{type:"button",className:"task-shortcut",disabled:h||p,onClick:()=>pn(Re),children:[l.jsx(rt,{}),l.jsx("span",{children:Re.label})]},Re.value)})}):null,I&&P==="agent"&&N==="agent"&&Vt?l.jsx("div",{className:"prompt-suggestions","aria-label":`${Vt.label}企业提示词`,children:Vt.prompts.map(Re=>{const rt=Vt.icon;return l.jsxs("button",{type:"button",className:"prompt-suggestion",disabled:h||p,onClick:()=>Yn(Re),children:[l.jsx(rt,{}),l.jsx("span",{children:Re})]},Re)})}):null,b&&l.jsxs("div",{className:"composer-meta",children:[l.jsxs("span",{className:"composer-session-line",children:["会话 ID:",l.jsx("span",{className:"composer-session-id",title:t||void 0,"aria-live":"polite",children:n?"初始化中":t||"—"}),t&&l.jsx("button",{type:"button",className:"composer-session-copy",title:Ye?"已复制":"复制会话 ID","aria-label":Ye?"已复制会话 ID":"复制会话 ID",onClick:()=>void Xt(),children:Ye?l.jsx(Nu,{}):l.jsx(EA,{})})]}),l.jsx("span",{className:"composer-meta-separator","aria-hidden":!0,children:"|"}),l.jsx("span",{children:"回答仅供参考"})]}),l.jsx("input",{ref:pe,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:en}),l.jsx("input",{ref:Se,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:en}),l.jsx("input",{ref:Oe,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:en})]})}function a0t({title:e,sub:t,cards:n,footer:i}){return l.jsxs("div",{className:"stk",children:[l.jsxs("div",{className:"stk-head",children:[l.jsx("h1",{className:"stk-title",children:e}),t&&l.jsx("p",{className:"stk-sub",children:t})]}),l.jsx("div",{className:"stk-list",children:n.map((r,s)=>l.jsxs(Fr.button,{type:"button",className:`stk-card ${r.disabled?"stk-card-disabled":""}`,onClick:r.disabled?void 0:r.onClick,disabled:r.disabled,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.18,ease:"easeOut",delay:s*.04},children:[l.jsx("span",{className:"stk-card-icon",children:l.jsx(r.icon,{})}),l.jsxs("span",{className:"stk-card-text",children:[l.jsx("span",{className:"stk-card-title",children:r.title}),l.jsx("span",{className:"stk-card-desc",children:r.desc})]}),r.status&&l.jsx("span",{className:"stk-card-status",children:r.status}),l.jsx(Hb,{className:"stk-card-arrow"})]},r.key))}),i&&l.jsx("div",{className:"stk-footer",children:i})]})}function o0t(){return l.jsxs("svg",{className:"ic-create-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M5 5.5h14v13H5z"}),l.jsx("path",{d:"m8 9 2 2-2 2M12.5 13H16"})]})}const l0t={preparing:"正在创建任务环境…",starting:"环境已就绪,正在启动 Codex…"};function c0t({capabilities:e,loading:t,preparationStage:n,error:i,onBack:r,onCancel:s,onCreate:a}){const[o,c]=m.useState(""),u=n!==null,d=(e==null?void 0:e.enabled)!==!0,f=t?"正在检查智能开发能力…":e!=null&&e.enabled?"":(e==null?void 0:e.reason)||(i?"":"当前无法使用智能模式,请返回后重试。"),h=t||u||d||!o.trim();async function p(){const g=o.trim();!g||h||await a(g)}function b(g){g.key==="Enter"&&!g.shiftKey&&!dC(g.nativeEvent)&&(g.preventDefault(),p())}return l.jsxs("section",{className:"ic-root","aria-labelledby":"intelligent-create-title",children:[l.jsxs("header",{className:"ic-header",children:[l.jsx("button",{type:"button",className:"ic-back",onClick:r,children:"返回"}),l.jsxs("div",{children:[l.jsx("h1",{id:"intelligent-create-title",children:"智能模式"}),l.jsx("p",{children:"描述目标后,沙箱中的 Codex 会判断你的意图,完成构建、调试和临时云端验证。"})]})]}),l.jsx("div",{className:"ic-main",children:l.jsxs("section",{className:"ic-panel ic-goal-panel","aria-busy":u,children:[l.jsxs("div",{className:"ic-goal-heading",children:[l.jsx("span",{className:"ic-create-icon-wrap",children:l.jsx(o0t,{})}),l.jsxs("div",{children:[l.jsx("h2",{children:"从目标开始"}),l.jsx("p",{children:"只需说明 Agent 要解决的问题;如有影响结果的关键信息,会在开始前向你确认。"})]})]}),l.jsx("label",{className:"ic-goal-label",htmlFor:"intelligent-goal",children:"目标描述"}),l.jsx("textarea",{id:"intelligent-goal",className:"ic-goal-input",value:o,onChange:g=>c(g.target.value),onKeyDown:b,placeholder:"例如:创建一个能读取销售数据、生成周报并校验输出格式的 Agent",rows:6,disabled:t||u||d,autoFocus:!0}),n?l.jsx("div",{className:"ic-preparation",role:"status","aria-live":"polite","aria-atomic":"true",children:l.jsxs("div",{children:[l.jsx("strong",{children:"目标已收到,马上开始实现"}),l.jsx(Fn,{as:"p",duration:2.4,spread:18,children:l0t[n]}),l.jsx("p",{className:"ic-preparation-next",children:"接下来会先梳理目标和实现方式,再编写、运行和验证 Agent。"})]})}):null,f?l.jsx("p",{className:t?"ic-state":"ic-error",role:t?"status":"alert",children:f}):null,i?l.jsx("p",{className:"ic-error",role:"alert",children:i}):null,l.jsxs("div",{className:"ic-actions",children:[l.jsx("span",{children:u?"目标会保留在当前页面,取消后可以继续修改":"开发环境最多保留 8 小时,可在当前任务中持续优化。"}),l.jsxs("div",{className:"ic-action-buttons",children:[u?l.jsx("button",{type:"button",className:"ic-secondary",onClick:s,children:"取消"}):null,l.jsx("button",{type:"button",className:"ic-primary",onClick:()=>void p(),disabled:h,"aria-busy":u,children:u?"准备中…":"开始构建"})]})]})]})})]})}function u0t(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function CI(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function Zge(e,t){const n=e==null?void 0:e.trim();if(!n)return!1;try{const i=new URL(n),r=new URL(t),s=i.pathname.replace(/\/+$/,""),a=r.pathname.replace(/\/+$/,"");return i.protocol==="https:"&&i.username===""&&i.password===""&&i.search===""&&i.hash===""&&i.hostname.toLowerCase()===r.hostname.toLowerCase()&&i.port===r.port&&s===a}catch{return!1}}function Kge(e,t){const n=[],i=new Set,r=s=>{var a,o,c;if(s.agentType==="llm"&&s.modelSource!=="ark"&&(s.modelSource==="custom"||(a=s.modelApiBase)!=null&&a.trim()&&!Zge(s.modelApiBase,t))){const u=u0t(s.name,"AGENT"),d=((o=s.modelProvider)==null?void 0:o.trim())??"",f=((c=s.modelApiBase)==null?void 0:c.trim())??"",h=d?CI(`CUSTOM_MODEL_${u}_PROVIDER`,i):void 0;h&&i.add(h);const p=f?CI(`CUSTOM_MODEL_${u}_API_BASE`,i):void 0;p&&i.add(p);const b=CI(`CUSTOM_MODEL_${u}_API_KEY`,i);i.add(b),n.push({providerKey:h,apiBaseKey:p,apiKeyKey:b,provider:d,apiBase:f,label:`${s.name.trim()||"自定义模型"} 模型 API Key`})}s.subAgents.forEach(r)};return r(e),n}function Jge(e,t){return Kge(e,t).map(({apiKeyKey:n,label:i})=>({key:n,label:i}))}const e0e="MODEL_AGENT_API_KEY_ID",t0e="MODEL_AGENT_API_KEY_NAME";function d0t(e){return e==="MODEL_AGENT_API_KEY"||e===e0e||e===t0e}function kO(e,t){var i,r,s;if(e.modelSource==="ark"||e.modelSource==="custom")return e.modelSource;if((r=(i=e.deployment)==null?void 0:i.modelApiKeyId)!=null&&r.trim())return"ark";const n=(s=e.modelApiBase)==null?void 0:s.trim();return!n||Zge(n,Sc(t))?"ark":"custom"}function f0t(e,t){var h,p,b,g;const n=new Map(t.map(({key:O,value:y})=>[O,y.trim()])),i=((p=(h=e.deployment)==null?void 0:h.modelApiKeyId)==null?void 0:p.trim())??"",r=((g=(b=e.deployment)==null?void 0:b.modelApiKeyName)==null?void 0:g.trim())??"",s=n.get(e0e)??"",a=n.get(t0e)??"",o=i||s,c=i?r||(s===i?a:""):s?a:r||a,u=!!o&&e.modelSource!=="custom",d=O=>{var E,S;const y=O.cloudProvider??e.cloudProvider??"volcengine",v=((E=O.modelProvider)==null?void 0:E.trim())??"",x=Lm(O.modelName),w=(S=O.modelApiBase)!=null&&S.trim()?kO(O,y):"custom";return{...O,modelName:x.modelName,modelProvider:x.modelProvider||v,modelSource:O.modelSource==="ark"||O.modelSource==="custom"?O.modelSource:O.agentType==="llm"?u?"ark":w:O.modelSource,subAgents:O.subAgents.map(d),...O.workflow?{workflow:{...O.workflow,nodes:O.workflow.nodes.map(k=>({...k,agent:d(k.agent)}))}}:{}}},f=d(e);return{...f,deployment:{...f.deployment??{feishuEnabled:!1},modelApiKeyId:o,modelApiKeyName:c}}}function n0e(e,t){const n=e.cloudProvider??t,i=kO(e,n);return{...e,cloudProvider:n,modelSource:i,modelProvider:i==="ark"?"":e.modelProvider,modelApiBase:i==="ark"?"":e.modelApiBase,subAgents:e.subAgents.map(r=>n0e(r,n))}}function fC(e,t){return t[e.key]??e.defaultValue??""}function i0e(e){const t=new Map,n={};for(const i of e){for(const r of i.env){const s=t.get(r.key);(!s||r.required&&!s.required)&&t.set(r.key,r)}i.enableFlag&&(t.set(i.enableFlag,{key:i.enableFlag,required:!0}),n[i.enableFlag]="true")}return{specs:[...t.values()],fixedValues:n}}function h0t(e,t){return i0e([{env:e}]).specs.filter(i=>!i.hidden).map(i=>({...i,value:i.serverManaged?i.placeholder||"由服务端注入":fC(i,t)}))}function r0e(e,t){const n=new Map;for(const i of e){if(i.serverManaged)continue;const r=fC(i,t);r.trim()&&n.set(i.key,r)}return[...n].map(([i,r])=>({key:i,value:r}))}function p0t(e,t){return s0e(e,t)[0]}function s0e(e,t){return e.filter(n=>n.required&&!n.serverManaged&&!fC(n,t).trim())}function a0e(e){return[...new Set((e.requiredBy??[]).map(t=>t.trim()).filter(Boolean))]}function EY(e){const t=a0e(e);return t.length?`优化项「${t.join("、")}」依赖此配置。`:void 0}function m0t(e){const t=a0e(e);return t.length?`优化项「${t.join("、")}」依赖此配置,请填写 ${e.key}。`:`请填写 ${e.comment||e.key}(${e.key})。`}function tB(e,t){if(e.format!=="json")return;const n=fC(e,t).trim();if(n)try{JSON.parse(n);return}catch{return"JSON 格式不正确"}}function o0e(e,t){for(const n of e){const i=tB(n,t);if(i)return{spec:n,error:i}}}const g0t=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let i=0;i<8;i++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function b0t(e){let t=4294967295;for(let n=0;n>>8;return(t^4294967295)>>>0}function Nr(e,t){e.push(t&255,t>>>8&255)}function Mo(e,t){e.push(t&255,t>>>8&255,t>>>16&255,t>>>24&255)}const kY=2048,NI=20,TY=0;function O0t(e){const t=new TextEncoder,n=[],i=[];let r=0;for(const p of e){const b=t.encode(p.path),g=t.encode(p.content),O=b0t(g),y=g.length,v=[];Mo(v,67324752),Nr(v,NI),Nr(v,kY),Nr(v,TY),Nr(v,0),Nr(v,0),Mo(v,O),Mo(v,y),Mo(v,y),Nr(v,b.length),Nr(v,0);const x=Uint8Array.from(v);n.push(x,b,g),i.push({nameBytes:b,dataBytes:g,crc:O,size:y,offset:r}),r+=x.length+b.length+g.length}const s=r,a=[];let o=0;for(const p of i){const b=[];Mo(b,33639248),Nr(b,NI),Nr(b,NI),Nr(b,kY),Nr(b,TY),Nr(b,0),Nr(b,0),Mo(b,p.crc),Mo(b,p.size),Mo(b,p.size),Nr(b,p.nameBytes.length),Nr(b,0),Nr(b,0),Nr(b,0),Nr(b,0),Mo(b,0),Mo(b,p.offset);const g=Uint8Array.from(b);a.push(g,p.nameBytes),o+=g.length+p.nameBytes.length}const c=[];Mo(c,101010256),Nr(c,0),Nr(c,0),Nr(c,i.length),Nr(c,i.length),Mo(c,o),Mo(c,s),Nr(c,0);const u=[...n,...a,Uint8Array.from(c)],d=u.reduce((p,b)=>p+b.length,0),f=new Uint8Array(d);let h=0;for(const p of u)f.set(p,h),h+=p.length;return new Blob([f],{type:"application/zip"})}function V_({message:e,className:t="",onRetry:n,retryLabel:i="重试部署",defaultExpanded:r=!0}){const[s,a]=m.useState(r),[o,c]=m.useState(!1),[u,d]=m.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 l.jsxs("div",{className:`deploy-error-message${s?" is-expanded":""}${t?` ${t}`:""}`,role:"alert",children:[l.jsx("p",{className:"deploy-error-message-text",children:e}),l.jsxs("div",{className:"deploy-error-message-actions",children:[n&&l.jsxs("button",{type:"button",className:"deploy-error-retry",disabled:u,onClick:()=>void h(),children:[u?l.jsx(Hn,{className:"spin"}):l.jsx(vTe,{}),u?"重试中…":i]}),l.jsx("button",{type:"button",title:s?"收起错误信息":"展开完整错误信息","aria-label":s?"收起错误信息":"展开完整错误信息",onClick:()=>a(p=>!p),children:s?l.jsx(pTe,{}):l.jsx(Wp,{})}),l.jsx("button",{type:"button",title:o?"已复制":"复制完整错误信息","aria-label":o?"已复制":"复制完整错误信息",onClick:()=>void f(),children:o?l.jsx(Nu,{}):l.jsx(EA,{})})]})]})}function y0t(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m7 9.5 5 5 5-5"})})}function x0t(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 12.5 3.5 3.5 7.5-8"})})}function hC({ariaLabel:e,value:t,valueLabel:n,placeholder:i,options:r,disabled:s=!1,searchValue:a,searchPlaceholder:o="搜索资源名称",loading:c=!1,hasMore:u=!1,emptyMessage:d="暂无可用选项",onSearchChange:f,onLoadMore:h,onChange:p}){const b=m.useId(),g=m.useRef(null),O=m.useRef(null),y=m.useRef(null),v=m.useRef(null),x=m.useRef([]),[w,E]=m.useState(!1),[S,k]=m.useState(0),T=r.find($=>$.value===t),C=(T==null?void 0:T.label)??(t?n:void 0),A=a!==void 0&&!!f,N=()=>{E(!1),A&&a&&(f==null||f(""))};m.useEffect(()=>{if(!w)return;const $=j=>{j.target instanceof Node&&g.current&&!g.current.contains(j.target)&&N()};return window.addEventListener("pointerdown",$),()=>window.removeEventListener("pointerdown",$)},[w,f,a,A]),m.useEffect(()=>{var $,j;if(w){if(A){($=y.current)==null||$.focus();return}(j=x.current[S])==null||j.focus()}},[w,A]),m.useEffect(()=>{var $;!w||A&&document.activeElement===y.current||($=x.current[S])==null||$.focus()},[S,w,A]),m.useEffect(()=>{k($=>Math.min($,Math.max(0,r.length-1)))},[r.length]),m.useEffect(()=>{if(!w||!u||c||!h)return;const $=window.requestAnimationFrame(()=>{const j=v.current;j&&j.scrollHeight<=j.clientHeight+1&&h()});return()=>window.cancelAnimationFrame($)},[u,c,h,w,r.length]);const P=($=1)=>{const j=r.findIndex(F=>F.value===t),I=j>=0?j:$===1?0:Math.max(0,r.length-1);k(I),E(!0)},Q=$=>{r.length!==0&&k(($+r.length)%r.length)},D=$=>{var j;p($.value),N(),(j=O.current)==null||j.focus()};return l.jsxs("div",{className:"pp-deployment-select",ref:g,onKeyDown:$=>{var I,F;const j=$.target===y.current;if($.key==="Escape"&&w){$.preventDefault(),N(),(I=O.current)==null||I.focus();return}if($.key==="Tab"){N();return}if(j){$.key==="ArrowDown"&&r.length>0&&($.preventDefault(),k(0),(F=x.current[0])==null||F.focus());return}$.key==="ArrowDown"?($.preventDefault(),w?Q(S+1):P(1)):$.key==="ArrowUp"?($.preventDefault(),w?Q(S-1):P(-1)):w&&$.key==="Home"?($.preventDefault(),k(0)):w&&$.key==="End"&&($.preventDefault(),k(Math.max(0,r.length-1)))},children:[l.jsxs("button",{ref:O,type:"button",className:"pp-deployment-select-trigger","aria-label":e,"aria-haspopup":"listbox","aria-expanded":w,"aria-controls":w?b:void 0,disabled:s,onClick:()=>{w?N():P()},children:[l.jsx("span",{className:C?void 0:"is-placeholder",children:C??i}),l.jsx(y0t,{className:`pp-deployment-select-chevron${w?" is-open":""}`})]}),w&&l.jsxs("div",{className:"pp-deployment-select-menu",children:[A&&l.jsx("div",{className:"pp-deployment-select-search",children:l.jsx("input",{ref:y,type:"search",value:a,"aria-label":`搜索${e}`,placeholder:o,autoComplete:"off",onChange:$=>f==null?void 0:f($.currentTarget.value)})}),l.jsx("div",{id:b,ref:v,className:"pp-deployment-select-options",role:"listbox","aria-label":e,"aria-busy":c||void 0,onScroll:$=>{if(!u||c||!h)return;const j=$.currentTarget;j.scrollHeight-j.scrollTop-j.clientHeight<=24&&h()},children:r.map(($,j)=>{const I=$.value===t;return l.jsxs("button",{ref:F=>{x.current[j]=F},type:"button",role:"option","aria-selected":I,tabIndex:j===S?0:-1,className:`pp-deployment-select-option${I?" is-selected":""}`,title:$.description,onFocus:()=>k(j),onClick:()=>D($),children:[l.jsxs("span",{className:"pp-deployment-select-copy",children:[l.jsxs("span",{className:"pp-deployment-select-name",children:[$.label,$.badge&&l.jsx("span",{className:"pp-deployment-select-badge",children:$.badge})]}),$.description&&l.jsx("small",{children:$.description})]}),I&&l.jsx(x0t,{})]},$.value)})}),c&&l.jsx("div",{className:"pp-deployment-select-state","aria-live":"polite",children:"正在加载更多资源…"}),!c&&r.length===0&&l.jsx("div",{className:"pp-deployment-select-state",children:d})]})]})}const v0t=[{value:"auto",label:"自动创建",description:"部署时自动创建所需资源",badge:"推荐"},{value:"create",label:"指定名称",description:"使用指定名称创建或复用资源"},{value:"existing",label:"选择已有",description:"从当前账号的已有资源中选择"}],w0t={tos:{mode:"auto"},cr:{mode:"auto"},codePipeline:{mode:"auto"}};function xg(e){const[t,n]=m.useState([]),[i,r]=m.useState(""),[s,a]=m.useState(1),[o,c]=m.useState(0),[u,d]=m.useState(!1),[f,h]=m.useState(!1),[p,b]=m.useState(null),[g,O]=m.useState(""),[y,v]=m.useState(""),[x,w]=m.useState(""),[E,S]=m.useState(0),k=m.useRef(!1),T=m.useRef(null),C=e?JSON.stringify(e):"",A=e?JSON.stringify({...e,search:y}):"";m.useEffect(()=>{const $=window.setTimeout(()=>{v(g.trim())},250);return()=>window.clearTimeout($)},[g]),m.useEffect(()=>{O(""),v("")},[C]);const N=m.useCallback(($,j)=>{var B;if(!A)return;(B=T.current)==null||B.abort();const I=new AbortController;T.current=I;const F=JSON.parse(A);j&&n([]),k.current=!0,h(!0),b(null),mne({...F,pageNumber:$,pageSize:100},I.signal).then(M=>{n(Y=>{if(j)return M.items;const q=new Set(Y.map(U=>`${U.id}\0${U.name}`));return[...Y,...M.items.filter(U=>!q.has(`${U.id}\0${U.name}`))]}),r(M.serviceRegion),a(M.pageNumber),c(M.totalCount),d(M.hasMore),w(A)}).catch(M=>{M instanceof DOMException&&M.name==="AbortError"||(w(A),b(M instanceof Error?M.message:String(M)))}).finally(()=>{T.current===I&&(T.current=null,k.current=!1,h(!1))})},[A]);m.useEffect(()=>{var $;if(!A){($=T.current)==null||$.abort(),T.current=null,k.current=!1,n([]),r(""),a(1),c(0),d(!1),w(""),h(!1),b(null);return}return N(1,!0),()=>{var j;return(j=T.current)==null?void 0:j.abort()}},[N,A,E]);const P=!!A&&x===A&&g.trim()===y,Q=m.useCallback(()=>{w(""),S($=>$+1)},[]),D=m.useCallback(()=>{!P||k.current||!u||N(s+1,!1)},[u,N,s,P]);return{items:t,serviceRegion:i,totalCount:o,hasMore:P?u:!1,loading:!!A&&(!P||f),error:p,search:g,setSearch:O,reload:Q,loadMore:D}}function S0t(e,t){return e.map(n=>({value:n[t],label:n.name,description:[n.status,n.region,n.id].filter(Boolean).join(" · ")}))}function vg({ariaLabel:e,value:t,valueLabel:n,state:i,disabled:r,valueField:s="id",onChange:a}){const o=m.useMemo(()=>S0t(i.items,s),[i.items,s]);return l.jsxs("div",{className:"pp-resource-picker",children:[l.jsx(hC,{ariaLabel:e,value:t,valueLabel:n,placeholder:i.loading?"正在加载…":"请选择已有资源",options:o,disabled:r||!!i.error,searchValue:i.search,searchPlaceholder:"搜索资源名称",loading:i.loading,hasMore:i.hasMore,emptyMessage:i.search.trim()?"未找到匹配资源":"暂无可用资源",onSearchChange:i.setSearch,onLoadMore:i.loadMore,onChange:c=>{const u=i.items.find(d=>d[s]===c);u&&a(u)}}),i.error?l.jsxs("div",{className:"pp-resource-error",role:"alert",children:[l.jsx("span",{children:i.error}),l.jsx("button",{type:"button",onClick:i.reload,children:"重试"})]}):i.loading&&i.items.length===0?l.jsx("span",{className:"pp-resource-status","aria-live":"polite",children:i.search.trim()?"正在搜索云资源…":"正在加载云资源…"}):i.items.length===0?l.jsx("span",{className:"pp-resource-status",children:i.search.trim()?"未找到匹配资源。":"暂无可用资源。"}):i.serviceRegion?l.jsxs("span",{className:"pp-resource-status",children:["实际服务区域:",i.serviceRegion," · 已加载 ",i.items.length,i.totalCount>0?`/${i.totalCount}`:""]}):null]})}function jI({resource:e,value:t,disabled:n,onChange:i}){return l.jsxs("label",{className:"pp-resource-field pp-resource-mode",children:[l.jsx("span",{children:"配置方式"}),l.jsx(hC,{ariaLabel:`${e}配置方式`,value:t,placeholder:"请选择配置方式",options:v0t,disabled:n,onChange:r=>i(r)})]})}function wg({label:e,value:t,placeholder:n,disabled:i,onChange:r}){return l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:e}),l.jsx("input",{value:t,placeholder:n,disabled:i,autoComplete:"off",onChange:s=>r(s.currentTarget.value)})]})}function RI({items:e,note:t}){return l.jsxs("div",{className:"pp-resource-auto-names",children:[l.jsx("span",{children:"自动创建名称"}),l.jsx("dl",{children:e.map(n=>l.jsxs("div",{children:[l.jsx("dt",{children:n.label}),l.jsx("dd",{title:n.name,children:n.name})]},n.label))}),t&&l.jsx("small",{children:t})]})}function E0t(e){var t,n,i,r,s,a,o,c;return e.tos.mode!=="auto"&&!((t=e.tos.bucket)!=null&&t.trim())?"请填写或选择 TOS 存储桶。":e.cr.mode!=="auto"&&(!((n=e.cr.instance)!=null&&n.trim())||!((i=e.cr.namespace)!=null&&i.trim())||!((r=e.cr.repository)!=null&&r.trim()))?"请完整填写或选择 CR 实例、命名空间和镜像仓库。":e.codePipeline.mode!=="auto"&&(!((s=e.codePipeline.workspaceName)!=null&&s.trim())||!((a=e.codePipeline.pipelineName)!=null&&a.trim()))?"请完整填写或选择 CodePipeline Workspace 和 Pipeline。":e.codePipeline.mode==="existing"&&(!((o=e.codePipeline.workspaceId)!=null&&o.trim())||!((c=e.codePipeline.pipelineId)!=null&&c.trim()))?"请选择已有的 CodePipeline Workspace 和兼容 Pipeline。":null}function k0t({value:e,agentName:t,runtimeName:n,region:i,disabled:r,validationError:s,onChange:a}){const o=t.trim()||"agentkit-app",c=n.trim()||o,u=i&&i!=="cn-beijing"?`agentkit-platform-{账号 ID}-${i.startsWith("cn-")?i.slice(3):i}`:"agentkit-platform-{账号 ID}",d=xg(e.tos.mode==="existing"?{kind:"tos-bucket",region:i}:null),f=xg(e.cr.mode==="existing"?{kind:"cr-registry",region:i}:null),h=xg(e.cr.mode==="existing"&&e.cr.instance?{kind:"cr-namespace",region:i,registry:e.cr.instance}:null),p=xg(e.cr.mode==="existing"&&e.cr.instance&&e.cr.namespace?{kind:"cr-repository",region:i,registry:e.cr.instance,namespace:e.cr.namespace}:null),b=xg(e.codePipeline.mode==="existing"?{kind:"cp-workspace",region:i}:null),g=xg(e.codePipeline.mode==="existing"&&e.codePipeline.workspaceId?{kind:"cp-pipeline",region:i,workspaceId:e.codePipeline.workspaceId}:null),O=y=>a({...e,...y});return l.jsxs("div",{className:"pp-resource-list",children:[l.jsxs("div",{className:"pp-resource-item",children:[l.jsx("div",{className:"pp-resource-name",children:"TOS 存储桶"}),l.jsxs("div",{className:"pp-resource-grid",children:[l.jsx(jI,{resource:"TOS 存储桶",value:e.tos.mode,disabled:r,onChange:y=>O({tos:{mode:y}})}),e.tos.mode==="create"&&l.jsx(wg,{label:"存储桶名称",value:e.tos.bucket??"",placeholder:"输入存储桶名称",disabled:r,onChange:y=>O({tos:{...e.tos,bucket:y}})}),e.tos.mode==="existing"&&l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"已有存储桶"}),l.jsx(vg,{ariaLabel:"已有 TOS 存储桶",value:e.tos.bucket??"",valueLabel:e.tos.bucket,state:d,disabled:r,onChange:y=>O({tos:{...e.tos,bucket:y.name}})})]}),e.tos.mode==="auto"&&l.jsx(RI,{items:[{label:"存储桶",name:u}],note:"账号 ID 在部署时按当前云账号解析。"})]})]}),l.jsxs("div",{className:"pp-resource-item",children:[l.jsx("div",{className:"pp-resource-name",children:"容器镜像仓库(CR)"}),l.jsxs("div",{className:"pp-resource-grid",children:[l.jsx(jI,{resource:"CR",value:e.cr.mode,disabled:r,onChange:y=>O({cr:{mode:y}})}),e.cr.mode==="create"&&l.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[l.jsx(wg,{label:"实例名称",value:e.cr.instance??"",placeholder:"CR 实例",disabled:r,onChange:y=>O({cr:{...e.cr,instance:y}})}),l.jsx(wg,{label:"命名空间",value:e.cr.namespace??"",placeholder:"命名空间",disabled:r,onChange:y=>O({cr:{...e.cr,namespace:y}})}),l.jsx(wg,{label:"镜像仓库",value:e.cr.repository??"",placeholder:"镜像仓库",disabled:r,onChange:y=>O({cr:{...e.cr,repository:y}})})]}),e.cr.mode==="existing"&&l.jsxs("div",{className:"pp-resource-fields pp-resource-fields-three",children:[l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"CR 实例"}),l.jsx(vg,{ariaLabel:"已有 CR 实例",value:e.cr.instance??"",valueLabel:e.cr.instance,state:f,disabled:r,valueField:"name",onChange:y=>O({cr:{mode:"existing",instance:y.name}})})]}),l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"命名空间"}),l.jsx(vg,{ariaLabel:"已有 CR 命名空间",value:e.cr.namespace??"",valueLabel:e.cr.namespace,state:h,disabled:r||!e.cr.instance,valueField:"name",onChange:y=>O({cr:{...e.cr,namespace:y.name,repository:void 0}})})]}),l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"镜像仓库"}),l.jsx(vg,{ariaLabel:"已有 CR 镜像仓库",value:e.cr.repository??"",valueLabel:e.cr.repository,state:p,disabled:r||!e.cr.namespace,valueField:"name",onChange:y=>O({cr:{...e.cr,repository:y.name}})})]})]}),e.cr.mode==="auto"&&l.jsx(RI,{items:[{label:"CR 实例",name:"agentkit-platform-{账号 ID}"},{label:"命名空间",name:"agentkit"},{label:"镜像仓库",name:`${o}-{4 位随机字符}`}],note:"账号 ID 在部署时解析,镜像仓库的随机字符在部署时生成。"})]})]}),l.jsxs("div",{className:"pp-resource-item",children:[l.jsx("div",{className:"pp-resource-name",children:"CodePipeline"}),l.jsxs("div",{className:"pp-resource-grid",children:[l.jsx(jI,{resource:"CodePipeline",value:e.codePipeline.mode,disabled:r,onChange:y=>O({codePipeline:{mode:y}})}),e.codePipeline.mode==="create"&&l.jsxs("div",{className:"pp-resource-fields",children:[l.jsx(wg,{label:"Workspace 名称",value:e.codePipeline.workspaceName??"",placeholder:"Workspace 名称",disabled:r,onChange:y=>O({codePipeline:{...e.codePipeline,workspaceName:y}})}),l.jsx(wg,{label:"Pipeline 名称",value:e.codePipeline.pipelineName??"",placeholder:"Pipeline 名称",disabled:r,onChange:y=>O({codePipeline:{...e.codePipeline,pipelineName:y}})})]}),e.codePipeline.mode==="existing"&&l.jsxs("div",{className:"pp-resource-fields",children:[l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"Workspace"}),l.jsx(vg,{ariaLabel:"已有 CodePipeline Workspace",value:e.codePipeline.workspaceId??"",valueLabel:e.codePipeline.workspaceName,state:b,disabled:r,onChange:y=>O({codePipeline:{mode:"existing",workspaceId:y.id,workspaceName:y.name}})})]}),l.jsxs("label",{className:"pp-resource-field",children:[l.jsx("span",{children:"兼容 Pipeline"}),l.jsx(vg,{ariaLabel:"已有 AgentKit CodePipeline",value:e.codePipeline.pipelineId??"",valueLabel:e.codePipeline.pipelineName,state:g,disabled:r||!e.codePipeline.workspaceId,onChange:y=>O({codePipeline:{...e.codePipeline,pipelineId:y.id,pipelineName:y.name}})})]})]}),e.codePipeline.mode==="auto"&&l.jsx(RI,{items:[{label:"Workspace",name:"agentkit-cli-workspace"},{label:"Pipeline",name:c}],note:"Pipeline 与 Runtime 名称一致。"})]})]}),s&&l.jsx("p",{className:"pp-resource-validation",role:"alert",children:s})]})}const T0t=5e4;function _0t(e,t){if(!e)return t;if(!t||e.endsWith(t))return e;if(t.startsWith(e))return t;const n=e.split(` `),i=t.split(` `),r=Math.min(n.length,i.length,260);for(let s=r;s>0;s-=1){const a=n.slice(-s).join(` `),o=i.slice(0,s).join(` `);if(a===o){const c=i.slice(s).join(` `);return c?`${e} ${c}`:e}}return`${e} -${t}`}function l0t(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(-t);const i=n.indexOf(` -`);return i>=0&&(n=n.slice(i+1)),{text:n,omitted:!0}}function bG(e,t,n=a0t){const i=o0t((e==null?void 0:e.text)??"",t.text??""),r=l0t(i,n),s=r.text?r.text.split(` -`).length:0,a=!!(t.snapshotTruncated||t.truncated),o=!!(e!=null&&e.omittedEarly||r.omitted);return{...t,text:r.text,lineCount:s,truncated:!!(e!=null&&e.truncated||t.truncated||o),omittedEarly:o,snapshotTruncated:!!(e!=null&&e.snapshotTruncated||a)}}uo.registerLanguage("python",qle);uo.registerLanguage("typescript",ice);uo.registerLanguage("javascript",Qle);uo.registerLanguage("json",Ble);uo.registerLanguage("yaml",rce);uo.registerLanguage("markdown",Vle);uo.registerLanguage("bash",Dle);uo.registerLanguage("ini",Ile);uo.registerLanguage("dockerfile",rVe);uo.registerLanguage("makefile",zle);function OG(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}const c0t=m.lazy(()=>xd(()=>Promise.resolve().then(()=>CQ),void 0)),yf=()=>{};function u0t({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M2.75 12s3.35-5.25 9.25-5.25S21.25 12 21.25 12 17.9 17.25 12 17.25 2.75 12 2.75 12Z"}),l.jsx("circle",{cx:"12",cy:"12",r:"2.5"})]})}function d0t({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M3 3l18 18"}),l.jsx("path",{d:"M9.7 6.95A9.7 9.7 0 0 1 12 6.68c5.9 0 9.25 5.32 9.25 5.32a16 16 0 0 1-2.28 2.85"}),l.jsx("path",{d:"M14.35 14.55A3.25 3.25 0 0 1 9.5 10.2"}),l.jsx("path",{d:"M6.25 8.12A16.4 16.4 0 0 0 2.75 12S6.1 17.32 12 17.32c.8 0 1.55-.1 2.25-.27"})]})}const ED={status:"hidden",apiKeyId:"",value:"",error:""};function f0t({open:e,isUpdate:t,title:n,description:i,confirmLabel:r,onCancel:s,onConfirm:a}){const o=m.useRef(null);return m.useEffect(()=>{var d;if(!e)return;const c=document.body.style.overflow;document.body.style.overflow="hidden",(d=o.current)==null||d.focus();const u=f=>{f.key==="Escape"&&s()};return window.addEventListener("keydown",u),()=>{document.body.style.overflow=c,window.removeEventListener("keydown",u)}},[s,e]),e?zi.createPortal(l.jsx("div",{className:"code-browser-backdrop pp-confirm-backdrop",onMouseDown:c=>{c.target===c.currentTarget&&s()},children:l.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:[l.jsxs("header",{className:"code-browser-head pp-confirm-head",children:[l.jsxs("div",{className:"code-browser-title-wrap",children:[l.jsx("span",{className:"code-browser-title-icon pp-confirm-icon","aria-hidden":"true",children:l.jsx(cTe,{})}),l.jsx("h2",{id:"pp-confirm-title",children:n??(t?"确认更新":"确认部署")})]}),l.jsx("button",{type:"button",className:"code-browser-close",onClick:s,"aria-label":"关闭部署确认",children:l.jsx(Ma,{"aria-hidden":"true"})})]}),l.jsx("div",{className:"pp-confirm-body",children:l.jsx("p",{id:"pp-confirm-description",children:i??(t?"将更新并发布到当前云端 Runtime,过程可能需要几分钟。确定继续吗?":"将创建新的云端 Runtime,部署过程可能需要几分钟。确定继续吗?")})}),l.jsxs("footer",{className:"pp-confirm-actions",children:[l.jsx("button",{ref:o,type:"button",onClick:s,children:"取消"}),l.jsx("button",{type:"button",className:"is-primary",onClick:a,children:r??(t?"确定更新":"确定部署")})]})]})}),document.body):null}function h0t({value:e,disabled:t,onChange:n}){const[i,r]=m.useState([]),[s,a]=m.useState(!0),[o,c]=m.useState(null),[u,d]=m.useState(0);m.useEffect(()=>{const p=new AbortController;return a(!0),c(null),g$(p.signal).then(b=>r(b)).catch(b=>{b instanceof DOMException&&b.name==="AbortError"||(r([]),c(b instanceof Error?b.message:String(b)))}).finally(()=>{p.signal.aborted||a(!1)}),()=>p.abort()},[u]);const f=m.useMemo(()=>[...i].sort((p,b)=>Number(b.isCurrent)-Number(p.isCurrent)).map(p=>({value:p.uid,label:p.name.trim()||"未命名用户池",description:p.domain||p.uid,badge:p.isCurrent?"当前用户池":void 0})),[i]),h=i.find(p=>p.uid===e);return l.jsxs("div",{className:"pp-user-pool-picker",children:[l.jsx(oC,{ariaLabel:"部署用户池",value:e,placeholder:s?"正在加载用户池…":"请选择用户池",options:f,disabled:t||s||!!o,onChange:n}),o?l.jsxs("div",{className:"pp-user-pool-error",role:"alert",children:[l.jsx("span",{children:o}),l.jsx("button",{type:"button",onClick:()=>d(p=>p+1),children:"重试"})]}):s?l.jsxs("span",{className:"pp-user-pool-status","aria-live":"polite",children:[l.jsx(qn,{"aria-hidden":"true",className:"pp-user-pool-spinner"}),"正在加载 Identity 用户池…"]}):i.length===0?l.jsx("span",{className:"pp-user-pool-status",children:"当前账号下暂无 Identity 用户池。"}):h!=null&&h.isCurrent?l.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 的登录 JWT 将透传访问此 Runtime。"}):h?l.jsx("div",{className:"pp-user-pool-error",role:"alert",children:l.jsx("span",{children:"所选用户池不是当前 Studio 使用的用户池,部署后无法从 Studio 调用此 Runtime。"})}):l.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 使用的用户池已在列表中标注。"})]})}const p0t=[{value:"api_key",label:"API Key",description:"默认方式,使用 Runtime API Key 访问"},{value:"user_pool",label:"用户池",description:"使用 Identity 用户池签发的 JWT"}],m0t={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"},yG={dockerfile:"dockerfile","requirements.txt":"plaintext","requirements-dev.txt":"plaintext",".env":"ini",".gitignore":"plaintext",makefile:"makefile"};function xG(e){return e.replace(/&/g,"&").replace(//g,">")}function g0t(e){const n=(e.split("/").pop()??e).toLowerCase();if(yG[n])return yG[n];if(n.startsWith("dockerfile"))return"dockerfile";if(n.startsWith(".env"))return"ini";const i=n.lastIndexOf(".");if(i===-1)return null;const r=n.slice(i+1);return m0t[r]??null}function b0t(e,t){try{const n=g0t(t);return n&&uo.getLanguage(n)?uo.highlight(e,{language:n,ignoreIllegals:!0}).value:n===null?uo.highlightAuto(e).value:xG(e)}catch{return xG(e)}}const O0t=[{phase:"build",label:"构建镜像"},{phase:"deploy",label:"部署"},{phase:"publish",label:"发布"}],y0t=[{phase:"upload",label:"上传代码包"},{phase:"build",label:"镜像打包"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}],x0t={phase:"update",label:"更新实例配置"},v0t={phase:"evaluation",label:"创建评测集"};function w0t(e){return e?!e.memory.shortTerm||(e.shortTermBackend||"local")==="local":!1}function S0t(e,t){const n=Number(e),i=Number(t);return!e.trim()||!t.trim()||!Number.isSafeInteger(n)||!Number.isSafeInteger(i)||n<1||i<1?{valid:!1,error:"实例数必须为大于 0 的整数。"}:n>i?{valid:!1,error:"最小实例数不能大于最大实例数。"}:{valid:!0,min:n,max:i}}function E0t(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function k0t(e,t=!1){return[...e.children.values()].sort((n,i)=>{const r=n.children.size>0&&n.path===void 0,s=i.children.size>0&&i.path===void 0;return r!==s?t?r?1:-1:r?-1:1:n.name.localeCompare(i.name)})}function T0t(e="",t=""){return{id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,key:e,value:t}}function _0t({left:e,right:t}){const[n,i]=m.useState(null);return m.useLayoutEffect(()=>{const r=document.getElementById("veadk-page-header-left"),s=document.getElementById("veadk-page-header-actions");r&&s&&i({left:r,right:s})},[]),n?l.jsxs(l.Fragment,{children:[zi.createPortal(e,n.left),zi.createPortal(t,n.right)]}):l.jsxs("header",{className:"pp-toolbar",children:[e,t]})}function lC({project:e,embedded:t=!1,deployDisabledReason:n,agentDraft:i,agentName:r,agentCount:s,releaseConfiguration:a,onChange:o,onDeploy:c,onAgentAdded:u,onDeploymentComplete:d,deploymentActionLabel:f="部署",deploymentConfirmation:h,deploymentActionTargetId:p,deploymentRuntimeId:b,deploymentRuntimeName:g,deploymentRuntimeNameCustomized:O=!1,onDeploymentRuntimeNameChange:y,onDeploymentStarted:v,onDeploymentTaskChange:x,feishuEnabled:w=!1,onFeishuEnabledChange:E,deploymentEnv:S=[],requiredSecretEnv:k=[],requiredSecretEnvValues:T,onRequiredSecretEnvChange:C,deploymentEnvValues:A={},onDeploymentEnvChange:R,network:P,onNetworkChange:B,cloudProvider:I="volcengine",deployRegion:$=Ri(I),onDeployRegionChange:j,deploymentTelemetry:D={source:"unknown",createMode:"unknown",aiAssisted:!1},onBack:F,backLabel:Q="返回配置",onExportYaml:M,deploymentPrimaryPane:G,deployDisabled:H=!1}){var sa,fs,hs,ur,wr,xo;const U=typeof o=="function",q=!!b,ie=w0t(i),fe=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,me=m.useMemo(()=>Oge(fe),[fe]),[ce,K]=m.useState(null),ee=q?g??fe:O?g??"":ce??me,ye=q?null:iC(ee),[ve,Re]=m.useState(null),[Pe,De]=m.useState(!1),he=`${$}\0${ee.trim()}`,Ee=m.useRef(he);Ee.current=he;const Oe=(ve==null?void 0:ve.key)===he?ve.message:null,Le=ye??Oe,Fe=((fs=(sa=i==null?void 0:i.deployment)==null?void 0:sa.modelApiKeyId)==null?void 0:fs.trim())??"",_e=((hs=i==null?void 0:i.harnessSidecar)==null?void 0:hs.enabled)===!0,[Ye,dt]=m.useState(((wr=(ur=e==null?void 0:e.files)==null?void 0:ur[0])==null?void 0:wr.path)??null);m.useEffect(()=>{K(null),Re(null)},[fe]);const[It,Ge]=m.useState(new Set),[Z,ne]=m.useState(!1),[ue,be]=m.useState(""),[V,je]=m.useState(!1),[He,et]=m.useState(!1),[qt,Ft]=m.useState(!1),[At,xt]=m.useState(!1),[xe,Ue]=m.useState(null),[Qe,Ot]=m.useState(null),[Et,Rt]=m.useState({}),[Ce,We]=m.useState(null),[mt,tn]=m.useState(!1),[st,gn]=m.useState([]),[ti,Pt]=m.useState(ED),wt=m.useRef(null),Ae=m.useRef(Fe);Ae.current=Fe;const[it,Nt]=m.useState({}),Yt=T??it,[Jt,Sn]=m.useState(null),[Ie,ft]=m.useState({}),kt=m.useRef(new Map),[Xt,fn]=m.useState(n0t),[Cn,mi]=m.useState(null),[gi,xi]=m.useState(!1),ae=m.useId(),Be=m.useId(),lt=m.useId(),Tt=m.useId(),[ln,Zn]=m.useState("api_key"),[Nn,bi]=m.useState(""),$n=J0(I),ri=du($,I),[Li,Vi]=m.useState("1"),[qi,hn]=m.useState(ie||_e?"1":"5"),[Oi,vi]=m.useState(!0),ci=I!=="byteplus",yi=ci&&Oi,[ds,Bs]=m.useState(null),si=m.useRef(!0),ws=k.map(z=>`${z.key}:${z.label}`).join("|"),Fs=S.map(z=>`${z.key}:${z.required}:${z.serverManaged??!1}:${(z.requiredBy??[]).join(",")}`).join("|"),Kr=m.useRef($),ni=S0t(Li,qi),Us=!q&&ni.valid&&(ni.min!==1||ni.max!==5),el=G?y0t:O0t,Cr=Us?[...el,x0t]:el,Ss=yi?[...Cr,v0t]:Cr;function xa(){var z;(z=wt.current)==null||z.abort(),wt.current=null,Pt(ED)}async function Ml(){var Te;const z=Ae.current;if(!z){Pt({status:"error",apiKeyId:"",value:"",error:"请先在模型配置中选择 API Key。"});return}(Te=wt.current)==null||Te.abort();const se=new AbortController;wt.current=se,Pt({status:"loading",apiKeyId:z,value:"",error:""});try{const Ze=await Nte(z,se.signal);if(se.signal.aborted||Ae.current!==z)return;Pt({status:"visible",apiKeyId:z,value:Ze.value,error:""})}catch(Ze){if(se.signal.aborted)return;Pt({status:"error",apiKeyId:z,value:"",error:Ze instanceof Error?Ze.message:"加载 API Key 失败,请重试。"})}finally{wt.current===se&&(wt.current=null)}}m.useEffect(()=>{xa(),Fe&&ft(z=>{if(!("MODEL_AGENT_API_KEY"in z))return z;const se={...z};return delete se.MODEL_AGENT_API_KEY,se})},[Fe]),m.useEffect(()=>(window.addEventListener("pagehide",xa),()=>{window.removeEventListener("pagehide",xa),xa()}),[]),m.useEffect(()=>{const z=new Set(k.map(se=>se.key));T===void 0&&Nt(se=>Object.fromEntries(Object.entries(se).filter(([Te])=>z.has(Te)))),Sn(se=>se&&z.has(se)?se:null)},[ws,T]),m.useEffect(()=>{const z=new Set(S.map(se=>se.key));ft(se=>{const Te=Object.fromEntries(Object.entries(se).filter(([Ze])=>z.has(Ze)));return Object.keys(Te).length===Object.keys(se).length?se:Te})},[Fs]),m.useEffect(()=>{!j||q||$n.some(z=>z.value===$)||j(Ri(I))},[I,$,$n,q,j]),m.useEffect(()=>{if(!p){Bs(null);return}Bs(document.getElementById(p))},[p]);const Qa=z=>l.jsxs("div",{className:`pp-network-region${gi?" is-open":""}`,onKeyDown:se=>{se.key==="Escape"&&xi(!1)},children:[z&&l.jsx("span",{children:"发布区域"}),l.jsxs("button",{type:"button",className:"pp-region-trigger","aria-label":"部署区域","aria-haspopup":"listbox","aria-expanded":gi,"aria-describedby":q?ae:void 0,disabled:V||q||!j,onClick:()=>xi(se=>!se),children:[l.jsx("span",{children:ri}),l.jsx(Mke,{className:`pp-region-chevron${gi?" is-open":""}`})]}),gi&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>xi(!1)}),l.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"部署区域",children:$n.map(se=>{const Te=se.value===$;return l.jsxs("button",{type:"button",role:"option","aria-selected":Te,className:`pp-region-option${Te?" is-selected":""}`,onClick:()=>{j==null||j(se.value),xi(!1)},children:[l.jsx("span",{children:se.label}),Te&&l.jsx(yu,{"aria-hidden":"true"})]},se.value)})})]}),q&&l.jsx("span",{id:ae,className:"pp-region-help",children:"更新时沿用现有 Runtime 的部署区域,无法修改。"})]});m.useEffect(()=>(si.current=!0,()=>{si.current=!1}),[]),m.useEffect(()=>{Vi("1"),hn(ie||_e?"1":"5")},[ie,_e]),m.useEffect(()=>{Kr.current!==$&&(Kr.current=$,fn(z=>({tos:z.tos.mode==="existing"?{mode:"existing"}:z.tos,cr:z.cr.mode==="existing"?{mode:"existing"}:z.cr,codePipeline:z.codePipeline.mode==="existing"?{mode:"existing"}:z.codePipeline})),mi(null))},[$]),m.useEffect(()=>{if(!qt)return;const z=document.body.style.overflow;document.body.style.overflow="hidden";const se=Te=>{Te.key==="Escape"&&Ft(!1)};return window.addEventListener("keydown",se),()=>{document.body.style.overflow=z,window.removeEventListener("keydown",se)}},[qt]);const _c=m.useMemo(()=>!(e!=null&&e.files)||!Array.isArray(e.files)?{name:"",children:new Map}:E0t(e.files),[e==null?void 0:e.files]);if(!e||!Array.isArray(e.files))return l.jsx("div",{className:"pp-error",children:"项目数据无效"});const ai=e.files.find(z=>z.path===Ye)??null,Jr=(P==null?void 0:P.mode)??"public",Ba=()=>({agentId:String((r==null?void 0:r.trim())||e.name||"unknown"),deployAction:b?"update":"create",deploySource:D.source,createMode:D.createMode,aiAssisted:D.aiAssisted?1:0,deployRegion:String($),runtimeNetworkType:Jr,feishuEnabled:w?1:0}),Xi=new Set(k.map(z=>z.key)),Br=Hgt(w?[...S,...YO]:S,A).filter(z=>!Xi.has(z.key)),Es=Br.length+k.length+st.length,yr=ti.apiKeyId===Fe?ti:ED,xr=yr.status==="visible",cr=Fe?yr.status==="loading"?"正在显示 API Key":xr?"隐藏 API Key":yr.status==="error"?"重试显示 API Key":"显示 API Key":"请先选择 API Key";function ks(z){Ge(se=>{const Te=new Set(se);return Te.has(z)?Te.delete(z):Te.add(z),Te})}function vr(z,se){o&&(o({...e,files:z}),se!==void 0&&dt(se))}function Hn(z){ai&&vr(e.files.map(se=>se.path===ai.path?{...se,content:z}:se))}function Oo(){const z=ue.trim();if(ne(!1),be(""),!!z){if(e.files.some(se=>se.path===z)){dt(z);return}vr([...e.files,{path:z,content:""}],z)}}function va(){if(!ai)return;const z=window.prompt("重命名文件",ai.path),se=z==null?void 0:z.trim();!se||se===ai.path||e.files.some(Te=>Te.path===se)||vr(e.files.map(Te=>Te.path===ai.path?{...Te,path:se}:Te),se)}function yo(){var se;if(!ai)return;const z=e.files.filter(Te=>Te.path!==ai.path);vr(z,((se=z[0])==null?void 0:se.path)??null)}function Ts(z,se){gn(Te=>Te.map(Ze=>Ze.id===z?{...Ze,...se}:Ze))}function le(z){gn(se=>se.filter(Te=>Te.id!==z))}function nn(){gn(z=>[...z,T0t()])}function yn(z){ft(se=>{if(!(z in se))return se;const Te={...se};return delete Te[z],Te})}function Fa(z){window.requestAnimationFrame(()=>{const se=kt.current.get(z);se&&(se.focus({preventScroll:!0}),se.scrollIntoView({block:"center",behavior:"smooth"}))})}function xn(z){B&&B(z==="public"?void 0:{...P??{mode:z},mode:z})}function Qn(z){B==null||B({...P??{mode:"private"},...z})}function zs(){var Ze,Je,bt,we;const z=new Map(st.map(tt=>({key:tt.key.trim(),value:tt.value})).filter(tt=>tt.key.length>0).map(tt=>[tt.key,tt.value])),se=w?[...S,...YO]:S;for(const tt of Qge(se,A))z.set(tt.key,tt.value);for(const tt of k){const $t=Yt[tt.key]??"";$t.trim()&&z.set(tt.key,$t)}const Te=tt=>tt.agentType==="llm"&&bO(tt,I)==="ark"||tt.subAgents.some(Te);if(i&&Te(i)){const tt=(Je=(Ze=i.deployment)==null?void 0:Ze.modelApiKeyId)==null?void 0:Je.trim(),$t=(we=(bt=i.deployment)==null?void 0:bt.modelApiKeyName)==null?void 0:we.trim();tt&&z.set("MODEL_AGENT_API_KEY_ID",tt),$t&&z.set("MODEL_AGENT_API_KEY_NAME",$t)}return[...z].map(([tt,$t])=>({key:tt,value:$t}))}async function Ll(){if(!(!E||V||At)){Ue(null),xt(!0);try{await E(!w)}catch(z){si.current&&Ue(`更新飞书配置失败:${z instanceof Error?z.message:String(z)}`)}finally{si.current&&xt(!1)}}}async function Hi(){var bt;if(!c||V||Pe||H)return;if(Le){Ue(Le);return}if(!q){const we=r0t(Xt);if(we){mi(we),Ue(we);return}}if(mi(null),!ni.valid){Ue(ni.error);return}if(!q&&ln==="user_pool"&&!Nn){Ue("请选择用于 Runtime 鉴权的用户池。");return}if(Jr!=="public"&&!((bt=P==null?void 0:P.vpcId)!=null&&bt.trim())){Ue("使用 VPC 网络时,请填写 VPC ID。");return}const z=k.find(we=>!(Yt[we.key]??"").trim());if(z){Sn(z.key),Ue(`请填写 ${z.label},用于访问对应的自定义模型地址。`);return}Sn(null);const se=Bge(S,A),Te=S.find(we=>we.key==="MODEL_AGENT_API_KEY"&&we.required&&we.serverManaged&&!Fe),Ze=[...Te?[Te]:[],...se];if(Ze.length){const we=Object.fromEntries(Ze.map(tt=>{var $t;return[tt.key,tt.serverManaged?`${(($t=pG(tt))==null?void 0:$t.replace(/。$/,""))||tt.comment||tt.key},请先返回模型配置选择 API Key。`:Ggt(tt)]}));ft(we),Ue(we[Ze[0].key]),Fa(Ze[0].key);return}ft({});const Je=Uge(S,A);if(Je){Ue(`${Je.spec.comment||Je.spec.key}:${Je.error}`);return}if(w){const we=Ygt(YO,A);if(we){const tt=YO.find($t=>$t.key===we.key);Ue(`启用飞书后,请填写${(tt==null?void 0:tt.comment)||(tt==null?void 0:tt.key)}。`);return}}if(!q){const we=ee.trim(),tt=`${$}\0${we}`;De(!0),Ue(null);try{const $t=await m$(we,$);if(!si.current||Ee.current!==tt)return;if(!$t.available){const Vt="Runtime 名称已存在,请修改后重试。";Re({key:tt,message:Vt}),Ue(Vt);return}Re(null)}catch($t){if(!si.current)return;Ue($t instanceof Error?$t.message:String($t));return}finally{si.current&&De(!1)}}et(!0)}async function Ua(){var aa;if(!c||V)return;if(Le){et(!1),Ue(Le);return}if(!ni.valid){et(!1),Ue(ni.error);return}et(!1);const z=zs();si.current&&(Ue(null),Ot(null),Rt({}),We(null),je(!0));const se=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,Te=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,Ze=ee.trim();let Je=Ze;const bt=Date.now(),we=Sge(Ba()),tt={id:se,agentName:Te,runtimeName:Je,runtimeId:b,region:$,startedAt:bt,status:"running",phase:"prepare",label:"准备部署",agentDraft:i,instanceRange:Us?{min:ni.min,max:ni.max}:void 0,createEvaluationSets:yi};x==null||x(tt),v==null||v(tt);let $t,Vt=tt.phase??"prepare";const Ai=En=>$t?{...$t,status:En,updatedAt:Date.now()}:void 0,Sr=En=>{const kn=Ai(En);return kn?{buildLog:kn}:{}},Sa=()=>({source:"code-pipeline",status:"running",text:"",lineCount:0,truncated:!1,updatedAt:Date.now(),pendingMessage:"正在等待构建日志…"}),Gt=En=>{if(Vt!=="build")return;const kn=["","----- 构建失败 -----",En].join(` -`);return $t=bG($t,{source:"code-pipeline",status:"error",text:kn,lineCount:kn.split(` -`).length,truncated:!1,updatedAt:Date.now()}),$t};try{const En=await c(e,kn=>{var $l;kn.runtimeName&&(Je=kn.runtimeName),Vt=kn.phase,kn.buildLog?$t=bG($t,kn.buildLog):kn.phase==="build"&&!$t&&($t=Sa()),si.current&&(Rt(Cu=>({...Cu,[kn.phase]:kn})),We(kn.phase)),x==null||x({id:se,agentName:Te,runtimeName:Je,runtimeId:b,region:$,startedAt:bt,status:"running",phase:kn.phase,label:(($l=Ss.find(Cu=>Cu.phase===kn.phase))==null?void 0:$l.label)??kn.phase,message:kn.message,pct:kn.pct,...$t?{buildLog:$t}:{}})},{taskId:se,runtimeName:Ze,sessionStorage:ie?"in-memory":"persistent",minInstance:ni.min,maxInstance:ni.max,...q?{}:{authentication:ln==="user_pool"?{type:"user_pool",userPoolUid:Nn}:{type:"api_key"}},createEvaluationSets:yi,...w?{im:{feishu:{enabled:!0}}}:{},envs:z,...q?{}:{resources:Xt}});si.current&&(Ot(En),We(null)),we.succeed({runtimeId:String(En.runtimeId||b||"")}),x==null||x({id:se,agentName:En.agentName||Te,runtimeName:En.runtimeName||Je,runtimeId:En.runtimeId||b,region:En.region||$,startedAt:bt,status:"success",phase:"complete",label:"部署完成",message:(aa=En.warnings)==null?void 0:aa.join(";"),...Sr("complete")});try{await(d==null?void 0:d(En))}catch(kn){if(!(kn instanceof Ra))throw kn;x==null||x({id:se,agentName:En.agentName||Te,runtimeName:En.runtimeName||Je,runtimeId:En.runtimeId||b,region:En.region||$,startedAt:bt,status:"success",phase:"complete",label:"部署完成,暂未连接",message:kn.message,...Sr("complete")})}}catch(En){const kn=En instanceof Error?En.message:String(En);if(En instanceof DOMException&&En.name==="AbortError"){we.fail({failedPhase:OG(Vt),...Ta(En,{phase:Vt})}),si.current&&(Ue(null),We(null)),x==null||x({id:se,agentName:Te,runtimeName:Je,runtimeId:b,region:$,startedAt:bt,status:"cancelled",label:"已取消",message:"部署已取消,相关 Runtime 资源已请求销毁。",...Sr("complete")});return}si.current&&Ue(kn);const $l=Gt(kn);we.fail({failedPhase:OG(Vt),...Ta(En,{phase:Vt})}),x==null||x({id:se,agentName:Te,runtimeName:Je,runtimeId:b,region:$,startedAt:bt,status:"error",phase:Vt,label:"部署失败",message:kn,...$l?{buildLog:$l}:Sr("complete"),retry:Hi})}finally{si.current&&je(!1)}}function tl(){et(!1)}async function er(){if(!(!Qe||mt)){tn(!0),Ue(null);try{const{addConnection:z,addRuntimeConnection:se,remoteAppId:Te,loadConnections:Ze}=await xd(async()=>{const{addConnection:we,addRuntimeConnection:tt,remoteAppId:$t,loadConnections:Vt}=await Promise.resolve().then(()=>wY);return{addConnection:we,addRuntimeConnection:tt,remoteAppId:$t,loadConnections:Vt}},void 0),{probeRuntimeApps:Je}=await xd(async()=>{const{probeRuntimeApps:we}=await Promise.resolve().then(()=>O_e);return{probeRuntimeApps:we}},void 0);let bt;if(Qe.runtimeId){const we=Qe.region??$,tt=await Je(Qe.runtimeId,we,{retryProbe:!0})??[];bt=se(Qe.runtimeId,Qe.runtimeName,we,tt,tt.length>0?{[tt[0]]:Qe.agentName}:void 0,Qe.version)}else bt=await z(Qe.agentName,Qe.url,Qe.apikey,"");if(bt.apps.length===0)Ue("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。");else{const we={[bt.apps[0]]:Qe.agentName},tt={...bt,appLabels:{...bt.appLabels??{},...we}},Vt=Ze().map(Sr=>Sr.id===bt.id?tt:Sr);localStorage.setItem("veadk_agentkit_connections",JSON.stringify(Vt));const{registerConnections:Ai}=await xd(async()=>{const{registerConnections:Sr}=await Promise.resolve().then(()=>wY);return{registerConnections:Sr}},void 0);if(Ai(Vt),u){const Sr=Te(bt.id,bt.apps[0]);await u(Sr,Qe.agentName)}else alert(`🎉 Agent "${Qe.agentName}" 已添加到左上角下拉列表!`)}}catch(z){Ue(`添加 Agent 失败:${z instanceof Error?z.message:String(z)}`)}finally{tn(!1)}}}function za(){const z=Ba(),se=Ege({agentId:z.agentId,deployAction:z.deployAction,deploySource:z.deploySource,createMode:z.createMode,aiAssisted:z.aiAssisted});try{const Te=Kgt(e.files),Ze=URL.createObjectURL(Te),Je=document.createElement("a");Je.href=Ze,Je.download=`${e.name||"project"}.zip`,document.body.appendChild(Je),Je.click(),document.body.removeChild(Je),URL.revokeObjectURL(Ze),se.succeed({fileCount:e.files.length,zipSizeBytes:Te.size})}catch(Te){throw se.fail({fileCount:e.files.length,...Ta(Te)}),Te}}const wa=l.jsxs("div",{className:`pp-artifact-actions${t?" is-rail":""}`,"aria-label":"发布产物操作",children:[M&&l.jsxs("button",{type:"button",className:"pp-secondary",onClick:M,children:[l.jsx(Uke,{className:"pp-ic"}),"导出 YAML"]}),U&&o&&l.jsx(jZe,{project:e,onChange:o,className:"pp-artifact-source",label:"查看源代码"}),e.files.length>0&&l.jsxs("button",{type:"button",className:"pp-secondary",onClick:za,children:[l.jsx(yA,{className:"pp-ic"}),"下载源代码"]})]});function Au(z,se,Te){return k0t(z,se===0).map(Ze=>{const Je=Te?`${Te}/${Ze.name}`:Ze.name,bt=Ze.path!==void 0,we={paddingLeft:8+se*14};if(bt){const $t=Ze.path===Ye;return l.jsxs("button",{type:"button",className:`pp-row pp-file${$t?" pp-active":""}`,style:we,onClick:()=>dt(Ze.path),title:Ze.path,children:[l.jsx(qke,{className:"pp-ic"}),l.jsx("span",{className:"pp-label",children:Ze.name})]},Je)}const tt=It.has(Je);return l.jsxs("div",{children:[l.jsxs("button",{type:"button",className:"pp-row pp-folder",style:we,onClick:()=>ks(Je),children:[l.jsx(Qb,{className:`pp-ic pp-chevron${tt?"":" pp-open"}`}),l.jsx(bte,{className:"pp-ic"}),l.jsx("span",{className:"pp-label",children:Ze.name})]}),!tt&&Au(Ze,se+1,Je)]},Je)})}return l.jsxs("div",{className:`pp-root${c?" is-deploy":""}${t?" is-embedded":""}${G?" has-primary-pane":""}`,children:[c&&!t&&l.jsx(_0t,{left:l.jsxs("div",{className:"pp-toolbar-left",children:[F&&l.jsxs("button",{type:"button",className:"pp-toolbar-back",onClick:F,children:[l.jsx(dte,{className:"pp-ic"}),Q]}),l.jsxs("span",{className:"pp-toolbar-title",children:["部署 ",r||e.name||"未命名 Agent",s&&s>1?` 等 ${s} 个智能体`:""]})]}),right:null}),l.jsxs("div",{className:"pp-body",children:[c&&!G&&l.jsx("section",{className:"pp-release-overview","aria-label":"发布概览",children:l.jsxs("div",{className:`pp-release-preview${t?" is-embedded":""}`,children:[l.jsxs("div",{className:"pp-flow-thumbnail",children:[i&&l.jsx(p1,{draft:i,direction:"horizontal",selectedPath:[],onSelect:yf,onAdd:yf,onInsert:yf,onDelete:yf,readOnly:!0,interactivePreview:!0}),l.jsx("button",{type:"button",className:"pp-flow-expand",onClick:()=>Ft(!0),"aria-label":"放大查看执行流程",title:"放大查看",children:l.jsx(Fp,{"aria-hidden":!0})})]}),t&&wa,!t&&l.jsxs("div",{className:"pp-release-info",children:[l.jsx("div",{className:"pp-release-card-head",children:"Agent 概览"}),l.jsxs("div",{className:"pp-release-info-body",children:[l.jsxs("div",{className:"pp-release-info-main",children:[l.jsx("h2",{children:r||e.name||"未命名 Agent"}),(i==null?void 0:i.description)&&l.jsx("p",{className:"pp-release-description",title:i.description,children:i.description}),l.jsxs("dl",{className:"pp-release-facts",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"Agent 数量"}),l.jsx("dd",{children:s??1})]}),a&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"模型"}),l.jsx("dd",{children:a.modelName})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"描述"}),l.jsx("dd",{className:"pp-release-fact-long",children:a.description})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"系统提示词"}),l.jsx("dd",{className:"pp-release-fact-long pp-release-prompt",children:a.instruction})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"优化选项"}),l.jsx("dd",{children:a.optimizations.length>0?a.optimizations.join("、"):"未启用"})]}),a.effectiveOptimizations&&a.effectiveOptimizations.length>0&&l.jsxs("div",{children:[l.jsx("dt",{children:"生效能力"}),l.jsx("dd",{children:a.effectiveOptimizations.join("、")})]}),a.autoAddedOptimizations&&a.autoAddedOptimizations.length>0&&l.jsxs("div",{children:[l.jsx("dt",{children:"自动保护"}),l.jsx("dd",{children:a.autoAddedOptimizations.join("、")})]}),a.planHash&&l.jsxs("div",{children:[l.jsx("dt",{children:"Plan Hash"}),l.jsx("dd",{className:"pp-release-fact-long",children:a.planHash})]})]})]})]}),wa]})]})]})}),l.jsxs("div",{className:"pp-files-area",children:[l.jsxs("div",{className:"pp-sidebar",children:[l.jsxs("div",{className:"pp-sidebar-head",children:[l.jsx("span",{className:"pp-project-name",title:e.name,children:"文件预览"}),U&&l.jsx("button",{type:"button",className:"pp-icon-btn",title:"新建文件",onClick:()=>{ne(!0),be("")},children:l.jsx(zke,{className:"pp-ic"})})]}),l.jsxs("div",{className:"pp-tree",children:[Z&&l.jsx("input",{className:"pp-new-input",autoFocus:!0,placeholder:"path/to/file.py",value:ue,onChange:z=>be(z.target.value),onBlur:Oo,onKeyDown:z=>{z.key==="Enter"&&Oo(),z.key==="Escape"&&(ne(!1),be(""))}}),e.files.length===0&&!Z?l.jsx("div",{className:"pp-empty",children:"暂无文件"}):Au(_c,0,"")]})]}),l.jsxs("div",{className:"pp-main",children:[l.jsxs("div",{className:"pp-main-head",children:[l.jsx("span",{className:"pp-path",title:ai==null?void 0:ai.path,children:(ai==null?void 0:ai.path)??"未选择文件"}),l.jsx("div",{className:"pp-actions",children:U&&ai&&l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"pp-icon-btn",title:"重命名",onClick:va,children:l.jsx(iTe,{className:"pp-ic"})}),l.jsx("button",{type:"button",className:"pp-icon-btn pp-danger",title:"删除",onClick:yo,children:l.jsx(mh,{className:"pp-ic"})})]})})]}),l.jsx("div",{className:"pp-content",children:ai==null?l.jsx("div",{className:"pp-placeholder",children:"选择左侧文件以查看内容"}):U?l.jsx("div",{className:"pp-codemirror",children:l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"pp-editor-loading",children:"加载编辑器…"}),children:l.jsx(c0t,{value:ai.content,path:ai.path,onChange:Hn})})}):l.jsx("pre",{className:"pp-pre hljs",dangerouslySetInnerHTML:{__html:b0t(ai.content,ai.path)}})})]})]}),c&&l.jsxs("aside",{className:"pp-config","aria-label":"部署配置",children:[l.jsx("div",{className:"pp-config-head",children:l.jsx("div",{className:"pp-config-title",children:"部署配置"})}),l.jsxs("div",{className:"pp-config-scroll",children:[G,!G&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("label",{className:"pp-config-label",htmlFor:Be,children:"Runtime 名称"}),l.jsxs("div",{className:"pp-runtime-name-field",children:[l.jsx("input",{id:Be,className:"pp-runtime-name-input",value:ee,disabled:V||Pe||q,maxLength:64,autoComplete:"off","aria-label":"Runtime 名称","aria-invalid":!!Le,"aria-describedby":`${lt}${Le?` ${Tt}`:""}`,onChange:z=>{const se=z.currentTarget.value;Re(null),Ue(null),y?y(se):K(se)}}),l.jsx("p",{id:lt,className:"pp-config-note",children:q?"更新时保持现有 Runtime 名称不变。":"默认根据 Root Agent 名称生成,并添加随机后缀避免重名;支持 4-64 位字母、数字、连字符和下划线"}),Le&&l.jsx("p",{id:Tt,className:"pp-runtime-name-error",role:"alert",children:Le})]})]}),!G&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"发布区域"}),Qa(!1)]}),!G&&l.jsxs("section",{className:"pp-config-section pp-auth-section",children:[l.jsx("div",{className:"pp-config-label",children:"访问鉴权"}),q?l.jsx("p",{className:"pp-config-note pp-auth-preserved-note",children:"更新时保持现有 Runtime 的鉴权方式不变。"}):l.jsxs("div",{className:"pp-auth-fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"鉴权方式"}),l.jsx(oC,{ariaLabel:"部署鉴权方式",value:ln,placeholder:"请选择鉴权方式",options:p0t,disabled:V,onChange:z=>{Ue(null),Zn(z)}})]}),ln==="user_pool"&&l.jsxs("label",{children:[l.jsx("span",{children:"用户池"}),l.jsx(h0t,{value:Nn,disabled:V,onChange:z=>{Ue(null),bi(z)}})]})]})]}),!G&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"消息渠道"}),l.jsx("div",{className:`pp-channel-card${w?" is-flipped":""}`,children:l.jsxs("div",{className:"pp-channel-card-inner",children:[l.jsxs("button",{type:"button",className:"pp-channel-card-face pp-channel-card-front","aria-pressed":w,"aria-hidden":w,tabIndex:w?-1:0,onClick:()=>void Ll(),disabled:w||V||Pe||At||!E,children:[l.jsx("span",{className:"pp-channel-logo",children:l.jsx("img",{src:rC,alt:""})}),l.jsxs("span",{className:"pp-channel-card-copy",children:[l.jsx("strong",{children:"飞书"}),l.jsx("small",{children:At?"正在启用并更新配置…":"接收消息并通过飞书机器人回复"})]})]}),l.jsxs("div",{className:"pp-channel-card-face pp-channel-card-back","aria-hidden":!w,children:[l.jsxs("div",{className:"pp-channel-card-head",children:[l.jsx("strong",{children:"飞书配置"}),l.jsx("button",{type:"button",className:"pp-channel-remove",tabIndex:w?0:-1,onClick:()=>void Ll(),disabled:!w||V||At||!E,children:At?"取消中…":"取消"})]}),l.jsx("div",{className:"pp-channel-fields",children:YO.map(z=>l.jsxs("label",{children:[l.jsxs("span",{children:[z.comment||z.key,z.required&&l.jsx("small",{children:"必填"})]}),l.jsx("input",{type:z.key.includes("SECRET")?"password":"text",value:A[z.key]??"",placeholder:z.placeholder,tabIndex:w?0:-1,disabled:!w||V||!R,autoComplete:"off",onChange:se=>R==null?void 0:R(z.key,se.currentTarget.value)})]},z.key))})]})]})})]}),!q&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"实例设置"}),l.jsxs("div",{className:"pp-instance-fields",children:[l.jsxs("label",{htmlFor:"runtime-min-instance",children:[l.jsx("span",{children:"最小实例数"}),l.jsx("input",{id:"runtime-min-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Li,disabled:V||_e,"aria-invalid":!ni.valid,onChange:z=>Vi(z.currentTarget.value)})]}),l.jsxs("label",{htmlFor:"runtime-max-instance",children:[l.jsx("span",{children:"最大实例数"}),l.jsx("input",{id:"runtime-max-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:qi,disabled:V||_e,"aria-invalid":!ni.valid,onChange:z=>hn(z.currentTarget.value)})]})]}),(ie||_e)&&l.jsx("p",{className:"pp-instance-note",role:"note",children:_e?"Harness Sidecar 首期仅支持单实例,Runtime 固定为 1~1":"为避免多实例间会话丢失,推荐将 Runtime 固定为 1~1"}),!ni.valid&&l.jsx("p",{className:"pp-instance-error",role:"alert",children:ni.error})]}),l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"网络"}),G&&Qa(!0),q&&l.jsx("p",{className:"pp-config-note",children:"现有 Runtime 的区域与网络模式保持不变。"}),l.jsxs("div",{className:"pp-network-layout",children:[l.jsx("div",{className:"pp-network-modes",role:"radiogroup","aria-label":"网络模式",children:["public","private","both"].map(z=>l.jsxs("label",{className:"pp-network-option",children:[l.jsx("input",{type:"radio",name:"deployment-network-mode",value:z,checked:Jr===z,onChange:()=>xn(z),disabled:V||q||!B}),l.jsx("span",{children:z==="public"?"公网":z==="private"?"VPC":"公网 + VPC"})]},z))}),Jr!=="public"&&l.jsxs("div",{className:"pp-network-fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"VPC ID"}),l.jsx("input",{value:(P==null?void 0:P.vpcId)??"",placeholder:"vpc-xxxxxxxx",disabled:V||q,onChange:z=>Qn({vpcId:z.target.value})})]}),l.jsxs("label",{children:[l.jsxs("span",{children:["子网 ID ",l.jsx("small",{children:"可选,多个用逗号分隔"})]}),l.jsx("input",{value:(P==null?void 0:P.subnetIds)??"",placeholder:"subnet-xxx, subnet-yyy",disabled:V||q,onChange:z=>Qn({subnetIds:z.target.value})})]}),l.jsxs("label",{className:"pp-network-check",children:[l.jsx("input",{type:"checkbox",checked:!!(P!=null&&P.enableSharedInternetAccess),disabled:V||q,onChange:z=>Qn({enableSharedInternetAccess:z.target.checked})}),"VPC 内共享公网出口"]})]})]})]}),ci&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"评测集"}),l.jsxs("label",{className:"pp-evaluation-set-option",children:[l.jsx("input",{type:"checkbox",checked:Oi,disabled:V,onChange:z=>vi(z.currentTarget.checked)}),l.jsxs("span",{children:[l.jsx("strong",{children:"自动创建评测集"}),l.jsx("small",{children:"部署成功后,自动创建 Good Case 和 Bad Case 评测集。"})]})]})]}),!q&&l.jsxs("section",{className:"pp-config-section pp-resource-section",children:[l.jsx("div",{className:"pp-config-label",children:"资源配置"}),l.jsx(s0t,{value:Xt,agentName:r||e.name||"agentkit-app",runtimeName:ee,region:$,disabled:V,validationError:Cn,onChange:z=>{fn(z),mi(null)}})]}),l.jsxs("section",{className:"pp-config-section pp-env-section",children:[l.jsx("div",{className:"pp-env-head",children:l.jsxs("div",{children:[l.jsxs("div",{className:"pp-config-label",children:["环境变量",l.jsxs("span",{className:"pp-agent-child-count pp-env-count",children:[Es," 项"]})]}),l.jsx("div",{className:"pp-env-sub",children:"组件配置会自动同步到这里,部署前可核对最终值。"})]})}),l.jsxs("button",{type:"button",className:"pp-env-add",onClick:nn,disabled:V,children:[l.jsx(ea,{className:"pp-ic"}),"添加变量"]}),(Br.length>0||k.length>0||st.length>0)&&l.jsxs("div",{className:"pp-env-table",children:[Br.length>0&&l.jsxs("div",{className:"pp-env-group",children:[l.jsxs("div",{className:"pp-env-group-head",children:[l.jsx("span",{children:"组件自动生成"}),l.jsxs("small",{children:[Br.length," 项"]})]}),Br.map(z=>{const se=z.readOnly||z.key.startsWith("ENABLE_"),Te=z.serverManaged&&z.key==="MODEL_AGENT_API_KEY",Ze=Te?xr?yr.value:"由所选 API Key 注入":z.value,Je=qQ(z,A),bt=Ie[z.key],we=`deployment-env-${z.key.toLowerCase()}-error`,tt=pG(z)||z.help||z.comment,$t=z.multiline||z.format==="json";return l.jsxs("div",{className:`pp-env-row pp-env-row-derived${$t?" is-multiline":""}`,children:[l.jsxs("div",{className:"pp-env-key-fixed pp-env-key-cell","aria-label":`${z.key} 环境变量名`,"aria-disabled":V,children:[l.jsx("span",{title:z.key,children:z.key}),tt&&l.jsxs("span",{className:"pp-env-help",tabIndex:0,"data-help":tt,"aria-label":`${z.key}说明:${tt}`,children:["?",l.jsx("span",{className:"pp-env-help-popover",role:"tooltip",children:tt})]}),z.link&&l.jsx("a",{className:"pp-env-link",href:z.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${z.link.label}`,"aria-label":`${z.key}:打开 OpenViking ${z.link.label}`,children:l.jsx(K0,{"aria-hidden":"true"})})]}),l.jsxs("div",{className:"pp-env-value-wrap",children:[$t?l.jsx("textarea",{ref:Vt=>{Vt?kt.current.set(z.key,Vt):kt.current.delete(z.key)},className:"pp-env-value pp-env-json-value",value:z.value,placeholder:z.required?"必填,尚未填写":"可选,尚未填写",readOnly:se,disabled:V||!se&&!R,autoComplete:"off",spellCheck:!1,"aria-invalid":!!(bt||Je),"aria-describedby":bt?we:void 0,"aria-label":`${z.key} 环境变量值`,onChange:Vt=>{const Ai=Vt.currentTarget.value;R==null||R(z.key,Ai),bt&&Ai.trim()&&(yn(z.key),Ue(null))}}):l.jsxs("div",{className:Te?"pp-env-secret-control":void 0,children:[l.jsx("input",{ref:Vt=>{Vt?kt.current.set(z.key,Vt):kt.current.delete(z.key)},className:"pp-env-value",type:Te?"text":z.secret?"password":"text",value:Ze,placeholder:z.required?"必填,尚未填写":"可选,尚未填写",readOnly:se,disabled:V||!se&&!R,autoComplete:z.secret?"new-password":"off",spellCheck:z.secret?!1:void 0,"aria-invalid":!!(bt||Je),"aria-describedby":bt?we:void 0,"aria-label":`${z.key} 环境变量值`,onChange:Vt=>{const Ai=Vt.currentTarget.value;R==null||R(z.key,Ai),bt&&Ai.trim()&&(yn(z.key),Ue(null))}}),Te&&l.jsx("button",{type:"button",className:"pp-env-secret-toggle","aria-label":cr,title:cr,"aria-pressed":xr,disabled:yr.status==="loading"||!Fe,onClick:()=>{xr?xa():Ml()},children:yr.status==="loading"?l.jsx(qn,{className:"pp-env-secret-spinner","aria-hidden":"true"}):xr?l.jsx(d0t,{}):l.jsx(u0t,{})})]}),bt&&l.jsx("span",{id:we,className:"pp-env-error",role:"alert",children:bt}),Je&&l.jsx("span",{className:"pp-env-error",children:Je}),Te&&yr.status==="error"&&l.jsx("span",{className:"pp-env-reveal-error",role:"alert",children:yr.error})]}),l.jsx("span",{className:"pp-env-source",children:se?"自动":"同步"})]},z.key)})]}),k.length>0&&l.jsxs("div",{className:"pp-env-group",children:[l.jsxs("div",{className:"pp-env-group-head",children:[l.jsx("span",{children:"自定义模型凭据"}),l.jsxs("small",{children:[k.length," 项"]})]}),k.map(z=>{const se=Jt===z.key,Te=`${z.key.toLowerCase()}-error`;return l.jsxs("div",{className:"pp-env-row pp-env-row-derived",children:[l.jsx("label",{className:"pp-env-key-fixed pp-env-key-cell",htmlFor:z.key,title:z.label,children:l.jsx("span",{children:z.key})}),l.jsxs("div",{className:"pp-env-value-wrap",children:[l.jsx("input",{id:z.key,className:"pp-env-value",type:"password",value:Yt[z.key]??"",placeholder:"必填,仅用于本次发布",disabled:V,autoComplete:"new-password",spellCheck:!1,"aria-invalid":se,"aria-describedby":se?Te:void 0,"aria-label":z.label,onChange:Ze=>{const Je=Ze.currentTarget.value;C?C(z.key,Je):Nt(bt=>({...bt,[z.key]:Je})),se&&Je.trim()&&(Sn(null),Ue(null))}}),se&&l.jsx("span",{id:Te,className:"pp-env-error",role:"alert",children:"请填写此模型地址对应的 API Key。"})]}),l.jsx("span",{className:"pp-env-source",children:"本次发布"})]},z.key)})]}),st.length>0&&l.jsxs("div",{className:"pp-env-group-head pp-env-group-head-custom",children:[l.jsx("span",{children:"自定义变量"}),l.jsxs("small",{children:[st.length," 项"]})]}),st.map(z=>l.jsxs("div",{className:"pp-env-row",children:[l.jsx("input",{value:z.key,placeholder:"名称",disabled:V,autoComplete:"off",onChange:se=>Ts(z.id,{key:se.currentTarget.value})}),l.jsx("input",{type:"text",value:z.value,placeholder:"值",disabled:V,autoComplete:"off",onChange:se=>Ts(z.id,{value:se.currentTarget.value})}),l.jsx("button",{type:"button",className:"pp-icon-btn pp-env-remove",title:"删除变量",disabled:V,onClick:()=>le(z.id),children:l.jsx(Ma,{className:"pp-ic"})})]},z.id))]})]}),(V||Qe||Object.keys(Et).length>0)&&l.jsxs("section",{className:"pp-config-section pp-progress-section",children:[l.jsx("div",{className:"pp-config-label",children:"部署进度"}),l.jsx("ol",{className:"pp-steps",children:Ss.map((z,se)=>{const Te=Ce?Ss.findIndex(we=>we.phase===Ce):-1,Ze=!!xe&&(Te===-1?se===0:se===Te);let Je;Qe?Je="done":Ze?Je="failed":Te===-1?Je=V?"active":"pending":sez.phase===Ce))==null?void 0:xo.label)??Ce}阶段):`:""}${xe}`,onRetry:Hi,retryLabel:q?"重试更新":"重试部署"}),Qe&&l.jsxs("section",{className:"pp-deploy-result",children:[l.jsx("div",{className:"pp-deploy-result-header",children:q?"更新成功":"部署成功"}),l.jsxs("div",{className:"pp-deploy-result-body",children:[Qe.warnings&&Qe.warnings.length>0&&l.jsx("div",{className:"pp-deploy-result-warning",role:"status",children:Qe.warnings.map(z=>l.jsx("span",{children:z},z))}),Qe.region&&l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"区域"}),l.jsx("code",{children:du(Qe.region,I)})]}),l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"Agent 名称"}),l.jsx("code",{children:Qe.agentName})]}),l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"Runtime 名称"}),l.jsx("code",{children:Qe.runtimeName})]}),l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"API 端点"}),l.jsx("code",{className:"pp-deploy-result-url",children:Qe.url})]})]}),l.jsxs("div",{className:"pp-deploy-result-actions",children:[l.jsxs("button",{type:"button",className:"pp-deploy-result-btn",onClick:er,disabled:mt,children:[mt?l.jsx(qn,{className:"pp-ic spin"}):l.jsx(yte,{className:"pp-ic"}),mt?"连接中…":"立即对话"]}),Qe.consoleUrl&&l.jsxs("a",{href:Qe.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"pp-console-link pp-console-link-btn",children:[l.jsx(K0,{className:"pp-ic"}),"控制台"]})]})]})]}),l.jsx("div",{className:`pp-config-actions${ds?" is-external":""}`,children:ds?zi.createPortal(l.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Hi,disabled:V||Pe||At||H||!!n||!!Le,title:n||Le||void 0,children:V?`${f}中…`:Pe?"正在检查名称…":xe?`重试${f}`:f}),ds):l.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Hi,disabled:V||Pe||At||H||!!n||!!Le,title:n||Le||void 0,children:V?`${f}中…`:Pe?"正在检查名称…":xe?`重试${f}`:f})})]})]}),qt&&i&&zi.createPortal(l.jsx("div",{className:"pp-flow-backdrop",onMouseDown:z=>{z.target===z.currentTarget&&Ft(!1)},children:l.jsxs("section",{className:"pp-flow-dialog",role:"dialog","aria-modal":"true","aria-label":"执行流程预览",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("strong",{children:"执行流程"}),l.jsx("span",{children:"只读预览,可缩放与拖动画布"})]}),l.jsx("button",{type:"button",onClick:()=>Ft(!1),"aria-label":"关闭执行流程预览",children:l.jsx(Ma,{"aria-hidden":!0})})]}),l.jsx("div",{className:"pp-flow-dialog-canvas",children:l.jsx(p1,{draft:i,direction:"horizontal",selectedPath:[],onSelect:yf,onAdd:yf,onInsert:yf,onDelete:yf,readOnly:!0,interactivePreview:!0})})]})}),document.body),l.jsx(f0t,{open:He,isUpdate:q,...h,onCancel:tl,onConfirm:()=>void Ua()})]})}function A0t({delivery:e,onBack:t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,cloudProvider:a="volcengine",initialDeployRegion:o}){const[c,u]=m.useState(o??Ri(a)),[d,f]=m.useState(),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState(()=>({name:Oge(e.agentName),files:e.files??[]})),v=iC(O.name);m.useEffect(()=>{if(v){p(null);return}const E=new AbortController,S=window.setTimeout(()=>{g(!0),m$(O.name,c).then(k=>{E.signal.aborted||p(k.available===!0)}).catch(()=>{E.signal.aborted||p(null)}).finally(()=>{E.signal.aborted||g(!1)})},250);return()=>{window.clearTimeout(S),E.abort()}},[c,O.name,v]);const x={kind:"intelligentDevelopment",sessionId:e.sessionId,artifactSha256:e.artifactSha256,validationReportSha256:e.validationReportSha256,...e.verified?{}:{acknowledgeUnverified:!0}};async function w(E,S,k){const T=d&&d.mode!=="public"?{mode:d.mode,vpc_id:d.vpcId,subnet_ids:d.subnetIds,enable_shared_internet_access:d.enableSharedInternetAccess}:void 0;return zb(E.name,[],{region:c,projectName:"default",network:T},{...k,onStage:S,runtimeName:E.name,source:x})}return l.jsx(lC,{cloudProvider:a,project:O,agentName:O.name,onDeploy:w,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,network:d,onNetworkChange:f,deployRegion:c,onDeployRegionChange:u,deploymentActionLabel:"部署",deployDisabled:!!v||h===!1||b,deployDisabledReason:v??(h===!1?"Runtime 名称已存在,请更换后重试":b?"正在检查 Runtime 名称":void 0),deploymentTelemetry:{source:"intelligent_development",createMode:"intelligent",aiAssisted:!0},onBack:t,backLabel:"返回开发会话",deploymentPrimaryPane:l.jsxs("section",{className:"trusted-source-pane","aria-label":e.verified?"已验证源码":"可部署源码",children:[l.jsx("div",{className:"trusted-source-pane__badge",children:e.verified?"已通过 Codex 云端验证":"可部署源码"}),l.jsx("h2",{children:e.agentName}),l.jsxs("label",{className:"trusted-source-pane__runtime-name",children:[l.jsx("span",{children:"Runtime 名称"}),l.jsx("input",{value:O.name,maxLength:64,onChange:E=>y(S=>({...S,name:E.target.value}))})]}),l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"入口"}),l.jsx("dd",{children:l.jsx("code",{children:e.entryPoint})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"文件"}),l.jsx("dd",{children:e.fileCount})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"Artifact"}),l.jsx("dd",{children:l.jsx("code",{children:e.artifactSha256.slice(0,16)})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"验证报告"}),l.jsx("dd",{children:l.jsx("code",{children:e.validationReportSha256.slice(0,16)})})]})]}),l.jsx("p",{children:e.verified?"源码由服务端从已验证交付物物化,浏览器文件不能替换。":"源码已由服务端安全物化,部署前请确认 Runtime 配置。"})]})})}const C0t="_Container_1tuad_1",N0t="_Checkbox_1tuad_22",j0t="_CheckMark_1tuad_92",R0t="_Label_1tuad_162",mE={Container:C0t,Checkbox:N0t,CheckMark:j0t,Label:R0t},XQ=({className:e,label:t,id:n,disabled:i,orientation:r="left",...s})=>{const a=m.useId(),o=n??a;return l.jsxs("div",{"data-disabled":i?"":void 0,"data-has-label":t?"":void 0,"data-orientation":r,className:ia(e,mE.Container),children:[l.jsx(Q$e,{className:mE.Checkbox,id:o,disabled:i,...s,children:l.jsx(F$e,{className:mE.CheckMark})}),t&&l.jsx("label",{htmlFor:o,className:mE.Label,onMouseDown:c=>{!c.defaultPrevented&&c.detail>1&&c.preventDefault()},children:t})]})},D0t="_RadioGroup_onrfm_1",I0t="_RadioLabel_onrfm_9",P0t="_RadioIndicatorWrapper_onrfm_26",M0t="_RadioItem_onrfm_43",L0t="_RadioIndicator_onrfm_26",By={RadioGroup:D0t,RadioLabel:I0t,RadioIndicatorWrapper:P0t,RadioItem:M0t,RadioIndicator:L0t},zge=m.createContext(null),$0t=()=>{const e=m.use(zge);if(!e)throw new Error("RadioGroup components must be wrapped in ");return e},Rp=({onChange:e,children:t,className:n,direction:i="row",disabled:r=!1,...s})=>{const a=m.useMemo(()=>({disabled:r,direction:i}),[r,i]);return l.jsx(zge,{value:a,children:l.jsx(q6e,{className:ia(By.RadioGroup,n),"data-direction":i,onValueChange:e,disabled:r,...s,children:t})})},Q0t=({value:e,disabled:t=!1,required:n,children:i,className:r,block:s=!1,...a})=>{const{disabled:o}=$0t(),c=o||t,u=m.useId(),d=`${e}-${u}`;return l.jsx("div",{className:"flex",...a,children:l.jsxs("label",{htmlFor:d,className:ia(By.RadioLabel,r),"data-disabled":c?"":void 0,"data-block":s?"":void 0,onMouseDown:f=>{!f.defaultPrevented&&f.detail>1&&f.preventDefault()},children:[l.jsx("div",{className:By.RadioIndicatorWrapper,children:l.jsx(G6e,{id:d,value:e,disabled:c,required:n,className:By.RadioItem,children:l.jsx(Z6e,{className:By.RadioIndicator})})}),i]})})};Rp.Item=Q0t;function B0t({className:e,...t}){return l.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:[l.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"}),l.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 Rg={llm:{id:"llm",label:"LLM 智能体",desc:"大模型驱动,自主完成任务",icon:B0t},sequential:{id:"sequential",label:"顺序型智能体",desc:"子 Agent 按顺序依次执行",icon:Hke},parallel:{id:"parallel",label:"并行型智能体",desc:"子 Agent 并行执行后汇总",icon:lTe},loop:{id:"loop",label:"循环型智能体",desc:"子 Agent 循环执行到满足条件",icon:vte},a2a:{id:"a2a",label:"远程智能体",desc:"通过 A2A 协议调用远程 Agent",icon:xA}},F0t=[Rg.llm,Rg.sequential,Rg.parallel,Rg.loop,Rg.a2a];function Vge(e){return Rg[e??"llm"]}const qge=e=>e==="sequential"||e==="parallel"||e==="loop",cC=e=>e==="a2a";function rv(e){return e.trimEnd().replace(/[。.]+$/,"")}function Wp(e,t){const n=e.trim().toLocaleLowerCase();return n?t.some(i=>i==null?void 0:i.toLocaleLowerCase().includes(n)):!0}const Xge=new Set(["local","sqlite","mysql","postgresql"]),Hge=new Set(["local","opensearch","redis","viking","openviking","mem0"]),Yge=new Set(["opensearch","viking","context_search","openviking"]),Gge=new Set(["apmplus","cozeloop","tls"]),Wge=new Set(["web_search","parallel_web_search","link_reader","web_scraper","image_generate","image_edit","video_generate","text_to_speech","run_code","vesearch"]),U0t=new Set(["llm","sequential","parallel","loop","a2a"]),z0t=new Set(["lark-cli","github-cli","pandoc"]),V0t=["context_engine","compressor","verifier","long_run_control","mcp_resilience"],q0t=new Set(["default","ops"]);function Kt(e,t=""){return typeof e=="string"?e:t}function Po(e){return e===!0}function X0t(e){return typeof e=="string"&&q0t.has(e)?e:"default"}function M0(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function H0t(e){return Array.from(new Set(M0(e).filter(t=>z0t.has(t))))}function Y0t(e){return!e||typeof e!="object"||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(t=>typeof t[1]=="string"))}function Zge(e){return Array.isArray(e)?e.map(t=>t&&typeof t=="object"?{name:Kt(t.name),description:Kt(t.description)}:null).filter(t=>!!t&&!!t.name.trim()):[]}function L0(e,t,n){return typeof e=="string"&&t.has(e)?e:n}function Kge(e){return typeof e=="string"&&U0t.has(e)?e:"llm"}function Jge(e){return e==="byteplus"?"byteplus":"volcengine"}function e0e(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):3}function t0e(e){const t=e&&typeof e=="object"?e:{};return{enabled:Po(t.enabled),registrySpaceId:Kt(t.registrySpaceId),registryTopK:Kt(t.registryTopK),registryRegion:Kt(t.registryRegion),registryEndpoint:Kt(t.registryEndpoint)}}function G0t(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e,n=t.componentOverrides&&typeof t.componentOverrides=="object"?t.componentOverrides:{},i=Object.fromEntries(V0t.map(o=>[o,n[o]===!0])),r={enabled:Object.values(i).some(Boolean),profile:X0t(t.profile),componentOverrides:i},s=Kt(t.catalogVersion).trim(),a=Kt(t.planHash).trim();return s&&(r.catalogVersion=s),a&&(r.planHash=a),r}function n0e(e,t="volcengine"){return Array.isArray(e)?e.map(n=>{const i=n&&typeof n=="object"?n:{},r=Jge(i.cloudProvider??t),s=i.memory&&typeof i.memory=="object"?i.memory:{},a=t0e(i.a2aRegistry),o=Kge(i.agentType),c=a.enabled&&o==="llm"?"a2a":o;return{...Yo(r),cloudProvider:r,name:Kt(i.name),description:Kt(i.description),instruction:Kt(i.instruction),agentType:c,maxIterations:e0e(i.maxIterations),a2aUrl:Kt(i.a2aUrl),modelName:Kt(i.modelName),modelSource:i.modelSource==="custom"||i.modelSource==="ark"?i.modelSource:void 0,modelProvider:Kt(i.modelProvider),modelApiBase:Kt(i.modelApiBase),builtinTools:M0(i.builtinTools).filter(u=>Wge.has(u)),customTools:Zge(i.customTools),memory:{shortTerm:Po(s.shortTerm),longTerm:Po(s.longTerm)},shortTermBackend:L0(i.shortTermBackend,Xge,"local"),longTermBackend:L0(i.longTermBackend,Hge,"local"),longTermMemoryIndex:Kt(i.longTermMemoryIndex),autoSaveSession:Po(i.autoSaveSession),knowledgebase:Po(i.knowledgebase),knowledgebaseBackend:L0(i.knowledgebaseBackend,Yge,rh),knowledgebaseIndex:Kt(i.knowledgebaseIndex),tracing:Po(i.tracing),tracingExporters:M0(i.tracingExporters).filter(u=>Gge.has(u)),a2aRegistry:c==="a2a"?{...a,enabled:!0}:a,subAgents:n0e(i.subAgents,r),selectedSkills:i0e(i)}}):[]}function i0e(e){if(!Array.isArray(e.selectedSkills))return[];const t=[];for(const n of e.selectedSkills){const i=n&&typeof n=="object"?n:{},r=Kt(i.source),s=r==="local"||r==="skillspace"||r==="skillhub"?r:"skillhub",a=Kt(i.name)||Kt(i.slug)||Kt(i.skillName)||Kt(i.skillId)||"skill",o=Kt(i.folder)||a,c=Kt(i.description);if(s==="skillhub"){const f=Kt(i.slug);if(!f)continue;t.push({source:s,folder:o,name:a,description:c,slug:f,namespace:Kt(i.namespace)||"public"});continue}if(s==="local"){const h=(Array.isArray(i.localFiles)?i.localFiles:[]).map(p=>{const b=p&&typeof p=="object"?p:{},g=Kt(b.path),O=Kt(b.content);return g?{path:g,content:O}:null}).filter(p=>p!==null);if(h.length===0)continue;t.push({source:s,folder:o,name:a,description:c,localFiles:h});continue}const u=Kt(i.skillSpaceId),d=Kt(i.skillId);!u||!d||t.push({source:s,folder:o,name:a,description:c,skillSpaceId:u,skillSpaceName:Kt(i.skillSpaceName),skillId:d,version:Kt(i.version)})}return t}function W0t(e){const t=e&&typeof e=="object"?e:{},n=t.memory&&typeof t.memory=="object"?t.memory:{},i=t.deployment&&typeof t.deployment=="object"?t.deployment:{},r=Y0t(i.envValues),s=t.cloudEnvironment&&typeof t.cloudEnvironment=="object"?t.cloudEnvironment:{},a=t0e(t.a2aRegistry),o=Kge(t.agentType),c=a.enabled&&o==="llm"?"a2a":o,u=Jge(t.cloudProvider),d=Array.isArray(t.mcpTools)?t.mcpTools.map(f=>{const h=f&&typeof f=="object"?f:{},p=h.transport==="stdio"?"stdio":"http";return{name:Kt(h.name),transport:p,url:Kt(h.url),authToken:Kt(h.authToken),authTokenEnv:Kt(h.authTokenEnv),command:Kt(h.command),args:M0(h.args)}}).filter(f=>f.transport==="http"?!!f.url:!!f.command):[];return{...Yo(u),cloudProvider:u,name:Kt(t.name)||"my_agent",description:Kt(t.description),instruction:Kt(t.instruction)||"You are a helpful assistant.",agentType:c,maxIterations:e0e(t.maxIterations),a2aUrl:Kt(t.a2aUrl),modelName:Kt(t.modelName),modelSource:t.modelSource==="custom"||t.modelSource==="ark"?t.modelSource:void 0,modelProvider:Kt(t.modelProvider),modelApiBase:Kt(t.modelApiBase),builtinTools:M0(t.builtinTools).filter(f=>Wge.has(f)),customTools:Zge(t.customTools),mcpTools:d,a2aRegistry:c==="a2a"?{...a,enabled:!0}:a,memory:{shortTerm:Po(n.shortTerm),longTerm:Po(n.longTerm)},shortTermBackend:L0(t.shortTermBackend,Xge,"local"),longTermBackend:L0(t.longTermBackend,Hge,"local"),longTermMemoryIndex:Kt(t.longTermMemoryIndex),autoSaveSession:Po(t.autoSaveSession),knowledgebase:Po(t.knowledgebase),knowledgebaseBackend:L0(t.knowledgebaseBackend,Yge,rh),knowledgebaseIndex:Kt(t.knowledgebaseIndex),tracing:Po(t.tracing),tracingExporters:M0(t.tracingExporters).filter(f=>Gge.has(f)),deployment:{feishuEnabled:Po(i.feishuEnabled),runtimeName:Kt(i.runtimeName),runtimeNameCustomized:Po(i.runtimeNameCustomized)||!!Kt(i.runtimeName).trim(),modelApiKeyId:Kt(i.modelApiKeyId),modelApiKeyName:Kt(i.modelApiKeyName),...Object.keys(r).length>0?{envValues:r}:{}},cloudEnvironment:{cliTools:H0t(s.cliTools),...typeof s.dockerfile=="string"?{dockerfile:s.dockerfile}:{}},harnessSidecar:G0t(t.harnessSidecar),subAgents:n0e(t.subAgents,u),selectedSkills:i0e(t)}}function r0e(e,t=e.cloudProvider??"volcengine"){const n=e.cloudProvider??t,i=new Set(Yre(n).map(r=>r.id));return{...e,builtinTools:(e.builtinTools??[]).filter(r=>i.has(r)),tracing:!1,tracingExporters:[],memory:{shortTerm:!1,longTerm:!1},shortTermBackend:"local",longTermBackend:"local",longTermMemoryIndex:"",autoSaveSession:!1,knowledgebase:!1,knowledgebaseBackend:rh,knowledgebaseIndex:"",subAgents:e.subAgents.map(r=>r0e(r,n))}}const Z0t=/^[A-Za-z_][A-Za-z0-9_]*$/,HQ=/^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/;function vG(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function K0t(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function s0e(e){var n,i,r;const t=(n=e.authTokenEnv)==null?void 0:n.trim();return t&&Z0t.test(t)?t:((r=(i=e.authToken)==null?void 0:i.trim().match(HQ))==null?void 0:r[1])??""}function J0t(e){if(e.authToken)return e.authToken;const t=s0e(e);return t?`\${${t}}`:""}function ebt(e,t){if(!t){const i={...e};return delete i.authToken,delete i.authTokenEnv,i}const n=t.trim().match(HQ);if(n){const i={...e,authTokenEnv:n[1]};return delete i.authToken,i}return{...e,authToken:t}}function tbt(e){if(!e.trim())return!1;try{return!new URL(e).pathname.replace(/\/+$/,"").endsWith("/mcp")}catch{return!1}}function uC(e){const t=new Set,n={},i=r=>{var u;const s=vG(r.name,"AGENT"),a=(u=r.mcpTools)==null?void 0:u.map((d,f)=>{var y,v;const h=((y=d.authToken)==null?void 0:y.trim())??"",p=((v=h.match(HQ))==null?void 0:v[1])??"";let g=s0e(d);if(!g&&h){const x=vG(d.name,`TOOL_${f+1}`);g=K0t(`MCP_${s}_${x}_AUTH_TOKEN`,t)}g&&t.add(g),g&&h&&!p&&(n[g]=h);const O={...d};return delete O.authToken,g?O.authTokenEnv=g:delete O.authTokenEnv,O}),o=r.subAgents.map(i),c=r.workflow?{...r.workflow,nodes:r.workflow.nodes.map(d=>({...d,agent:i(d.agent)}))}:void 0;return{...r,subAgents:o,...a?{mcpTools:a}:{},...c?{workflow:c}:{}}};return{draft:i(e),envValues:n}}function a0e(e,t=!0){var i,r,s,a,o,c,u,d,f,h,p,b,g,O,y,v,x,w,E,S,k,T,C,A,R,P,B,I,$,j,D,F,Q,M,G,H,U,q,ie,fe;const n={agentType:e.agentType??"llm"};if(e.agentType==="a2a"){if((i=e.a2aRegistry)!=null&&i.enabled){const me={enabled:!0};(r=e.a2aRegistry.registrySpaceId)!=null&&r.trim()&&(me.registrySpaceId=e.a2aRegistry.registrySpaceId.trim()),me.registryTopK=((s=e.a2aRegistry.registryTopK)==null?void 0:s.trim())||lc.topK,me.registryRegion=((a=e.a2aRegistry.registryRegion)==null?void 0:a.trim())||lc.region,me.registryEndpoint=((o=e.a2aRegistry.registryEndpoint)==null?void 0:o.trim())||lc.endpoint,n.a2aRegistry=me}return n}if(n.name=e.name,n.description=e.description,n.instruction=e.instruction,e.agentType==="loop"&&(n.maxIterations=e.maxIterations??3),(c=e.modelName)!=null&&c.trim()&&(n.modelName=e.modelName.trim()),e.modelSource&&(n.modelSource=e.modelSource),e.modelSource!=="ark"&&((u=e.modelProvider)!=null&&u.trim()&&(n.modelProvider=e.modelProvider.trim()),(d=e.modelApiBase)!=null&&d.trim()&&(n.modelApiBase=e.modelApiBase.trim())),(f=e.builtinTools)!=null&&f.length&&(n.builtinTools=[...e.builtinTools]),(h=e.customTools)!=null&&h.length&&(n.customTools=e.customTools.map(me=>({name:me.name,description:me.description}))),(p=e.mcpTools)!=null&&p.length&&(n.mcpTools=e.mcpTools.map(me=>{var K,ee,ye,ve;const ce={name:me.name,transport:me.transport};return(K=me.url)!=null&&K.trim()&&(ce.url=me.url.trim()),(ee=me.authTokenEnv)!=null&&ee.trim()&&(ce.authTokenEnv=me.authTokenEnv.trim()),(ye=me.command)!=null&&ye.trim()&&(ce.command=me.command.trim()),(ve=me.args)!=null&&ve.length&&(ce.args=me.args),ce})),((b=e.memory)!=null&&b.shortTerm||(g=e.memory)!=null&&g.longTerm)&&(n.memory={shortTerm:!!e.memory.shortTerm,longTerm:!!e.memory.longTerm},e.memory.shortTerm&&(n.shortTermBackend=e.shortTermBackend||"local"),e.memory.longTerm&&(n.longTermBackend=e.longTermBackend||"local",(O=e.longTermMemoryIndex)!=null&&O.trim()&&(n.longTermMemoryIndex=e.longTermMemoryIndex.trim()),n.autoSaveSession=!!e.autoSaveSession)),e.knowledgebase&&(n.knowledgebase=!0,n.knowledgebaseBackend=e.knowledgebaseBackend||"viking",(y=e.knowledgebaseIndex)!=null&&y.trim()&&(n.knowledgebaseIndex=e.knowledgebaseIndex.trim())),e.tracing&&((v=e.tracingExporters)!=null&&v.length)&&(n.tracing=!0,n.tracingExporters=[...e.tracingExporters]),t&&((x=e.harnessSidecar)!=null&&x.enabled)&&(n.harnessSidecar={enabled:!0,profile:e.harnessSidecar.profile,componentOverrides:{...e.harnessSidecar.componentOverrides}}),((w=e.cloudEnvironment)!=null&&w.cliTools.length||((E=e.cloudEnvironment)==null?void 0:E.dockerfile)!==void 0)&&(n.cloudEnvironment={cliTools:[...e.cloudEnvironment.cliTools],...e.cloudEnvironment.dockerfile!==void 0?{dockerfile:e.cloudEnvironment.dockerfile}:{}}),(S=e.deployment)!=null&&S.feishuEnabled||(T=(k=e.deployment)==null?void 0:k.runtimeName)!=null&&T.trim()||(C=e.deployment)!=null&&C.runtimeNameCustomized||(R=(A=e.deployment)==null?void 0:A.modelApiKeyId)!=null&&R.trim()||(B=(P=e.deployment)==null?void 0:P.modelApiKeyName)!=null&&B.trim()||Object.keys(((I=e.deployment)==null?void 0:I.envValues)??{}).length>0){const me={feishuEnabled:!!(($=e.deployment)!=null&&$.feishuEnabled)};(D=(j=e.deployment)==null?void 0:j.runtimeName)!=null&&D.trim()&&(me.runtimeName=e.deployment.runtimeName.trim()),(F=e.deployment)!=null&&F.runtimeNameCustomized&&(me.runtimeNameCustomized=!0),(M=(Q=e.deployment)==null?void 0:Q.modelApiKeyId)!=null&&M.trim()&&(me.modelApiKeyId=e.deployment.modelApiKeyId.trim()),(H=(G=e.deployment)==null?void 0:G.modelApiKeyName)!=null&&H.trim()&&(me.modelApiKeyName=e.deployment.modelApiKeyName.trim()),Object.keys(((U=e.deployment)==null?void 0:U.envValues)??{}).length>0&&(me.envValues={...(q=e.deployment)==null?void 0:q.envValues}),n.deployment=me}return(ie=e.selectedSkills)!=null&&ie.length&&(n.selectedSkills=e.selectedSkills.map(me=>{const ce={source:me.source,name:me.name,folder:me.folder};return me.description&&(ce.description=me.description),me.source==="skillhub"?(ce.slug=me.slug,ce.namespace=me.namespace??"public"):me.source==="local"?ce.localFiles=me.localFiles??[]:(ce.skillSpaceId=me.skillSpaceId,ce.skillSpaceName=me.skillSpaceName,ce.skillId=me.skillId,me.version&&(ce.version=me.version)),ce})),(fe=e.subAgents)!=null&&fe.length&&(n.subAgents=e.subAgents.map(me=>a0e(me,!1))),n}function nbt(e){var r;const t=uC(e),n={...((r=t.draft.deployment)==null?void 0:r.envValues)??{},...t.envValues},i={...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}};return`# VeADK Agent 结构配置 +${t}`}function A0t(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(-t);const i=n.indexOf(` +`);return i>=0&&(n=n.slice(i+1)),{text:n,omitted:!0}}function _Y(e,t,n=T0t){const i=_0t((e==null?void 0:e.text)??"",t.text??""),r=A0t(i,n),s=r.text?r.text.split(` +`).length:0,a=!!(t.snapshotTruncated||t.truncated),o=!!(e!=null&&e.omittedEarly||r.omitted);return{...t,text:r.text,lineCount:s,truncated:!!(e!=null&&e.truncated||t.truncated||o),omittedEarly:o,snapshotTruncated:!!(e!=null&&e.snapshotTruncated||a)}}function C0t(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 Sg(e){return e.trim()||"main"}function AY(e){return e instanceof mx?e.detail:e instanceof Error?{message:e.message}:{message:String(e||"同步 GitHub 代码失败")}}function N0t(e){return e.status==="cicd-bound"?"已挂载":e.status==="bound"?"已绑定":e.status==="succeeded"?"已同步":e.status||"已创建"}function j0t(e){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6.2 3.8H4.3A1.8 1.8 0 0 0 2.5 5.6v6.1a1.8 1.8 0 0 0 1.8 1.8h6.1a1.8 1.8 0 0 0 1.8-1.8V9.8"}),l.jsx("path",{d:"M8.7 2.5h4.8v4.8"}),l.jsx("path",{d:"m13.1 2.9-6 6"})]})}function CY(e){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"8",cy:"8",r:"5.5",stroke:"currentColor",strokeWidth:"1.7",opacity:"0.24"}),l.jsx("path",{d:"M13.5 8A5.5 5.5 0 0 0 8 2.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function R0t({project:e,region:t,cloudProvider:n,runtimeId:i,binding:r,disabled:s=!1,showSetup:a=!0,onPendingCicdChange:o,onBindingChange:c}){var ce,K,ee;const[u,d]=m.useState(""),[f,h]=m.useState(""),[p,b]=m.useState("main"),[g,O]=m.useState(""),[y,v]=m.useState(""),[x,w]=m.useState(""),[E,S]=m.useState("source"),[k,T]=m.useState(!1),[C,A]=m.useState(!1),[N,P]=m.useState(null),[Q,D]=m.useState(null),[$,j]=m.useState(!1);m.useEffect(()=>{(r!=null&&r.pipelineId||r!=null&&r.runtimeId||r!=null&&r.status)&&P(r)},[r]),m.useEffect(()=>{let me=!1;if(!i){P(null),c==null||c(null);return}return A(!0),vne(i).then(ve=>{me||(P(ve),c==null||c(ve))}).catch(ve=>{me||D(AY(ve))}).finally(()=>{me||A(!1)}),()=>{me=!0}},[c,i]),m.useEffect(()=>{if(!o)return;if(i||E!=="cicd"||!a){o(null),j(!1);return}const me=u.trim(),ve=f.trim(),Ne=g.trim(),Ie=y.trim();if(!me||!ve||!Ne||!Ie||e.files.length===0){o(null),j(!1);return}o({githubUrl:me,githubToken:f,baseBranch:Sg(p),volcengineAccessKey:Ne,volcengineSecretKey:y,volcengineSessionToken:x.trim(),pipelineId:N==null?void 0:N.pipelineId,cloudProvider:n})},[p,n,f,u,E,o,e.files.length,N==null?void 0:N.pipelineId,i,a,g,y,x]);const I=m.useMemo(()=>C0t(u),[u]),F=N==null?void 0:N.github,B=F!=null&&F.owner&&F.repo?`${F.owner}/${F.repo}`:(F==null?void 0:F.repo)??I,M=(F==null?void 0:F.branch)??Sg(p),Y=N==null?void 0:N.runtimeId,q=E==="cicd",U=n==="byteplus"?"BytePlus":"火山",V=!a&&!!i,re=a&&!s&&!k&&u.trim().length>0&&f.trim().length>0&&(q?g.trim().length>0&&y.trim().length>0&&(!!i||e.files.length>0):e.files.length>0),de=q?i?"挂载持续交付":$?"已选择,部署时挂载":"部署时挂载持续交付":"同步代码";async function be(me){if(me.preventDefault(),!!re){T(!0),P(null),D(null);try{if(q&&!i){o==null||o({githubUrl:u.trim(),githubToken:f,baseBranch:Sg(p),volcengineAccessKey:g.trim(),volcengineSecretKey:y,volcengineSessionToken:x.trim(),cloudProvider:n}),j(!0);return}const ve=q&&i?await yne({githubUrl:u.trim(),githubToken:f,baseBranch:Sg(p),runtimeName:e.name,runtimeId:i??"",region:t,cloudProvider:n,projectPath:".",volcengineAccessKey:g.trim(),volcengineSecretKey:y,volcengineSessionToken:x.trim()}):await One({project:e,githubUrl:u.trim(),githubToken:f,baseBranch:Sg(p),region:t,cloudProvider:n}),Ne=!q&&i&&ve.pipelineId?await T$({pipelineId:ve.pipelineId,runtimeId:i,region:t,cloudProvider:n}):ve;P(Ne),c==null||c(Ne),q&&!i&&Ne.pipelineId&&(o==null||o({githubUrl:u.trim(),githubToken:f,baseBranch:Sg(p),volcengineAccessKey:g.trim(),volcengineSecretKey:y,volcengineSessionToken:x.trim(),pipelineId:Ne.pipelineId,cloudProvider:n})),(!q||i)&&(h(""),O(""),v(""),w(""))}catch(ve){D(AY(ve))}finally{T(!1)}}}return V&&!C&&!N?null:l.jsxs("section",{className:"pp-config-section pp-github-cicd",children:[l.jsxs("div",{className:"pp-config-label pp-github-cicd-title",children:[a?l.jsxs("div",{className:"pp-github-cicd-tabs",role:"tablist","aria-label":"GitHub 交付模式",children:[l.jsx("button",{type:"button",className:E==="source"?"is-active":"",role:"tab","aria-selected":E==="source",onClick:()=>S("source"),children:"GitHub 代码同步"}),l.jsx("button",{type:"button",role:"tab",className:E==="cicd"?"is-active":"","aria-selected":E==="cicd",onClick:()=>S("cicd"),children:"挂载持续交付"})]}):l.jsx("span",{children:"GitHub 交付"}),(k||C)&&l.jsxs("span",{className:"pp-github-cicd-status",role:"status",children:[l.jsx(CY,{className:"pp-ic spin"}),C?"读取中":"执行中"]})]}),a&&l.jsx("p",{className:"pp-github-cicd-copy",children:q?i?"写入 AgentKit Runtime GitHub Actions workflow,后续 GitHub 提交会更新绑定 Runtime。":"首次部署成功后初始化目标分支,后续 GitHub 提交会更新绑定 Runtime。":"Studio 会直接 push 到目标分支;该分支由 Studio 管理,远端冲突时同步会失败。Runtime 仍由部署按钮发布。"}),a&&l.jsxs("form",{className:"pp-github-cicd-form",onSubmit:be,children:[l.jsxs("label",{className:"pp-github-cicd-field",children:[l.jsx("span",{children:"GitHub URL"}),l.jsx("input",{value:u,placeholder:"https://github.com/org/repo",disabled:s||k,autoComplete:"off",onChange:me=>{j(!1),d(me.currentTarget.value)}})]}),l.jsxs("label",{className:"pp-github-cicd-field",children:[l.jsx("span",{children:"Token"}),l.jsx("input",{type:"password",value:f,placeholder:"repo 或 contents write 权限",disabled:s||k,autoComplete:"off",onChange:me=>{j(!1),h(me.currentTarget.value)}})]}),l.jsxs("label",{className:"pp-github-cicd-field",children:[l.jsx("span",{children:"目标分支"}),l.jsx("input",{value:p,placeholder:"main",disabled:s||k,autoComplete:"off",onChange:me=>{j(!1),b(me.currentTarget.value)}})]}),q&&l.jsxs(l.Fragment,{children:[l.jsxs("label",{className:"pp-github-cicd-field",children:[l.jsxs("span",{children:[U," AK"]}),l.jsx("input",{type:"password",value:g,placeholder:"用于写入 GitHub Actions Secret",disabled:s||k,autoComplete:"off",onChange:me=>{j(!1),O(me.currentTarget.value)}})]}),l.jsxs("label",{className:"pp-github-cicd-field",children:[l.jsxs("span",{children:[U," SK"]}),l.jsx("input",{type:"password",value:y,placeholder:"用于写入 GitHub Actions Secret",disabled:s||k,autoComplete:"off",onChange:me=>{j(!1),v(me.currentTarget.value)}})]}),l.jsxs("label",{className:"pp-github-cicd-field",children:[l.jsxs("span",{children:[U," Session Token"]}),l.jsx("input",{type:"password",value:x,placeholder:"临时凭证可选",disabled:s||k,autoComplete:"off",onChange:me=>{j(!1),w(me.currentTarget.value)}})]})]}),l.jsx("button",{type:"submit",className:"pp-github-cicd-submit",disabled:!re,children:k?l.jsxs(l.Fragment,{children:[l.jsx(CY,{className:"pp-ic spin"}),"同步中…"]}):de})]}),$&&!N&&l.jsx("p",{className:"pp-github-cicd-bound-note",children:"已选择挂载持续交付。点击部署后,Studio 会等待 Runtime 创建完成并初始化 GitHub 目标分支,初始化成功后才完成部署流程。"}),N&&l.jsxs("div",{className:"pp-github-cicd-result",role:"status",children:[l.jsxs("div",{className:"pp-github-cicd-result-head",children:[l.jsx("strong",{children:(ce=N.cicd)!=null&&ce.enabled?N.runtimeId?"已挂载持续交付":"已选择挂载持续交付":Y?"已绑定 GitHub":"代码已同步"}),l.jsx("span",{children:N0t(N)})]}),l.jsxs("dl",{className:"pp-github-cicd-result-grid",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"仓库"}),l.jsx("dd",{children:B})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"分支"}),l.jsx("dd",{children:M})]}),Y&&l.jsxs("div",{children:[l.jsx("dt",{children:"Runtime"}),l.jsx("dd",{children:Y})]}),(F==null?void 0:F.commitSha)&&l.jsxs("div",{children:[l.jsx("dt",{children:"Commit"}),l.jsx("dd",{children:F.commitSha.slice(0,12)})]}),((K=N.cicd)==null?void 0:K.workflowPath)&&l.jsxs("div",{children:[l.jsx("dt",{children:"Workflow"}),l.jsx("dd",{children:N.cicd.workflowPath})]})]}),l.jsx("div",{className:"pp-github-cicd-links",children:(F==null?void 0:F.pullRequestUrl)&&l.jsxs("a",{href:F.pullRequestUrl,target:"_blank",rel:"noopener noreferrer",children:[l.jsx(j0t,{className:"pp-ic"}),"查看 PR"]})}),Y&&l.jsx("p",{className:"pp-github-cicd-bound-note",children:(ee=N.cicd)!=null&&ee.enabled?"目标分支提交会触发 Runtime 持续交付。":"更新并发布时会先同步当前源码到这个分支。"})]}),Q&&l.jsxs("div",{className:"pp-github-cicd-error",role:"alert",children:[l.jsx("strong",{children:"创建失败"}),l.jsx("p",{children:Q.message}),(Q.phase||Q.runtimeId||Q.logPath)&&l.jsxs("dl",{children:[Q.phase&&l.jsxs("div",{children:[l.jsx("dt",{children:"阶段"}),l.jsx("dd",{children:Q.phase})]}),Q.runtimeId&&l.jsxs("div",{children:[l.jsx("dt",{children:"Runtime"}),l.jsx("dd",{children:Q.runtimeId})]}),Q.logPath&&l.jsxs("div",{children:[l.jsx("dt",{children:"日志"}),l.jsx("dd",{children:Q.logPath})]})]})]})]})}bo.registerLanguage("python",cce);bo.registerLanguage("typescript",vce);bo.registerLanguage("javascript",ice);bo.registerLanguage("json",rce);bo.registerLanguage("yaml",wce);bo.registerLanguage("markdown",lce);bo.registerLanguage("bash",Zle);bo.registerLanguage("ini",Kle);bo.registerLanguage("dockerfile",vVe);bo.registerLanguage("makefile",oce);function NY(e){switch(e){case"prepare":case"upload":case"build":case"deploy":case"publish":case"update":case"evaluation":return e;default:return"unknown"}}const I0t=m.lazy(()=>Td(()=>Promise.resolve().then(()=>QQ),void 0)),Ef=()=>{};function D0t({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M2.75 12s3.35-5.25 9.25-5.25S21.25 12 21.25 12 17.9 17.25 12 17.25 2.75 12 2.75 12Z"}),l.jsx("circle",{cx:"12",cy:"12",r:"2.5"})]})}function P0t({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M3 3l18 18"}),l.jsx("path",{d:"M9.7 6.95A9.7 9.7 0 0 1 12 6.68c5.9 0 9.25 5.32 9.25 5.32a16 16 0 0 1-2.28 2.85"}),l.jsx("path",{d:"M14.35 14.55A3.25 3.25 0 0 1 9.5 10.2"}),l.jsx("path",{d:"M6.25 8.12A16.4 16.4 0 0 0 2.75 12S6.1 17.32 12 17.32c.8 0 1.55-.1 2.25-.27"})]})}const II={status:"hidden",apiKeyId:"",value:"",error:""};function M0t({open:e,isUpdate:t,title:n,description:i,confirmLabel:r,onCancel:s,onConfirm:a}){const o=m.useRef(null);return m.useEffect(()=>{var d;if(!e)return;const c=document.body.style.overflow;document.body.style.overflow="hidden",(d=o.current)==null||d.focus();const u=f=>{f.key==="Escape"&&s()};return window.addEventListener("keydown",u),()=>{document.body.style.overflow=c,window.removeEventListener("keydown",u)}},[s,e]),e?Gi.createPortal(l.jsx("div",{className:"code-browser-backdrop pp-confirm-backdrop",onMouseDown:c=>{c.target===c.currentTarget&&s()},children:l.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:[l.jsxs("header",{className:"code-browser-head pp-confirm-head",children:[l.jsxs("div",{className:"code-browser-title-wrap",children:[l.jsx("span",{className:"code-browser-title-icon pp-confirm-icon","aria-hidden":"true",children:l.jsx(ETe,{})}),l.jsx("h2",{id:"pp-confirm-title",children:n??(t?"确认更新":"确认部署")})]}),l.jsx("button",{type:"button",className:"code-browser-close",onClick:s,"aria-label":"关闭部署确认",children:l.jsx(za,{"aria-hidden":"true"})})]}),l.jsx("div",{className:"pp-confirm-body",children:l.jsx("p",{id:"pp-confirm-description",children:i??(t?"将更新并发布到当前云端 Runtime,过程可能需要几分钟。确定继续吗?":"将创建新的云端 Runtime,部署过程可能需要几分钟。确定继续吗?")})}),l.jsxs("footer",{className:"pp-confirm-actions",children:[l.jsx("button",{ref:o,type:"button",onClick:s,children:"取消"}),l.jsx("button",{type:"button",className:"is-primary",onClick:a,children:r??(t?"确定更新":"确定部署")})]})]})}),document.body):null}function L0t({value:e,disabled:t,onChange:n}){const[i,r]=m.useState([]),[s,a]=m.useState(!0),[o,c]=m.useState(null),[u,d]=m.useState(0);m.useEffect(()=>{const p=new AbortController;return a(!0),c(null),k$(p.signal).then(b=>r(b)).catch(b=>{b instanceof DOMException&&b.name==="AbortError"||(r([]),c(b instanceof Error?b.message:String(b)))}).finally(()=>{p.signal.aborted||a(!1)}),()=>p.abort()},[u]);const f=m.useMemo(()=>[...i].sort((p,b)=>Number(b.isCurrent)-Number(p.isCurrent)).map(p=>({value:p.uid,label:p.name.trim()||"未命名用户池",description:p.domain||p.uid,badge:p.isCurrent?"当前用户池":void 0})),[i]),h=i.find(p=>p.uid===e);return l.jsxs("div",{className:"pp-user-pool-picker",children:[l.jsx(hC,{ariaLabel:"部署用户池",value:e,placeholder:s?"正在加载用户池…":"请选择用户池",options:f,disabled:t||s||!!o,onChange:n}),o?l.jsxs("div",{className:"pp-user-pool-error",role:"alert",children:[l.jsx("span",{children:o}),l.jsx("button",{type:"button",onClick:()=>d(p=>p+1),children:"重试"})]}):s?l.jsxs("span",{className:"pp-user-pool-status","aria-live":"polite",children:[l.jsx(Hn,{"aria-hidden":"true",className:"pp-user-pool-spinner"}),"正在加载 Identity 用户池…"]}):i.length===0?l.jsx("span",{className:"pp-user-pool-status",children:"当前账号下暂无 Identity 用户池。"}):h!=null&&h.isCurrent?l.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 的登录 JWT 将透传访问此 Runtime。"}):h?l.jsx("div",{className:"pp-user-pool-error",role:"alert",children:l.jsx("span",{children:"所选用户池不是当前 Studio 使用的用户池,部署后无法从 Studio 调用此 Runtime。"})}):l.jsx("span",{className:"pp-user-pool-status",children:"当前 Studio 使用的用户池已在列表中标注。"})]})}const $0t=[{value:"api_key",label:"API Key",description:"默认方式,使用 Runtime API Key 访问"},{value:"user_pool",label:"用户池",description:"使用 Identity 用户池签发的 JWT"}],Q0t={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"},jY={dockerfile:"dockerfile","requirements.txt":"plaintext","requirements-dev.txt":"plaintext",".env":"ini",".gitignore":"plaintext",makefile:"makefile"};function RY(e){return e.replace(/&/g,"&").replace(//g,">")}function B0t(e){const n=(e.split("/").pop()??e).toLowerCase();if(jY[n])return jY[n];if(n.startsWith("dockerfile"))return"dockerfile";if(n.startsWith(".env"))return"ini";const i=n.lastIndexOf(".");if(i===-1)return null;const r=n.slice(i+1);return Q0t[r]??null}function F0t(e,t){try{const n=B0t(t);return n&&bo.getLanguage(n)?bo.highlight(e,{language:n,ignoreIllegals:!0}).value:n===null?bo.highlightAuto(e).value:RY(e)}catch{return RY(e)}}const U0t=[{phase:"build",label:"构建镜像"},{phase:"deploy",label:"部署"},{phase:"publish",label:"发布"}],z0t={phase:"github",label:"同步代码"},V0t=[{phase:"upload",label:"上传代码包"},{phase:"build",label:"镜像打包"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}],q0t={phase:"update",label:"更新实例配置"},X0t={phase:"evaluation",label:"创建评测集"};function H0t(e){return e?!e.memory.shortTerm||(e.shortTermBackend||"local")==="local":!1}function G0t(e,t){const n=Number(e),i=Number(t);return!e.trim()||!t.trim()||!Number.isSafeInteger(n)||!Number.isSafeInteger(i)||n<1||i<1?{valid:!1,error:"实例数必须为大于 0 的整数。"}:n>i?{valid:!1,error:"最小实例数不能大于最大实例数。"}:{valid:!0,min:n,max:i}}function Y0t(e){const t={name:"",children:new Map};for(const n of e){const i=n.path.split("/").filter(Boolean);let r=t;i.forEach((s,a)=>{let o=r.children.get(s);o||(o={name:s,children:new Map},r.children.set(s,o)),a===i.length-1&&(o.path=n.path),r=o})}return t}function W0t(e,t=!1){return[...e.children.values()].sort((n,i)=>{const r=n.children.size>0&&n.path===void 0,s=i.children.size>0&&i.path===void 0;return r!==s?t?r?1:-1:r?-1:1:n.name.localeCompare(i.name)})}function Z0t(e="",t=""){return{id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,key:e,value:t}}function K0t({left:e,right:t}){const[n,i]=m.useState(null);return m.useLayoutEffect(()=>{const r=document.getElementById("veadk-page-header-left"),s=document.getElementById("veadk-page-header-actions");r&&s&&i({left:r,right:s})},[]),n?l.jsxs(l.Fragment,{children:[Gi.createPortal(e,n.left),Gi.createPortal(t,n.right)]}):l.jsxs("header",{className:"pp-toolbar",children:[e,t]})}function pC({project:e,embedded:t=!1,deployDisabledReason:n,agentDraft:i,agentName:r,agentCount:s,releaseConfiguration:a,onChange:o,onDeploy:c,onAgentAdded:u,onDeploymentComplete:d,deploymentActionLabel:f="部署",deploymentConfirmation:h,deploymentActionTargetId:p,deploymentRuntimeId:b,deploymentRuntimeName:g,deploymentRuntimeNameCustomized:O=!1,onDeploymentRuntimeNameChange:y,onDeploymentStarted:v,onDeploymentTaskChange:x,feishuEnabled:w=!1,onFeishuEnabledChange:E,deploymentEnv:S=[],requiredSecretEnv:k=[],requiredSecretEnvValues:T,onRequiredSecretEnvChange:C,deploymentEnvValues:A={},onDeploymentEnvChange:N,network:P,onNetworkChange:Q,cloudProvider:D="volcengine",deployRegion:$=Li(D),onDeployRegionChange:j,deploymentTelemetry:I={source:"unknown",createMode:"unknown",aiAssisted:!1},onBack:F,backLabel:B="返回配置",onExportYaml:M,deploymentPrimaryPane:Y,deployDisabled:q=!1}){var te,Pe,st,Ut,Wt,gn;const U=typeof o=="function",V=!!b,re=H0t(i),de=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,be=m.useMemo(()=>Lge(de),[de]),[ce,K]=m.useState(null),ee=V?g??de:O?g??"":ce??be,me=V?null:cC(ee),[ve,Ne]=m.useState(null),[Ie,De]=m.useState(!1),pe=`${$}\0${ee.trim()}`,Se=m.useRef(pe);Se.current=pe;const Oe=(ve==null?void 0:ve.key)===pe?ve.message:null,Le=me??Oe,Fe=((Pe=(te=i==null?void 0:i.deployment)==null?void 0:te.modelApiKeyId)==null?void 0:Pe.trim())??"",Te=((st=i==null?void 0:i.harnessSidecar)==null?void 0:st.enabled)===!0,[Ue,ot]=m.useState(((Wt=(Ut=e==null?void 0:e.files)==null?void 0:Ut[0])==null?void 0:Wt.path)??null);m.useEffect(()=>{K(null),Ne(null)},[de]);const[Bt,Ye]=m.useState(new Set),[Z,ie]=m.useState(!1),[ue,ye]=m.useState(""),[z,je]=m.useState(!1),[We,et]=m.useState(!1),[Jt,Xt]=m.useState(!1),[Tt,vt]=m.useState(!1),[xe,ze]=m.useState(null),[Be,bt]=m.useState(null),[mt,At]=m.useState(null),[_e,Ze]=m.useState(null),[Ct,an]=m.useState({}),[tt,pn]=m.useState(null),[Yn,zt]=m.useState(!1),[Vt,Ae]=m.useState([]),[Ge,Ft]=m.useState(II),mn=m.useRef(null),en=m.useRef(Fe);en.current=Fe;const[ui,Re]=m.useState({}),rt=T??ui,[Dt,Yt]=m.useState(null),[cn,Zt]=m.useState({}),ni=m.useRef(new Map),[oi,Ui]=m.useState(w0t),[le,Qe]=m.useState(null),[lt,Ot]=m.useState(!1),En=m.useId(),li=m.useId(),Wn=m.useId(),di=m.useId(),[Pn,fi]=m.useState("api_key"),[Yi,Wi]=m.useState(""),gr=ob(D),vn=wu($,D),[Zi,ji]=m.useState("1"),[Si,zi]=m.useState(re||Te?"1":"5"),[qr,ua]=m.useState(!0),Ir=D!=="byteplus",Os=Ir&&qr,[Ar,Ns]=m.useState(null),ii=m.useRef(!0),Xs=k.map(G=>`${G.key}:${G.label}`).join("|"),Lc=S.map(G=>`${G.key}:${G.required}:${G.serverManaged??!1}:${(G.requiredBy??[]).join(",")}`).join("|"),Xa=m.useRef($),Ki=G0t(Zi,Si),Xl=!V&&Ki.valid&&(Ki.min!==1||Ki.max!==5),Eo=Y?V0t:U0t,da=Xl?[...Eo,q0t]:Eo,Ha=Os?[...da,X0t]:da,Ca=b&&(mt!=null&&mt.pipelineId)||_e?[...Ha,z0t]:Ha;function Xr(){var G;(G=mn.current)==null||G.abort(),mn.current=null,Ft(II)}async function Hs(){var Ke;const G=en.current;if(!G){Ft({status:"error",apiKeyId:"",value:"",error:"请先在模型配置中选择 API Key。"});return}(Ke=mn.current)==null||Ke.abort();const Ce=new AbortController;mn.current=Ce,Ft({status:"loading",apiKeyId:G,value:"",error:""});try{const Nt=await Ute(G,Ce.signal);if(Ce.signal.aborted||en.current!==G)return;Ft({status:"visible",apiKeyId:G,value:Nt.value,error:""})}catch(Nt){if(Ce.signal.aborted)return;Ft({status:"error",apiKeyId:G,value:"",error:Nt instanceof Error?Nt.message:"加载 API Key 失败,请重试。"})}finally{mn.current===Ce&&(mn.current=null)}}m.useEffect(()=>{Xr(),Fe&&Zt(G=>{if(!("MODEL_AGENT_API_KEY"in G))return G;const Ce={...G};return delete Ce.MODEL_AGENT_API_KEY,Ce})},[Fe]),m.useEffect(()=>(window.addEventListener("pagehide",Xr),()=>{window.removeEventListener("pagehide",Xr),Xr()}),[]),m.useEffect(()=>{const G=new Set(k.map(Ce=>Ce.key));T===void 0&&Re(Ce=>Object.fromEntries(Object.entries(Ce).filter(([Ke])=>G.has(Ke)))),Yt(Ce=>Ce&&G.has(Ce)?Ce:null)},[Xs,T]),m.useEffect(()=>{const G=new Set(S.map(Ce=>Ce.key));Zt(Ce=>{const Ke=Object.fromEntries(Object.entries(Ce).filter(([Nt])=>G.has(Nt)));return Object.keys(Ke).length===Object.keys(Ce).length?Ce:Ke})},[Lc]),m.useEffect(()=>{!j||V||gr.some(G=>G.value===$)||j(Li(D))},[D,$,gr,V,j]),m.useEffect(()=>{if(!p){Ns(null);return}Ns(document.getElementById(p))},[p]);const Ji=G=>l.jsxs("div",{className:`pp-network-region${lt?" is-open":""}`,onKeyDown:Ce=>{Ce.key==="Escape"&&Ot(!1)},children:[G&&l.jsx("span",{children:"发布区域"}),l.jsxs("button",{type:"button",className:"pp-region-trigger","aria-label":"部署区域","aria-haspopup":"listbox","aria-expanded":lt,"aria-describedby":V?En:void 0,disabled:z||V||!j,onClick:()=>Ot(Ce=>!Ce),children:[l.jsx("span",{children:vn}),l.jsx(Zke,{className:`pp-region-chevron${lt?" is-open":""}`})]}),lt&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>Ot(!1)}),l.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"部署区域",children:gr.map(Ce=>{const Ke=Ce.value===$;return l.jsxs("button",{type:"button",role:"option","aria-selected":Ke,className:`pp-region-option${Ke?" is-selected":""}`,onClick:()=>{j==null||j(Ce.value),Ot(!1)},children:[l.jsx("span",{children:Ce.label}),Ke&&l.jsx(Nu,{"aria-hidden":"true"})]},Ce.value)})})]}),V&&l.jsx("span",{id:En,className:"pp-region-help",children:"更新时沿用现有 Runtime 的部署区域,无法修改。"})]});m.useEffect(()=>(ii.current=!0,()=>{ii.current=!1}),[]),m.useEffect(()=>{ji("1"),zi(re||Te?"1":"5")},[re,Te]),m.useEffect(()=>{Xa.current!==$&&(Xa.current=$,Ui(G=>({tos:G.tos.mode==="existing"?{mode:"existing"}:G.tos,cr:G.cr.mode==="existing"?{mode:"existing"}:G.cr,codePipeline:G.codePipeline.mode==="existing"?{mode:"existing"}:G.codePipeline})),Qe(null))},[$]),m.useEffect(()=>{if(!Jt)return;const G=document.body.style.overflow;document.body.style.overflow="hidden";const Ce=Ke=>{Ke.key==="Escape"&&Xt(!1)};return window.addEventListener("keydown",Ce),()=>{document.body.style.overflow=G,window.removeEventListener("keydown",Ce)}},[Jt]);const Gs=m.useMemo(()=>!(e!=null&&e.files)||!Array.isArray(e.files)?{name:"",children:new Map}:Y0t(e.files),[e==null?void 0:e.files]);if(!e||!Array.isArray(e.files))return l.jsx("div",{className:"pp-error",children:"项目数据无效"});const hi=e.files.find(G=>G.path===Ue)??null,ss=(P==null?void 0:P.mode)??"public",Dr=()=>({agentId:String((r==null?void 0:r.trim())||e.name||"unknown"),deployAction:b?"update":"create",deploySource:I.source,createMode:I.createMode,aiAssisted:I.aiAssisted?1:0,deployRegion:String($),runtimeNetworkType:ss,feishuEnabled:w?1:0}),br=new Set(k.map(G=>G.key)),fa=h0t(w?[...S,...ny]:S,A).filter(G=>!br.has(G.key)),Hr=fa.length+k.length+Vt.length,bn=Ge.apiKeyId===Fe?Ge:II,ys=bn.status==="visible",ko=Fe?bn.status==="loading"?"正在显示 API Key":ys?"隐藏 API Key":bn.status==="error"?"重试显示 API Key":"显示 API Key":"请先选择 API Key";function Na(G){Ye(Ce=>{const Ke=new Set(Ce);return Ke.has(G)?Ke.delete(G):Ke.add(G),Ke})}function as(G,Ce){o&&(o({...e,files:G}),Ce!==void 0&&ot(Ce))}function ll(G){hi&&as(e.files.map(Ce=>Ce.path===hi.path?{...Ce,content:G}:Ce))}function or(){const G=ue.trim();if(ie(!1),ye(""),!!G){if(e.files.some(Ce=>Ce.path===G)){ot(G);return}as([...e.files,{path:G,content:""}],G)}}function js(){if(!hi)return;const G=window.prompt("重命名文件",hi.path),Ce=G==null?void 0:G.trim();!Ce||Ce===hi.path||e.files.some(Ke=>Ke.path===Ce)||as(e.files.map(Ke=>Ke.path===hi.path?{...Ke,path:Ce}:Ke),Ce)}function Ga(){var Ce;if(!hi)return;const G=e.files.filter(Ke=>Ke.path!==hi.path);as(G,((Ce=G[0])==null?void 0:Ce.path)??null)}function cl(G,Ce){Ae(Ke=>Ke.map(Nt=>Nt.id===G?{...Nt,...Ce}:Nt))}function Ys(G){Ae(Ce=>Ce.filter(Ke=>Ke.id!==G))}function ul(){Ae(G=>[...G,Z0t()])}function $c(G){Zt(Ce=>{if(!(G in Ce))return Ce;const Ke={...Ce};return delete Ke[G],Ke})}function ae(G){window.requestAnimationFrame(()=>{const Ce=ni.current.get(G);Ce&&(Ce.focus({preventScroll:!0}),Ce.scrollIntoView({block:"center",behavior:"smooth"}))})}function kn(G){Q&&Q(G==="public"?void 0:{...P??{mode:G},mode:G})}function Zn(G){Q==null||Q({...P??{mode:"private"},...G})}function To(){var Nt,yt,jt,Gt;const G=new Map(Vt.map(ft=>({key:ft.key.trim(),value:ft.value})).filter(ft=>ft.key.length>0).map(ft=>[ft.key,ft.value])),Ce=w?[...S,...ny]:S;for(const ft of r0e(Ce,A))G.set(ft.key,ft.value);for(const ft of k){const Pt=rt[ft.key]??"";Pt.trim()&&G.set(ft.key,Pt)}const Ke=ft=>ft.agentType==="llm"&&kO(ft,D)==="ark"||ft.subAgents.some(Ke);if(i&&Ke(i)){const ft=(yt=(Nt=i.deployment)==null?void 0:Nt.modelApiKeyId)==null?void 0:yt.trim(),Pt=(Gt=(jt=i.deployment)==null?void 0:jt.modelApiKeyName)==null?void 0:Gt.trim();ft&&G.set("MODEL_AGENT_API_KEY_ID",ft),Pt&&G.set("MODEL_AGENT_API_KEY_NAME",Pt)}return[...G].map(([ft,Pt])=>({key:ft,value:Pt}))}async function Cn(){if(!(!E||z||Tt)){ze(null),vt(!0);try{await E(!w)}catch(G){ii.current&&ze(`更新飞书配置失败:${G instanceof Error?G.message:String(G)}`)}finally{ii.current&&vt(!1)}}}const Kn=m.useCallback(G=>{At(G)},[]);async function ha(){var jt;if(!c||z||Ie||q)return;if(Le){ze(Le);return}if(!V){const Gt=E0t(oi);if(Gt){Qe(Gt),ze(Gt);return}}if(Qe(null),!Ki.valid){ze(Ki.error);return}if(!V&&Pn==="user_pool"&&!Yi){ze("请选择用于 Runtime 鉴权的用户池。");return}if(ss!=="public"&&!((jt=P==null?void 0:P.vpcId)!=null&&jt.trim())){ze("使用 VPC 网络时,请填写 VPC ID。");return}const G=k.find(Gt=>!(rt[Gt.key]??"").trim());if(G){Yt(G.key),ze(`请填写 ${G.label},用于访问对应的自定义模型地址。`);return}Yt(null);const Ce=s0e(S,A),Ke=S.find(Gt=>Gt.key==="MODEL_AGENT_API_KEY"&&Gt.required&&Gt.serverManaged&&!Fe),Nt=[...Ke?[Ke]:[],...Ce];if(Nt.length){const Gt=Object.fromEntries(Nt.map(ft=>{var Pt;return[ft.key,ft.serverManaged?`${((Pt=EY(ft))==null?void 0:Pt.replace(/。$/,""))||ft.comment||ft.key},请先返回模型配置选择 API Key。`:m0t(ft)]}));Zt(Gt),ze(Gt[Nt[0].key]),ae(Nt[0].key);return}Zt({});const yt=o0e(S,A);if(yt){ze(`${yt.spec.comment||yt.spec.key}:${yt.error}`);return}if(w){const Gt=p0t(ny,A);if(Gt){const ft=ny.find(Pt=>Pt.key===Gt.key);ze(`启用飞书后,请填写${(ft==null?void 0:ft.comment)||(ft==null?void 0:ft.key)}。`);return}}if(!V){const Gt=ee.trim(),ft=`${$}\0${Gt}`;De(!0),ze(null);try{const Pt=await E$(Gt,$);if(!ii.current||Se.current!==ft)return;if(!Pt.available){const on="Runtime 名称已存在,请修改后重试。";Ne({key:ft,message:on}),ze(on);return}Ne(null)}catch(Pt){if(!ii.current)return;ze(Pt instanceof Error?Pt.message:String(Pt));return}finally{ii.current&&De(!1)}}et(!0)}async function _o(){var dl,Gl;if(!c||z)return;if(Le){et(!1),ze(Le);return}if(!Ki.valid){et(!1),ze(Ki.error);return}et(!1);const G=To();ii.current&&(ze(null),bt(null),an({}),pn(null),je(!0));const Ce=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,Ke=(r==null?void 0:r.trim())||(i==null?void 0:i.name)||e.name,Nt=ee.trim();let yt=Nt;const jt=Date.now(),Gt=Uge(Dr()),ft={id:Ce,agentName:Ke,runtimeName:yt,runtimeId:b,region:$,startedAt:jt,status:"running",phase:"prepare",label:"准备部署",agentDraft:i,githubDelivery:!!_e,instanceRange:Xl?{min:Ki.min,max:Ki.max}:void 0,createEvaluationSets:Os};x==null||x(ft),v==null||v(ft);let Pt,on,Ri=ft.phase??"prepare";const vs=ki=>Pt?{...Pt,status:ki,updatedAt:Date.now()}:void 0,Hl=ki=>{const tn=vs(ki);return tn?{buildLog:tn}:{}},Xh=()=>({source:"code-pipeline",status:"running",text:"",lineCount:0,truncated:!1,updatedAt:Date.now(),pendingMessage:"正在等待构建日志…"}),pa=(ki,tn="running")=>{const Or=[(on==null?void 0:on.text)??"",ki].filter(Boolean).join(` +`);return on={source:"github-delivery",status:tn,text:Or,lineCount:Or?Or.split(` +`).length:0,truncated:!1,updatedAt:Date.now(),pendingMessage:tn==="running"?"正在等待 GitHub 挂载日志…":void 0},on},pi=ki=>{if(Ri!=="build")return;const tn=["","----- 构建失败 -----",ki].join(` +`);return Pt=_Y(Pt,{source:"code-pipeline",status:"error",text:tn,lineCount:tn.split(` +`).length,truncated:!1,updatedAt:Date.now()}),Pt};try{let ki=mt;if(b&&(mt!=null&&mt.pipelineId)){Ri="github";const Nn=pa("正在同步当前源码到 GitHub"),Or={level:"info",phase:"github",message:"正在同步当前源码到 GitHub",pct:0};ii.current&&(an(Yl=>({...Yl,github:Or})),pn("github")),x==null||x({id:Ce,agentName:Ke,runtimeName:yt,runtimeId:b,region:$,startedAt:jt,status:"running",phase:"github",label:"同步 GitHub 代码",message:Or.message,pct:0,githubDelivery:!0,githubLog:Nn});const er=await Sne({runtimeId:b,project:e});if(ki=er,ii.current&&(At(er),an(Yl=>({...Yl,github:{level:"success",phase:"github",message:"GitHub 代码已同步",pct:100}})),pn(null)),(dl=er.cicd)!=null&&dl.enabled){x==null||x({id:Ce,agentName:Ke,runtimeName:yt,runtimeId:b,region:$,startedAt:jt,status:"success",phase:"github",label:"GitHub 代码已提交",message:"代码已提交到 GitHub,GitHub Actions 正在更新同一个 Runtime",pct:100,githubDelivery:!0,githubLog:pa("代码已提交到 GitHub,GitHub Actions 正在更新同一个 Runtime","complete")});return}}const tn=await c(e,Nn=>{var Or;Nn.runtimeName&&(yt=Nn.runtimeName),Ri=Nn.phase,Nn.buildLog?Pt=_Y(Pt,Nn.buildLog):Nn.phase==="build"&&!Pt&&(Pt=Xh()),ii.current&&(an(er=>({...er,[Nn.phase]:Nn})),pn(Nn.phase)),x==null||x({id:Ce,agentName:Ke,runtimeName:yt,runtimeId:b,region:$,startedAt:jt,status:"running",phase:Nn.phase,label:((Or=Ca.find(er=>er.phase===Nn.phase))==null?void 0:Or.label)??Nn.phase,message:Nn.message,pct:Nn.pct,...Pt?{buildLog:Pt}:{}})},{taskId:Ce,runtimeName:Nt,sessionStorage:re?"in-memory":"persistent",minInstance:Ki.min,maxInstance:Ki.max,...V?{}:{authentication:Pn==="user_pool"?{type:"user_pool",userPoolUid:Yi}:{type:"api_key"}},createEvaluationSets:Os,...w?{im:{feishu:{enabled:!0}}}:{},envs:G,...V?{}:{resources:oi}});if(!b&&_e&&tn.runtimeId){Ri="github";const Nn=pa("开始初始化 GitHub main 分支与 Actions workflow"),Or={level:"info",phase:"github",message:"正在初始化 GitHub 持续交付目标分支",pct:0};ii.current&&(an(er=>({...er,github:Or})),pn("github")),x==null||x({id:Ce,agentName:tn.agentName||Ke,runtimeName:tn.runtimeName||yt,runtimeId:tn.runtimeId,region:tn.region||$,startedAt:jt,status:"running",phase:"github",label:"挂载 GitHub 持续交付",message:Or.message,pct:0,githubDelivery:!0,githubLog:Nn});try{const er=await xne({project:e,githubUrl:_e.githubUrl,githubToken:_e.githubToken,baseBranch:_e.baseBranch,runtimeName:tn.agentName||yt,runtimeId:tn.runtimeId,region:tn.region||$,cloudProvider:_e.cloudProvider,projectPath:".",volcengineAccessKey:_e.volcengineAccessKey,volcengineSecretKey:_e.volcengineSecretKey,volcengineSessionToken:_e.volcengineSessionToken});ki=er,ii.current&&(At(er),Ze(null),an(Yl=>({...Yl,github:{level:"success",phase:"github",message:"GitHub 持续交付已初始化目标分支",pct:100}})),pn(null)),x==null||x({id:Ce,agentName:tn.agentName||Ke,runtimeName:tn.runtimeName||yt,runtimeId:tn.runtimeId,region:tn.region||$,startedAt:jt,status:"running",phase:"github",label:"GitHub 持续交付已挂载",message:"GitHub 持续交付已初始化目标分支",pct:100,githubDelivery:!0,githubLog:pa("GitHub 持续交付已初始化目标分支","complete")})}catch(er){const Yl=pa(`GitHub 持续交付挂载失败:${er instanceof Error?er.message:String(er)}`,"error");throw x==null||x({id:Ce,agentName:tn.agentName||Ke,runtimeName:tn.runtimeName||yt,runtimeId:tn.runtimeId,region:tn.region||$,startedAt:jt,status:"error",phase:"github",label:"挂载 GitHub 持续交付失败",message:"挂载 GitHub 持续交付失败,详见 GitHub 日志。",pct:100,githubDelivery:!0,githubLog:Yl}),new Error(`部署成功,但挂载 GitHub 持续交付失败:${er instanceof Error?er.message:String(er)}`)}}else if(!b&&(ki!=null&&ki.pipelineId)&&tn.runtimeId)try{const Nn=await T$({pipelineId:ki.pipelineId,runtimeId:tn.runtimeId,region:tn.region||$,cloudProvider:ki.cloudProvider??D});ki=Nn,ii.current&&At(Nn)}catch(Nn){ii.current&&ze(`部署成功,但绑定 GitHub 失败:${Nn instanceof Error?Nn.message:String(Nn)}`)}ii.current&&(bt(tn),pn(null)),Gt.succeed({runtimeId:String(tn.runtimeId||b||"")}),x==null||x({id:Ce,agentName:tn.agentName||Ke,runtimeName:tn.runtimeName||yt,runtimeId:tn.runtimeId||b,region:tn.region||$,startedAt:jt,status:"success",phase:"complete",label:"部署完成",message:(Gl=tn.warnings)==null?void 0:Gl.join(";"),githubDelivery:!!(_e||on),...on?{githubLog:on}:{},...Hl("complete")});try{await(d==null?void 0:d(tn))}catch(Nn){if(!(Nn instanceof Qa))throw Nn;x==null||x({id:Ce,agentName:tn.agentName||Ke,runtimeName:tn.runtimeName||yt,runtimeId:tn.runtimeId||b,region:tn.region||$,startedAt:jt,status:"success",phase:"complete",label:"部署完成,暂未连接",message:Nn.message,...Hl("complete")})}}catch(ki){const tn=ki instanceof Error?ki.message:String(ki);if(ki instanceof DOMException&&ki.name==="AbortError"){Gt.fail({failedPhase:NY(Ri),...Ia(ki,{phase:Ri})}),ii.current&&(ze(null),pn(null)),x==null||x({id:Ce,agentName:Ke,runtimeName:yt,runtimeId:b,region:$,startedAt:jt,status:"cancelled",label:"已取消",message:"部署已取消,相关 Runtime 资源已请求销毁。",...Hl("complete")});return}ii.current&&ze(tn),ii.current&&bt(null);const Nn=pi(tn);Gt.fail({failedPhase:NY(Ri),...Ia(ki,{phase:Ri})});const Or=!!Nn,er=Ri==="github"&&!!on;x==null||x({id:Ce,agentName:Ke,runtimeName:yt,runtimeId:b,region:$,startedAt:jt,status:"error",phase:Ri,label:"部署失败",message:Or?"构建镜像失败,详见构建日志。":er?"挂载 GitHub 持续交付失败,详见 GitHub 日志。":tn,...Nn?{buildLog:Nn}:Hl("complete"),...er?{githubDelivery:!0,githubLog:on}:{},retry:ha})}finally{ii.current&&je(!1)}}function Ei(){et(!1)}async function xs(){if(!(!Be||Yn)){zt(!0),ze(null);try{const{addConnection:G,addRuntimeConnection:Ce,remoteAppId:Ke,loadConnections:Nt}=await Td(async()=>{const{addConnection:Gt,addRuntimeConnection:ft,remoteAppId:Pt,loadConnections:on}=await Promise.resolve().then(()=>jG);return{addConnection:Gt,addRuntimeConnection:ft,remoteAppId:Pt,loadConnections:on}},void 0),{probeRuntimeApps:yt}=await Td(async()=>{const{probeRuntimeApps:Gt}=await Promise.resolve().then(()=>P_e);return{probeRuntimeApps:Gt}},void 0);let jt;if(Be.runtimeId){const Gt=Be.region??$,ft=await yt(Be.runtimeId,Gt,{retryProbe:!0})??[];jt=Ce(Be.runtimeId,Be.runtimeName,Gt,ft,ft.length>0?{[ft[0]]:Be.agentName}:void 0,Be.version)}else jt=await G(Be.agentName,Be.url,Be.apikey,"");if(jt.apps.length===0)ze("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。");else{const Gt={[jt.apps[0]]:Be.agentName},ft={...jt,appLabels:{...jt.appLabels??{},...Gt}},on=Nt().map(vs=>vs.id===jt.id?ft:vs);localStorage.setItem("veadk_agentkit_connections",JSON.stringify(on));const{registerConnections:Ri}=await Td(async()=>{const{registerConnections:vs}=await Promise.resolve().then(()=>jG);return{registerConnections:vs}},void 0);if(Ri(on),u){const vs=Ke(jt.id,jt.apps[0]);await u(vs,Be.agentName)}else alert(`🎉 Agent "${Be.agentName}" 已添加到左上角下拉列表!`)}}catch(G){ze(`添加 Agent 失败:${G instanceof Error?G.message:String(G)}`)}finally{zt(!1)}}}function Ya(){const G=Dr(),Ce=zge({agentId:G.agentId,deployAction:G.deployAction,deploySource:G.deploySource,createMode:G.createMode,aiAssisted:G.aiAssisted});try{const Ke=O0t(e.files),Nt=URL.createObjectURL(Ke),yt=document.createElement("a");yt.href=Nt,yt.download=`${e.name||"project"}.zip`,document.body.appendChild(yt),yt.click(),document.body.removeChild(yt),URL.revokeObjectURL(Nt),Ce.succeed({fileCount:e.files.length,zipSizeBytes:Ke.size})}catch(Ke){throw Ce.fail({fileCount:e.files.length,...Ia(Ke)}),Ke}}const bi=l.jsxs("div",{className:`pp-artifact-actions${t?" is-rail":""}`,"aria-label":"发布产物操作",children:[M&&l.jsxs("button",{type:"button",className:"pp-secondary",onClick:M,children:[l.jsx(iTe,{className:"pp-ic"}),"导出 YAML"]}),U&&o&&l.jsx(GZe,{project:e,onChange:o,className:"pp-artifact-source",label:"查看源代码"}),e.files.length>0&&l.jsxs("button",{type:"button",className:"pp-secondary",onClick:Ya,children:[l.jsx(kA,{className:"pp-ic"}),"下载源代码"]})]});function Rs(G,Ce,Ke){return W0t(G,Ce===0).map(Nt=>{const yt=Ke?`${Ke}/${Nt.name}`:Nt.name,jt=Nt.path!==void 0,Gt={paddingLeft:8+Ce*14};if(jt){const Pt=Nt.path===Ue;return l.jsxs("button",{type:"button",className:`pp-row pp-file${Pt?" pp-active":""}`,style:Gt,onClick:()=>ot(Nt.path),title:Nt.path,children:[l.jsx(aTe,{className:"pp-ic"}),l.jsx("span",{className:"pp-label",children:Nt.name})]},yt)}const ft=Bt.has(yt);return l.jsxs("div",{children:[l.jsxs("button",{type:"button",className:"pp-row pp-folder",style:Gt,onClick:()=>Na(yt),children:[l.jsx(Hb,{className:`pp-ic pp-chevron${ft?"":" pp-open"}`}),l.jsx(Cte,{className:"pp-ic"}),l.jsx("span",{className:"pp-label",children:Nt.name})]}),!ft&&Rs(Nt,Ce+1,yt)]},yt)})}return l.jsxs("div",{className:`pp-root${c?" is-deploy":""}${t?" is-embedded":""}${Y?" has-primary-pane":""}`,children:[c&&!t&&l.jsx(K0t,{left:l.jsxs("div",{className:"pp-toolbar-left",children:[F&&l.jsxs("button",{type:"button",className:"pp-toolbar-back",onClick:F,children:[l.jsx(Ste,{className:"pp-ic"}),B]}),l.jsxs("span",{className:"pp-toolbar-title",children:["部署 ",r||e.name||"未命名 Agent",s&&s>1?` 等 ${s} 个智能体`:""]})]}),right:null}),l.jsxs("div",{className:"pp-body",children:[c&&!Y&&l.jsx("section",{className:"pp-release-overview","aria-label":"发布概览",children:l.jsxs("div",{className:`pp-release-preview${t?" is-embedded":""}`,children:[l.jsxs("div",{className:"pp-flow-thumbnail",children:[i&&l.jsx(w1,{draft:i,direction:"horizontal",selectedPath:[],onSelect:Ef,onAdd:Ef,onInsert:Ef,onDelete:Ef,readOnly:!0,interactivePreview:!0}),l.jsx("button",{type:"button",className:"pp-flow-expand",onClick:()=>Xt(!0),"aria-label":"放大查看执行流程",title:"放大查看",children:l.jsx(Wp,{"aria-hidden":!0})})]}),t&&bi,!t&&l.jsxs("div",{className:"pp-release-info",children:[l.jsx("div",{className:"pp-release-card-head",children:"Agent 概览"}),l.jsxs("div",{className:"pp-release-info-body",children:[l.jsxs("div",{className:"pp-release-info-main",children:[l.jsx("h2",{children:r||e.name||"未命名 Agent"}),(i==null?void 0:i.description)&&l.jsx("p",{className:"pp-release-description",title:i.description,children:i.description}),l.jsxs("dl",{className:"pp-release-facts",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"Agent 数量"}),l.jsx("dd",{children:s??1})]}),a&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"模型"}),l.jsx("dd",{children:a.modelName})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"描述"}),l.jsx("dd",{className:"pp-release-fact-long",children:a.description})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"系统提示词"}),l.jsx("dd",{className:"pp-release-fact-long pp-release-prompt",children:a.instruction})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"优化选项"}),l.jsx("dd",{children:a.optimizations.length>0?a.optimizations.join("、"):"未启用"})]}),a.effectiveOptimizations&&a.effectiveOptimizations.length>0&&l.jsxs("div",{children:[l.jsx("dt",{children:"生效能力"}),l.jsx("dd",{children:a.effectiveOptimizations.join("、")})]}),a.autoAddedOptimizations&&a.autoAddedOptimizations.length>0&&l.jsxs("div",{children:[l.jsx("dt",{children:"自动保护"}),l.jsx("dd",{children:a.autoAddedOptimizations.join("、")})]}),a.planHash&&l.jsxs("div",{children:[l.jsx("dt",{children:"Plan Hash"}),l.jsx("dd",{className:"pp-release-fact-long",children:a.planHash})]})]})]})]}),bi]})]})]})}),l.jsxs("div",{className:"pp-files-area",children:[l.jsxs("div",{className:"pp-sidebar",children:[l.jsxs("div",{className:"pp-sidebar-head",children:[l.jsx("span",{className:"pp-project-name",title:e.name,children:"文件预览"}),U&&l.jsx("button",{type:"button",className:"pp-icon-btn",title:"新建文件",onClick:()=>{ie(!0),ye("")},children:l.jsx(rTe,{className:"pp-ic"})})]}),l.jsxs("div",{className:"pp-tree",children:[Z&&l.jsx("input",{className:"pp-new-input",autoFocus:!0,placeholder:"path/to/file.py",value:ue,onChange:G=>ye(G.target.value),onBlur:or,onKeyDown:G=>{G.key==="Enter"&&or(),G.key==="Escape"&&(ie(!1),ye(""))}}),e.files.length===0&&!Z?l.jsx("div",{className:"pp-empty",children:"暂无文件"}):Rs(Gs,0,"")]})]}),l.jsxs("div",{className:"pp-main",children:[l.jsxs("div",{className:"pp-main-head",children:[l.jsx("span",{className:"pp-path",title:hi==null?void 0:hi.path,children:(hi==null?void 0:hi.path)??"未选择文件"}),l.jsx("div",{className:"pp-actions",children:U&&hi&&l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"pp-icon-btn",title:"重命名",onClick:js,children:l.jsx(OTe,{className:"pp-ic"})}),l.jsx("button",{type:"button",className:"pp-icon-btn pp-danger",title:"删除",onClick:Ga,children:l.jsx(xh,{className:"pp-ic"})})]})})]}),l.jsx("div",{className:"pp-content",children:hi==null?l.jsx("div",{className:"pp-placeholder",children:"选择左侧文件以查看内容"}):U?l.jsx("div",{className:"pp-codemirror",children:l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"pp-editor-loading",children:"加载编辑器…"}),children:l.jsx(I0t,{value:hi.content,path:hi.path,onChange:ll})})}):l.jsx("pre",{className:"pp-pre hljs",dangerouslySetInnerHTML:{__html:F0t(hi.content,hi.path)}})})]})]}),c&&l.jsxs("aside",{className:"pp-config","aria-label":"部署配置",children:[l.jsx("div",{className:"pp-config-head",children:l.jsx("div",{className:"pp-config-title",children:"部署配置"})}),l.jsxs("div",{className:"pp-config-scroll",children:[Y,!Y&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("label",{className:"pp-config-label",htmlFor:li,children:"Runtime 名称"}),l.jsxs("div",{className:"pp-runtime-name-field",children:[l.jsx("input",{id:li,className:"pp-runtime-name-input",value:ee,disabled:z||Ie||V,maxLength:64,autoComplete:"off","aria-label":"Runtime 名称","aria-invalid":!!Le,"aria-describedby":`${Wn}${Le?` ${di}`:""}`,onChange:G=>{const Ce=G.currentTarget.value;Ne(null),ze(null),y?y(Ce):K(Ce)}}),l.jsx("p",{id:Wn,className:"pp-config-note",children:V?"更新时保持现有 Runtime 名称不变。":"默认根据 Root Agent 名称生成,并添加随机后缀避免重名;支持 4-64 位字母、数字、连字符和下划线"}),Le&&l.jsx("p",{id:di,className:"pp-runtime-name-error",role:"alert",children:Le})]})]}),!Y&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"发布区域"}),Ji(!1)]}),!Y&&l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:"pp-config-section pp-auth-section",children:[l.jsx("div",{className:"pp-config-label",children:"访问鉴权"}),V?l.jsx("p",{className:"pp-config-note pp-auth-preserved-note",children:"更新时保持现有 Runtime 的鉴权方式不变。"}):l.jsxs("div",{className:"pp-auth-fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"鉴权方式"}),l.jsx(hC,{ariaLabel:"部署鉴权方式",value:Pn,placeholder:"请选择鉴权方式",options:$0t,disabled:z,onChange:G=>{ze(null),fi(G)}})]}),Pn==="user_pool"&&l.jsxs("label",{children:[l.jsx("span",{children:"用户池"}),l.jsx(L0t,{value:Yi,disabled:z,onChange:G=>{ze(null),Wi(G)}})]})]})]}),l.jsx(R0t,{project:e,region:$,cloudProvider:D,runtimeId:b,binding:mt,showSetup:!V,onPendingCicdChange:Ze,onBindingChange:Kn,disabled:z||Tt||q||!!n})]}),!Y&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"消息渠道"}),l.jsx("div",{className:`pp-channel-card${w?" is-flipped":""}`,children:l.jsxs("div",{className:"pp-channel-card-inner",children:[l.jsxs("button",{type:"button",className:"pp-channel-card-face pp-channel-card-front","aria-pressed":w,"aria-hidden":w,tabIndex:w?-1:0,onClick:()=>void Cn(),disabled:w||z||Ie||Tt||!E,children:[l.jsx("span",{className:"pp-channel-logo",children:l.jsx("img",{src:uC,alt:""})}),l.jsxs("span",{className:"pp-channel-card-copy",children:[l.jsx("strong",{children:"飞书"}),l.jsx("small",{children:Tt?"正在启用并更新配置…":"接收消息并通过飞书机器人回复"})]})]}),l.jsxs("div",{className:"pp-channel-card-face pp-channel-card-back","aria-hidden":!w,children:[l.jsxs("div",{className:"pp-channel-card-head",children:[l.jsx("strong",{children:"飞书配置"}),l.jsx("button",{type:"button",className:"pp-channel-remove",tabIndex:w?0:-1,onClick:()=>void Cn(),disabled:!w||z||Tt||!E,children:Tt?"取消中…":"取消"})]}),l.jsx("div",{className:"pp-channel-fields",children:ny.map(G=>l.jsxs("label",{children:[l.jsxs("span",{children:[G.comment||G.key,G.required&&l.jsx("small",{children:"必填"})]}),l.jsx("input",{type:G.key.includes("SECRET")?"password":"text",value:A[G.key]??"",placeholder:G.placeholder,tabIndex:w?0:-1,disabled:!w||z||!N,autoComplete:"off",onChange:Ce=>N==null?void 0:N(G.key,Ce.currentTarget.value)})]},G.key))})]})]})})]}),!V&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"实例设置"}),l.jsxs("div",{className:"pp-instance-fields",children:[l.jsxs("label",{htmlFor:"runtime-min-instance",children:[l.jsx("span",{children:"最小实例数"}),l.jsx("input",{id:"runtime-min-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Zi,disabled:z||Te,"aria-invalid":!Ki.valid,onChange:G=>ji(G.currentTarget.value)})]}),l.jsxs("label",{htmlFor:"runtime-max-instance",children:[l.jsx("span",{children:"最大实例数"}),l.jsx("input",{id:"runtime-max-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Si,disabled:z||Te,"aria-invalid":!Ki.valid,onChange:G=>zi(G.currentTarget.value)})]})]}),(re||Te)&&l.jsx("p",{className:"pp-instance-note",role:"note",children:Te?"Harness Sidecar 首期仅支持单实例,Runtime 固定为 1~1":"为避免多实例间会话丢失,推荐将 Runtime 固定为 1~1"}),!Ki.valid&&l.jsx("p",{className:"pp-instance-error",role:"alert",children:Ki.error})]}),l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"网络"}),Y&&Ji(!0),V&&l.jsx("p",{className:"pp-config-note",children:"现有 Runtime 的区域与网络模式保持不变。"}),l.jsxs("div",{className:"pp-network-layout",children:[l.jsx("div",{className:"pp-network-modes",role:"radiogroup","aria-label":"网络模式",children:["public","private","both"].map(G=>l.jsxs("label",{className:"pp-network-option",children:[l.jsx("input",{type:"radio",name:"deployment-network-mode",value:G,checked:ss===G,onChange:()=>kn(G),disabled:z||V||!Q}),l.jsx("span",{children:G==="public"?"公网":G==="private"?"VPC":"公网 + VPC"})]},G))}),ss!=="public"&&l.jsxs("div",{className:"pp-network-fields",children:[l.jsxs("label",{children:[l.jsx("span",{children:"VPC ID"}),l.jsx("input",{value:(P==null?void 0:P.vpcId)??"",placeholder:"vpc-xxxxxxxx",disabled:z||V,onChange:G=>Zn({vpcId:G.target.value})})]}),l.jsxs("label",{children:[l.jsxs("span",{children:["子网 ID ",l.jsx("small",{children:"可选,多个用逗号分隔"})]}),l.jsx("input",{value:(P==null?void 0:P.subnetIds)??"",placeholder:"subnet-xxx, subnet-yyy",disabled:z||V,onChange:G=>Zn({subnetIds:G.target.value})})]}),l.jsxs("label",{className:"pp-network-check",children:[l.jsx("input",{type:"checkbox",checked:!!(P!=null&&P.enableSharedInternetAccess),disabled:z||V,onChange:G=>Zn({enableSharedInternetAccess:G.target.checked})}),"VPC 内共享公网出口"]})]})]})]}),Ir&&l.jsxs("section",{className:"pp-config-section",children:[l.jsx("div",{className:"pp-config-label",children:"评测集"}),l.jsxs("label",{className:"pp-evaluation-set-option",children:[l.jsx("input",{type:"checkbox",checked:qr,disabled:z,onChange:G=>ua(G.currentTarget.checked)}),l.jsxs("span",{children:[l.jsx("strong",{children:"自动创建评测集"}),l.jsx("small",{children:"部署成功后,自动创建 Good Case 和 Bad Case 评测集。"})]})]})]}),!V&&l.jsxs("section",{className:"pp-config-section pp-resource-section",children:[l.jsx("div",{className:"pp-config-label",children:"资源配置"}),l.jsx(k0t,{value:oi,agentName:r||e.name||"agentkit-app",runtimeName:ee,region:$,disabled:z,validationError:le,onChange:G=>{Ui(G),Qe(null)}})]}),l.jsxs("section",{className:"pp-config-section pp-env-section",children:[l.jsx("div",{className:"pp-env-head",children:l.jsxs("div",{children:[l.jsxs("div",{className:"pp-config-label",children:["环境变量",l.jsxs("span",{className:"pp-agent-child-count pp-env-count",children:[Hr," 项"]})]}),l.jsx("div",{className:"pp-env-sub",children:"组件配置会自动同步到这里,部署前可核对最终值。"})]})}),l.jsxs("button",{type:"button",className:"pp-env-add",onClick:ul,disabled:z,children:[l.jsx(wa,{className:"pp-ic"}),"添加变量"]}),(fa.length>0||k.length>0||Vt.length>0)&&l.jsxs("div",{className:"pp-env-table",children:[fa.length>0&&l.jsxs("div",{className:"pp-env-group",children:[l.jsxs("div",{className:"pp-env-group-head",children:[l.jsx("span",{children:"组件自动生成"}),l.jsxs("small",{children:[fa.length," 项"]})]}),fa.map(G=>{const Ce=G.readOnly||G.key.startsWith("ENABLE_"),Ke=G.serverManaged&&G.key==="MODEL_AGENT_API_KEY",Nt=Ke?ys?bn.value:"由所选 API Key 注入":G.value,yt=tB(G,A),jt=cn[G.key],Gt=`deployment-env-${G.key.toLowerCase()}-error`,ft=EY(G)||G.help||G.comment,Pt=G.multiline||G.format==="json";return l.jsxs("div",{className:`pp-env-row pp-env-row-derived${Pt?" is-multiline":""}`,children:[l.jsxs("div",{className:"pp-env-key-fixed pp-env-key-cell","aria-label":`${G.key} 环境变量名`,"aria-disabled":z,children:[l.jsx("span",{title:G.key,children:G.key}),ft&&l.jsxs("span",{className:"pp-env-help",tabIndex:0,"data-help":ft,"aria-label":`${G.key}说明:${ft}`,children:["?",l.jsx("span",{className:"pp-env-help-popover",role:"tooltip",children:ft})]}),G.link&&l.jsx("a",{className:"pp-env-link",href:G.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${G.link.label}`,"aria-label":`${G.key}:打开 OpenViking ${G.link.label}`,children:l.jsx(ab,{"aria-hidden":"true"})})]}),l.jsxs("div",{className:"pp-env-value-wrap",children:[Pt?l.jsx("textarea",{ref:on=>{on?ni.current.set(G.key,on):ni.current.delete(G.key)},className:"pp-env-value pp-env-json-value",value:G.value,placeholder:G.required?"必填,尚未填写":"可选,尚未填写",readOnly:Ce,disabled:z||!Ce&&!N,autoComplete:"off",spellCheck:!1,"aria-invalid":!!(jt||yt),"aria-describedby":jt?Gt:void 0,"aria-label":`${G.key} 环境变量值`,onChange:on=>{const Ri=on.currentTarget.value;N==null||N(G.key,Ri),jt&&Ri.trim()&&($c(G.key),ze(null))}}):l.jsxs("div",{className:Ke?"pp-env-secret-control":void 0,children:[l.jsx("input",{ref:on=>{on?ni.current.set(G.key,on):ni.current.delete(G.key)},className:"pp-env-value",type:Ke?"text":G.secret?"password":"text",value:Nt,placeholder:G.required?"必填,尚未填写":"可选,尚未填写",readOnly:Ce,disabled:z||!Ce&&!N,autoComplete:G.secret?"new-password":"off",spellCheck:G.secret?!1:void 0,"aria-invalid":!!(jt||yt),"aria-describedby":jt?Gt:void 0,"aria-label":`${G.key} 环境变量值`,onChange:on=>{const Ri=on.currentTarget.value;N==null||N(G.key,Ri),jt&&Ri.trim()&&($c(G.key),ze(null))}}),Ke&&l.jsx("button",{type:"button",className:"pp-env-secret-toggle","aria-label":ko,title:ko,"aria-pressed":ys,disabled:bn.status==="loading"||!Fe,onClick:()=>{ys?Xr():Hs()},children:bn.status==="loading"?l.jsx(Hn,{className:"pp-env-secret-spinner","aria-hidden":"true"}):ys?l.jsx(P0t,{}):l.jsx(D0t,{})})]}),jt&&l.jsx("span",{id:Gt,className:"pp-env-error",role:"alert",children:jt}),yt&&l.jsx("span",{className:"pp-env-error",children:yt}),Ke&&bn.status==="error"&&l.jsx("span",{className:"pp-env-reveal-error",role:"alert",children:bn.error})]}),l.jsx("span",{className:"pp-env-source",children:Ce?"自动":"同步"})]},G.key)})]}),k.length>0&&l.jsxs("div",{className:"pp-env-group",children:[l.jsxs("div",{className:"pp-env-group-head",children:[l.jsx("span",{children:"自定义模型凭据"}),l.jsxs("small",{children:[k.length," 项"]})]}),k.map(G=>{const Ce=Dt===G.key,Ke=`${G.key.toLowerCase()}-error`;return l.jsxs("div",{className:"pp-env-row pp-env-row-derived",children:[l.jsx("label",{className:"pp-env-key-fixed pp-env-key-cell",htmlFor:G.key,title:G.label,children:l.jsx("span",{children:G.key})}),l.jsxs("div",{className:"pp-env-value-wrap",children:[l.jsx("input",{id:G.key,className:"pp-env-value",type:"password",value:rt[G.key]??"",placeholder:"必填,仅用于本次发布",disabled:z,autoComplete:"new-password",spellCheck:!1,"aria-invalid":Ce,"aria-describedby":Ce?Ke:void 0,"aria-label":G.label,onChange:Nt=>{const yt=Nt.currentTarget.value;C?C(G.key,yt):Re(jt=>({...jt,[G.key]:yt})),Ce&&yt.trim()&&(Yt(null),ze(null))}}),Ce&&l.jsx("span",{id:Ke,className:"pp-env-error",role:"alert",children:"请填写此模型地址对应的 API Key。"})]}),l.jsx("span",{className:"pp-env-source",children:"本次发布"})]},G.key)})]}),Vt.length>0&&l.jsxs("div",{className:"pp-env-group-head pp-env-group-head-custom",children:[l.jsx("span",{children:"自定义变量"}),l.jsxs("small",{children:[Vt.length," 项"]})]}),Vt.map(G=>l.jsxs("div",{className:"pp-env-row",children:[l.jsx("input",{value:G.key,placeholder:"名称",disabled:z,autoComplete:"off",onChange:Ce=>cl(G.id,{key:Ce.currentTarget.value})}),l.jsx("input",{type:"text",value:G.value,placeholder:"值",disabled:z,autoComplete:"off",onChange:Ce=>cl(G.id,{value:Ce.currentTarget.value})}),l.jsx("button",{type:"button",className:"pp-icon-btn pp-env-remove",title:"删除变量",disabled:z,onClick:()=>Ys(G.id),children:l.jsx(za,{className:"pp-ic"})})]},G.id))]})]}),(z||Be||Object.keys(Ct).length>0)&&l.jsxs("section",{className:"pp-config-section pp-progress-section",children:[l.jsx("div",{className:"pp-config-label",children:"部署进度"}),l.jsx("ol",{className:"pp-steps",children:Ca.map((G,Ce)=>{const Ke=tt?Ca.findIndex(Gt=>Gt.phase===tt):-1,Nt=!!xe&&(Ke===-1?Ce===0:Ce===Ke),yt=Ct[G.phase];let jt;return Be||(yt==null?void 0:yt.level)==="success"?jt="done":Nt?jt="failed":Ke===-1?jt=z?"active":"pending":CeG.phase===tt))==null?void 0:gn.label)??tt}阶段):`:""}${xe}`,onRetry:ha,retryLabel:V?"重试更新":"重试部署"}),Be&&l.jsxs("section",{className:"pp-deploy-result",children:[l.jsx("div",{className:"pp-deploy-result-header",children:V?"更新成功":"部署成功"}),l.jsxs("div",{className:"pp-deploy-result-body",children:[Be.warnings&&Be.warnings.length>0&&l.jsx("div",{className:"pp-deploy-result-warning",role:"status",children:Be.warnings.map(G=>l.jsx("span",{children:G},G))}),Be.region&&l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"区域"}),l.jsx("code",{children:wu(Be.region,D)})]}),l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"Agent 名称"}),l.jsx("code",{children:Be.agentName})]}),l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"Runtime 名称"}),l.jsx("code",{children:Be.runtimeName})]}),l.jsxs("div",{className:"pp-deploy-result-field",children:[l.jsx("label",{children:"API 端点"}),l.jsx("code",{className:"pp-deploy-result-url",children:Be.url})]})]}),l.jsxs("div",{className:"pp-deploy-result-actions",children:[l.jsxs("button",{type:"button",className:"pp-deploy-result-btn",onClick:xs,disabled:Yn,children:[Yn?l.jsx(Hn,{className:"pp-ic spin"}):l.jsx(jte,{className:"pp-ic"}),Yn?"连接中…":"立即对话"]}),Be.consoleUrl&&l.jsxs("a",{href:Be.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"pp-console-link pp-console-link-btn",children:[l.jsx(ab,{className:"pp-ic"}),"控制台"]})]})]})]}),l.jsx("div",{className:`pp-config-actions${Ar?" is-external":""}`,children:Ar?Gi.createPortal(l.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:ha,disabled:z||Ie||Tt||q||!!n||!!Le,title:n||Le||void 0,children:z?`${f}中…`:Ie?"正在检查名称…":xe?`重试${f}`:f}),Ar):l.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:ha,disabled:z||Ie||Tt||q||!!n||!!Le,title:n||Le||void 0,children:z?`${f}中…`:Ie?"正在检查名称…":xe?`重试${f}`:f})})]})]}),Jt&&i&&Gi.createPortal(l.jsx("div",{className:"pp-flow-backdrop",onMouseDown:G=>{G.target===G.currentTarget&&Xt(!1)},children:l.jsxs("section",{className:"pp-flow-dialog",role:"dialog","aria-modal":"true","aria-label":"执行流程预览",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("strong",{children:"执行流程"}),l.jsx("span",{children:"只读预览,可缩放与拖动画布"})]}),l.jsx("button",{type:"button",onClick:()=>Xt(!1),"aria-label":"关闭执行流程预览",children:l.jsx(za,{"aria-hidden":!0})})]}),l.jsx("div",{className:"pp-flow-dialog-canvas",children:l.jsx(w1,{draft:i,direction:"horizontal",selectedPath:[],onSelect:Ef,onAdd:Ef,onInsert:Ef,onDelete:Ef,readOnly:!0,interactivePreview:!0})})]})}),document.body),l.jsx(M0t,{open:We,isUpdate:V,...h,onCancel:Ei,onConfirm:()=>void _o()})]})}function J0t({delivery:e,onBack:t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,cloudProvider:a="volcengine",initialDeployRegion:o}){const[c,u]=m.useState(o??Li(a)),[d,f]=m.useState(),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState(()=>({name:Lge(e.agentName),files:e.files??[]})),v=cC(O.name);m.useEffect(()=>{if(v){p(null);return}const E=new AbortController,S=window.setTimeout(()=>{g(!0),E$(O.name,c).then(k=>{E.signal.aborted||p(k.available===!0)}).catch(()=>{E.signal.aborted||p(null)}).finally(()=>{E.signal.aborted||g(!1)})},250);return()=>{window.clearTimeout(S),E.abort()}},[c,O.name,v]);const x={kind:"intelligentDevelopment",sessionId:e.sessionId,artifactSha256:e.artifactSha256,validationReportSha256:e.validationReportSha256,...e.verified?{}:{acknowledgeUnverified:!0}};async function w(E,S,k){const T=d&&d.mode!=="public"?{mode:d.mode,vpc_id:d.vpcId,subnet_ids:d.subnetIds,enable_shared_internet_access:d.enableSharedInternetAccess}:void 0;return Zb(E.name,[],{region:c,projectName:"default",network:T},{...k,onStage:S,runtimeName:E.name,source:x})}return l.jsx(pC,{cloudProvider:a,project:O,agentName:O.name,onDeploy:w,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,network:d,onNetworkChange:f,deployRegion:c,onDeployRegionChange:u,deploymentActionLabel:"部署",deployDisabled:!!v||h===!1||b,deployDisabledReason:v??(h===!1?"Runtime 名称已存在,请更换后重试":b?"正在检查 Runtime 名称":void 0),deploymentTelemetry:{source:"intelligent_development",createMode:"intelligent",aiAssisted:!0},onBack:t,backLabel:"返回开发会话",deploymentPrimaryPane:l.jsxs("section",{className:"trusted-source-pane","aria-label":e.verified?"已验证源码":"可部署源码",children:[l.jsx("div",{className:"trusted-source-pane__badge",children:e.verified?"已通过 Codex 云端验证":"可部署源码"}),l.jsx("h2",{children:e.agentName}),l.jsxs("label",{className:"trusted-source-pane__runtime-name",children:[l.jsx("span",{children:"Runtime 名称"}),l.jsx("input",{value:O.name,maxLength:64,onChange:E=>y(S=>({...S,name:E.target.value}))})]}),l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"入口"}),l.jsx("dd",{children:l.jsx("code",{children:e.entryPoint})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"文件"}),l.jsx("dd",{children:e.fileCount})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"Artifact"}),l.jsx("dd",{children:l.jsx("code",{children:e.artifactSha256.slice(0,16)})})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"验证报告"}),l.jsx("dd",{children:l.jsx("code",{children:e.validationReportSha256.slice(0,16)})})]})]}),l.jsx("p",{children:e.verified?"源码由服务端从已验证交付物物化,浏览器文件不能替换。":"源码已由服务端安全物化,部署前请确认 Runtime 配置。"})]})})}const ebt="_Container_1tuad_1",tbt="_Checkbox_1tuad_22",nbt="_CheckMark_1tuad_92",ibt="_Label_1tuad_162",yE={Container:ebt,Checkbox:tbt,CheckMark:nbt,Label:ibt},nB=({className:e,label:t,id:n,disabled:i,orientation:r="left",...s})=>{const a=m.useId(),o=n??a;return l.jsxs("div",{"data-disabled":i?"":void 0,"data-has-label":t?"":void 0,"data-orientation":r,className:la(e,yE.Container),children:[l.jsx(n4e,{className:yE.Checkbox,id:o,disabled:i,...s,children:l.jsx(r4e,{className:yE.CheckMark})}),t&&l.jsx("label",{htmlFor:o,className:yE.Label,onMouseDown:c=>{!c.defaultPrevented&&c.detail>1&&c.preventDefault()},children:t})]})},rbt="_RadioGroup_onrfm_1",sbt="_RadioLabel_onrfm_9",abt="_RadioIndicatorWrapper_onrfm_26",obt="_RadioItem_onrfm_43",lbt="_RadioIndicator_onrfm_26",Hy={RadioGroup:rbt,RadioLabel:sbt,RadioIndicatorWrapper:abt,RadioItem:obt,RadioIndicator:lbt},l0e=m.createContext(null),cbt=()=>{const e=m.use(l0e);if(!e)throw new Error("RadioGroup components must be wrapped in ");return e},Fp=({onChange:e,children:t,className:n,direction:i="row",disabled:r=!1,...s})=>{const a=m.useMemo(()=>({disabled:r,direction:i}),[r,i]);return l.jsx(l0e,{value:a,children:l.jsx(lQe,{className:la(Hy.RadioGroup,n),"data-direction":i,onValueChange:e,disabled:r,...s,children:t})})},ubt=({value:e,disabled:t=!1,required:n,children:i,className:r,block:s=!1,...a})=>{const{disabled:o}=cbt(),c=o||t,u=m.useId(),d=`${e}-${u}`;return l.jsx("div",{className:"flex",...a,children:l.jsxs("label",{htmlFor:d,className:la(Hy.RadioLabel,r),"data-disabled":c?"":void 0,"data-block":s?"":void 0,onMouseDown:f=>{!f.defaultPrevented&&f.detail>1&&f.preventDefault()},children:[l.jsx("div",{className:Hy.RadioIndicatorWrapper,children:l.jsx(fQe,{id:d,value:e,disabled:c,required:n,className:Hy.RadioItem,children:l.jsx(pQe,{className:Hy.RadioIndicator})})}),i]})})};Fp.Item=ubt;function dbt({className:e,...t}){return l.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:[l.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"}),l.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 Bg={llm:{id:"llm",label:"LLM 智能体",desc:"大模型驱动,自主完成任务",icon:dbt},sequential:{id:"sequential",label:"顺序型智能体",desc:"子 Agent 按顺序依次执行",icon:lTe},parallel:{id:"parallel",label:"并行型智能体",desc:"子 Agent 并行执行后汇总",icon:STe},loop:{id:"loop",label:"循环型智能体",desc:"子 Agent 循环执行到满足条件",icon:Ite},a2a:{id:"a2a",label:"远程智能体",desc:"通过 A2A 协议调用远程 Agent",icon:TA}},fbt=[Bg.llm,Bg.sequential,Bg.parallel,Bg.loop,Bg.a2a];function c0e(e){return Bg[e??"llm"]}const u0e=e=>e==="sequential"||e==="parallel"||e==="loop",mC=e=>e==="a2a";function fv(e){return e.trimEnd().replace(/[。.]+$/,"")}function sm(e,t){const n=e.trim().toLocaleLowerCase();return n?t.some(i=>i==null?void 0:i.toLocaleLowerCase().includes(n)):!0}const d0e=new Set(["local","sqlite","mysql","postgresql"]),f0e=new Set(["local","opensearch","redis","viking","openviking","mem0"]),h0e=new Set(["opensearch","viking","context_search","openviking"]),p0e=new Set(["apmplus","cozeloop","tls"]),m0e=new Set(["web_search","parallel_web_search","link_reader","web_scraper","image_generate","image_edit","video_generate","text_to_speech","run_code","vesearch"]),hbt=new Set(["llm","sequential","parallel","loop","a2a"]),pbt=new Set(["lark-cli","github-cli","pandoc"]),mbt=["context_engine","compressor","verifier","long_run_control","mcp_resilience"],gbt=new Set(["default","ops"]);function sn(e,t=""){return typeof e=="string"?e:t}function zo(e){return e===!0}function bbt(e){return typeof e=="string"&&gbt.has(e)?e:"default"}function V0(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Obt(e){return Array.from(new Set(V0(e).filter(t=>pbt.has(t))))}function ybt(e){return!e||typeof e!="object"||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(t=>typeof t[1]=="string"))}function g0e(e){return Array.isArray(e)?e.map(t=>t&&typeof t=="object"?{name:sn(t.name),description:sn(t.description)}:null).filter(t=>!!t&&!!t.name.trim()):[]}function q0(e,t,n){return typeof e=="string"&&t.has(e)?e:n}function b0e(e){return typeof e=="string"&&hbt.has(e)?e:"llm"}function O0e(e){return e==="byteplus"?"byteplus":"volcengine"}function y0e(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):3}function x0e(e){const t=e&&typeof e=="object"?e:{};return{enabled:zo(t.enabled),registrySpaceId:sn(t.registrySpaceId),registryTopK:sn(t.registryTopK),registryRegion:sn(t.registryRegion),registryEndpoint:sn(t.registryEndpoint)}}function xbt(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e,n=t.componentOverrides&&typeof t.componentOverrides=="object"?t.componentOverrides:{},i=Object.fromEntries(mbt.map(o=>[o,n[o]===!0])),r={enabled:Object.values(i).some(Boolean),profile:bbt(t.profile),componentOverrides:i},s=sn(t.catalogVersion).trim(),a=sn(t.planHash).trim();return s&&(r.catalogVersion=s),a&&(r.planHash=a),r}function v0e(e,t="volcengine"){return Array.isArray(e)?e.map(n=>{const i=n&&typeof n=="object"?n:{},r=O0e(i.cloudProvider??t),s=i.memory&&typeof i.memory=="object"?i.memory:{},a=x0e(i.a2aRegistry),o=b0e(i.agentType),c=a.enabled&&o==="llm"?"a2a":o;return{...nl(r),cloudProvider:r,name:sn(i.name),description:sn(i.description),instruction:sn(i.instruction),agentType:c,maxIterations:y0e(i.maxIterations),a2aUrl:sn(i.a2aUrl),modelName:sn(i.modelName),modelSource:i.modelSource==="custom"||i.modelSource==="ark"?i.modelSource:void 0,modelProvider:sn(i.modelProvider),modelApiBase:sn(i.modelApiBase),builtinTools:V0(i.builtinTools).filter(u=>m0e.has(u)),customTools:g0e(i.customTools),memory:{shortTerm:zo(s.shortTerm),longTerm:zo(s.longTerm)},shortTermBackend:q0(i.shortTermBackend,d0e,"local"),longTermBackend:q0(i.longTermBackend,f0e,"local"),longTermMemoryIndex:sn(i.longTermMemoryIndex),autoSaveSession:zo(i.autoSaveSession),knowledgebase:zo(i.knowledgebase),knowledgebaseBackend:q0(i.knowledgebaseBackend,h0e,ch),knowledgebaseIndex:sn(i.knowledgebaseIndex),tracing:zo(i.tracing),tracingExporters:V0(i.tracingExporters).filter(u=>p0e.has(u)),a2aRegistry:c==="a2a"?{...a,enabled:!0}:a,subAgents:v0e(i.subAgents,r),selectedSkills:w0e(i)}}):[]}function w0e(e){if(!Array.isArray(e.selectedSkills))return[];const t=[];for(const n of e.selectedSkills){const i=n&&typeof n=="object"?n:{},r=sn(i.source),s=r==="local"||r==="skillspace"||r==="skillhub"?r:"skillhub",a=sn(i.name)||sn(i.slug)||sn(i.skillName)||sn(i.skillId)||"skill",o=sn(i.folder)||a,c=sn(i.description);if(s==="skillhub"){const f=sn(i.slug);if(!f)continue;t.push({source:s,folder:o,name:a,description:c,slug:f,namespace:sn(i.namespace)||"public"});continue}if(s==="local"){const h=(Array.isArray(i.localFiles)?i.localFiles:[]).map(p=>{const b=p&&typeof p=="object"?p:{},g=sn(b.path),O=sn(b.content);return g?{path:g,content:O}:null}).filter(p=>p!==null);if(h.length===0)continue;t.push({source:s,folder:o,name:a,description:c,localFiles:h});continue}const u=sn(i.skillSpaceId),d=sn(i.skillId);!u||!d||t.push({source:s,folder:o,name:a,description:c,skillSpaceId:u,skillSpaceName:sn(i.skillSpaceName),skillId:d,version:sn(i.version)})}return t}function vbt(e){const t=e&&typeof e=="object"?e:{},n=t.memory&&typeof t.memory=="object"?t.memory:{},i=t.deployment&&typeof t.deployment=="object"?t.deployment:{},r=ybt(i.envValues),s=t.cloudEnvironment&&typeof t.cloudEnvironment=="object"?t.cloudEnvironment:{},a=x0e(t.a2aRegistry),o=b0e(t.agentType),c=a.enabled&&o==="llm"?"a2a":o,u=O0e(t.cloudProvider),d=Array.isArray(t.mcpTools)?t.mcpTools.map(f=>{const h=f&&typeof f=="object"?f:{},p=h.transport==="stdio"?"stdio":"http";return{name:sn(h.name),transport:p,url:sn(h.url),authToken:sn(h.authToken),authTokenEnv:sn(h.authTokenEnv),command:sn(h.command),args:V0(h.args)}}).filter(f=>f.transport==="http"?!!f.url:!!f.command):[];return{...nl(u),cloudProvider:u,name:sn(t.name)||"my_agent",description:sn(t.description),instruction:sn(t.instruction)||"You are a helpful assistant.",agentType:c,maxIterations:y0e(t.maxIterations),a2aUrl:sn(t.a2aUrl),modelName:sn(t.modelName),modelSource:t.modelSource==="custom"||t.modelSource==="ark"?t.modelSource:void 0,modelProvider:sn(t.modelProvider),modelApiBase:sn(t.modelApiBase),builtinTools:V0(t.builtinTools).filter(f=>m0e.has(f)),customTools:g0e(t.customTools),mcpTools:d,a2aRegistry:c==="a2a"?{...a,enabled:!0}:a,memory:{shortTerm:zo(n.shortTerm),longTerm:zo(n.longTerm)},shortTermBackend:q0(t.shortTermBackend,d0e,"local"),longTermBackend:q0(t.longTermBackend,f0e,"local"),longTermMemoryIndex:sn(t.longTermMemoryIndex),autoSaveSession:zo(t.autoSaveSession),knowledgebase:zo(t.knowledgebase),knowledgebaseBackend:q0(t.knowledgebaseBackend,h0e,ch),knowledgebaseIndex:sn(t.knowledgebaseIndex),tracing:zo(t.tracing),tracingExporters:V0(t.tracingExporters).filter(f=>p0e.has(f)),deployment:{feishuEnabled:zo(i.feishuEnabled),runtimeName:sn(i.runtimeName),runtimeNameCustomized:zo(i.runtimeNameCustomized)||!!sn(i.runtimeName).trim(),modelApiKeyId:sn(i.modelApiKeyId),modelApiKeyName:sn(i.modelApiKeyName),...Object.keys(r).length>0?{envValues:r}:{}},cloudEnvironment:{cliTools:Obt(s.cliTools),...typeof s.dockerfile=="string"?{dockerfile:s.dockerfile}:{}},harnessSidecar:xbt(t.harnessSidecar),subAgents:v0e(t.subAgents,u),selectedSkills:w0e(t)}}function S0e(e,t=e.cloudProvider??"volcengine"){const n=e.cloudProvider??t,i=new Set(fse(n).map(r=>r.id));return{...e,builtinTools:(e.builtinTools??[]).filter(r=>i.has(r)),tracing:!1,tracingExporters:[],memory:{shortTerm:!1,longTerm:!1},shortTermBackend:"local",longTermBackend:"local",longTermMemoryIndex:"",autoSaveSession:!1,knowledgebase:!1,knowledgebaseBackend:ch,knowledgebaseIndex:"",subAgents:e.subAgents.map(r=>S0e(r,n))}}const wbt=/^[A-Za-z_][A-Za-z0-9_]*$/,iB=/^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/;function IY(e,t){return e.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")||t}function Sbt(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}_${n}`);)n+=1;return`${e}_${n}`}function E0e(e){var n,i,r;const t=(n=e.authTokenEnv)==null?void 0:n.trim();return t&&wbt.test(t)?t:((r=(i=e.authToken)==null?void 0:i.trim().match(iB))==null?void 0:r[1])??""}function Ebt(e){if(e.authToken)return e.authToken;const t=E0e(e);return t?`\${${t}}`:""}function kbt(e,t){if(!t){const i={...e};return delete i.authToken,delete i.authTokenEnv,i}const n=t.trim().match(iB);if(n){const i={...e,authTokenEnv:n[1]};return delete i.authToken,i}return{...e,authToken:t}}function Tbt(e){if(!e.trim())return!1;try{return!new URL(e).pathname.replace(/\/+$/,"").endsWith("/mcp")}catch{return!1}}function gC(e){const t=new Set,n={},i=r=>{var u;const s=IY(r.name,"AGENT"),a=(u=r.mcpTools)==null?void 0:u.map((d,f)=>{var y,v;const h=((y=d.authToken)==null?void 0:y.trim())??"",p=((v=h.match(iB))==null?void 0:v[1])??"";let g=E0e(d);if(!g&&h){const x=IY(d.name,`TOOL_${f+1}`);g=Sbt(`MCP_${s}_${x}_AUTH_TOKEN`,t)}g&&t.add(g),g&&h&&!p&&(n[g]=h);const O={...d};return delete O.authToken,g?O.authTokenEnv=g:delete O.authTokenEnv,O}),o=r.subAgents.map(i),c=r.workflow?{...r.workflow,nodes:r.workflow.nodes.map(d=>({...d,agent:i(d.agent)}))}:void 0;return{...r,subAgents:o,...a?{mcpTools:a}:{},...c?{workflow:c}:{}}};return{draft:i(e),envValues:n}}function k0e(e,t=!0){var i,r,s,a,o,c,u,d,f,h,p,b,g,O,y,v,x,w,E,S,k,T,C,A,N,P,Q,D,$,j,I,F,B,M,Y,q,U,V,re,de;const n={agentType:e.agentType??"llm"};if(e.agentType==="a2a"){if((i=e.a2aRegistry)!=null&&i.enabled){const be={enabled:!0};(r=e.a2aRegistry.registrySpaceId)!=null&&r.trim()&&(be.registrySpaceId=e.a2aRegistry.registrySpaceId.trim()),be.registryTopK=((s=e.a2aRegistry.registryTopK)==null?void 0:s.trim())||Oc.topK,be.registryRegion=((a=e.a2aRegistry.registryRegion)==null?void 0:a.trim())||Oc.region,be.registryEndpoint=((o=e.a2aRegistry.registryEndpoint)==null?void 0:o.trim())||Oc.endpoint,n.a2aRegistry=be}return n}if(n.name=e.name,n.description=e.description,n.instruction=e.instruction,e.agentType==="loop"&&(n.maxIterations=e.maxIterations??3),(c=e.modelName)!=null&&c.trim()&&(n.modelName=e.modelName.trim()),e.modelSource&&(n.modelSource=e.modelSource),e.modelSource!=="ark"&&((u=e.modelProvider)!=null&&u.trim()&&(n.modelProvider=e.modelProvider.trim()),(d=e.modelApiBase)!=null&&d.trim()&&(n.modelApiBase=e.modelApiBase.trim())),(f=e.builtinTools)!=null&&f.length&&(n.builtinTools=[...e.builtinTools]),(h=e.customTools)!=null&&h.length&&(n.customTools=e.customTools.map(be=>({name:be.name,description:be.description}))),(p=e.mcpTools)!=null&&p.length&&(n.mcpTools=e.mcpTools.map(be=>{var K,ee,me,ve;const ce={name:be.name,transport:be.transport};return(K=be.url)!=null&&K.trim()&&(ce.url=be.url.trim()),(ee=be.authTokenEnv)!=null&&ee.trim()&&(ce.authTokenEnv=be.authTokenEnv.trim()),(me=be.command)!=null&&me.trim()&&(ce.command=be.command.trim()),(ve=be.args)!=null&&ve.length&&(ce.args=be.args),ce})),((b=e.memory)!=null&&b.shortTerm||(g=e.memory)!=null&&g.longTerm)&&(n.memory={shortTerm:!!e.memory.shortTerm,longTerm:!!e.memory.longTerm},e.memory.shortTerm&&(n.shortTermBackend=e.shortTermBackend||"local"),e.memory.longTerm&&(n.longTermBackend=e.longTermBackend||"local",(O=e.longTermMemoryIndex)!=null&&O.trim()&&(n.longTermMemoryIndex=e.longTermMemoryIndex.trim()),n.autoSaveSession=!!e.autoSaveSession)),e.knowledgebase&&(n.knowledgebase=!0,n.knowledgebaseBackend=e.knowledgebaseBackend||"viking",(y=e.knowledgebaseIndex)!=null&&y.trim()&&(n.knowledgebaseIndex=e.knowledgebaseIndex.trim())),e.tracing&&((v=e.tracingExporters)!=null&&v.length)&&(n.tracing=!0,n.tracingExporters=[...e.tracingExporters]),t&&((x=e.harnessSidecar)!=null&&x.enabled)&&(n.harnessSidecar={enabled:!0,profile:e.harnessSidecar.profile,componentOverrides:{...e.harnessSidecar.componentOverrides}}),((w=e.cloudEnvironment)!=null&&w.cliTools.length||((E=e.cloudEnvironment)==null?void 0:E.dockerfile)!==void 0)&&(n.cloudEnvironment={cliTools:[...e.cloudEnvironment.cliTools],...e.cloudEnvironment.dockerfile!==void 0?{dockerfile:e.cloudEnvironment.dockerfile}:{}}),(S=e.deployment)!=null&&S.feishuEnabled||(T=(k=e.deployment)==null?void 0:k.runtimeName)!=null&&T.trim()||(C=e.deployment)!=null&&C.runtimeNameCustomized||(N=(A=e.deployment)==null?void 0:A.modelApiKeyId)!=null&&N.trim()||(Q=(P=e.deployment)==null?void 0:P.modelApiKeyName)!=null&&Q.trim()||Object.keys(((D=e.deployment)==null?void 0:D.envValues)??{}).length>0){const be={feishuEnabled:!!(($=e.deployment)!=null&&$.feishuEnabled)};(I=(j=e.deployment)==null?void 0:j.runtimeName)!=null&&I.trim()&&(be.runtimeName=e.deployment.runtimeName.trim()),(F=e.deployment)!=null&&F.runtimeNameCustomized&&(be.runtimeNameCustomized=!0),(M=(B=e.deployment)==null?void 0:B.modelApiKeyId)!=null&&M.trim()&&(be.modelApiKeyId=e.deployment.modelApiKeyId.trim()),(q=(Y=e.deployment)==null?void 0:Y.modelApiKeyName)!=null&&q.trim()&&(be.modelApiKeyName=e.deployment.modelApiKeyName.trim()),Object.keys(((U=e.deployment)==null?void 0:U.envValues)??{}).length>0&&(be.envValues={...(V=e.deployment)==null?void 0:V.envValues}),n.deployment=be}return(re=e.selectedSkills)!=null&&re.length&&(n.selectedSkills=e.selectedSkills.map(be=>{const ce={source:be.source,name:be.name,folder:be.folder};return be.description&&(ce.description=be.description),be.source==="skillhub"?(ce.slug=be.slug,ce.namespace=be.namespace??"public"):be.source==="local"?ce.localFiles=be.localFiles??[]:(ce.skillSpaceId=be.skillSpaceId,ce.skillSpaceName=be.skillSpaceName,ce.skillId=be.skillId,be.version&&(ce.version=be.version)),ce})),(de=e.subAgents)!=null&&de.length&&(n.subAgents=e.subAgents.map(be=>k0e(be,!1))),n}function _bt(e){var r;const t=gC(e),n={...((r=t.draft.deployment)==null?void 0:r.envValues)??{},...t.envValues},i={...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}};return`# VeADK Agent 结构配置 # 可在「创建 Agent」页通过「导入 YAML」重新载入。 -`+lde(a0e(i))}function np(e,t){return e[t]|e[t+1]<<8}function gg(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}async function ibt(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 o0e(e,t={}){let i=-1;for(let u=e.length-22;u>=0&&u>e.length-65557;u--)if(gg(e,u)===101010256){i=u;break}if(i<0)throw new Error("无效的 zip:找不到 EOCD");const r=np(e,i+10);if(t.maxEntries!==void 0&&r>t.maxEntries)throw new Error(`zip 文件数不能超过 ${t.maxEntries} 个`);let s=gg(e,i+16);const a=new TextDecoder("utf-8"),o=[];let c=0;for(let u=0;ut.maxUncompressedBytes)throw new Error("zip 解压后的内容过大");const v=np(e,O+26),x=np(e,O+28),w=O+30+v+x,E=e.subarray(w,w+f);let S;if(d===0)S=E;else if(d===8)S=await ibt(E);else{s+=46+p+b+g;continue}o.push({name:y,text:a.decode(S)}),s+=46+p+b+g}return o}const rbt="/harness/skills/findskill";async function sbt(e,t="public"){const n=e.trim(),i=new URLSearchParams({query:n,page_number:"1",page_size:"20"}),r=`${rbt}?${i.toString()}`,s=await fetch(r,{headers:{accept:"application/json"},signal:go(void 0,mo)});if(!s.ok)throw new Error(`搜索失败 (${s.status})`);return((await s.json()).items??[]).map(o=>({source:"skillhub",id:o.slug??o.name??"",slug:o.slug??"",name:o.name??o.slug??"",description:o.description??"",namespace:t,sourceRepo:o.sourceRepo,downloadCount:o.downloadCount,version:o.version}))}function abt({selected:e,onChange:t}){const[n,i]=m.useState(""),[r,s]=m.useState([]),[a,o]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(!1),h=g=>e.some(O=>O.source==="skillhub"&&O.slug===g),p=g=>{g.slug&&(h(g.slug)?t(e.filter(O=>!(O.source==="skillhub"&&O.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}]))},b=async g=>{o(!0),u(null),f(!0);try{const O=await sbt(g);s(O)}catch(O){u(O instanceof Error?O.message:"搜索失败,请稍后重试。"),s([])}finally{o(!1)}};return m.useEffect(()=>{const g=n.trim();if(!g){s([]),f(!1),u(null);return}const O=setTimeout(()=>b(g),300);return()=>clearTimeout(O)},[n]),l.jsxs("div",{className:"cw-skillhub",children:[l.jsxs("div",{className:"cw-skill-searchrow",children:[l.jsxs("div",{className:"cw-skill-searchbox",children:[l.jsx(pT,{className:"cw-i cw-skill-searchicon","aria-hidden":!0}),l.jsx("input",{className:"cw-input cw-skill-input",value:n,placeholder:"搜索火山 Find Skill 技能广场,例如 数据分析、PDF…",onChange:g=>i(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.trim()&&b(n))}})]}),l.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft",onClick:()=>n.trim()&&b(n),disabled:!n.trim()||a,children:[a?l.jsx(qn,{className:"cw-i cw-spin"}):l.jsx(pT,{className:"cw-i"}),"搜索"]})]}),c&&l.jsxs("div",{className:"cw-banner",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:c})]}),a&&r.length===0?l.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[l.jsx(qn,{className:"cw-i cw-spin"})," 正在搜索…"]}):r.length>0?l.jsx("div",{className:"cw-skill-results",children:r.map(g=>{const O=h(g.slug||"");return l.jsxs("button",{type:"button",className:`cw-skill-result ${O?"is-on":""}`,onClick:()=>p(g),"aria-pressed":O,children:[l.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:O?l.jsx(yu,{className:"cw-i cw-i-sm"}):l.jsx(ea,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-skill-result-meta",children:[l.jsx("span",{className:"cw-skill-result-name",children:g.name}),g.description&&l.jsx("span",{className:"cw-skill-result-desc",children:rv(g.description)}),g.sourceRepo&&l.jsx("span",{className:"cw-skill-result-repo",children:g.sourceRepo})]})]},g.id||g.slug)})}):d&&!c?l.jsx("p",{className:"cw-empty-line",children:"没有找到匹配的技能,换个关键词试试。"}):!d&&l.jsx("p",{className:"cw-empty-line",children:"输入关键词搜索火山 Find Skill 技能广场,所选技能会在生成项目时下载到 skills/ 目录。"})]})}const nL=/(^|\/)skill\.md$/i;function obt(e){const t=(e??"").replace(/\r\n?/g,` +`+Tde(k0e(i))}function dp(e,t){return e[t]|e[t+1]<<8}function Eg(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}async function Abt(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 T0e(e,t={}){let i=-1;for(let u=e.length-22;u>=0&&u>e.length-65557;u--)if(Eg(e,u)===101010256){i=u;break}if(i<0)throw new Error("无效的 zip:找不到 EOCD");const r=dp(e,i+10);if(t.maxEntries!==void 0&&r>t.maxEntries)throw new Error(`zip 文件数不能超过 ${t.maxEntries} 个`);let s=Eg(e,i+16);const a=new TextDecoder("utf-8"),o=[];let c=0;for(let u=0;ut.maxUncompressedBytes)throw new Error("zip 解压后的内容过大");const v=dp(e,O+26),x=dp(e,O+28),w=O+30+v+x,E=e.subarray(w,w+f);let S;if(d===0)S=E;else if(d===8)S=await Abt(E);else{s+=46+p+b+g;continue}o.push({name:y,text:a.decode(S)}),s+=46+p+b+g}return o}const Cbt="/harness/skills/findskill";async function Nbt(e,t="public"){const n=e.trim(),i=new URLSearchParams({query:n,page_number:"1",page_size:"20"}),r=`${Cbt}?${i.toString()}`,s=await fetch(r,{headers:{accept:"application/json"},signal:wo(void 0,vo)});if(!s.ok)throw new Error(`搜索失败 (${s.status})`);return((await s.json()).items??[]).map(o=>({source:"skillhub",id:o.slug??o.name??"",slug:o.slug??"",name:o.name??o.slug??"",description:o.description??"",namespace:t,sourceRepo:o.sourceRepo,downloadCount:o.downloadCount,version:o.version}))}function jbt({selected:e,onChange:t}){const[n,i]=m.useState(""),[r,s]=m.useState([]),[a,o]=m.useState(!1),[c,u]=m.useState(null),[d,f]=m.useState(!1),h=g=>e.some(O=>O.source==="skillhub"&&O.slug===g),p=g=>{g.slug&&(h(g.slug)?t(e.filter(O=>!(O.source==="skillhub"&&O.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}]))},b=async g=>{o(!0),u(null),f(!0);try{const O=await Nbt(g);s(O)}catch(O){u(O instanceof Error?O.message:"搜索失败,请稍后重试。"),s([])}finally{o(!1)}};return m.useEffect(()=>{const g=n.trim();if(!g){s([]),f(!1),u(null);return}const O=setTimeout(()=>b(g),300);return()=>clearTimeout(O)},[n]),l.jsxs("div",{className:"cw-skillhub",children:[l.jsxs("div",{className:"cw-skill-searchrow",children:[l.jsxs("div",{className:"cw-skill-searchbox",children:[l.jsx(xT,{className:"cw-i cw-skill-searchicon","aria-hidden":!0}),l.jsx("input",{className:"cw-input cw-skill-input",value:n,placeholder:"搜索火山 Find Skill 技能广场,例如 数据分析、PDF…",onChange:g=>i(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.trim()&&b(n))}})]}),l.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft",onClick:()=>n.trim()&&b(n),disabled:!n.trim()||a,children:[a?l.jsx(Hn,{className:"cw-i cw-spin"}):l.jsx(xT,{className:"cw-i"}),"搜索"]})]}),c&&l.jsxs("div",{className:"cw-banner",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:c})]}),a&&r.length===0?l.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[l.jsx(Hn,{className:"cw-i cw-spin"})," 正在搜索…"]}):r.length>0?l.jsx("div",{className:"cw-skill-results",children:r.map(g=>{const O=h(g.slug||"");return l.jsxs("button",{type:"button",className:`cw-skill-result ${O?"is-on":""}`,onClick:()=>p(g),"aria-pressed":O,children:[l.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:O?l.jsx(Nu,{className:"cw-i cw-i-sm"}):l.jsx(wa,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-skill-result-meta",children:[l.jsx("span",{className:"cw-skill-result-name",children:g.name}),g.description&&l.jsx("span",{className:"cw-skill-result-desc",children:fv(g.description)}),g.sourceRepo&&l.jsx("span",{className:"cw-skill-result-repo",children:g.sourceRepo})]})]},g.id||g.slug)})}):d&&!c?l.jsx("p",{className:"cw-empty-line",children:"没有找到匹配的技能,换个关键词试试。"}):!d&&l.jsx("p",{className:"cw-empty-line",children:"输入关键词搜索火山 Find Skill 技能广场,所选技能会在生成项目时下载到 skills/ 目录。"})]})}const d5=/(^|\/)skill\.md$/i;function Rbt(e){const t=(e??"").replace(/\r\n?/g,` `).split(` -`);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let r=1;r=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function cbt(...e){var t;for(const n of e){const i=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(i)return i.slice(0,64)}return"local-skill"}function ubt(e,t){return t.trim()||e}function l0e(e){const t=e.map(i=>({path:i.path.replace(/\\/g,"/").replace(/^\.\//,""),text:i.text})).filter(i=>i.path.length>0&&!i.path.endsWith("/")),n=new Set(t.map(i=>i.path.split("/")[0]));if(n.size===1&&t.every(i=>i.path.includes("/"))){const i=[...n][0]+"/";return t.map(r=>({path:r.path.slice(i.length),text:r.text}))}return t}function dbt(e){const t=new Map,n=new Set;for(const i of e)if(nL.test("/"+i.path)){const r=i.path.split("/");n.add(r.slice(0,-1).join("/"))}for(const i of e){const r=i.path.split("/");let s="";for(let u=r.length-1;u>=0;u--){const d=r.slice(0,u).join("/");if(n.has(d)){s=d;break}}const a=nL.test("/"+i.path);if(!s&&!a&&!n.has("")||!n.has(s)&&!a)continue;const o=s?i.path.slice(s.length+1):i.path,c=t.get(s)||[];c.push({path:o,text:i.text}),t.set(s,c)}return t}function fbt(e,t,n){const i=`${n}${e?"/"+e:""}`,r=t.find(c=>nL.test("/"+c.path));if(!r)return{hit:null,error:`${i} 缺少 SKILL.md`};const s=obt(r.text),a=cbt(s.name,e,n.replace(/\.[^.]+$/,"")),o=[];for(const c of t){if(c.path.split("/").some(f=>f===".."))return{hit:null,error:`${i} 包含非法路径(..):${c.path}`};const d=`skills/${a}/${c.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${i} 包含非法路径:${c.path}`};o.push({path:d,content:c.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:ubt(a,s.name),description:s.description||"本地 Skill",folder:a,localFiles:o},error:null}}async function hbt(e){const t=new Uint8Array(await e.arrayBuffer()),i=(await o0e(t)).map(r=>({path:r.name,text:r.text}));return c0e(l0e(i),e.name)}async function pbt(e,t=new Map){const n=[];for(let i=0;ie.file(t,n))}async function gbt(e){const t=e.createReader(),n=[];for(;;){const i=await new Promise((r,s)=>t.readEntries(r,s));if(i.length===0)return n;n.push(...i)}}async function u0e(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await mbt(e),path:n}];if(!e.isDirectory)return[];const i=await gbt(e);return(await Promise.all(i.map(r=>u0e(r,n)))).flat()}function bbt({selected:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState([]),[a,o]=m.useState(!1),[c,u]=m.useState(!1),d=m.useRef(0),f=x=>e.some(w=>w.source==="local"&&w.folder===x),h=x=>{x.localFiles&&(f(x.folder||x.name)?t(e.filter(w=>!(w.source==="local"&&w.folder===(x.folder||x.name)))):t([...e,{source:"local",folder:x.folder||x.name,name:x.name,description:x.description,localFiles:x.localFiles}]))},p=m.useRef([]),b=m.useRef(e);m.useEffect(()=>{p.current=r},[r]),m.useEffect(()=>{b.current=e},[e]);const g=x=>{const w=new Set([...p.current.map(T=>T.folder||T.name),...b.current.filter(T=>T.source==="local").map(T=>T.folder)]),E=[],S=[];for(const T of x.hits){const C=T.folder||T.name;if(w.has(C)){E.push(T.name);continue}w.add(C),S.push(T)}s(T=>[...T,...S]);const k=[...x.errors];if(E.length>0&&k.push(`已跳过重复技能:${E.join("、")}`),i(k),S.length===1&&x.errors.length===0&&E.length===0){const T=S[0];T.localFiles&&t([...b.current,{source:"local",folder:T.folder||T.name,name:T.name,description:T.description,localFiles:T.localFiles}])}},O=x=>{x.preventDefault(),d.current+=1,u(!0)},y=x=>{x.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},v=async x=>{if(x.preventDefault(),d.current=0,u(!1),a)return;const w=Array.from(x.dataTransfer.items).map(E=>{var S;return(S=E.webkitGetAsEntry)==null?void 0:S.call(E)}).filter(E=>E!==null);if(w.length===0){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}o(!0);try{const E=(await Promise.all(w.map(T=>u0e(T)))).flat(),S=w.some(T=>T.isDirectory);if(!S&&E.length===1&&E[0].file.name.toLowerCase().endsWith(".zip")){g(await hbt(E[0].file));return}if(!S){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const k=new Map(E.map(({file:T,path:C})=>[T,C]));g(await pbt(E.map(({file:T})=>T),k))}catch(E){i([`读取失败:${E instanceof Error?E.message:String(E)}`])}finally{o(!1)}};return l.jsxs("div",{className:"cw-local",children:[l.jsxs("div",{className:`cw-local-dropzone ${c?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:O,onDragOver:x=>x.preventDefault(),onDragLeave:y,onDrop:x=>void v(x),children:[l.jsx(W3,{className:"cw-local-drop-icon","aria-hidden":!0}),l.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),l.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&l.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&l.jsxs("div",{className:"cw-banner",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:n.join(";")})]}),r.length>0&&l.jsx("div",{className:"cw-skill-results",children:r.map(x=>{var E;const w=f(x.folder||x.name);return l.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>h(x),"aria-pressed":w,children:[l.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?l.jsx(yu,{className:"cw-i cw-i-sm"}):l.jsx(ea,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-skill-result-meta",children:[l.jsx("span",{className:"cw-skill-result-name",children:x.name}),x.description&&l.jsx("span",{className:"cw-skill-result-desc",children:rv(x.description)}),l.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((E=x.localFiles)==null?void 0:E.length)??0," 个文件"]})]})]},x.id)})})]})}function Obt({selected:e,onChange:t,cloudProvider:n="volcengine"}){const[i,r]=m.useState([]),[s,a]=m.useState([]),[o,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(null);m.useEffect(()=>{let x=!1;return(async()=>{d(!0),b(null);try{const w=await H$();x||(r(w),w.length>0&&c(w[0].id))}catch(w){x||b(w instanceof Error?w.message:"加载失败")}finally{x||d(!1)}})(),()=>{x=!0}},[]),m.useEffect(()=>{if(!o){a([]);return}const x=i.find(E=>E.id===o);let w=!1;return(async()=>{h(!0),b(null);try{const E=await Y$(o,x==null?void 0:x.region);w||a(E)}catch(E){w||b(E instanceof Error?E.message:"加载失败")}finally{w||h(!1)}})(),()=>{w=!0}},[o,i]);const g=i.find(x=>x.id===o),O=g?F5e(g.id,g.region,n):"",y=(x,w)=>e.some(E=>E.source==="skillspace"&&E.skillId===x&&(E.version||"")===w),v=x=>{if(g)if(y(x.skillId,x.version))t(e.filter(w=>!(w.source==="skillspace"&&w.skillId===x.skillId&&(w.version||"")===x.version)));else{const w=B5e(g,x);t([...e,{source:"skillspace",folder:w.folder||x.skillName,name:w.name,description:w.description,skillSpaceId:w.skillSpaceId,skillSpaceName:w.skillSpaceName,skillSpaceRegion:w.skillSpaceRegion,skillId:w.skillId,version:w.version}])}};return l.jsx("div",{className:"cw-skillspace",children:u?l.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[l.jsx(qn,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):p?l.jsxs("div",{className:"cw-banner",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:p})]}):i.length===0?l.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"cw-skillspace-header",children:[l.jsx("select",{className:"cw-input cw-skillspace-select",value:o,onChange:x=>c(x.target.value),"aria-label":"选择 AgentKit Skills 中心",children:i.map(x=>l.jsxs("option",{value:x.id,children:[x.name||x.id,x.description?` — ${rv(x.description)}`:""]},x.id))}),g&&l.jsxs(l.Fragment,{children:[g.region&&l.jsx("span",{className:"cw-skillspace-region-label",title:g.region,children:du(g.region,n)}),O&&l.jsx("a",{href:O,target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:l.jsx(K0,{className:"cw-i cw-i-sm"})})]})]}),f?l.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[l.jsx(qn,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):s.length===0?l.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):l.jsx("div",{className:"cw-skill-results",children:s.map(x=>{const w=y(x.skillId,x.version);return l.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>v(x),"aria-pressed":w,children:[l.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?l.jsx(yu,{className:"cw-i cw-i-sm"}):l.jsx(ea,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-skill-result-meta",children:[l.jsxs("span",{className:"cw-skill-result-name",children:[x.skillName,x.version&&l.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",x.version]})]}),x.skillDescription&&l.jsx("span",{className:"cw-skill-result-desc",children:rv(x.skillDescription)}),l.jsxs("span",{className:"cw-skill-result-repo",children:[l.jsx($ke,{className:"cw-i cw-i-sm"})," ",(g==null?void 0:g.name)||o]})]})]},`${x.skillId}/${x.version}`)})})]})})}const ybt="_Badge_1viyg_1",xbt={Badge:ybt},YQ=({children:e,className:t,variant:n="soft",color:i="secondary",size:r="sm",pill:s,...a})=>l.jsx("div",{className:ia(xbt.Badge,t),"data-color":i,"data-size":r,"data-pill":s?"":void 0,"data-variant":n,...a,children:W$(e)}),vbt="data:image/svg+xml,%3c?xml%20version='1.0'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20100%20100'%3e%3ctitle%3ePandoc%20Icon%3c/title%3e%3cdesc%20property='dc:creator'%3eAlbert%20Krewinkel%3c/desc%3e%3cmetadata%20id='license'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3ccc:license%20rdf:resource='http://creativecommons.org/licenses/by-sa/4.0/'%20/%3e%3c/cc:Work%3e%3ccc:License%20rdf:about='http://creativecommons.org/licenses/by-sa/4.0/'%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23Reproduction'%20/%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23Distribution'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23Notice'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23Attribution'%20/%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23DerivativeWorks'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23ShareAlike'%20/%3e%3c/cc:License%3e%3c/rdf:RDF%3e%3c/metadata%3e%3crect%20fill='%23fed'%20stroke='%23fed'%20width='100'%20height='100'/%3e%3cg%20fill='none'%20stroke='%234093da'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='8'%20transform='skewX(-6)%20translate(8%201)'%3e%3cpath%20d='M%2030,10%20l%200,80%20M%2045,10%20l%200,80%20M%2020,10%20l%2040,0%20l%2018,18%20l%200,25%20l%20-33,0'%20/%3e%3cpath%20fill='%234093da'%20stroke-width='6'%20d='M%2061,10%20l%2017,17%20l%20-17,0%20l%200,-17'%20/%3e%3c/g%3e%3c/svg%3e",wbt={volcengine:"agentkit-prod-public-cn-beijing.cr.volces.com/base/py-simple:python3.12-bookworm-slim-latest",byteplus:"agentkit-prod-public-ap-southeast-1.cr.bytepluses.com/base/py-simple:python3.12-bookworm-slim-latest"},wG="1.0.87",Sbt={amd64:"6027b1ddc12440400581bbdf9554850d8e119c7dd400439b1220e7a87b9673c5",arm64:"fade9a22d363172a9c18a8287c99c80d6d106a2900f3fce4015e4e156c5fc776"},fy="2.97.0",Ebt={amd64:"a2c9b8497e1f85b1ad0dfcb78b5a622e098801b8e461e459e88e1ee12f018112",arm64:"73ea440ecad9c9e284429997ee6f93577bc6f7bc6fba357ef62c53ad8fb641a5"};function SG(e){const t=e.downloadUrls.map(n=>`"${n}"`).join(" ");return["RUN set -eux; \\",' arch="${TARGETARCH:-$(dpkg --print-architecture)}"; \\',' case "$arch" in \\',` amd64) checksum="${e.checksums.amd64}" ;; \\`,` arm64) checksum="${e.checksums.arm64}" ;; \\`,' *) echo "Unsupported architecture: $arch" >&2; exit 1 ;; \\'," esac; \\",` asset="${e.assetName}"; \\`," downloaded=0; \\",` for base_url in ${t}; do \\`,` if curl -fLSs --connect-timeout 10 --max-time 180 --retry 1 --retry-delay 1 -o "/tmp/\${asset}" "\${base_url}/v${e.version}/\${asset}"; then downloaded=1; break; fi; \\`," done; \\",' test "$downloaded" = 1; \\',' echo "${checksum} /tmp/${asset}" | sha256sum -c -; \\',` tar -xzf "/tmp/\${asset}" -C /tmp "${e.archiveMember}"; \\`,` install -m 0755 "${e.installSource}" "/usr/local/bin/${e.binaryName}"; \\`,` rm -rf "/tmp/\${asset}" "${e.cleanupSource}"`].join(` -`)}function EG(e,t){const n=`https://github.com/${t}/releases/download`,i=`https://ghfast.top/${n}`;return e==="volcengine"?[i,n]:[n,i]}function kbt(e,t){const n=new Set(t),i=["ca-certificates","curl"];n.has("github-cli")&&i.push("git"),n.has("pandoc")&&i.push("pandoc");const r=[`FROM ${wbt[e]}`,"","# Configure AgentKit runtime defaults.","ENV UV_SYSTEM_PYTHON=1 UV_COMPILE_BYTECODE=1 PYTHONUNBUFFERED=1 DOCKER_CONTAINER=1","ARG TARGETARCH","","# Install system dependencies required by the selected tools.",`RUN apt-get update && apt-get install -y --no-install-recommends ${i.join(" ")} && rm -rf /var/lib/apt/lists/*`];return n.has("lark-cli")&&r.push("","# Install Lark CLI from the official release archive.",SG({assetName:`lark-cli-${wG}-linux-\${arch}.tar.gz`,version:wG,checksums:Sbt,downloadUrls:EG(e,"larksuite/cli"),archiveMember:"lark-cli",installSource:"/tmp/lark-cli",cleanupSource:"/tmp/lark-cli",binaryName:"lark-cli"})),n.has("github-cli")&&r.push("","# Install GitHub CLI (gh) from the official release archive.",SG({assetName:`gh_${fy}_linux_\${arch}.tar.gz`,version:fy,checksums:Ebt,downloadUrls:EG(e,"cli/cli"),archiveMember:`gh_${fy}_linux_\${arch}/bin/gh`,installSource:`/tmp/gh_${fy}_linux_\${arch}/bin/gh`,cleanupSource:`/tmp/gh_${fy}_linux_\${arch}`,binaryName:"gh"})),r.push("","# Install Python dependencies before copying the source for better layer caching.","COPY requirements.txt requirements.txt","RUN uv pip install -r requirements.txt","","# Copy the Agent application and configure its runtime entrypoint.","EXPOSE 8000","","WORKDIR /app","COPY . .","",'CMD ["python", "-m", "app"]',""),r.join(` -`)}const d0e={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function kG(e){return l.jsxs("svg",{...d0e,...e,children:[l.jsx("path",{d:"M5 19h3.2L18.6 8.6a1.7 1.7 0 0 0 0-2.4l-.8-.8a1.7 1.7 0 0 0-2.4 0L5 15.8V19Z"}),l.jsx("path",{d:"m13.9 6.9 3.2 3.2M5 15.8 8.2 19"})]})}function Tbt(e){return l.jsx("svg",{...d0e,...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}const _bt=m.lazy(()=>xd(()=>Promise.resolve().then(()=>CQ),void 0)),TG=[{id:"lark-cli",category:"productivity",name:"Lark CLI",description:"在云端调用飞书开放平台开发与管理命令。"},{id:"github-cli",category:"development",name:"GitHub CLI",description:"在云端使用 GitHub 仓库、Issue 与 Pull Request 命令。"},{id:"pandoc",category:"productivity",name:"Pandoc",description:"转换 Markdown、HTML、Word 等文档格式。"}],Abt=[{id:"productivity",label:"效率"},{id:"development",label:"研发"}];function Cbt({customized:e,disabled:t=!1,onClick:n}){return l.jsxs("button",{type:"button",className:"cloud-env-footer-trigger",disabled:t,onClick:n,children:[l.jsx("span",{className:"cloud-env-footer-trigger-icon","aria-hidden":"true",children:l.jsx(kG,{})}),l.jsxs("span",{className:"cloud-env-footer-trigger-copy",children:[l.jsx("span",{children:"高阶配置"}),l.jsx("small",{children:"编辑云端构建使用的 Dockerfile"})]}),l.jsx(YQ,{className:"cloud-env-footer-trigger-badge",color:e?"info":"secondary",variant:"soft",size:"sm",children:e?"已自定义":"自动生成"}),l.jsx(kG,{className:"cloud-env-footer-trigger-action"})]})}function Nbt({cloudProvider:e,value:t,onChange:n,editorOpen:i,onEditorOpenChange:r,disabled:s=!1}){const a=e==="byteplus"?"BytePlus":"火山引擎",o=m.useId(),c=m.useId(),u=m.useId(),[d,f]=m.useState(!1),h=m.useRef(null),p=m.useMemo(()=>kbt(e,t.cliTools),[e,t.cliTools]),b=t.dockerfile,g=b??p,O=b!==void 0&&!b.trim()?"Dockerfile 不能为空。请输入有效内容,或恢复自动生成。":b!==void 0&&b.length>Gre?"Dockerfile 不能超过 64 KiB。请精简内容后重试。":"",y=(w,E)=>{const S=new Set(t.cliTools);E?S.add(w):S.delete(w),n({...t,cliTools:TG.map(k=>k.id).filter(k=>S.has(k))})},v=w=>{n({...t,...w===p?{dockerfile:void 0}:{dockerfile:w}})},x=()=>{n({...t,dockerfile:void 0}),f(!1)};return m.useEffect(()=>{var k;if(!i)return;const w=document.body.style.overflow,E=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(k=h.current)==null||k.focus();const S=T=>{T.key==="Escape"&&!d&&r(!1)};return window.addEventListener("keydown",S),()=>{document.body.style.overflow=w,window.removeEventListener("keydown",S),E!=null&&E.isConnected&&E.focus()}},[i,r,d]),l.jsxs(l.Fragment,{children:[l.jsx("section",{className:"cloud-env-config","aria-label":"云上环境工具配置",children:l.jsx("div",{className:"cloud-env-categories",children:Abt.map(w=>l.jsxs("section",{className:"cloud-env-category","aria-labelledby":`cloud-env-category-${w.id}`,children:[l.jsx("h2",{id:`cloud-env-category-${w.id}`,children:w.label}),l.jsx("div",{className:"cloud-env-tool-list",children:TG.filter(E=>E.category===w.id).map(E=>{const S=t.cliTools.includes(E.id);return l.jsxs("div",{className:`cloud-env-tool${S?" is-selected":""}`,children:[l.jsx("span",{className:"cloud-env-tool-icon",children:E.id==="lark-cli"?l.jsx("img",{src:rC,alt:"","aria-hidden":"true"}):E.id==="github-cli"?l.jsx(UQ,{}):l.jsx("img",{src:vbt,alt:"","aria-hidden":"true"})}),l.jsxs("span",{className:"cloud-env-tool-content",children:[l.jsx("strong",{children:E.name}),l.jsx("span",{className:"cloud-env-tool-description",children:E.description})]}),l.jsx(kl,{type:"button",className:"cloud-env-tool-action",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":S?`移除 ${E.name}`:`安装 ${E.name}`,"aria-pressed":S,disabled:s,onClick:()=>y(E.id,!S),children:S?l.jsx(_ke,{}):l.jsx(Ake,{})})]},E.id)})})]},w.id))})}),i&&zi.createPortal(l.jsx("div",{className:"cloud-env-dialog-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&!d&&r(!1)},children:l.jsxs("section",{className:"cloud-env-dialog",role:"dialog","aria-modal":"true","aria-labelledby":o,"aria-describedby":c,children:[l.jsxs("header",{className:"cloud-env-dialog-header",children:[l.jsxs("div",{children:[l.jsx("h2",{id:o,children:"编辑 Dockerfile"}),l.jsxs("p",{id:c,children:[a," AgentKit Runtime 云端构建配置"]})]}),l.jsxs("div",{className:"cloud-env-dialog-header-actions",children:[l.jsx(YQ,{color:b===void 0?"secondary":"info",variant:"soft",size:"sm",children:b===void 0?"自动生成":"已自定义"}),l.jsx("button",{ref:h,type:"button",className:"cloud-env-dialog-close","aria-label":"关闭 Dockerfile 编辑器",onClick:()=>r(!1),children:l.jsx(Tbt,{})})]})]}),l.jsxs("div",{className:"cloud-env-dialog-body",children:[l.jsxs("div",{className:"cloud-env-dialog-toolbar",children:[l.jsx("p",{children:"请勿在 Dockerfile 中写入访问密钥或其他凭据。"}),b!==void 0&&l.jsx(kl,{type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:s,onClick:()=>f(!0),children:"恢复自动生成"})]}),b!==void 0&&l.jsx("p",{className:"cloud-env-custom-notice",role:"status",children:"当前使用自定义内容。工具选择变化不会覆盖您的修改。"}),l.jsx("div",{className:`cloud-env-editor${O?" is-invalid":""}`,role:"group","aria-label":"Dockerfile 编辑器","aria-invalid":!!O||void 0,"aria-describedby":O?u:void 0,children:l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"cloud-env-editor-loading",children:"正在加载编辑器..."}),children:l.jsx(_bt,{value:g,path:"Dockerfile",readOnly:s,onChange:v})})}),O&&l.jsx("p",{id:u,className:"cloud-env-editor-error",role:"alert",children:O})]}),l.jsx("footer",{className:"cloud-env-dialog-footer",children:l.jsx(kl,{type:"button",color:"primary",variant:"solid",size:"sm",onClick:()=>r(!1),children:"完成"})})]})}),document.body),d&&l.jsx(cc,{title:"恢复自动生成?",description:"当前自定义内容将被替换为根据云厂商和工具选择生成的 Dockerfile。",confirmLabel:"恢复自动生成",closeLabel:"关闭恢复 Dockerfile 确认",onCancel:()=>f(!1),onConfirm:x})]})}async function jbt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:go(void 0,mo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 AgentKit 智能体中心");if(t.status===401)throw new Error("请先登录以访问 AgentKit 智能体中心");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function Rbt(e={}){const t=new URLSearchParams({page_size:String(e.pageSize??100),project:e.project||"default"});return e.region&&t.set("region",e.region),(await jbt(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function Dbt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:go(void 0,mo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 知识库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 知识库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function Ibt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await Dbt(`/web/viking-knowledgebases${n?`?${n}`:""}`)).items||[]}async function Pbt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:go(void 0,mo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 记忆库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 记忆库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function Mbt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await Pbt(`/web/viking-memories${n?`?${n}`:""}`)).items||[]}const _G=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function kD(e){let t=0;for(let n=0;n>>0;return _G[t%_G.length]}function Lbt(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,i=[];for(const u of e)u.parent_span_id!=null&&t.has(u.parent_span_id)?(n.get(u.parent_span_id)??n.set(u.parent_span_id,[]).get(u.parent_span_id)).push(u):i.push(u);const r=(u,d)=>u.start_time-d.start_time,s=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(r).map(f=>s(f,d+1))}),a=i.sort(r).map(u=>s(u,0)),o=e.length?Math.min(...e.map(u=>u.start_time)):0,c=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:o,total:c-o||1}}function $bt(e,t){const n=[],i=r=>{n.push(r),t.has(r.span.span_id)||r.children.forEach(i)};return e.forEach(i),n}function AG(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const Qbt=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function CG(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const i=String(n);return{key:Qbt(t),value:i,long:i.length>80||i.includes(` -`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function f0e({appName:e,testRunId:t,sessionId:n,endTimeMs:i,onClose:r,title:s="调用链路观测"}){const[a,o]=m.useState(null),[c,u]=m.useState(""),[d,f]=m.useState(new Set),[h,p]=m.useState(null);m.useEffect(()=>{o(null),u("");let E;if(t)E=wne(t,n);else if(e)E=bT(e,n,i);else{u("缺少调用链路来源");return}E.then(S=>{o(S),p(S.length?S.reduce((k,T)=>k.start_time<=T.start_time?k:T).span_id:null)}).catch(S=>u(S instanceof Error?S.message:String(S)))},[e,i,n,t]);const{rootNodes:b,min:g,total:O}=m.useMemo(()=>Lbt(a??[]),[a]),y=m.useMemo(()=>$bt(b,d),[b,d]),v=(a==null?void 0:a.find(E=>E.span_id===h))??null,x=O/1e6,w=E=>f(S=>{const k=new Set(S);return k.has(E)?k.delete(E):k.add(E),k});return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"drawer-scrim",onClick:r}),l.jsxs("aside",{className:"drawer drawer--trace",children:[l.jsxs("header",{className:"drawer-head",children:[l.jsxs("div",{children:[l.jsx("div",{className:"drawer-title",children:s}),l.jsx("div",{className:"drawer-sub",children:a?`${a.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),l.jsx("button",{className:"drawer-close",onClick:r,"aria-label":"关闭",children:l.jsx(Ma,{className:"icon"})})]}),a==null&&!c&&l.jsxs("div",{className:"drawer-loading",children:[l.jsx(qn,{className:"icon spin"})," 加载调用链路…"]}),c&&l.jsx("div",{className:"error",children:c}),a&&a.length===0&&l.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),y.length>0&&l.jsxs("div",{className:"trace-split",children:[l.jsx("div",{className:"trace-tree scroll",children:y.map(E=>{const S=E.span,k=(S.start_time-g)/O*100,T=Math.max((S.end_time-S.start_time)/O*100,.6),C=E.children.length>0;return l.jsxs("button",{className:`trace-row ${h===S.span_id?"active":""}`,onClick:()=>p(S.span_id),children:[l.jsxs("span",{className:"trace-label",style:{paddingLeft:E.depth*14},children:[l.jsx("span",{className:`trace-caret ${C?"":"hidden"} ${d.has(S.span_id)?"":"open"}`,onClick:A=>{A.stopPropagation(),C&&w(S.span_id)},children:l.jsx(Qb,{className:"chev"})}),l.jsx("span",{className:"trace-dot",style:{background:kD(S.name)}}),l.jsx("span",{className:"trace-name",title:S.name,children:S.name})]}),l.jsx("span",{className:"trace-dur",children:AG(S.end_time-S.start_time)}),l.jsx("span",{className:"trace-track",children:l.jsx("span",{className:"trace-bar",style:{left:`${k}%`,width:`${T}%`,background:kD(S.name)}})})]},S.span_id)})}),l.jsx("div",{className:"trace-detail scroll",children:v?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"td-title",children:v.name}),l.jsxs("div",{className:"td-dur",children:[l.jsx("span",{className:"td-dot",style:{background:kD(v.name)}}),AG(v.end_time-v.start_time)]}),l.jsx("div",{className:"td-section",children:"属性"}),l.jsx("div",{className:"td-props",children:CG(v).filter(E=>!E.long).map(E=>l.jsxs("div",{className:"td-prop",children:[l.jsx("span",{className:"td-key",children:E.key}),l.jsx("span",{className:"td-val",children:E.value})]},E.key))}),CG(v).filter(E=>E.long).map(E=>l.jsxs("div",{className:"td-block",children:[l.jsx("div",{className:"td-section",children:E.key}),l.jsx("pre",{className:"td-pre",children:E.value})]},E.key))]}):l.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const Bbt=m.lazy(()=>xd(()=>import("../chunks/MarkdownPromptEditor-CVe_5Dre.js"),__vite__mapDeps([0,1]))),iL="veadk.generatedAgentTestRuns",NG=4;function GQ(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(iL)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function h0e(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(iL,JSON.stringify(t)):window.sessionStorage.removeItem(iL)}catch{}}function Fbt(e){h0e([...GQ(),e])}function hy(e){h0e(GQ().filter(t=>t!==e))}function Ubt(e,t,n="text/plain"){const i=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}const zbt=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:oTe,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:xu,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:Bke},{id:"tools",label:"工具",hint:"可调用的能力",icon:uTe},{id:"skills",label:"技能",hint:"声明式技能",icon:t1},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:QE},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:Ote},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:Pke},{id:"review",label:"完成",hint:"预览并创建",icon:sTe}];function Vbt({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.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"}),l.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),l.jsx("path",{d:"M3 10v4",opacity:"0.45"}),l.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function jG({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M4.75 7.25h14.5"}),l.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),l.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),l.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function WQ({className:e}){return l.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:l.jsx("path",{d:"m7 9 5 5 5-5"})})}function ZQ({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),l.jsx("path",{d:"M4.5 4.75v3.5H8"}),l.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),l.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const qbt={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},RG={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},p0e="REGISTRY_SPACE_ID",Xbt=Hre.filter(e=>e.key!==p0e);function m0e(e,t){var i,r,s;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((i=e.registryTopK)==null?void 0:i.trim())||lc.topK,n.REGISTRY_REGION=((r=e.registryRegion)==null?void 0:r.trim())||lc.region,n.REGISTRY_ENDPOINT=((s=e.registryEndpoint)==null?void 0:s.trim())||lc.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function gE(e,t){return t!=="byteplus"?e:e.map(n=>n.key==="MODEL_EMBEDDING_NAME"?{...n,placeholder:JTe(t)}:n.key==="MODEL_EMBEDDING_API_BASE"?{...n,placeholder:hc(t)}:n.key==="MODEL_IMAGE_NAME"?{...n,placeholder:t_e(t)}:n.key==="MODEL_EDIT_NAME"?{...n,placeholder:n_e(t)}:n.key==="MODEL_VIDEO_NAME"?{...n,placeholder:i_e(t)}:n.key==="MODEL_IMAGE_API_BASE"||n.key==="MODEL_EDIT_API_BASE"||n.key==="MODEL_VIDEO_API_BASE"?{...n,placeholder:hc(t)}:n)}function Hbt({items:e,selected:t,onToggle:n,scrollRows:i}){return l.jsx("div",{className:`cw-checklist ${i?"cw-checklist-tools":""}`,style:i?{"--cw-checklist-max-height":`${i*40+(i-1)*8}px`}:void 0,children:e.map(r=>{const s=t.includes(r.id);return l.jsx(XQ,{id:`cw-check-${r.id}`,className:`cw-check ${s?"is-on":""}`,checked:s,onCheckedChange:a=>{a!==s&&n(r.id)},label:l.jsx("span",{className:"cw-check-text",children:l.jsx("span",{className:"cw-check-title",children:r.label})})},r.id)})})}function TD({options:e,value:t,onChange:n}){return l.jsx("div",{className:"cw-segmented",children:e.map(i=>{var s;const r=(t??((s=e[0])==null?void 0:s.id))===i.id;return l.jsx("button",{type:"button",className:`cw-seg ${r?"is-on":""}`,onClick:()=>n(i.id),"aria-pressed":r,children:l.jsx("span",{className:"cw-seg-title",children:i.label})},i.id)})})}function Ybt(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function py({env:e,values:t,onChange:n,renderAfterField:i}){const r=e.filter(s=>!s.hidden);return r.length===0?l.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):l.jsx("div",{className:"cw-env-fields",children:r.map(s=>{const a=t[s.key]??s.defaultValue??"",o=qQ(s,t),c=`cw-env-${s.key}`;return l.jsxs(m.Fragment,{children:[l.jsxs("label",{className:"cw-env-field",htmlFor:c,children:[l.jsxs("span",{className:"cw-env-field-head",children:[l.jsxs("span",{className:"cw-env-field-title",children:[l.jsxs("span",{className:"cw-env-field-label",children:[s.comment||s.key,s.required&&l.jsx("span",{className:"cw-req",children:"*"})]}),s.help&&l.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":s.help,"aria-label":`${s.comment||s.key}说明:${s.help}`,children:["?",l.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:s.help})]}),s.link&&l.jsx("a",{className:"cw-env-link",href:s.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${s.link.label}`,"aria-label":`打开 OpenViking ${s.link.label}`,onClick:u=>u.stopPropagation(),children:l.jsx(K0,{"aria-hidden":"true"})})]}),s.comment&&l.jsx("code",{title:s.key,children:s.key})]}),s.multiline||s.format==="json"?l.jsx("textarea",{id:c,className:"cw-input cw-env-textarea",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off",spellCheck:!1,"aria-invalid":!!o,onChange:u=>n(s.key,u.currentTarget.value)}):l.jsx("input",{id:c,className:"cw-input",type:Ybt(s.key)?"password":"text",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off","aria-invalid":!!o,onChange:u=>n(s.key,u.currentTarget.value)}),o&&l.jsx("span",{className:"cw-env-error",children:o})]}),i==null?void 0:i(s)]},s.key)})})}const _D="默认值:留空;生成项目时使用 Agent 名自动生成,例如 my_agent_kb。未配置 DATABASE_OPENVIKING_TARGET_URI 时,默认 URI 拼接为 viking://user/{知识库归属 ID,未填则 default}/resources/{资源索引}/;如果填写了 DATABASE_OPENVIKING_TARGET_URI,则直接使用该完整 URI。";function Gbt({value:e,onChange:t}){const n="cw-openviking-knowledge-index";return l.jsxs("label",{className:"cw-env-field",htmlFor:n,children:[l.jsx("span",{className:"cw-env-field-head",children:l.jsxs("span",{className:"cw-env-field-title",children:[l.jsx("span",{className:"cw-env-field-label",children:"OpenViking 资源索引"}),l.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":_D,"aria-label":`OpenViking 资源索引说明:${_D}`,children:["?",l.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:_D})]})]})}),l.jsx("input",{id:n,className:"cw-input",value:e,placeholder:"",autoComplete:"off",onChange:i=>t(i.currentTarget.value)})]})}function AD(e){return e.name.trim()||"未命名智能体中心"}function DG(e){const t=e.name.trim()||e.id||"未命名知识库",n=[e.sourceLabel,e.projectName].filter(Boolean);return n.length?`${t} · ${n.join(" · ")}`:t}function IG(e){return e.name.trim()||e.id||"未命名记忆库"}function Wbt(e){return e.available?"已开通":e.lifecycleStatus==="Retiring"?"即将下线":e.activationState&&e.activationState!=="Available"?"未开通":"暂不可用"}function Zbt(e){return e.available||e.lifecycleStatus==="Retiring"}function PG({selectedLabel:e,placeholder:t,disabled:n,triggerAriaLabel:i,menuAriaLabel:r,searchAriaLabel:s,searchValue:a,searchPlaceholder:o,onSearchChange:c,empty:u,emptyLabel:d,triggerClassName:f="",optionsClassName:h="",renderOptions:p}){const[b,g]=m.useState(!1),O=m.useRef(null),y=m.useRef(null),v=m.useRef(null),x=m.useId(),[w,E]=m.useState(null);m.useEffect(()=>{if(!b)return;const T=A=>{var P;const R=A.target;R instanceof Node&&O.current&&!O.current.contains(R)&&!((P=v.current)!=null&&P.contains(R))&&g(!1)},C=A=>{var R;A.key==="Escape"&&(g(!1),(R=y.current)==null||R.focus())};return window.addEventListener("pointerdown",T),window.addEventListener("keydown",C),()=>{window.removeEventListener("pointerdown",T),window.removeEventListener("keydown",C)}},[b]),m.useEffect(()=>{if(!b){E(null);return}const T=()=>{const C=y.current;if(!C)return;const A=C.getBoundingClientRect(),R=12,P=6,B=window.innerHeight-A.bottom-R-P,I=A.top-R-P,$=B<300&&I>B,j=Math.max(96,$?I:B),D=Math.min(A.width,window.innerWidth-R*2),F=Math.min(Math.max(R,A.left),window.innerWidth-R-D);E({...$?{bottom:window.innerHeight-A.top+P}:{top:A.bottom+P},left:F,width:D,maxHeight:j,opensUp:$})};return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[b]);const S=()=>g(!1),k=T=>{var P,B;if(!["ArrowDown","ArrowUp","Home","End"].includes(T.key))return;const C=Array.from(((P=v.current)==null?void 0:P.querySelectorAll('[role="option"]:not(:disabled)'))??[]);if(!C.length)return;T.preventDefault();const A=C.findIndex(I=>I===document.activeElement),R=T.key==="Home"?0:T.key==="End"?C.length-1:T.key==="ArrowUp"?A<=0?C.length-1:A-1:A<0||A===C.length-1?0:A+1;(B=C[R])==null||B.focus()};return l.jsxs("div",{className:`cw-a2a-space-select-wrap cw-catalog-select${b?" is-open":""}`,ref:O,children:[l.jsxs("button",{ref:y,type:"button",className:`cw-a2a-space-trigger ${f}`.trim(),disabled:n,"aria-haspopup":"listbox","aria-controls":b?x:void 0,"aria-expanded":b,"aria-label":i,title:e,onClick:()=>{b||c(""),g(T=>!T)},children:[l.jsx("span",{className:t?"is-placeholder":void 0,children:e}),l.jsx(WQ,{className:"cw-a2a-space-trigger-icon"})]}),b&&w&&zi.createPortal(l.jsxs("div",{ref:v,className:`cw-a2a-space-menu cw-catalog-menu cw-catalog-menu-portal${w.opensUp?" is-up":""}`,style:{top:w.top??"auto",bottom:w.bottom??"auto",left:w.left,width:w.width,maxHeight:w.maxHeight},onKeyDown:k,children:[l.jsx("div",{className:"cw-picker-search",children:l.jsx("input",{className:"cw-picker-search-input",type:"search",value:a,autoFocus:!0,autoComplete:"off","aria-label":s,placeholder:o,onChange:T=>c(T.currentTarget.value)})}),l.jsxs("div",{id:x,className:`cw-picker-options cw-catalog-options ${h}`.trim(),role:"listbox","aria-label":r,children:[p(S),u&&l.jsx("div",{className:"cw-picker-empty",children:d})]})]}),document.body)]})}function Kbt({value:e,cloudProvider:t,apiKeyId:n,apiKeyName:i,onApiKeyChange:r,onChange:s}){const[a,o]=m.useState([]),[c,u]=m.useState(!1),[d,f]=m.useState([]),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState(null),[v,x]=m.useState(0),[w,E]=m.useState(0),[S,k]=m.useState(""),[T,C]=m.useState("");m.useEffect(()=>{const U=new AbortController;return u(!0),y(null),Cte(U.signal,v>0).then(q=>{if(U.signal.aborted)return;o(q.keys);const ie=q.keys.find(fe=>fe.id===n)??q.keys.find(fe=>fe.name===i)??q.keys.find(fe=>fe.id===q.defaultKeyId)??q.keys[0];ie&&r(ie)}).catch(q=>{U.signal.aborted||y(q instanceof Error?q.message:"加载 Ark API Key 失败")}).finally(()=>{U.signal.aborted||u(!1)}),()=>U.abort()},[t,v]),m.useEffect(()=>{if(!n){f([]);return}const U=new AbortController;return g(!0),y(null),p(null),a$({signal:U.signal,apiKeyId:n,refresh:v>0||w>0}).then(q=>{U.signal.aborted||(f(q.models),p(n))}).catch(q=>{U.signal.aborted||y(q instanceof Error?q.message:"加载模型列表失败")}).finally(()=>{U.signal.aborted||g(!1)}),()=>U.abort()},[n,t,w,v]);const A=e.trim(),R=h===n,P=R?d:[],B=a.find(U=>U.id===n),I=B?B.name:n?"当前 API Key":c?"正在加载 API Key…":a.length===0?"暂无可用 API Key":"请选择 API Key",$=m.useMemo(()=>a.filter(U=>Wp(S,[U.name])),[S,a]),j=P.find(U=>U.id===A),D=b&&!R?"正在刷新模型列表…":j?`${j.displayName} (${j.id})`:A||"请选择模型",F=m.useMemo(()=>P.filter(U=>Wp(T,[U.displayName,U.id,U.name,U.vendorName,U.activationState,U.lifecycleStatus])),[T,P]),Q=!!(A&&!j&&Wp(T,[A])),M=P.filter(U=>U.available).length,G=t==="byteplus"?"BytePlus ModelArk":"火山方舟",H=KTe(t);return l.jsxs("div",{className:"cw-a2a-space-picker cw-model-picker",children:[l.jsxs("div",{className:"cw-model-picker-stack",children:[l.jsxs("div",{className:"cw-model-picker-field",children:[l.jsx("span",{className:"cw-model-picker-label",children:"API Key"}),l.jsx(PG,{selectedLabel:I,placeholder:!n,disabled:c,triggerAriaLabel:"选择 API Key",menuAriaLabel:"API Key 列表",searchAriaLabel:"搜索 API Key",searchValue:S,searchPlaceholder:"搜索 API Key 名称",onSearchChange:k,empty:$.length===0,emptyLabel:"未找到匹配的 API Key",optionsClassName:"cw-model-key-options",renderOptions:U=>$.map(q=>{const ie=q.id===n;return l.jsx("button",{type:"button",role:"option","aria-selected":ie,className:`cw-a2a-space-option cw-model-key-option ${ie?"is-selected":""}`,title:q.name,onClick:()=>{E(fe=>fe+1),r(q),U()},children:l.jsx("span",{children:q.name})},q.id)})})]}),l.jsxs("div",{className:"cw-model-picker-field",children:[l.jsx("span",{className:"cw-model-picker-label",children:"模型"}),l.jsxs("div",{className:"cw-a2a-space-row",children:[l.jsx(PG,{selectedLabel:D,placeholder:!A,disabled:b,triggerAriaLabel:`选择${G}模型`,menuAriaLabel:`${G}模型`,searchAriaLabel:"搜索模型",searchValue:T,searchPlaceholder:"搜索名称、Model ID 或服务商",onSearchChange:C,empty:!Q&&F.length===0,emptyLabel:"未找到匹配的模型",triggerClassName:"cw-model-trigger",optionsClassName:"cw-model-options",renderOptions:U=>l.jsxs(l.Fragment,{children:[Q&&l.jsxs("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option cw-model-option is-selected",onClick:()=>{s(A),U()},children:[l.jsxs("span",{className:"cw-model-option-copy",children:[l.jsx("strong",{children:"当前配置"}),l.jsx("small",{children:A})]}),l.jsx("span",{className:"cw-model-status is-unknown",children:"状态未知"})]}),F.map(q=>{const ie=q.id===A,fe=Zbt(q);return!fe&&q.activationState!=="Available"?l.jsxs("button",{type:"button",role:"option","aria-selected":!1,className:"cw-a2a-space-option cw-model-option is-activation-link",title:`前往${G}开通 ${q.displayName}`,onClick:()=>{window.open(H,"_blank","noopener,noreferrer"),U()},children:[l.jsxs("span",{className:"cw-model-option-copy",children:[l.jsx("strong",{children:q.displayName}),l.jsxs("small",{children:[q.id,q.vendorName?` · ${q.vendorName}`:""]})]}),l.jsx("span",{className:"cw-model-status is-unavailable",children:"未开通,去开通"})]},q.id):l.jsxs("button",{type:"button",role:"option","aria-selected":ie,disabled:!fe,className:`cw-a2a-space-option cw-model-option ${ie?"is-selected":""}`,title:`${q.displayName} (${q.id})`,onClick:()=>{s(q.id),U()},children:[l.jsxs("span",{className:"cw-model-option-copy",children:[l.jsx("strong",{children:q.displayName}),l.jsxs("small",{children:[q.id,q.vendorName?` · ${q.vendorName}`:""]})]}),l.jsx("span",{className:`cw-model-status ${q.available?"is-available":q.lifecycleStatus==="Retiring"?"is-retiring":"is-unavailable"}`,children:Wbt(q)})]},q.id)})]})}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新 API Key 和模型列表","aria-label":"刷新 API Key 和模型列表",disabled:b||c,onClick:()=>x(U=>U+1),children:b||c?l.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):l.jsx(ZQ,{className:"cw-i cw-i-sm"})})]})]})]}),O?l.jsxs("div",{className:"cw-banner cw-a2a-space-error",role:"alert",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:O})]}):b?l.jsxs("span",{className:"cw-help cw-a2a-space-status","aria-live":"polite",children:[l.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载模型列表…"]}):P.length===0?l.jsx("span",{className:"cw-help",children:"当前账号下暂无可配置模型。"}):l.jsxs("span",{className:"cw-help",children:["已加载 ",P.length," 个模型,其中 ",M," 个已开通。"]})]})}function Jbt({value:e,region:t,invalid:n,onChange:i}){const r=t.trim()||lc.region,[s,a]=m.useState([]),[o,c]=m.useState(!1),[u,d]=m.useState(null),[f,h]=m.useState(0),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(null);m.useEffect(()=>{let C=!1;return c(!0),d(null),Rbt({region:r}).then(A=>{C||a(A)}).catch(A=>{C||(a([]),d(A instanceof Error?A.message:"加载失败"))}).finally(()=>{C||c(!1)}),()=>{C=!0}},[r,f]);const v=!e||s.some(C=>C.id===e.trim()),x=s.find(C=>C.id===e.trim()),w=x?AD(x):e&&!v?"已选择的智能体中心":"请选择智能体中心",E=o&&s.length===0,S=m.useMemo(()=>s.filter(C=>Wp(g,[AD(C),C.id,C.projectName])),[g,s]),k=!!(e&&!v&&Wp(g,["已选择的智能体中心",e]));m.useEffect(()=>{if(!p)return;const C=R=>{const P=R.target;P instanceof Node&&y.current&&!y.current.contains(P)&&b(!1)},A=R=>{R.key==="Escape"&&b(!1)};return window.addEventListener("pointerdown",C),window.addEventListener("keydown",A),()=>{window.removeEventListener("pointerdown",C),window.removeEventListener("keydown",A)}},[p]);const T=C=>{i(C),b(!1)};return l.jsxs("div",{className:`cw-a2a-space-picker${p?" is-open":""}`,ref:y,children:[l.jsxs("div",{className:"cw-a2a-space-row",children:[l.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[l.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:E,"aria-haspopup":"listbox","aria-expanded":p,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{O(""),b(C=>!C)},children:[l.jsx("span",{className:e?void 0:"is-placeholder",children:w}),l.jsx(WQ,{className:"cw-a2a-space-trigger-icon"})]}),p&&l.jsxs("div",{className:"cw-a2a-space-menu",children:[l.jsx("div",{className:"cw-picker-search",children:l.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:C=>O(C.currentTarget.value)})}),l.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&l.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>T(e),children:"已选择的智能体中心"}),S.map(C=>{const A=AD(C),R=C.id===e;return l.jsx("button",{type:"button",role:"option","aria-selected":R,className:`cw-a2a-space-option ${R?"is-selected":""}`,title:`${A} (${C.id})`,onClick:()=>T(C.id),children:A},C.id)}),!k&&S.length===0&&l.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:o,onClick:()=>h(C=>C+1),children:o?l.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):l.jsx(ZQ,{className:"cw-i cw-i-sm"})})]}),u?l.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:u})]}):o?l.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[l.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):s.length===0?l.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):l.jsxs("span",{className:"cw-help",children:["已加载 ",s.length," 个智能体中心,列表仅展示中心名称。"]})]})}function g0e({value:e,items:t,loading:n,error:i,pickerClassName:r,selectLabel:s,searchLabel:a,listLabel:o,placeholder:c,emptyMessage:u,loadedMessage:d,refreshLabel:f,noMatchesMessage:h,getLabel:p,getSearchFields:b,getKey:g,getOptionIds:O,makeUnknownItem:y,onChange:v,onRefresh:x}){const[w,E]=m.useState(!1),[S,k]=m.useState(""),T=m.useRef(null),C=!e||t.some(j=>j.id===e.trim()),A=t.find(j=>j.id===e.trim()),R=A?p(A):e&&!C?e:c,P=n&&t.length===0,B=m.useMemo(()=>t.filter(j=>Wp(S,b(j))),[b,t,S]),I=!!(e&&!C&&Wp(S,[e]));m.useEffect(()=>{if(!w)return;const j=F=>{const Q=F.target;Q instanceof Node&&T.current&&!T.current.contains(Q)&&E(!1)},D=F=>{F.key==="Escape"&&E(!1)};return window.addEventListener("pointerdown",j),window.addEventListener("keydown",D),()=>{window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",D)}},[w]);const $=j=>{v(j),E(!1)};return n&&t.length===0?l.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[l.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):l.jsxs("div",{className:`cw-a2a-space-picker ${r}${w?" is-open":""}`,ref:T,children:[l.jsxs("div",{className:"cw-a2a-space-row",children:[l.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[l.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:P,"aria-haspopup":"listbox","aria-expanded":w,"aria-label":s,onClick:()=>{k(""),E(j=>!j)},children:[l.jsx("span",{className:e?void 0:"is-placeholder",children:R}),l.jsx(WQ,{className:"cw-a2a-space-trigger-icon"})]}),w&&l.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[l.jsx("div",{className:"cw-picker-search",children:l.jsx("input",{className:"cw-picker-search-input",type:"search",value:S,autoFocus:!0,autoComplete:"off","aria-label":a,placeholder:"搜索名称或 ID",onChange:j=>k(j.currentTarget.value)})}),l.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":o,children:[I&&l.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>$(y(e)),children:e}),B.map(j=>{const D=p(j),F=j.id===e,Q=O(j).filter(Boolean).join(" / ");return l.jsx("button",{type:"button",role:"option","aria-selected":F,className:`cw-a2a-space-option ${F?"is-selected":""}`,title:Q?`${D} (${Q})`:D,onClick:()=>$(j),children:D},g(j))}),!I&&B.length===0&&l.jsx("div",{className:"cw-picker-empty",children:h})]})]})]}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:f,"aria-label":f,disabled:n,onClick:x,children:n?l.jsx(qn,{className:"cw-i cw-i-sm cw-spin"}):l.jsx(ZQ,{className:"cw-i cw-i-sm"})})]}),i?l.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:i})]}):t.length===0?l.jsx("span",{className:"cw-help",children:u}):l.jsx("span",{className:"cw-help",children:d(t.length)})]})}function eOt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,o]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),o(null),Ibt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),o(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),l.jsx(g0e,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-kb-picker",selectLabel:"选择 VikingDB 知识库",searchLabel:"搜索 VikingDB 知识库",listLabel:"VikingDB 知识库",placeholder:"请选择 VikingDB 知识库",emptyMessage:"此账号下暂无 VikingDB 知识库。",loadedMessage:d=>`已加载 ${d} 个知识库,选择的知识库会用于当前 Agent。`,refreshLabel:"刷新知识库列表",noMatchesMessage:"未找到匹配的知识库",getLabel:DG,getSearchFields:d=>[DG(d),d.id,d.description,d.projectName,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId,d.sourceLabel],getKey:d=>d.id,getOptionIds:d=>[d.id,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",sourceKind:"knowledge",sourceLabel:"Knowledge Engine",resourceId:""}),onChange:t,onRefresh:()=>u(d=>d+1)})}function tOt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,o]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),o(null),Mbt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),o(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),l.jsx(g0e,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-memory-picker",selectLabel:"选择 VikingDB 记忆库",searchLabel:"搜索 VikingDB 记忆库",listLabel:"VikingDB 记忆库",placeholder:"请选择 VikingDB 记忆库,不选择则自动创建",emptyMessage:"此账号下暂无 VikingDB 记忆库,未选择时会自动创建。",loadedMessage:d=>`已加载 ${d} 个记忆库;不选择时会自动创建。`,refreshLabel:"刷新记忆库列表",noMatchesMessage:"未找到匹配的记忆库",getLabel:IG,getSearchFields:d=>[IG(d),d.id,d.description,d.projectName,d.region,d.resourceId,...d.memoryTypes??[]],getKey:d=>`${d.projectName}:${d.region}:${d.id}`,getOptionIds:d=>[d.id,d.resourceId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",resourceId:"",memoryTypes:[]}),onChange:t,onRefresh:()=>u(d=>d+1)})}function nOt({tools:e,onChange:t}){const n=(s,a)=>t(e.map((o,c)=>c===s?{...o,...a}:o)),i=s=>t(e.filter((a,o)=>o!==s)),r=()=>t([...e,{name:"",transport:"http",url:""}]);return l.jsxs("div",{className:"cw-mcp",children:[e.length>0&&l.jsx("div",{className:"cw-mcp-list",children:l.jsx(nh,{initial:!1,children:e.map((s,a)=>l.jsxs(Mr.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:[l.jsxs("div",{className:"cw-mcp-rowhead",children:[l.jsxs("div",{className:"cw-mcp-transport",children:[l.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":s.transport==="http",children:l.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),l.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":s.transport==="stdio",children:l.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>i(a),"aria-label":"移除 MCP 工具",children:l.jsx(mh,{className:"cw-i cw-i-sm"})})]}),l.jsx("input",{className:"cw-input",value:s.name,placeholder:"名称(用于命名,可留空)",onChange:o=>n(a,{name:o.target.value})}),s.transport==="http"?l.jsxs(l.Fragment,{children:[l.jsx("input",{className:"cw-input",value:s.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:o=>n(a,{url:o.target.value})}),tbt(s.url??"")&&l.jsxs("p",{className:"cw-mcp-warning",children:[l.jsx(xu,{"aria-hidden":"true"}),l.jsx("span",{children:"当前地址不是以 /mcp 结尾,请确认它是实际的 MCP Endpoint。Studio 会保留该地址,不会自动补充路径。"})]}),l.jsx("input",{className:"cw-input",value:J0t(s),placeholder:"Bearer Token(可选)",onChange:o=>t(e.map((c,u)=>u===a?ebt(c,o.target.value):c))})]}):l.jsxs(l.Fragment,{children:[l.jsx("input",{className:"cw-input",value:s.command??"",placeholder:"启动命令,例如 npx",onChange:o=>n(a,{command:o.target.value})}),l.jsx("input",{className:"cw-input",value:(s.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:o=>n(a,{args:o.target.value.split(/\s+/).filter(Boolean)})}),l.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),l.jsxs("button",{type:"button",className:"cw-add-sub",onClick:r,children:[l.jsx(ea,{className:"cw-i"}),"添加 MCP 工具"]})]})}function b0e({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.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"}),l.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),l.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"}),l.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function iOt({s:e,onRemove:t}){let n=t1,i="火山 Find Skill 技能广场";return e.source==="local"?(n=W3,i="本地"):e.source==="skillspace"&&(n=b0e,i="AgentKit Skills 中心"),l.jsxs(Mr.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:[l.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:l.jsx(n,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-selected-skill-meta",children:[l.jsx("span",{className:"cw-selected-skill-name",children:e.name}),l.jsxs("span",{className:"cw-selected-skill-detail",children:[i,e.description?` · ${rv(e.description)}`:""]})]}),l.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:l.jsx(Ma,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const CD=[{id:"local",label:"本地文件",icon:W3},{id:"skillspace",label:"AgentKit Skills 中心",icon:b0e},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:xA}];function rOt({selected:e,onChange:t,cloudProvider:n}){const[i,r]=m.useState("local"),[s,a]=m.useState(!1),o=CD.findIndex(u=>u.id===i),c=u=>t(e.filter(d=>ND(d)!==u));return m.useEffect(()=>{if(!s)return;const u=d=>{d.key==="Escape"&&a(!1)};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s]),l.jsxs("div",{className:"cw-skillspane",children:[l.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>a(!0),children:[l.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:l.jsx(ea,{className:"cw-i"})}),l.jsx("span",{children:"添加 Skill"})]}),e.length>0&&l.jsxs("div",{className:"cw-skill-selected",children:[l.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),l.jsx("div",{className:"cw-selected-skill-list",children:l.jsx(nh,{initial:!1,children:e.map(u=>l.jsx(iOt,{s:u,onRemove:()=>c(ND(u))},ND(u)))})})]}),l.jsx(nh,{children:s&&l.jsx(Mr.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:u=>{u.target===u.currentTarget&&a(!1)},children:l.jsxs(Mr.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:[l.jsxs("div",{className:"cw-skill-dialog-head",children:[l.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),l.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>a(!1),children:l.jsx(Ma,{className:"cw-i"})})]}),l.jsxs("div",{className:"cw-skill-dialog-body",children:[l.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${CD.length})`,"--cw-active-skill-tab-offset":`calc(${o*100}% + ${o*4}px)`},children:[l.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),CD.map(({id:u,label:d,icon:f})=>l.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${u}`,"aria-controls":"cw-skill-tabpanel","aria-selected":i===u,className:`cw-skill-pickertab ${i===u?"is-on":""}`,onClick:()=>r(u),children:[l.jsx(f,{className:"cw-i cw-i-sm"}),d]},u))]}),l.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${i}`,children:[i==="skillhub"&&l.jsx(abt,{selected:e,onChange:t}),i==="local"&&l.jsx(bbt,{selected:e,onChange:t}),i==="skillspace"&&l.jsx(Obt,{selected:e,onChange:t,cloudProvider:n})]})]})]})})})]})}function ND(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function bE({checked:e,onChange:t,title:n,desc:i,showDescription:r=!1}){return l.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[l.jsxs("span",{className:"cw-toggle-text",children:[l.jsx("span",{className:"cw-toggle-title",children:n}),r&&l.jsx("span",{className:"cw-toggle-help",children:i})]}),l.jsx("span",{className:"cw-switch","aria-hidden":!0,children:l.jsx(Mr.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function sOt(e,t){var i;let n=e;for(const r of t)if(n=(i=n.subAgents)==null?void 0:i[r],!n)return!1;return!0}function OE(e,t){let n=e;for(const i of t)n=n.subAgents[i];return n}function sw(e,t,n){if(t.length===0)return n(e);const[i,...r]=t,s=e.subAgents.slice();return s[i]=sw(s[i],r,n),{...e,subAgents:s}}function aOt(e,t,n="volcengine"){return sw(e,t,i=>({...i,subAgents:[...i.subAgents,Yo(n)]}))}function oOt(e,t,n,i="volcengine"){return sw(e,t,r=>{const s=r.subAgents.slice();return s.splice(n,0,Yo(i)),{...r,subAgents:s}})}function lOt(e,t){if(t.length===0)return e;const n=t.slice(0,-1),i=t[t.length-1];return sw(e,n,r=>({...r,subAgents:r.subAgents.filter((s,a)=>a!==i)}))}const rL=e=>!cC(e.agentType),MG=3;function cOt(e,t,n=!1){var r;if(cC(e.agentType))return n?"远程 Agent 只能作为子 Agent":(r=e.a2aRegistry)!=null&&r.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const i=iv(e.name);return i||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":qge(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function O0e(e,t,n=[]){const i=[],r=cC(e.agentType),s=cOt(e,t,n.length===0);return s&&i.push({path:n,name:r?"远程 Agent":e.name.trim()||"未命名",typeLabel:Vge(e.agentType).label,problem:s}),rL(e)&&e.subAgents.forEach((a,o)=>i.push(...O0e(a,t,[...n,o]))),i}function uOt(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function y0e(e){return 1+e.subAgents.reduce((t,n)=>t+y0e(n),0)}function x0e(e){const t=uC(e),n=[],i={...t.envValues},r=t.draft.cloudProvider??"volcengine",s=lht(t.draft).map(Rx);let a=!1,o="";for(const d of Dge(t.draft,hc(r))){const f=[{key:d.apiKeyKey,required:!0,comment:d.label}];d.providerKey&&(f.push({key:d.providerKey,required:!0}),i[d.providerKey]=d.provider),d.apiBaseKey&&(f.push({key:d.apiBaseKey,required:!0}),i[d.apiBaseKey]=d.apiBase),n.push({env:f})}const c=d=>{var f,h,p,b;d.agentType==="llm"&&bO(d,r)==="ark"&&(a=!0,o||(o=(d.modelName??"").trim()));for(const g of d.builtinTools??[]){const O=_m.find(y=>y.id===g);O&&n.push({env:gE(O.env,r)})}for(const g of d.mcpTools??[])g.authTokenEnv&&n.push({env:[{key:g.authTokenEnv,required:!1,comment:`${g.name.trim()||"MCP"} Bearer Token`}]});if((f=d.a2aRegistry)!=null&&f.enabled&&(n.push({env:Hre}),Object.assign(i,m0e(d.a2aRegistry,{includeDefaults:!0}))),d.memory.shortTerm&&n.push({env:gE(((h=BP.find(g=>g.id===(d.shortTermBackend??"local")))==null?void 0:h.env)??[],r)}),d.memory.longTerm&&n.push({env:gE(((p=FP.find(g=>g.id===(d.longTermBackend??"local")))==null?void 0:p.env)??[],r)}),d.knowledgebase&&n.push({env:gE(((b=UP.find(g=>g.id===(d.knowledgebaseBackend??rh)))==null?void 0:b.env)??[],r)}),d.tracing)for(const g of d.tracingExporters??[]){const O=S5e.find(y=>y.id===g);O&&n.push({env:O.env,enableFlag:O.enableFlag})}d.subAgents.forEach(c)};if(c(t.draft),a){n.push({env:[{key:"MODEL_AGENT_PROVIDER",required:!0},{key:"MODEL_AGENT_API_BASE",required:!0},{key:"MODEL_AGENT_API_KEY",required:!0,comment:"Ark API Key",placeholder:"由所选 API Key 注入",secret:!0,readOnly:!0,serverManaged:!0,requiredBy:s}]}),i.MODEL_AGENT_PROVIDER="openai",i.MODEL_AGENT_API_BASE=hc(r);const d=o||nm(r);i.MODEL_AGENT_NAME=d,i.MODEL_NAME=d}DQ(t.draft).includes("mcp_resilience")&&n.push({env:[{key:"MCP_URLS",required:!0,comment:"MCP 统一网关地址",placeholder:"https://example.com/mcp",requiredBy:[Rx("mcp_resilience")]},{key:"MCP_API_KEY",required:!0,comment:"MCP 统一网关 API Key",secret:!0,requiredBy:[Rx("mcp_resilience")]}]});const u=$ge(n);return{specs:u.specs,fixedValues:{...u.fixedValues,...i}}}function dOt(e,t){const n=i=>(i??"").trim().replace(/\/+$/,"");return n(e)===n(t)}function fOt(e,t,n){const i=(e??"").trim();return!i||i===nm(t)?!0:i===nm(n)?!1:n==="byteplus"&&i.includes("doubao-")}function Sp(e,t){const n=e.cloudProvider??"volcengine",i=bO(e,n),r=e.subAgents.map(u=>Sp(u,t)),s=i==="ark"&&fOt(e.modelName,n,t)?nm(t):e.modelName,o=dOt(e.modelApiBase,hc(n))||t==="byteplus"&&(e.modelApiBase??"").includes("volces.com")?hc(t):e.modelApiBase;return e.cloudProvider!==t||s!==e.modelName||o!==e.modelApiBase||r.some((u,d)=>u!==e.subAgents[d])?{...e,cloudProvider:t,modelName:s,modelApiBase:o,subAgents:r}:e}function hOt(e,t){var o;const n=Sp(e,t),i=Ige(n,hc(t)),r=new Set(i.map(({key:c})=>c)),s=((o=n.deployment)==null?void 0:o.envValues)??{},a=Object.fromEntries(Object.entries(s).filter(([c,u])=>r.has(c)&&!!u.trim()));return Object.keys(a).length===0?{draft:n,customModelSecretValues:a}:{draft:{...n,deployment:{...n.deployment??{feishuEnabled:!1},envValues:Object.fromEntries(Object.entries(s).filter(([c])=>!r.has(c)))}},customModelSecretValues:a}}function v0e(e){var i,r,s;const t=uC(e).draft;return{...Lge(t,t.cloudProvider??"volcengine"),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),modelApiKeyId:((r=e.deployment)==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:((s=e.deployment)==null?void 0:s.modelApiKeyName)??""}}}function sL(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const i of e.subAgents){const r=sL(i);if(r)return r}return""}function w0e(e,t={}){var r,s,a,o;const n=x0e(e),i={...((r=e.deployment)==null?void 0:r.envValues)??{},...t,...n.fixedValues};return{...v0e(e),deployment:{feishuEnabled:!!((s=e.deployment)!=null&&s.feishuEnabled),modelApiKeyId:((a=e.deployment)==null?void 0:a.modelApiKeyId)??"",modelApiKeyName:((o=e.deployment)==null?void 0:o.modelApiKeyName)??"",envValues:Object.fromEntries(Qge(n.specs,i).map(({key:c,value:u})=>[c,u]))}}}function pOt(e,t={}){return JSON.stringify(w0e(e,t))}function Q_(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction})}function c0(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim()})}function mOt({enabled:e,disabledReason:t,variants:n,draftSnapshot:i,input:r,onInput:s,onSend:a,onStartVariant:o,onUseVariant:c,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:p,onOpenTrace:b}){const g=n.filter(v=>v.phase!=="ready"?!1:v.runtimeSnapshot===Q_(i,v)),O=n.some(v=>v.phase==="sending"),y=g.length>0&&!O;return l.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[l.jsx("div",{className:"cw-ab-stage",children:e?l.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((v,x)=>{const w=v.modelName.trim(),E=v.description.trim(),S=v.instruction.trim(),k=c0(v),T=!!(w&&E&&S&&n.findIndex(F=>c0(F)===k)!==x),C=!w||!E||!S||T,A=!!(v.runtimeSnapshot&&v.runtimeSnapshot!==Q_(i,v)),R=v.phase==="starting",P=v.phase==="ready"&&!A,B=R||v.phase==="sending",I=P&&v.phase!=="sending"&&v.messages.some(F=>F.role==="assistant"),$=B||v.configOpen||C,j=w?E?S?T?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",D=R?"正在启动":A?"应用配置并重启":P||v.phase==="error"?"重新启动环境":"启动环境";return l.jsx("article",{className:"cw-ab-card",children:l.jsxs("div",{className:`cw-ab-card-inner${v.configOpen?" is-flipped":""}`,children:[l.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":v.configOpen,children:[l.jsxs("header",{className:"cw-ab-card-head",children:[l.jsxs("div",{className:"cw-ab-card-title",children:[l.jsx("strong",{children:v.name}),l.jsx("span",{children:v.modelName||"默认模型"})]}),l.jsxs("div",{className:"cw-ab-card-actions",children:[l.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:v.configOpen||B,onClick:()=>f(v.id),children:"测试配置"}),v.id!=="baseline"&&l.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${v.name}`,disabled:v.configOpen||B,onClick:()=>d(v.id),children:l.jsx(jG,{className:"cw-i"})})]})]}),l.jsx("div",{className:"cw-ab-conversation",children:v.error?l.jsx($_,{message:v.error,className:"cw-debug-error-detail",defaultExpanded:!0}):R?l.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[l.jsx(qn,{className:"cw-i cw-spin"}),l.jsx("span",{children:"正在创建独立测试环境"})]}):A?l.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:l.jsx("span",{children:"配置已变更,请重新启动此环境"})}):v.messages.length===0?l.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:P?l.jsxs(l.Fragment,{children:[l.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),l.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):l.jsx("span",{className:"cw-ab-launch-hint",children:j||"启动环境后即可加入本轮测试"})}):v.messages.map((F,Q)=>l.jsx("div",{className:`cw-debug-msg cw-debug-msg-${F.role}`,children:l.jsx("div",{className:"cw-debug-content",children:F.role==="user"?F.content:F.error?l.jsx($_,{message:F.error,className:"cw-debug-msg-error",defaultExpanded:!0}):F.blocks&&F.blocks.length>0?l.jsx(k2,{blocks:F.blocks,onAction:()=>{}}):F.content?F.content:Q===v.messages.length-1&&v.phase==="sending"?l.jsx(vue,{}):null})},Q))}),l.jsxs("footer",{className:"cw-ab-deploy-footer",children:[l.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!I,title:I?`查看${v.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>b(v.id),children:"调用链路"}),l.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:$,title:j||void 0,onClick:()=>o(v.id),children:[P||A||v.phase==="error"?l.jsx(xte,{className:"cw-i"}):l.jsx(Vbt,{className:"cw-i cw-debug-run-icon"}),D]}),l.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:B||!w,onClick:()=>c(v.id),children:"使用该配置"})]})]}),l.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!v.configOpen,children:[l.jsxs("header",{className:"cw-ab-config-head",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"测试配置"}),l.jsx("span",{children:v.name})]}),l.jsxs("div",{className:"cw-ab-config-head-actions",children:[v.id!=="baseline"&&l.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${v.name}`,title:"删除配置组",disabled:B,onClick:()=>d(v.id),children:l.jsx(jG,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:`cw-ab-config-done-wrap${j?" is-disabled":""}`,tabIndex:j?0:void 0,children:[l.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!v.configOpen||C,onClick:()=>h(v.id),children:v.id==="baseline"?"完成配置":"完成并启动"}),j&&l.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:j})]})]})]}),l.jsxs("div",{className:"cw-ab-config",children:[l.jsxs("label",{children:[l.jsx("span",{children:"模型"}),l.jsx("input",{value:v.modelName,placeholder:"使用 Agent 当前模型",disabled:!v.configOpen,onChange:F=>p(v.id,"modelName",F.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"描述"}),l.jsx("textarea",{rows:2,value:v.description,disabled:!v.configOpen,onChange:F=>p(v.id,"description",F.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"系统提示词"}),l.jsx("textarea",{rows:5,value:v.instruction,disabled:!v.configOpen,onChange:F=>p(v.id,"instruction",F.target.value)})]}),l.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},v.id)})}):l.jsx("div",{className:"cw-debug-empty",children:t})}),l.jsxs("div",{className:"cw-ab-composer",children:[l.jsxs("div",{className:"cw-debug-composerbox",children:[l.jsx("textarea",{className:"cw-debug-input",rows:1,value:r,placeholder:y?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!y,onChange:v=>s(v.target.value),onKeyDown:v=>{sC(v.nativeEvent)||v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),a())}}),l.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!y||!r.trim(),onClick:a,children:O?l.jsx(qn,{className:"cw-i cw-spin"}):l.jsx(Ike,{className:"cw-i"})})]}),e&&n.length<3&&l.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[l.jsx(ea,{className:"cw-i"}),"添加对照组"]})]})]})}function gOt({profile:e,optimizations:t,unavailableMessage:n,onProfileChange:i,onOptimizationChange:r}){return l.jsx("section",{className:"cw-optimize-workspace","aria-label":"智能体优化选项",children:l.jsxs("div",{className:"cw-optimize-panel",children:[n?l.jsxs("div",{className:"cw-banner",role:"alert",children:[l.jsx(xu,{className:"cw-i"}),l.jsx("span",{children:n})]}):null,l.jsxs("fieldset",{className:"cw-optimize-section",children:[l.jsx("legend",{children:"优化场景"}),l.jsx(Rp,{className:"cw-optimize-profile-options","aria-label":"优化场景",value:e,onChange:i,children:RQ.map(s=>l.jsx("div",{className:`cw-optimize-profile-option${e===s.id?" is-on":""}`,children:l.jsx(Rp.Item,{value:s.id,block:!0,className:"cw-optimize-profile-control",children:l.jsxs("span",{className:"cw-optimize-profile-copy",children:[l.jsx("strong",{children:s.displayName}),l.jsx("small",{children:s.description})]})})},s.id))})]}),l.jsxs("fieldset",{className:"cw-optimize-section",children:[l.jsx("legend",{children:"优化组件"}),l.jsx("div",{className:"cw-optimize-option-list",children:eht.map(s=>l.jsxs("section",{className:"cw-optimize-option-group","aria-labelledby":`cw-optimize-group-${s.id}`,children:[l.jsx("h3",{id:`cw-optimize-group-${s.id}`,className:"cw-optimize-option-group-title",children:s.displayName}),l.jsx("div",{className:"cw-optimize-option-group-items",children:s.componentIds.map(a=>{const o=jQ.find(u=>u.id===a);if(!o)return null;const c=t.includes(o.id);return l.jsx(XQ,{checked:c,onCheckedChange:u=>{const d=!!u;d!==c&&r(o.id,d)},label:l.jsxs("span",{className:"cw-optimize-option-copy",children:[l.jsx("strong",{children:o.displayName}),l.jsx("small",{children:o.description})]}),className:"cw-optimize-option"},o.id)})})]},s.id))})]})]})})}const yE=[{id:"build",label:"架构"},{id:"optimize",label:"优化"},{id:"validate",label:"调试"},{id:"environment",label:"环境"},{id:"publish",label:"发布"}],bOt={build:"个性化您的智能体架构",optimize:"为您的智能体选择优化项",validate:"调试您的智能体",environment:"配置云上环境",publish:"准备好部署您的智能体"};function OOt({mode:e}){return l.jsx("header",{className:"cw-workspace-header",children:l.jsx("h1",{children:bOt[e]})})}function yOt({mode:e,busy:t,onChange:n,assistant:i,accessory:r}){const s=yE.findIndex(c=>c.id===e),a=yE[s-1],o=yE[s+1];return l.jsxs("footer",{className:"cw-workspace-footer",children:[r?l.jsx("div",{className:"cw-workspace-footer-accessory",children:r}):null,l.jsxs("div",{className:`cw-workspace-nav-actions${i?" has-assistant":""}`,children:[l.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:!a||t,onClick:()=>a&&n(a.id),children:"上一步"}),l.jsx("span",{"aria-hidden":"true"}),i?l.jsx("div",{className:"cw-workspace-ai-slot",children:i}):null,e==="publish"?l.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):l.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!o||t,onClick:()=>o&&n(o.id),children:"下一步"})]}),l.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:yE.map((c,u)=>{const d=c.id===e;return l.jsx("button",{type:"button",className:`${d?"is-active":""}${un(c.id),children:l.jsx("span",{"aria-hidden":"true"})},c.id)})})]})}function xOt({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:i,features:r,onDeploymentTaskChange:s,createMode:a="custom",deploymentTarget:o,cloudProvider:c="volcengine",initialDeployRegion:u=Ri(c),onDeploymentComplete:d,onDeploymentStarted:f,onDraftChange:h,onDiscard:p}){var nn,yn,Fa,xn,Qn,zs,Ll,Hi,Ua,tl,er,za,wa,Au,sa,fs,hs,ur,wr,xo;const[b]=m.useState(()=>hOt(i??Yo(c),c)),[g,O]=m.useState(b.draft),[y,v]=m.useState(b.customModelSecretValues),x=((nn=g.deployment)==null?void 0:nn.runtimeName)??"",w=o?o.name:kpt(g.name,x,(yn=g.deployment)==null?void 0:yn.runtimeNameCustomized),E=y;m.useEffect(()=>{O(z=>Sp(z,c))},[c]);const[S,k]=m.useState(""),[T,C]=m.useState(!1),[A,R]=m.useState(!1),[P,B]=m.useState(!1),[I,$]=m.useState(null),j=S.trim(),D=j.length>0&&j.length{H.current=h},[h]),m.useEffect(()=>{var z;M!==Q.current&&(Q.current=M,(z=H.current)==null||z.call(H,Sp(g,c),G))},[c,g,G,M]);const[U,q]=m.useState("build"),[ie,fe]=m.useState(!1),[me,ce]=m.useState(0),[K,ee]=m.useState(null),[ye,ve]=m.useState(!1),[Re,Pe]=m.useState(!1),[De,he]=m.useState((o==null?void 0:o.region)??u),Ee=(r==null?void 0:r.generatedAgentTestRun)===!0,Oe=(r==null?void 0:r.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[Le,Fe]=m.useState(()=>{const z=Sp(i??Yo(c),c);return[{id:"baseline",name:"基准组",modelName:sL(z),description:z.description,instruction:z.instruction,configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]}),[_e,Ye]=m.useState("baseline"),dt=m.useRef(1),It=m.useRef(!1),Ge=m.useRef(new Map),[Z,ne]=m.useState(0),[ue,be]=m.useState(""),[V,je]=m.useState(null),[He,et]=m.useState(!1),[qt,Ft]=m.useState(!1),At=m.useRef(null),[xt,xe]=m.useState(""),[Ue,Qe]=m.useState(!1),[Ot,Et]=m.useState([]),Rt=m.useRef(null),Ce=m.useRef({});async function We(){const z=new Set([...Ge.current.values()].map(({run:Te})=>Te.runId)),se=GQ().filter(Te=>!z.has(Te));se.length&&await Promise.all(se.map(async Te=>{try{await Sg(Te),hy(Te)}catch(Ze){console.warn("清理遗留调试运行失败",Ze)}}))}m.useEffect(()=>(We(),()=>{for(const{run:z}of Ge.current.values())Sg(z.runId).then(()=>hy(z.runId)).catch(se=>console.warn("清理调试运行失败",se));Ge.current.clear()}),[]),m.useEffect(()=>()=>{var z;(z=At.current)==null||z.call(At,!1),At.current=null},[]);const mt=m.useRef(null);mt.current||(mt.current=({meta:z,children:se})=>l.jsxs("section",{ref:Te=>{Ce.current[z.id]=Te},id:`cw-sec-${z.id}`,"data-step-id":z.id,className:"cw-section",children:[l.jsx("header",{className:"cw-sec-head",children:l.jsx("h2",{className:"cw-sec-title",children:z.label})}),l.jsx("div",{className:"cw-sec-body",children:se})]}));const tn=sOt(g,Ot)?Ot:[],st=OE(g,tn),gn=tn.length===0,ti=`cw-a2a-registry-advanced-${tn.join("-")||"root"}`,Pt=z=>O(se=>sw(se,tn,Te=>({...Te,...z}))),wt=(z,se)=>O(Te=>{var Ze;return{...Te,deployment:{...Te.deployment??{feishuEnabled:!1},envValues:{...((Ze=Te.deployment)==null?void 0:Ze.envValues)??{},[z]:se}}}}),Ae=z=>Pt({a2aRegistry:{...st.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...z}}),it=(z,se)=>{if(!(z in RG))return;const Te=RG[z];Ae({[Te]:se}),wt(z,se)},Nt=z=>{if(!(gn&&z==="a2a")){if(z==="a2a"){Pt({agentType:z,a2aRegistry:{...st.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}Pt({agentType:z,a2aRegistry:st.a2aRegistry?{...st.a2aRegistry,enabled:!1}:void 0})}},Yt=(z,se)=>{O(z),se&&Et(se)},Jt=async()=>{const z=S.trim();if(!(!z||T)&&!(z.length{const se=OE(g,z);if(!rL(se)||z.length>=MG)return;const Te=aOt(g,z,c),Ze=OE(Te,z).subAgents.length-1;Yt(Te,[...z,Ze])},Ie=(z,se)=>{const Te=OE(g,z);if(!rL(Te)||z.length>=MG)return;const Ze=Math.max(0,Math.min(se,Te.subAgents.length)),Je=oOt(g,z,Ze,c);Yt(Je,[...z,Ze])},ft=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(O(Yo(c)),Et([]),fe(!1))},kt=z=>{if(z.length===0){ft();return}Yt(lOt(g,z),z.slice(0,-1))},Xt=st.builtinTools??[],fn=m.useMemo(()=>Yre(c),[c]),Cn=m.useMemo(()=>new Set(fn.map(z=>z.id)),[fn]),mi=st.mcpTools??[],gi=st.selectedSkills??[],xi=z=>{Cn.has(z)&&Pt({builtinTools:Xt.includes(z)?Xt.filter(se=>se!==z):[...Xt,z]})},ae=qge(st.agentType),Be=cC(st.agentType),lt=bO(st,c),Tt=z=>{var Te;const se=z==="custom"&<==="ark"?"":z==="ark"&&!((Te=st.modelName)!=null&&Te.trim())?nm(c):st.modelName;Pt({modelSource:z,modelName:se})},ln=m.useMemo(()=>hmt(g),[g]),Zn=Be?null:iv(st.name)??(ln.has(st.name)?"Agent 名称在当前结构中必须唯一":null),Nn=Zn!==null,bi=!Be&&st.description.trim().length===0,$n=st.instruction.trim().length===0,ri=Be&&!((Fa=st.a2aRegistry)!=null&&Fa.registrySpaceId.trim()),Li=z=>ie&&z?`is-error cw-error-shake-${me%2}`:"",Vi=m.useMemo(()=>O0e(g,ln),[g,ln]),qi=Vi.length===0,hn=m.useMemo(()=>Sp(g,c),[c,g]),Oi=oht(g),vi=DQ(g),ci=nht(c),yi=m.useMemo(()=>pOt(hn,E),[hn,E]),ds=Le.find(z=>z.id===_e)??Le[0],Bs=m.useMemo(()=>x0e(hn),[hn]),si=m.useMemo(()=>Ige(hn,hc(c)),[c,hn]),ws=si.find(z=>z.label===`${st.name.trim()||"自定义模型"} 模型 API Key`);function Fs(z){const se=z.problem==="缺少子 Agent"?"type":"basic",Te=Ce.current[se];Te==null||Te.scrollIntoView({behavior:"smooth",block:"start"});const Ze=z.problem==="缺少描述"?"description":z.problem==="缺少系统提示词"?"instruction":z.problem==="缺少 AgentKit 智能体中心"?"a2a-registry":z.problem==="缺少子 Agent"||z.problem==="远程 Agent 只能作为子 Agent"?null:"name",Je=Ze?Te==null?void 0:Te.querySelector(`[data-validation-field="${Ze}"]`):Te,bt=Je!=null&&Je.matches('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')?Je:Je==null?void 0:Je.querySelector('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])');bt==null||bt.focus({preventScroll:!0})}const Kr=()=>qi?!0:(fe(!0),ce(z=>z+1),Vi[0]&&(Et(Vi[0].path),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>Fs(Vi[0]))})),!1),ni=async()=>{je(null);const z=[...Ge.current.values()];Ge.current.clear(),ne(0),Fe(se=>se.map(Te=>({...Te,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(z.map(async({run:se})=>{try{await Sg(se.runId),hy(se.runId)}catch(Te){console.warn("清理调试运行失败",Te)}}))},Us=async z=>{const se=Ge.current.get(z);if(se){Ge.current.delete(z),ne(Ge.current.size);try{await Sg(se.run.runId),hy(se.run.runId)}catch(Te){console.warn("清理调试运行失败",Te)}}},el=z=>{const se=Ge.current.get(z),Te=Le.find(Ze=>Ze.id===z);!se||!Te||je({runId:se.run.runId,sessionId:se.sessionId,variantName:Te.name})},Cr=z=>{const se=At.current;At.current=null,se==null||se(z)},Ss=()=>{qt||(et(!1),Cr(!1))},xa=async()=>{if(!qt){Ft(!0);try{await ni(),et(!1),Cr(!0)}finally{Ft(!1)}}},Ml=async()=>U!=="validate"||Z===0?!0:At.current?!1:new Promise(z=>{At.current=z,et(!0)}),Qa=async z=>{if(await Ml()){if(!Kr()){q("build");return}z&&Ye(z),q("environment")}},_c=async z=>{var Te,Ze,Je,bt,we;if(xe(""),!Kr()){q("build");return}if((Te=hn.harnessSidecar)!=null&&Te.enabled&&ci){xe(ci),q("optimize");return}if(((Ze=hn.cloudEnvironment)==null?void 0:Ze.dockerfile)!==void 0&&!hn.cloudEnvironment.dockerfile.trim()){xe("Dockerfile 不能为空。请输入有效内容,或恢复自动生成。"),q("environment");return}if((((bt=(Je=hn.cloudEnvironment)==null?void 0:Je.dockerfile)==null?void 0:bt.length)??0)>Gre){xe("Dockerfile 不能超过 64 KiB。请精简内容后重试。"),q("environment");return}const se=Uge(Bs.specs,((we=hn.deployment)==null?void 0:we.envValues)??{});if(se){xe(`${se.spec.comment||se.spec.key}:${se.error}`),q("build");return}ve(!0);try{const tt=z?Le.find(Ai=>Ai.id===z):ds;tt&&Ye(tt.id);const $t=tt?aht(hn,tt):hn,Vt=await y$(v0e($t));O($t),ee(Vt),q("publish")}catch(tt){xe(tt instanceof Error?tt.message:String(tt))}finally{ve(!1)}},ai=async()=>{if(await Ml()){if(!Kr()){q("build");return}q("optimize")}},Jr=async z=>{if(!Ee||ye||!Kr())return;const se=Le.find(Gt=>Gt.id===z);if(!se||se.phase==="starting"||se.phase==="sending")return;const Te=se.modelName.trim(),Ze=se.description.trim(),Je=se.instruction.trim(),bt=c0(se),we=Le.findIndex(Gt=>Gt.id===z),tt=Le.findIndex(Gt=>c0(Gt)===bt);if(!Te||!Ze||!Je||tt!==we)return;const $t=Q_(yi,se);Fe(Gt=>Gt.map(aa=>aa.id===z?{...aa,configOpen:!1,phase:"starting",messages:[],error:null}:aa)),be("");let Vt=null,Ai="unknown";const Sr=z==="baseline"?"baseline":"comparison",Sa=dmt({agentId:String(hn.name||"unknown"),variantType:Sr});try{await Us(z),await We();const Gt={...hn,modelName:se.modelName||hn.modelName,description:se.description,instruction:se.instruction};Ai="create_test_run",Vt=await xne(w0e(Gt,E),o?{runtimeId:o.runtimeId,region:o.region}:void 0),Fbt(Vt.runId),Ai="create_test_session";const aa=await vne(Vt.runId,"test_user");Ge.current.set(z,{run:Vt,sessionId:aa}),ne(Ge.current.size),Fe(En=>En.map(kn=>kn.id===z?{...kn,phase:"ready",runtimeSnapshot:$t}:kn)),Sa.succeed({debugRunId:String(Vt.runId)})}catch(Gt){if(Vt)try{await Sg(Vt.runId),hy(Vt.runId)}catch(aa){console.warn("清理调试运行失败",aa)}Fe(aa=>aa.map(En=>En.id===z?{...En,phase:"error",runtimeSnapshot:"",error:Gt instanceof Error?Gt.message:String(Gt)}:En)),Sa.fail({failedPhase:Ai,...Ta(Gt,{phase:Ai})})}},Ba=async()=>{const z=ue.trim(),se=Le.filter(Ze=>Ze.phase==="ready"&&Ze.runtimeSnapshot===Q_(yi,Ze)&&Ge.current.has(Ze.id));if(!z||se.length===0)return;be("");const Te=new Set(se.map(Ze=>Ze.id));Fe(Ze=>Ze.map(Je=>Te.has(Je.id)?{...Je,phase:"sending",messages:[...Je.messages,{role:"user",content:z},{role:"assistant",content:"",blocks:[]}]}:Je)),await Promise.all(se.map(async Ze=>{const Je=Ge.current.get(Ze.id);if(Je)try{let bt=cd();for await(const we of Sne({runId:Je.run.runId,userId:"test_user",sessionId:Je.sessionId,text:z})){const tt=we.error||we.errorMessage||we.error_message;if(tt||(bt=OT(bt,we)),Fe($t=>$t.map(Vt=>{if(Vt.id!==Ze.id)return Vt;const Ai=[...Vt.messages],Sr={...Ai[Ai.length-1]};return tt?Sr.error=String(tt):(Sr.content=bt.blocks.filter(Sa=>Sa.kind==="text").map(Sa=>Sa.text).join(""),Sr.blocks=bt.blocks),Ai[Ai.length-1]=Sr,{...Vt,messages:Ai}})),tt)break}}catch(bt){Fe(we=>we.map(tt=>{if(tt.id!==Ze.id)return tt;const $t=[...tt.messages],Vt={...$t[$t.length-1]};return Vt.error=bt instanceof Error?bt.message:String(bt),$t[$t.length-1]=Vt,{...tt,messages:$t}}))}finally{Fe(bt=>bt.map(we=>we.id===Ze.id?{...we,phase:"ready"}:we))}}))},Xi=()=>{Fe(z=>{if(z.length>=3)return z;const se=dt.current++,Te=`variant-${se}`;return[...z,{id:Te,name:`对照组 ${se}`,modelName:g.modelName??"",description:g.description,instruction:g.instruction,configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},Br=async z=>{await Us(z),Fe(se=>se.filter(Te=>Te.id!==z)),_e===z&&Ye("baseline")},Es=(z,se)=>Fe(Te=>Te.map(Ze=>Ze.id===z?{...Ze,...se}:Ze)),yr=(z,se)=>{if(se&&ci){xe(ci);return}const Te=se?[...new Set([...vi,z])]:vi.filter(Ze=>Ze!==z);O(Ze=>({...Ze,harnessSidecar:a0(Te,Oi)})),xe(""),ee(null)},xr=z=>{const se=rge(z);if(se.length>0&&ci){xe(ci);return}O(Te=>({...Te,harnessSidecar:a0(se,z)})),xe(""),ee(null)},cr=(z,se,Te)=>{z==="baseline"&&se==="modelName"&&(It.current=!0),Es(z,{[se]:Te}),!(_e!==z||z==="baseline")&&Ye("baseline")},ks=z=>{const se=Le.find($t=>$t.id===z);if(!se)return;const Te=se.modelName.trim(),Ze=se.description.trim(),Je=se.instruction.trim(),bt=c0(se),we=Le.findIndex($t=>$t.id===z),tt=Le.findIndex($t=>c0($t)===bt);if(!(!Te||!Ze||!Je||tt!==we)){if(z==="baseline"){Es(z,{configOpen:!1});return}Jr(z)}},vr=async(z,se,Te)=>{var bt;const Ze=(bt=g.deployment)==null?void 0:bt.network,Je=Ze&&Ze.mode&&Ze.mode!=="public"?{mode:Ze.mode,vpc_id:Ze.vpcId,subnet_ids:Ze.subnetIds,enable_shared_internet_access:Ze.enableSharedInternetAccess}:void 0;return zb(z.name,z.files,{region:(o==null?void 0:o.region)??De,projectName:"default",network:Je},{...Te,onStage:se,runtimeId:o==null?void 0:o.runtimeId,runtimeName:(Te==null?void 0:Te.runtimeName)??w,appName:o==null?void 0:o.appName,description:g.description,harnessSidecar:g.harnessSidecar})},Hn=()=>{Kr()&&(Fe(z=>z.map(se=>se.id==="baseline"&&!Ge.current.has(se.id)?{...se,modelName:It.current?se.modelName:sL(hn),description:hn.description,instruction:hn.instruction}:se)),q("validate"))},Oo=async z=>{if(z==="publish"){if(!await Ml())return;await _c();return}if(z==="optimize"){await ai();return}if(z==="validate"){Hn();return}if(z==="environment"){Qa();return}await Ml()&&q(z)},va=z=>{O(se=>({...se,cloudEnvironment:z})),xe(""),ee(null)},yo=mt.current,Ts=z=>zbt.find(se=>se.id===z),le=l.jsx("section",{className:`cw-ai-compose${T?" is-generating":""}${A?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:l.jsx(nh,{initial:!1,mode:"wait",children:A?l.jsxs(Mr.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:[l.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),l.jsx("strong",{children:"生成成功"}),l.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>R(!1),children:"重新生成"})]},"success"):l.jsxs(Mr.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:[l.jsxs("form",{className:"cw-ai-compose-form",onSubmit:z=>{z.preventDefault(),Jt()},children:[l.jsx("input",{type:"text",value:S,maxLength:8e3,disabled:T,placeholder:`描述目标,使用 ${e_e(c)} 模型一键生成配置`,"aria-invalid":!!D,"aria-describedby":D?"ai-requirement-error":void 0,onChange:z=>k(z.target.value),onKeyDown:z=>{z.key==="Enter"&&(z.preventDefault(),Jt())}}),l.jsx("button",{type:"submit",disabled:T||!j||!!D,"aria-label":T?"正在智能生成":"智能生成",children:T?l.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:l.jsx("span",{})}):"智能生成"})]}),D&&l.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:D})]},"compose")})});return l.jsxs("div",{className:`cw-root is-${U}`,children:[l.jsx(OOt,{mode:U}),xt&&l.jsx($_,{className:"cw-workspace-alert",message:xt}),l.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[U==="build"&&l.jsx("div",{className:"cw-build-workspace",children:l.jsxs("div",{className:"cw-editor",children:[l.jsx(p1,{draft:g,direction:"horizontal",selectedPath:tn,onSelect:Et,onAdd:Sn,onInsert:Ie,onDelete:kt}),l.jsx("div",{className:"cw-detail",children:l.jsx("div",{className:"cw-detail-scroll",ref:Rt,children:l.jsx("div",{className:"cw-detail-inner",children:l.jsx("div",{className:"cw-lower",children:l.jsxs("div",{className:"cw-form-col",children:[l.jsxs(yo,{meta:Ts("type"),children:[l.jsx(Rp,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:st.agentType??"llm",onChange:Nt,children:F0t.map(z=>{const se=(st.agentType??"llm")===z.id,Te=gn&&z.id==="a2a",Ze=Te?"cw-remote-agent-disabled-hint":void 0;return l.jsxs("div",{"data-agent-type":z.id,className:`cw-agent-type-option ${se?"is-on":""} ${Te?"is-disabled":""}`,tabIndex:Te?0:void 0,"aria-describedby":Ze,children:[l.jsx(Rp.Item,{value:z.id,disabled:Te,block:!0,className:"cw-agent-type-control",children:l.jsx("span",{className:"cw-agent-type-copy",children:l.jsx("strong",{children:qbt[z.id]})})}),Te&&l.jsx("span",{id:Ze,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},z.id)})}),ie&&ae&&st.subAgents.length===0&&l.jsx("span",{className:"cw-error-text",children:uOt({name:st.name.trim()||"未命名",typeLabel:Vge(st.agentType).label})})]}),l.jsx(yo,{meta:Ts("basic"),children:l.jsxs("div",{className:"cw-form",children:[!Be&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"cw-field",children:[l.jsxs("label",{className:"cw-label",children:[gn?"Agent 名称":"名称",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx("input",{className:`cw-input ${Li(Nn)}`,"data-validation-field":"name",value:st.name,placeholder:"assistant","aria-invalid":ie&&Nn,"aria-describedby":ie&&Zn?"cw-agent-name-error":void 0,onChange:z=>Pt({name:z.target.value})}),ie&&Zn?l.jsx("span",{id:"cw-agent-name-error",role:"alert",className:"cw-error-text",children:Zn}):l.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),l.jsxs("div",{className:"cw-field",children:[l.jsxs("label",{className:"cw-label",children:[gn?"描述":"智能体描述",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${Li(bi)}`,"data-validation-field":"description",value:st.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…","aria-invalid":ie&&bi,"aria-describedby":ie&&bi?"cw-agent-description-error":void 0,onChange:z=>Pt({description:z.target.value})}),ie&&bi?l.jsx("span",{id:"cw-agent-description-error",role:"alert",className:"cw-error-text",children:"描述为必填项"}):l.jsx("span",{className:"cw-help",children:gn?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),ae?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),st.agentType==="loop"&&l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"最大轮次"}),l.jsx("input",{className:"cw-input",type:"number",min:1,value:st.maxIterations??3,onChange:z=>Pt({maxIterations:Math.max(1,Number(z.target.value)||1)})}),l.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):Be?l.jsxs("div",{className:"cw-field cw-remote-center-fields","data-validation-field":"a2a-registry",children:[l.jsxs("div",{className:"cw-remote-center-head",children:[l.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),l.jsx(Jbt,{value:((xn=st.a2aRegistry)==null?void 0:xn.registrySpaceId)??"",region:((Qn=st.a2aRegistry)==null?void 0:Qn.registryRegion)||lc.region,invalid:ie&&ri,onChange:z=>it(p0e,z)}),l.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":Ue,"aria-controls":ti,onClick:()=>Qe(z=>!z),children:[l.jsx("span",{children:"更多选项"}),l.jsx(Qb,{className:`cw-more-options-chevron ${Ue?"is-open":""}`,"aria-hidden":!0})]}),l.jsx(nh,{initial:!1,children:Ue&&l.jsx(Mr.div,{id:ti,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:l.jsx(py,{env:Xbt,values:m0e(st.a2aRegistry,{includeDefaults:!1}),onChange:it})})}),ie&&ri&&l.jsx("span",{className:"cw-error-text",role:"alert",children:"请选择 AgentKit 智能体中心"})]}):l.jsxs("div",{className:"cw-field","data-validation-field":"instruction",children:[l.jsxs("label",{className:"cw-label",children:["系统提示词",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:l.jsx(Bbt,{value:st.instruction,invalid:$n,onChange:z=>Pt({instruction:z})})}),ie&&$n?l.jsx("span",{className:"cw-error-text",role:"alert",children:"系统提示词为必填项"}):l.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!ae&&!Be&&l.jsxs(l.Fragment,{children:[l.jsx(yo,{meta:Ts("model"),children:l.jsxs("div",{className:"cw-form",children:[l.jsxs("div",{className:"cw-field cw-model-source-field",children:[l.jsx("label",{className:"cw-label",children:"模型来源"}),l.jsx(Rp,{className:"cw-model-source-options","aria-label":"模型来源",value:lt,onChange:z=>{z!=="gateway"&&Tt(z)},children:[{value:"ark",label:c==="byteplus"?"BytePlus ModelArk":"火山方舟"},{value:"custom",label:"自定义"},{value:"gateway",label:"模型网关",disabled:!0}].map(z=>l.jsx("div",{className:`cw-model-source-option ${lt===z.value?"is-on":""}${z.disabled?" is-disabled":""}`,children:l.jsxs(Rp.Item,{value:z.value,disabled:z.disabled,block:!0,className:"cw-model-source-control",children:[l.jsx("span",{children:z.label}),z.disabled&&l.jsx("span",{className:"cw-model-source-coming-soon",children:"待上线"})]})},z.value))})]}),lt==="ark"?l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"模型配置"}),l.jsx(Kbt,{value:st.modelName??"",cloudProvider:c,apiKeyId:(zs=g.deployment)==null?void 0:zs.modelApiKeyId,apiKeyName:(Ll=g.deployment)==null?void 0:Ll.modelApiKeyName,onApiKeyChange:z=>O(se=>({...se,deployment:{...se.deployment??{feishuEnabled:!1},modelApiKeyId:z.id,modelApiKeyName:z.name}})),onChange:z=>Pt({modelName:z})})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"模型名称"}),l.jsx("input",{className:"cw-input",value:st.modelName??"",onChange:z=>Pt({modelName:z.target.value})})]}),l.jsxs("div",{className:"cw-field",children:[l.jsxs("label",{className:"cw-label cw-label-with-link",children:[l.jsx("span",{children:"服务商 Provider"}),l.jsxs("a",{href:"https://docs.litellm.ai/docs/providers",target:"_blank",rel:"noopener noreferrer",onClick:z=>z.stopPropagation(),children:["LiteLLM 支持列表",l.jsx(K0,{"aria-hidden":"true"})]})]}),l.jsx("input",{className:"cw-input",value:st.modelProvider??"",placeholder:"openai",onChange:z=>Pt({modelProvider:z.target.value})})]}),l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"API Base"}),l.jsx("input",{className:"cw-input",value:st.modelApiBase??"",placeholder:hc(c),onChange:z=>Pt({modelApiBase:z.target.value})})]}),l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"API Key"}),l.jsx("input",{className:"cw-input",type:"password",value:ws?y[ws.key]??"":"",placeholder:"请输入模型 API Key",autoComplete:"new-password",onChange:z=>{if(!ws)return;const se=z.currentTarget.value;v(Te=>({...Te,[ws.key]:se}))}})]})]})]})}),l.jsx(yo,{meta:Ts("tools"),children:l.jsxs("div",{className:"cw-form",children:[l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"内置工具"}),l.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),l.jsx("div",{className:"cw-tools-list-shell",children:l.jsx(Hbt,{items:fn,selected:Xt,onToggle:xi,scrollRows:6})}),l.jsx(nh,{initial:!1,children:Xt.includes("run_code")&&l.jsxs(Mr.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:[l.jsxs("div",{className:"cw-tool-config-head",children:[l.jsx("span",{className:"cw-label",children:"代码执行配置"}),l.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),l.jsx(py,{env:((Hi=_m.find(z=>z.id==="run_code"))==null?void 0:Hi.env)??[],values:((Ua=g.deployment)==null?void 0:Ua.envValues)??{},onChange:wt})]})})]}),l.jsxs("div",{className:"cw-field cw-mcp-field",children:[l.jsx("label",{className:"cw-label",children:"MCP 工具"}),l.jsx(nOt,{tools:mi,onChange:z=>Pt({mcpTools:z})})]})]})}),l.jsx(yo,{meta:Ts("skills"),children:l.jsx("div",{className:"cw-form",children:l.jsx(rOt,{selected:gi,onChange:z=>Pt({selectedSkills:z}),cloudProvider:c})})}),l.jsx(yo,{meta:Ts("knowledge"),children:l.jsxs("div",{className:"cw-form cw-toggle-stack",children:[l.jsx(bE,{checked:st.knowledgebase,onChange:z=>Pt({knowledgebase:z}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:QE}),st.knowledgebase&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"知识库后端"}),l.jsx(TD,{options:UP,value:st.knowledgebaseBackend,onChange:z=>Pt({knowledgebaseBackend:z,knowledgebaseIndex:z==="viking"||z==="openviking"?st.knowledgebaseIndex:""})}),(st.knowledgebaseBackend??rh)==="viking"&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),l.jsx(eOt,{value:st.knowledgebaseIndex??"",onChange:z=>{Pt({knowledgebaseIndex:z.id}),z.projectName&&wt("DATABASE_VIKING_PROJECT",z.projectName),z.region&&wt("DATABASE_VIKING_REGION",z.region),z.sourceKind&&wt("DATABASE_VIKING_COLLECTION_KIND",z.sourceKind),wt("DATABASE_VIKING_RESOURCE_ID",z.resourceId??"")}})]}),l.jsx(py,{env:((tl=UP.find(z=>z.id===(st.knowledgebaseBackend??rh)))==null?void 0:tl.env)??[],values:((er=g.deployment)==null?void 0:er.envValues)??{},onChange:wt,renderAfterField:(st.knowledgebaseBackend??rh)==="openviking"?z=>z.key==="DATABASE_OPENVIKING_USER_ID"?l.jsx(Gbt,{value:st.knowledgebaseIndex??"",onChange:se=>Pt({knowledgebaseIndex:se})}):null:void 0})]})]})}),gn&&l.jsx(yo,{meta:Ts("memory"),children:l.jsxs("div",{className:"cw-form cw-toggle-stack",children:[l.jsx(bE,{checked:st.memory.shortTerm,onChange:z=>Pt({memory:{...st.memory,shortTerm:z}}),title:"短期记忆",desc:"存储单会话上下文",showDescription:!0,icon:Ote}),st.memory.shortTerm&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"短期记忆后端"}),l.jsx(TD,{options:BP,value:st.shortTermBackend,onChange:z=>Pt({shortTermBackend:z})}),l.jsx(py,{env:((za=BP.find(z=>z.id===(st.shortTermBackend??"local")))==null?void 0:za.env)??[],values:((wa=g.deployment)==null?void 0:wa.envValues)??{},onChange:wt})]}),l.jsx(bE,{checked:st.memory.longTerm,onChange:z=>Pt({memory:{...st.memory,longTerm:z}}),title:"长期记忆",desc:"存储跨会话上下文,通常使用向量化检索",showDescription:!0,icon:QE}),st.memory.longTerm&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"长期记忆后端"}),l.jsx(TD,{options:FP,value:st.longTermBackend,onChange:z=>Pt({longTermBackend:z,longTermMemoryIndex:z==="viking"?st.longTermMemoryIndex:""})}),(st.longTermBackend??"local")==="viking"&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"VikingDB 记忆库"}),l.jsx(tOt,{value:st.longTermMemoryIndex??"",onChange:z=>{Pt({longTermMemoryIndex:z.id}),wt("DATABASE_VIKINGMEM_PROJECT",z.projectName),wt("DATABASE_VIKING_REGION",z.region),wt("DATABASE_VIKINGMEM_MEMORY_TYPE",(z.memoryTypes??[]).join(","))}})]}),l.jsx(py,{env:((Au=FP.find(z=>z.id===(st.longTermBackend??"local")))==null?void 0:Au.env)??[],values:((sa=g.deployment)==null?void 0:sa.envValues)??{},onChange:wt}),l.jsx(bE,{checked:!!st.autoSaveSession,onChange:z=>Pt({autoSaveSession:z}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:QE})]})]})})]})]})})})})})]})}),U==="optimize"&&l.jsx(gOt,{profile:Oi,optimizations:vi,unavailableMessage:ci,onProfileChange:xr,onOptimizationChange:yr}),U==="validate"&&l.jsx("div",{className:"cw-validation-workspace",children:l.jsx("div",{className:"cw-validation-content",children:l.jsx(mOt,{enabled:Ee,disabledReason:Oe,variants:Le,draftSnapshot:yi,input:ue,onInput:be,onSend:Ba,onStartVariant:Jr,onUseVariant:z=>void Qa(z),onAddVariant:Xi,onRemoveVariant:Br,onToggleConfig:z=>{const se=Le.find(Te=>Te.id===z);se&&Es(z,{configOpen:!se.configOpen})},onCompleteConfig:ks,onConfigChange:cr,onOpenTrace:el})})}),U==="environment"&&l.jsx("div",{className:"cw-environment-workspace",children:l.jsx(Nbt,{cloudProvider:c,value:g.cloudEnvironment??{cliTools:[]},onChange:va,editorOpen:Re,onEditorOpenChange:Pe,disabled:ye})}),U==="publish"&&l.jsx("div",{className:"cw-preview-body",children:K?l.jsx(lC,{embedded:!0,cloudProvider:c,project:K,agentDraft:g,agentName:g.name||"未命名 Agent",agentCount:y0e(g),releaseConfiguration:ds?{modelName:ds.modelName||g.modelName||"默认模型",description:ds.description,instruction:ds.instruction,optimizations:[`优化场景:${ige(Oi)}`,...vi.map(Rx)]}:void 0,onChange:ee,onDeploy:vr,onAgentAdded:n,onDeploymentTaskChange:s,deploymentActionLabel:o?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:o==null?void 0:o.runtimeId,deploymentRuntimeName:w,deploymentRuntimeNameCustomized:!!o||!!((fs=g.deployment)!=null&&fs.runtimeNameCustomized),onDeploymentRuntimeNameChange:z=>O(se=>({...se,deployment:{...se.deployment??{feishuEnabled:!1},runtimeName:z,runtimeNameCustomized:!0}})),onDeploymentStarted:f,onDeploymentComplete:d,feishuEnabled:!!((hs=g.deployment)!=null&&hs.feishuEnabled),onFeishuEnabledChange:z=>{const se={...g,deployment:{...g.deployment??{feishuEnabled:!1},feishuEnabled:z}};O(se)},deploymentEnv:Bs.specs,requiredSecretEnv:si,requiredSecretEnvValues:y,onRequiredSecretEnvChange:(z,se)=>v(Te=>({...Te,[z]:se})),deploymentEnvValues:{...(ur=hn.deployment)==null?void 0:ur.envValues,...y,...Bs.fixedValues},onDeploymentEnvChange:wt,network:(wr=g.deployment)==null?void 0:wr.network,onNetworkChange:z=>O(se=>({...se,deployment:{...se.deployment??{feishuEnabled:!1},network:z}})),deployRegion:De,onDeployRegionChange:he,deploymentTelemetry:{source:"scratch",createMode:a,aiAssisted:P},onExportYaml:()=>Ubt(`${hn.name||"agent"}.yaml`,nbt(hn),"text/yaml")}):l.jsxs("div",{className:"cw-publish-loading",role:"status",children:[l.jsx(qn,{className:"cw-i cw-spin"}),l.jsx("strong",{children:"正在生成发布配置"}),l.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),l.jsx(yOt,{mode:U,busy:ye,onChange:Oo,assistant:U==="build"?le:void 0,accessory:U==="environment"?l.jsx(Cbt,{customized:((xo=g.cloudEnvironment)==null?void 0:xo.dockerfile)!==void 0,disabled:ye,onClick:()=>Pe(!0)}):void 0}),V&&l.jsx(f0e,{testRunId:V.runId,sessionId:V.sessionId,title:`调用链路 · ${V.variantName}`,onClose:()=>je(null)}),He&&l.jsx(cc,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:qt?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:qt,onCancel:Ss,onConfirm:()=>void xa()}),I&&l.jsx("div",{className:"confirm-scrim",onClick:()=>$(null),children:l.jsxs("div",{className:"confirm-box cw-ai-error-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"ai-generate-error-title","aria-describedby":"ai-generate-error-message",onClick:z=>z.stopPropagation(),children:[l.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),l.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:I}),l.jsx("div",{className:"confirm-actions",children:l.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>$(null),children:"关闭"})})]})})]})}const LG=50*1024*1024,aL=800,vOt={name:"code_package",files:[]};function wOt(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 S0e(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"");if(!t||t.endsWith("/"))return null;if(t.startsWith("/")||t.includes("\0"))throw new Error(`压缩包包含非法路径:${e}`);const n=t.split("/");if(n.some(i=>!i||i==="."||i===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function SOt(e){const t=e.flatMap(a=>{const o=S0e(a.name);return o?[{path:o,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>aL)throw new Error(`代码包文件数不能超过 ${aL} 个。`);const r=new Set(t.map(a=>a.path.split("/")[0])).size===1&&t.every(a=>a.path.includes("/"))?t.map(a=>({...a,path:a.path.split("/").slice(1).join("/")})):t,s=new Set;for(const a of r){if(s.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);s.add(a.path)}return EOt(r),r}function EOt(e){const t=new Set(e.map(r=>r.path)),n=e.find(r=>r.path==="agentkit.yaml");let i="app.py";if(n){let r;try{r=sJe(n.content)}catch(o){throw new Error(`agentkit.yaml 无法解析:${o instanceof Error?o.message:String(o)}`)}if(r!==null&&(typeof r!="object"||Array.isArray(r)))throw new Error("agentkit.yaml 根节点必须是对象。");const s=r&&typeof r=="object"&&!Array.isArray(r)?r.common:void 0;if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new Error("agentkit.yaml 的 common 必须是对象。");const a=s&&typeof s=="object"&&!Array.isArray(s)?s.entry_point:void 0;if(a!==void 0){if(typeof a!="string")throw new Error("agentkit.yaml 的 common.entry_point 必须是文件路径。");const o=S0e(a);if(!o)throw new Error("agentkit.yaml 的 common.entry_point 不是有效文件路径。");i=o}}if(!t.has(i))throw n&&i!=="app.py"?new Error(`代码包中不存在 agentkit.yaml 声明的启动入口:${i}`):new Error("代码包根目录必须包含 app.py,或在 agentkit.yaml 的 common.entry_point 中声明已有入口。");return i}function kOt({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,cloudProvider:s="volcengine",initialDeployRegion:a=Ri(s)}){const o=m.useRef(null),c=m.useRef(0),[u,d]=m.useState(null),[f,h]=m.useState(""),[p,b]=m.useState(!1),[g,O]=m.useState(!1),[y,v]=m.useState(!1),[x,w]=m.useState(""),[E,S]=m.useState(a),[k,T]=m.useState();m.useEffect(()=>()=>{c.current+=1},[]);async function C(B){const I=++c.current;if(w(""),!B.name.toLowerCase().endsWith(".zip")){w("请选择 .zip 格式的代码包。");return}if(B.size>LG){w("代码包不能超过 50 MB。");return}O(!0);try{const $=await o0e(new Uint8Array(await B.arrayBuffer()),{maxEntries:aL,maxUncompressedBytes:LG}),j=SOt($);if(I!==c.current)return;h(B.name),d({name:wOt(B.name),files:j})}catch($){if(I!==c.current)return;h(""),d(null),w($ instanceof Error?$.message:String($))}finally{I===c.current&&O(!1)}}function A(B){var $;const I=($=B.currentTarget.files)==null?void 0:$[0];B.currentTarget.value="",I&&C(I)}function R(B){var $;B.preventDefault(),v(!1);const I=($=B.dataTransfer.files)==null?void 0:$[0];I&&C(I)}async function P(B,I,$){const j=k&&k.mode!=="public"?{mode:k.mode,vpc_id:k.vpcId,subnet_ids:k.subnetIds,enable_shared_internet_access:k.enableSharedInternetAccess}:void 0;return zb(B.name,B.files,{region:E,projectName:"default",network:j},{...$,onStage:I})}return l.jsxs("div",{className:"package-create package-create-preview",children:[l.jsx(lC,{cloudProvider:s,project:u??vOt,agentName:(u==null?void 0:u.name)||"代码包",onChange:u?d:void 0,onDeploy:P,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,network:k,onNetworkChange:T,deployRegion:E,onDeployRegionChange:S,deploymentTelemetry:{source:"code_package",createMode:"code_package",aiAssisted:!1},onBack:e,backLabel:"返回创建方式",deployDisabled:!u||g,deployDisabledReason:g?"正在读取代码包":u?void 0:"请先上传代码包",deploymentPrimaryPane:l.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[l.jsx("div",{className:"package-source-label",children:"代码包"}),l.jsxs("div",{className:`package-dropzone${y?" is-dragging":""}${u?" is-ready":""}`,onDragEnter:B=>{B.preventDefault(),v(!0)},onDragOver:B=>B.preventDefault(),onDragLeave:B=>{B.currentTarget.contains(B.relatedTarget)||v(!1)},onDrop:R,onClick:()=>{var B;g||(B=o.current)==null||B.click()},onKeyDown:B=>{var I;!g&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),(I=o.current)==null||I.click())},role:"button",tabIndex:g?-1:0,"aria-label":u?"重新上传代码包":"上传代码包","aria-disabled":g,children:[l.jsx("strong",{children:g?"正在读取代码包…":u?f:"请上传代码包"}),l.jsx("span",{children:u?`已识别 ${u.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB;可使用 app.py,或由 agentkit.yaml 声明入口"}),l.jsx("div",{className:"package-upload-actions",children:u&&l.jsx("button",{type:"button",className:"package-upload-secondary",onClick:B=>{B.stopPropagation(),b(!0)},onKeyDown:B=>B.stopPropagation(),children:"查看文件"})}),l.jsx("input",{ref:o,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:A})]}),x&&l.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),u&&l.jsx(s6,{project:u,open:p,onClose:()=>b(!1),onChange:d})]})}const TOt="/web/agent-migrations",dC=39e4;class Ja extends Error{constructor(t,n,i="MIGRATION_ERROR",r=!1,s="",a=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.rawResponse=a,this.name="MigrationApiError"}}const _Ot=new Set(["langchain","langgraph","adk","strands","agentcore","dify","any"]),AOt=new Set(["awaiting_upload","analyzing","needs_input","analysis_ready","migrating","validating","packaging","succeeded","succeeded_with_warnings","partial","failed","cancelled","expired"]),COt=new Set(["reasoning","message","plan","command","status"]),NOt=new Set(["running","completed","failed"]),jOt=new Set(["pending","in_progress","completed","failed"]);function di(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function Dp(e,t){if(!Array.isArray(e)||!e.every(n=>typeof n=="string"))throw new Error(`${t}格式错误。`);return e}function Dx(e,t){if(typeof e!="string"||!_Ot.has(e))throw new Error(`${t}格式错误。`);return e}function ROt(e){const t=di(e,"迁移分析结果"),n=t.recommended===null?null:di(t.recommended,"迁移建议"),i=di(t.boundary,"迁移边界");if(t.schema_version!==1||!["needs_input","recommendation_ready","unsupported"].includes(String(t.status))||typeof t.attempt!="number"||typeof t.input_sha256!="string"||typeof t.summary!="string"||!Array.isArray(t.frameworks)||!Array.isArray(t.entries)||!Array.isArray(t.questions))throw new Error("迁移分析结果格式错误。");return{schema_version:1,status:t.status,attempt:t.attempt,input_sha256:t.input_sha256,summary:t.summary,frameworks:t.frameworks.map(r=>{const s=di(r,"框架候选");if(!["high","medium","low"].includes(String(s.confidence))||!Array.isArray(s.evidence))throw new Error("框架候选格式错误。");return{id:Dx(s.id,"框架候选"),confidence:s.confidence,evidence:s.evidence.map(a=>{const o=di(a,"分析证据");if(typeof o.path!="string"||typeof o.line!="number"||typeof o.reason!="string")throw new Error("分析证据格式错误。");return{path:o.path,line:o.line,reason:o.reason}})}}),recommended:n===null?null:{framework:Dx(n.framework,"推荐框架"),entry:n.entry===null||typeof n.entry=="string"?n.entry:null,reason:typeof n.reason=="string"?n.reason:""},entries:t.entries.map(r=>{const s=di(r,"入口候选");if(typeof s.value!="string"||typeof s.evidence!="string")throw new Error("入口候选格式错误。");return{value:s.value,framework:Dx(s.framework,"入口框架"),evidence:s.evidence}}),boundary:{include:Dp(i.include,"迁移包含范围"),exclude:Dp(i.exclude,"迁移排除范围")},assumptions:Dp(t.assumptions,"分析假设"),questions:t.questions.map(r=>{const s=di(r,"待确认问题");if(typeof s.id!="string"||typeof s.prompt!="string"||typeof s.required!="boolean")throw new Error("待确认问题格式错误。");return{id:s.id,prompt:s.prompt,required:s.required}}),warnings:Dp(t.warnings,"迁移警告")}}function Mm(e){const t=di(e,"迁移会话"),n=di(t.artifact,"迁移产物状态");if(typeof t.id!="string"||typeof t.state!="string"||!AOt.has(t.state)||typeof t.message!="string"||typeof t.sourceFileName!="string"||typeof t.instruction!="string"||typeof t.createdAt!="string"&&typeof t.createdAt!="number"||typeof t.expiresAt!="string"||typeof t.sessionTtlSeconds!="number"||typeof t.canModify!="boolean"||typeof t.canUpload!="boolean"||typeof t.canAnswer!="boolean"||typeof t.canConfirm!="boolean"||typeof t.canStop!="boolean")throw new Error("迁移会话格式错误。");const i={id:t.id,state:t.state,message:t.message,sourceFileName:t.sourceFileName,instruction:t.instruction,createdAt:t.createdAt,expiresAt:t.expiresAt,sessionTtlSeconds:t.sessionTtlSeconds,canModify:t.canModify,canUpload:t.canUpload,canAnswer:t.canAnswer,canConfirm:t.canConfirm,canStop:t.canStop,artifact:{state:typeof n.state=="string"?n.state:"none",previewReady:n.previewReady===!0,downloadReady:n.downloadReady===!0,deployReady:n.deployReady===!0}};if(t.analysis!==void 0&&(i.analysis=ROt(t.analysis)),t.analysisRef!==void 0){const r=di(t.analysisRef,"分析结果引用");if(typeof r.attempt!="number"||typeof r.sha256!="string"||typeof r.inputSha256!="string")throw new Error("分析结果引用格式错误。");i.analysisRef={attempt:r.attempt,sha256:r.sha256,inputSha256:r.inputSha256}}if(t.confirmation!==void 0){const r=di(t.confirmation,"迁移确认");i.confirmation={...r.framework!==void 0?{framework:Dx(r.framework,"确认框架")}:{},...r.entry===null||typeof r.entry=="string"?{entry:r.entry}:{},...typeof r.app_name=="string"?{app_name:r.app_name}:{}}}if(t.error!==void 0){const r=di(t.error,"迁移错误");i.error={code:typeof r.code=="string"?r.code:"MIGRATION_ERROR",message:typeof r.message=="string"?r.message:t.message,retryable:r.retryable===!0}}return i}function DOt(e){const t=di(e,"迁移执行动态");if(typeof t.available!="boolean"||typeof t.complete!="boolean"||!Array.isArray(t.items))throw new Error("迁移执行动态格式错误。");return{available:t.available,complete:t.complete,items:t.items.map(n=>{const i=di(n,"迁移执行动态项");if(typeof i.id!="string"||typeof i.kind!="string"||!COt.has(i.kind)||typeof i.status!="string"||!NOt.has(i.status)||typeof i.title!="string"||i.detail!==void 0&&typeof i.detail!="string")throw new Error("迁移执行动态项格式错误。");let r;if(i.tool!==void 0){const a=di(i.tool,"迁移执行工具项");if(typeof a.name!="string"||a.error!==void 0&&typeof a.error!="string"||a.exitCode!==void 0&&!Number.isInteger(a.exitCode))throw new Error("迁移执行工具项格式错误。");r={name:a.name,...Object.prototype.hasOwnProperty.call(a,"input")?{input:a.input}:{},...Object.prototype.hasOwnProperty.call(a,"output")?{output:a.output}:{},...typeof a.error=="string"?{error:a.error}:{},...typeof a.exitCode=="number"?{exitCode:a.exitCode}:{}}}let s;if(i.plan!==void 0){if(!Array.isArray(i.plan))throw new Error("迁移执行计划格式错误。");s=i.plan.map(a=>{const o=di(a,"迁移执行计划项");if(typeof o.text!="string"||typeof o.status!="string"||!jOt.has(o.status))throw new Error("迁移执行计划项格式错误。");return{text:o.text,status:o.status}})}return{id:i.id,kind:i.kind,status:i.status,title:i.title,...typeof i.detail=="string"?{detail:i.detail}:{},...r?{tool:r}:{},...s?{plan:s}:{}}})}}function IOt(e){const t=di(e,"迁移产物"),n=di(t.cli,"CLI 信息"),i=di(t.migration,"迁移信息"),r=di(t.startup,"启动信息"),s=di(t.environment,"环境变量信息"),a=di(t.verification,"校验信息"),o=di(t.report,"迁移报告"),c=di(t.artifact,"产物归档"),u=s.defaults===void 0?{}:di(s.defaults,"环境变量默认值");if(t.schema_version!==1||!["succeeded","succeeded_with_warnings","partial"].includes(String(t.status))||typeof n.name!="string"||typeof n.version!="string"||!["structured","agentic"].includes(String(i.engine))||typeof i.framework!="string"||!Array.isArray(t.files)||typeof r.module!="string"||typeof r.object!="string"||!["passed","failed","degraded"].includes(String(a.status))||!Array.isArray(a.checks)||typeof o.path!="string"||c.path!=="migration-result.zip"||typeof c.size!="number"||typeof c.sha256!="string"||typeof t.created_at!="string")throw new Error("迁移产物格式错误。");const d=Dp(s.required,"必需环境变量"),f=Dp(s.optional,"可选环境变量"),h=new Set([...d,...f]),p=Object.fromEntries(Object.entries(u).map(([b,g])=>{if(!h.has(b)||typeof g!="string")throw new Error("环境变量默认值格式错误。");return[b,g]}));return{schema_version:1,...typeof t.run_id=="string"?{run_id:t.run_id}:{},cli:{name:n.name,version:n.version},migration:{engine:i.engine,framework:i.framework,...typeof i.entry=="string"?{entry:i.entry}:{},...typeof i.source_sha256=="string"?{source_sha256:i.source_sha256}:{},...typeof i.provenance_sha256=="string"?{provenance_sha256:i.provenance_sha256}:{}},status:t.status,files:t.files.map(b=>{const g=di(b,"迁移产物文件");if(typeof g.path!="string"||typeof g.size!="number"||typeof g.sha256!="string"||typeof g.mode!="string")throw new Error("迁移产物文件格式错误。");return{path:g.path,size:g.size,sha256:g.sha256,mode:g.mode}}),startup:{module:r.module,object:r.object,...Array.isArray(r.command)&&r.command.every(b=>typeof b=="string")?{command:r.command}:{}},environment:{required:d,optional:f,defaults:p},verification:{status:a.status,checks:a.checks.map(b=>{const g=di(b,"迁移校验项");if(typeof g.name!="string"||!["passed","failed"].includes(String(g.status)))throw new Error("迁移校验项格式错误。");return{name:g.name,status:g.status,...typeof g.detail=="string"?{detail:g.detail}:{}}})},warnings:Dp(t.warnings,"迁移产物警告"),report:{path:o.path},artifact:{path:"migration-result.zip",size:c.size,sha256:c.sha256},created_at:t.created_at}}async function Pl(e,t={},n=mo){return fetch(lo(`${TOt}${e}`),{...t,headers:Ph(t.headers),signal:go(t.signal,n)})}function POt(e){return Array.isArray(e)?e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return"";const n=t,i=Array.isArray(n.loc)?n.loc.filter(s=>typeof s=="string"||typeof s=="number").join("."):"",r=typeof n.msg=="string"?n.msg:"";return r?i?`${i}: ${r}`:r:""}).filter(Boolean).join(";"):""}async function KQ(e,t){var i;const n=await e.text().catch(()=>"");try{const r=di(JSON.parse(n),"错误响应");if(Array.isArray(r.detail)){const a=POt(r.detail);return new Ja(a?`请求参数校验失败:${a}`:t,e.status,"MIGRATION_REQUEST_INVALID",!1,e.statusText,n)}if(typeof r.detail=="string")return new Ja(r.detail,e.status,typeof r.code=="string"?r.code:"MIGRATION_ERROR",r.retryable===!0,e.statusText,n);const s=r.detail&&typeof r.detail=="object"?di(r.detail,"错误详情"):r;return new Ja(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"MIGRATION_ERROR",s.retryable===!0,e.statusText,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new Ja(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"MIGRATION_ERROR",!1,e.statusText,n)}}async function _u(e,t){if(!e.ok)throw await KQ(e,t);if(!(e.headers.get("content-type")??"").includes("application/json"))throw new Ja(`${t}:服务端返回非 JSON 响应(HTTP ${e.status})。请检查代理或网关配置。`,e.status,"MIGRATION_RESPONSE_INVALID",!1,e.statusText);return e.json()}async function MOt(e){const t=di(await _u(await Pl("/capabilities",{signal:e}),"读取迁移能力失败"),"迁移能力");if(typeof t.enabled!="boolean"||typeof t.reason!="string"||typeof t.maxUploadBytes!="number"||typeof t.sessionTtlSeconds!="number"||!Array.isArray(t.frameworks))throw new Error("迁移能力格式错误。");return{enabled:t.enabled,reason:t.reason,maxUploadBytes:t.maxUploadBytes,sessionTtlSeconds:t.sessionTtlSeconds,frameworks:t.frameworks.map(n=>Dx(n,"迁移框架"))}}async function jD(e){const t=di(await _u(await Pl("/tasks",{signal:e}),"读取迁移会话失败"),"迁移会话列表");if(!Array.isArray(t.items))throw new Error("迁移会话列表格式错误。");return t.items.map(Mm)}async function LOt(e){return Mm(await _u(await Pl("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e.taskId,sourceFileName:e.sourceFileName,instruction:e.instruction}),signal:e.signal},dC),"创建迁移会话失败"))}async function $G(e,t,n){return Mm(await _u(await Pl(`/tasks/${encodeURIComponent(e)}/source`,{method:"PUT",headers:{"Content-Type":"application/zip"},body:t,signal:n},dC),"上传迁移项目失败"))}async function RD(e,t){return Mm(await _u(await Pl(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取迁移会话失败"))}async function $Ot(e,t){return DOt(await _u(await Pl(`/tasks/${encodeURIComponent(e)}/activity`,{signal:t,cache:"no-store"}),"读取迁移执行动态失败"))}async function QOt(e){return Mm(await _u(await Pl(`/tasks/${encodeURIComponent(e.taskId)}/confirm`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({framework:e.framework,entry:e.entry||null,appName:e.appName,instruction:e.instruction,analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,boundaryConfirmed:!0}),signal:e.signal},dC),"启动迁移失败"))}async function BOt(e){return Mm(await _u(await Pl(`/tasks/${encodeURIComponent(e.taskId)}/answers`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,answers:e.answers}),signal:e.signal},dC),"提交分析补充信息失败"))}async function FOt(e,t){return Mm(await _u(await Pl(`/tasks/${encodeURIComponent(e)}/stop`,{method:"POST",signal:t}),"终止迁移失败"))}async function UOt(e,t){return IOt(await _u(await Pl(`/tasks/${encodeURIComponent(e)}/artifact`,{signal:t}),"读取迁移产物失败"))}async function zOt(e,t,n){var s;const i=new URLSearchParams({path:t}),r=await Pl(`/tasks/${encodeURIComponent(e)}/artifact/file?${i}`,{signal:n},gr);if(!r.ok)throw await KQ(r,"读取迁移产物文件失败");return{blob:await r.blob(),mimeType:((s=r.headers.get("content-type"))==null?void 0:s.split(";",1)[0])||"application/octet-stream"}}function VOt(e,t){var i;return((i=(e.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:i[1])||t}async function qOt(e,t,n){const i=await Pl(`/tasks/${encodeURIComponent(e)}/download`,{signal:n},gr);if(!i.ok)throw await KQ(i,"下载迁移产物失败");const r=URL.createObjectURL(await i.blob()),s=document.createElement("a");s.href=r,s.download=VOt(i,`${t}-migrated.zip`),s.click(),window.setTimeout(()=>URL.revokeObjectURL(r),1e3)}function Lm({children:e,...t}){return l.jsx("svg",{...t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.65",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:e})}function XOt(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"m10 6-6 6 6 6M4 12h16"})})}function HOt(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"M12 3v12m-4-4 4 4 4-4M5 20h14"})})}function Tk(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"M6 3.5h8l4 4V20H6zM14 3.5v4h4M9 12h6M9 15.5h6"})})}function YOt(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"M12 5v14M5 12h14"})})}function GOt(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"M14.5 4.5c2.3-.9 4.2-.8 5-.6.2.8.3 2.7-.6 5l-5.1 5.1-3.8-3.8zM15.4 8.6h.1M10.3 10.5l-3.8.7-2.1 2.1 5.3.2M13.5 13.7l-.7 3.8-2.1 2.1-.2-5.3M7.2 16.8l-2.8 2.8"})})}function WOt(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"M12 16V4m-4 4 4-4 4 4M5 20h14"})})}function QG(e){return l.jsx(Lm,{...e,children:l.jsx("path",{d:"m6 6 12 12M18 6 6 18"})})}const ZOt=new Set(["MODEL_AGENT_API_KEY"]),KOt=new Set(["MODEL_AGENT_NAME","MODEL_NAME"]),JOt=new Set(["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY","VOLCENGINE_SESSION_TOKEN","BYTEPLUS_ACCESS_KEY","BYTEPLUS_SECRET_KEY","BYTEPLUS_SESSION_TOKEN","VEADK_DISABLE_EXPIRE_AT"]);function _k(e){return!JOt.has(e)}function oL(e){return ZOt.has(e)||/(?:API_KEY|ACCESS_KEY|SECRET_KEY|PRIVATE_KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|CREDENTIAL)$/.test(e)}function eyt(e,t){const n={},i=new Set([...e.environment.required,...e.environment.optional]);for(const r of i){if(!_k(r)||oL(r))continue;const s=r==="MODEL_AGENT_API_BASE"?hc(t):KOt.has(r)?nm(t):e.environment.defaults[r];s!=null&&s.trim()&&(n[r]=s)}return n}function tyt(e){return e.flatMap(t=>{if(t.kind==="reasoning"&&t.detail)return[{kind:"thinking",text:t.detail,done:t.status!=="running"}];if(t.kind==="message"&&t.detail)return[{kind:"text",text:t.detail}];if(t.kind==="plan")return[{kind:"plan",title:t.title,summary:t.detail,items:t.plan??[],done:t.status!=="running"}];if(t.kind==="command"){const n=t.tool,i=n!=null&&n.error||typeof(n==null?void 0:n.exitCode)=="number"?{...n.output!==void 0?{output:n.output}:{},...n.error?{error:n.error}:{},...typeof n.exitCode=="number"?{exitCode:n.exitCode}:{}}:n==null?void 0:n.output;return[{kind:"tool",name:(n==null?void 0:n.name)??t.title,args:n==null?void 0:n.input,response:i,done:t.status!=="running",status:t.status}]}return t.kind==="status"&&t.status!=="completed"?[{kind:"tool",name:t.title,response:t.detail,done:t.status!=="running",status:t.status}]:[]})}const nyt=50*1024*1024,DD=1200,BG=3e3,iyt=5e3,FG=500,ryt=()=>{},E0e={langchain:"LangChain",langgraph:"LangGraph",adk:"Google ADK",strands:"Strands",agentcore:"AgentCore",dify:"Dify",any:"Any(通用迁移)"},ID=new Set(["langchain","langgraph","adk","strands","agentcore"]);function syt(e){switch(e){case"awaiting_upload":return"待上传";case"analyzing":return"分析中";case"needs_input":return"待补充";case"analysis_ready":return"待确认";case"migrating":return"迁移中";case"validating":return"校验中";case"packaging":return"打包中";case"succeeded":return"已完成";case"succeeded_with_warnings":return"已完成,有提示";case"partial":return"部分完成";case"failed":return"失败";case"cancelled":return"已终止";case"expired":return"已过期"}}function PD(e){return e.state==="partial"&&e.artifact.previewReady?"迁移产物已生成,但交付不完整,请查看迁移提示。":["succeeded","succeeded_with_warnings"].includes(e.state)&&e.artifact.previewReady?e.state==="succeeded_with_warnings"?"迁移产物已生成,请查看迁移提示。":"迁移产物已生成。":e.message}function ayt(e){switch(e){case"passed":return"产物校验通过";case"failed":return"产物校验未通过";case"degraded":return"产物校验未完成"}}function MD({stage:e}){const t=[{id:"session",label:"创建迁移环境"},{id:"upload",label:"上传项目"},{id:"analysis",label:"分析项目"}],n=t.findIndex(i=>i.id===e);return l.jsx("div",{className:"migration-transfer-progress",role:"status",children:t.map((i,r)=>l.jsxs("div",{className:r=n)return{title:"迁移环境已过期",detail:"会话和产物已无法访问"};const i=Math.max(0,n-t),r=Math.floor(i/6e4),s=Math.floor(i%6e4/1e3);return{title:`迁移环境将在 ${r} 分 ${s} 秒后过期`,detail:"过期后无法查看会话,也无法预览、下载或部署产物"}}function fyt(e,t){let n=!1;const i=e.map(r=>{if(r.state==="expired")return r;const s=new Date(r.expiresAt).getTime();return!Number.isFinite(s)||ti.id!==t.id);return[t,...n].sort((i,r)=>{const s=typeof i.createdAt=="number"?i.createdAt*1e3:new Date(i.createdAt).getTime();return(typeof r.createdAt=="number"?r.createdAt*1e3:new Date(r.createdAt).getTime())-s})}function hyt(e,t){return e.find(n=>n.id===t)??null}function pyt(e,t){return e.startsWith("text/")||/(?:json|javascript|xml|yaml)/i.test(e)||/\.(?:py|ts|tsx|js|jsx|json|ya?ml|md|txt|toml|ini|cfg|env|sh|dockerfile)$/i.test(t)}function myt({analysis:e}){var t;return l.jsxs("div",{className:"migration-analysis",children:[l.jsx(pu,{text:e.summary,allowRawHtml:!1}),l.jsxs("div",{className:"migration-analysis__facts",children:[e.recommended?l.jsxs("section",{children:[l.jsx("h3",{children:"建议迁移方式"}),l.jsx("strong",{children:E0e[e.recommended.framework]}),l.jsx("p",{children:e.recommended.reason})]}):null,l.jsxs("section",{children:[l.jsx("h3",{children:"迁移范围"}),l.jsx("ul",{children:e.boundary.include.map(n=>l.jsx("li",{children:n},n))})]}),e.boundary.exclude.length>0?l.jsxs("section",{children:[l.jsx("h3",{children:"不在本次范围"}),l.jsx("ul",{children:e.boundary.exclude.map(n=>l.jsx("li",{children:n},n))})]}):null]}),(t=e.frameworks[0])!=null&&t.evidence.length?l.jsxs("details",{className:"migration-analysis__evidence",children:[l.jsx("summary",{children:"查看分析证据"}),l.jsx("ul",{children:e.frameworks.flatMap(n=>n.evidence.map(i=>l.jsxs("li",{children:[l.jsxs("code",{children:[i.path,":",i.line]}),l.jsx("span",{children:i.reason})]},`${n.id}:${i.path}:${i.line}`)))})]}):null,e.warnings.length>0?l.jsx("div",{className:"migration-analysis__warnings",children:e.warnings.map(n=>l.jsx("p",{children:n},n))}):null,e.assumptions.length>0?l.jsxs("details",{className:"migration-analysis__evidence",children:[l.jsx("summary",{children:"查看关键假设"}),l.jsx("ul",{children:e.assumptions.map(n=>l.jsx("li",{children:n},n))})]}):null]})}function gyt({activity:e,loading:t,error:n,analyzing:i}){const r=(e==null?void 0:e.items)??[],s=tyt(r);return l.jsxs("section",{className:"migration-activity","aria-label":"Codex 执行动态",children:[l.jsxs("div",{className:"migration-activity__heading",children:[l.jsx("span",{className:`migration-activity__marker${e!=null&&e.complete?" is-complete":""}`,"aria-hidden":"true"}),l.jsx("strong",{children:"Codex 执行动态"})]}),s.length>0?l.jsx("div",{className:"migration-activity__stream",children:l.jsx(k2,{blocks:s,onAction:ryt})}):t||!(e!=null&&e.complete)?l.jsx(Ln,{children:i?"Codex 正在开始分析…":"Codex 正在开始迁移…"}):null,n?l.jsx("p",{className:"migration-activity__error",role:"status",children:n}):null]})}function byt({task:e,artifact:t}){var d;const[n,i]=m.useState(""),[r,s]=m.useState(((d=t.files[0])==null?void 0:d.path)??""),[a,o]=m.useState(null),c=t.files.find(f=>f.path===r)??t.files[0],u=m.useMemo(()=>{const f=n.trim().toLocaleLowerCase();return(f?t.files.filter(p=>p.path.toLocaleLowerCase().includes(f)):t.files).slice(0,FG)},[t.files,n]);return m.useEffect(()=>{if(!c)return;if(c.size>2*1024*1024){o({path:c.path,loading:!1,error:"该文件超过 2 MiB,请下载完整产物后查看。"});return}const f=new AbortController;let h="";return o({path:c.path,loading:!0}),zOt(e.id,c.path,f.signal).then(async({blob:p,mimeType:b})=>{if(!f.signal.aborted){if(b.startsWith("image/")){h=URL.createObjectURL(p),o({path:c.path,loading:!1,imageUrl:h});return}if(pyt(b,c.path)){const g=await p.text();if(f.signal.aborted)return;o({path:c.path,loading:!1,text:g});return}o({path:c.path,loading:!1,error:"该文件不支持在线预览,请下载完整产物后查看。"})}}).catch(p=>{f.signal.aborted||o({path:c.path,loading:!1,error:p instanceof Error?p.message:String(p)})}),()=>{f.abort(),h&&URL.revokeObjectURL(h)}},[c,e.id]),l.jsxs("div",{className:"migration-artifact-browser",children:[l.jsxs("aside",{"aria-label":"迁移产物文件",children:[l.jsxs("label",{className:"migration-artifact-browser__search",children:[l.jsx("span",{className:"sr-only",children:"搜索产物文件"}),l.jsx("input",{value:n,onChange:f=>i(f.currentTarget.value),placeholder:"搜索文件"})]}),l.jsx("div",{className:"migration-artifact-browser__files",children:u.map(f=>l.jsxs("button",{type:"button",className:f.path===(c==null?void 0:c.path)?"is-active":"",onClick:()=>s(f.path),title:f.path,children:[l.jsx(Tk,{}),l.jsx("span",{children:f.path}),l.jsx("small",{children:lL(f.size)})]},f.path))}),t.files.length>u.length?l.jsxs("p",{className:"migration-artifact-browser__limit",children:["仅展示前 ",FG," 项,请搜索具体文件。"]}):null]}),l.jsxs("section",{children:[l.jsxs("header",{children:[l.jsx("span",{title:c==null?void 0:c.path,children:(c==null?void 0:c.path)||"未选择文件"}),c?l.jsx("small",{children:lL(c.size)}):null]}),l.jsx("div",{className:"migration-artifact-browser__preview",children:c?(a==null?void 0:a.path)!==c.path||a.loading?l.jsx(Ln,{children:"正在读取产物文件…"}):a.error?l.jsx("p",{role:"status",children:a.error}):a.imageUrl?l.jsx("img",{src:a.imageUrl,alt:c.path}):l.jsx(AQ,{value:a.text??"",path:c.path,readOnly:!0,onChange:()=>{}}):l.jsx("p",{children:"暂无可预览文件。"})})]})]})}function Oyt({cloudProvider:e,onBack:t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,initialDeployRegion:a=Ri(e)}){var ft,kt,Xt,fn,Cn,mi,gi,xi;const o=m.useRef(null),c=m.useRef(""),u=m.useRef(null),[d,f]=m.useState(null),[h,p]=m.useState([]),[b,g]=m.useState(""),[O,y]=m.useState(null),[v,x]=m.useState(!1),[w,E]=m.useState(!0),[S,k]=m.useState(""),[T,C]=m.useState(""),[A,R]=m.useState(""),[P,B]=m.useState(!1),[I,$]=m.useState(Date.now()),[j,D]=m.useState(null),[F,Q]=m.useState("langchain"),[M,G]=m.useState(""),[H,U]=m.useState(""),[q,ie]=m.useState({}),[fe,me]=m.useState(null),[ce,K]=m.useState(""),[ee,ye]=m.useState(!1),[ve,Re]=m.useState(0),[Pe,De]=m.useState(null),[he,Ee]=m.useState(!1),[Oe,Le]=m.useState(""),[Fe,_e]=m.useState(!1),[Ye,dt]=m.useState(!1),[It,Ge]=m.useState(a),[Z,ne]=m.useState(),[ue,be]=m.useState({}),V=hyt(h,b),je=j?Math.max(0,Math.floor((I-j)/1e3)):0,He=Pe==null?void 0:Pe.items[Pe.items.length-1],et=[(Pe==null?void 0:Pe.items.length)??0,(He==null?void 0:He.id)??"",(He==null?void 0:He.status)??"",((ft=He==null?void 0:He.detail)==null?void 0:ft.length)??0].join(":"),{ref:qt,onScroll:Ft}=hue(`${(V==null?void 0:V.id)??"new"}:${(V==null?void 0:V.state)??"new"}:${et}`);async function At(ae,Be=!0,lt){try{const Tt=await RD(ae,lt);return lt!=null&<.aborted?null:(p(ln=>Vu(ln,Tt)),R(""),B(!1),Tt)}catch(Tt){return lt!=null&<.aborted||Be&&(R(Tt instanceof Error?Tt.message:String(Tt)),B(Tt instanceof Ja&&Tt.retryable)),null}}async function xt(ae){try{const Be=await jD(ae);if(ae!=null&&ae.aborted)return;p(Be),R(""),B(!1)}catch(Be){if(ae!=null&&ae.aborted)return;R(Be instanceof Error?Be.message:String(Be)),B(Be instanceof Ja&&Be.retryable)}}m.useEffect(()=>{const ae=new AbortController;return E(!0),C(""),Promise.all([MOt(ae.signal),jD(ae.signal)]).then(([Be,lt])=>{ae.signal.aborted||(f(Be),p(lt))}).catch(Be=>{ae.signal.aborted||C(Be instanceof Error?Be.message:String(Be))}).finally(()=>{ae.signal.aborted||E(!1)}),()=>ae.abort()},[]),m.useEffect(()=>()=>{var ae;(ae=u.current)==null||ae.abort(),u.current=null},[]),m.useEffect(()=>{const ae=window.setInterval(()=>{const Be=Date.now();$(Be),p(lt=>fyt(lt,Be))},1e3);return()=>window.clearInterval(ae)},[]),m.useEffect(()=>{if(!h.some(lt=>ip(lt.state)))return;const ae=new AbortController,Be=window.setInterval(()=>{jD(ae.signal).then(lt=>{ae.signal.aborted||p(lt),R(""),B(!1)}).catch(lt=>{ae.signal.aborted||(R(lt instanceof Error?lt.message:String(lt)),B(lt instanceof Ja&<.retryable),lt instanceof Ja&<.retryable||window.clearInterval(Be))})},iyt);return()=>{ae.abort(),window.clearInterval(Be)}},[h.some(ae=>ip(ae.state))]),m.useEffect(()=>{if(!V||!ip(V.state))return;const ae=new AbortController;let Be;const lt=async()=>{try{const Tt=await RD(V.id,ae.signal);if(ae.signal.aborted)return;p(ln=>Vu(ln,Tt)),R(""),B(!1),ip(Tt.state)&&(Be=window.setTimeout(()=>void lt(),DD))}catch(Tt){if(ae.signal.aborted)return;R(Tt instanceof Error?Tt.message:String(Tt)),B(Tt instanceof Ja&&Tt.retryable),Tt instanceof Ja&&Tt.retryable&&(Be=window.setTimeout(()=>void lt(),DD))}};return Be=window.setTimeout(()=>void lt(),DD),()=>{ae.abort(),Be!==void 0&&window.clearTimeout(Be)}},[V==null?void 0:V.id,V==null?void 0:V.state]),m.useEffect(()=>{const ae=qt.current;ae&&(ae.scrollTop=ae.scrollHeight,Ft())},[b,qt,Ft]),m.useEffect(()=>{if(De(null),Le(""),Ee(!1),!V||!UG(V))return;const ae=new AbortController;let Be;const lt=async()=>{Ee(!0);try{const Tt=await $Ot(V.id,ae.signal);if(ae.signal.aborted)return;De(Tt),Le(""),!Tt.complete&&ip(V.state)&&(Be=window.setTimeout(()=>void lt(),BG))}catch(Tt){if(ae.signal.aborted)return;Le("暂时无法读取 Codex 执行动态,不影响当前任务。"),ip(V.state)&&Tt instanceof Ja&&Tt.retryable&&(Be=window.setTimeout(()=>void lt(),BG))}finally{ae.signal.aborted||Ee(!1)}};return lt(),()=>{ae.abort(),Be!==void 0&&window.clearTimeout(Be)}},[V==null?void 0:V.id,V==null?void 0:V.state,(kt=V==null?void 0:V.analysisRef)==null?void 0:kt.sha256,(Xt=V==null?void 0:V.confirmation)==null?void 0:Xt.framework]),m.useEffect(()=>{if(!(V!=null&&V.analysis)||!V.analysisRef||!["needs_input","analysis_ready"].includes(V.state))return;const ae=`${V.id}:${V.analysisRef.attempt}:${V.analysisRef.sha256}`;if(c.current===ae||(c.current=ae,ie({}),V.state!=="analysis_ready"))return;const Be=V.analysis.recommended;Be&&(Q(Be.framework),G(Be.entry||""),U(zG(V.sourceFileName)))},[V]),m.useEffect(()=>{if(me(null),K(""),ye(!1),dt(!1),be({}),!(V!=null&&V.artifact.previewReady))return;const ae=new AbortController;return UOt(V.id,ae.signal).then(Be=>{ae.signal.aborted||me(Be)}).catch(Be=>{ae.signal.aborted||(K(Be instanceof Error?Be.message:String(Be)),ye(Be instanceof Ja&&Be.retryable))}),()=>ae.abort()},[V==null?void 0:V.id,V==null?void 0:V.artifact.previewReady,ve]),m.useEffect(()=>{if(!fe)return;const ae=eyt(fe,e);be(Be=>{var Tt;const lt={...Be};for(const[ln,Zn]of Object.entries(ae))(Tt=lt[ln])!=null&&Tt.trim()||(lt[ln]=Zn);return lt})},[fe,e]);function xe(ae){if(!u.current&&(C(""),!!ae)){if(!ae.name.toLowerCase().endsWith(".zip")){y(null),C("请选择 .zip 格式的本地项目文件。");return}if(ae.name.length>255||/[/\\\u0000-\u001f]/.test(ae.name)){y(null),C("ZIP 文件名无效,请重命名后重新选择。");return}if(ae.size>nyt){y(null),C("项目 ZIP 不能超过 50 MiB。");return}if(ae.size===0){y(null),C("项目 ZIP 不能为空。");return}y(ae)}}function Ue(ae){var lt;const Be=(lt=ae.currentTarget.files)==null?void 0:lt[0];ae.currentTarget.value="",xe(Be)}async function Qe(){if(!O||S||u.current)return;const ae=new AbortController;u.current=ae;const Be=()=>u.current===ae&&!ae.signal.aborted,lt=`migration-v1-${crypto.randomUUID().replace(/-/g,"")}`;k("create"),D(Date.now()),C("");try{const Tt=await LOt({taskId:lt,sourceFileName:O.name,instruction:"",signal:ae.signal});if(!Be())return;p(Zn=>Vu(Zn,Tt)),g(Tt.id),k("upload"),D(null);const ln=await $G(Tt.id,O,ae.signal);if(!Be())return;p(Zn=>Vu(Zn,ln)),y(null)}catch(Tt){if(!Be())return;const ln=await At(lt,!1,ae.signal);if(!Be())return;if(ln){if(g(ln.id),ln.state!=="awaiting_upload"){y(null);return}}else if(await xt(ae.signal),!Be())return;C(Tt instanceof Error?Tt.message:String(Tt))}finally{u.current===ae&&(u.current=null,D(null),k(""))}}async function Ot(){if(!(V!=null&&V.canUpload)||!O||S||u.current)return;const ae=new AbortController;u.current=ae;const Be=()=>u.current===ae&&!ae.signal.aborted;k("upload"),C("");try{const lt=await $G(V.id,O,ae.signal);if(!Be())return;p(Tt=>Vu(Tt,lt)),y(null)}catch(lt){if(!Be())return;const Tt=await At(V.id,!0,ae.signal);if(!Be())return;if(Tt&&Tt.state!=="awaiting_upload"){y(null);return}C(lt instanceof Error?lt.message:String(lt))}finally{u.current===ae&&(u.current=null,k(""))}}const Et=m.useMemo(()=>{var ae;return(((ae=V==null?void 0:V.analysis)==null?void 0:ae.entries)??[]).filter(Be=>Be.framework===F).map(Be=>({value:Be.value,label:Be.value,description:Be.evidence}))},[F,(fn=V==null?void 0:V.analysis)==null?void 0:fn.entries]),Rt=(((Cn=V==null?void 0:V.analysis)==null?void 0:Cn.questions)??[]).every(ae=>{var Be;return!ae.required||!!((Be=q[ae.id])!=null&&Be.trim())}),Ce=lyt(H),We=!!(V!=null&&V.canConfirm&&V.analysisRef&&!S&&!Ce&&(!ID.has(F)||M.trim())),mt=!!(V!=null&&V.canAnswer&&V.analysisRef&&!S&&Rt);async function tn(){if(!(!(V!=null&&V.analysisRef)||!mt)){k("answer"),C("");try{const ae=await BOt({taskId:V.id,analysisAttempt:V.analysisRef.attempt,analysisSha256:V.analysisRef.sha256,inputSha256:V.analysisRef.inputSha256,answers:q});p(Be=>Vu(Be,ae))}catch(ae){const Be=await At(V.id);if(Be&&Be.state!=="needs_input")return;C(ae instanceof Error?ae.message:String(ae))}finally{k("")}}}async function st(){if(!(!(V!=null&&V.analysisRef)||!We)){k("confirm"),C("");try{const ae=await QOt({taskId:V.id,framework:F,entry:ID.has(F)?M.trim():void 0,appName:H.trim(),instruction:"",analysisAttempt:V.analysisRef.attempt,analysisSha256:V.analysisRef.sha256,inputSha256:V.analysisRef.inputSha256});p(Be=>Vu(Be,ae))}catch(ae){const Be=await At(V.id);if(Be&&Be.state!=="analysis_ready")return;C(ae instanceof Error?ae.message:String(ae))}finally{k("")}}}async function gn(){if(!(!(V!=null&&V.canStop)||S)){k("stop"),C("");try{const ae=await FOt(V.id);p(Be=>Vu(Be,ae)),_e(!1)}catch(ae){const Be=await At(V.id);if(Be&&!Be.canStop){_e(!1);return}C(ae instanceof Error?ae.message:String(ae))}finally{k("")}}}async function ti(){if(!(!(V!=null&&V.artifact.downloadReady)||S)){k("download"),C("");try{await qOt(V.id,Ak(V.sourceFileName))}catch(ae){C(ae instanceof Error?ae.message:String(ae))}finally{k("")}}}function Pt(){g(""),y(null),C(""),R(""),B(!1),me(null),K(""),ye(!1),dt(!1),_e(!1)}const wt=fe?{name:((mi=V==null?void 0:V.confirmation)==null?void 0:mi.app_name)||zG((V==null?void 0:V.sourceFileName)||"migration.zip"),files:[{path:"migration-result.json",content:`${JSON.stringify(fe,null,2)} -`}]}:null,Ae=fe?fe.environment.required.filter(_k).filter(oL).map(ae=>({key:ae,label:ae})):[],it=fe?[...fe.environment.required.filter(_k).filter(ae=>!oL(ae)).map(ae=>({key:ae,required:!0,comment:ae,placeholder:`请输入 ${ae}`})),...fe.environment.optional.filter(_k).map(ae=>({key:ae,required:!1,comment:ae,placeholder:`可选:${ae}`}))]:[];async function Nt(ae,Be,lt){if(!V||!fe)throw new Error("迁移产物尚未准备完成。");const Tt=Z&&Z.mode!=="public"?{mode:Z.mode,vpc_id:Z.vpcId,subnet_ids:Z.subnetIds,enable_shared_internet_access:Z.enableSharedInternetAccess}:void 0;return zb(ae.name,ae.files,{region:It,projectName:"default",network:Tt},{...lt,migrationTaskId:V.id,onStage:Be})}if(Ye&&wt&&V&&fe)return l.jsx("div",{className:"migration-deployment",children:l.jsx(lC,{cloudProvider:e,project:wt,agentName:wt.name,onDeploy:Nt,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,network:Z,onNetworkChange:ne,deployRegion:It,onDeployRegionChange:Ge,deploymentEnv:it,requiredSecretEnv:Ae,deploymentEnvValues:ue,onDeploymentEnvChange:(ae,Be)=>be(lt=>({...lt,[ae]:Be})),deploymentTelemetry:{source:"migration",createMode:"migration",aiAssisted:!0},onBack:()=>dt(!1),backLabel:"返回迁移结果",deploymentPrimaryPane:l.jsxs("section",{className:"migration-deployment-summary",children:[l.jsx("strong",{children:"迁移产物"}),l.jsx("span",{children:V.sourceFileName}),l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"迁移方式"}),l.jsx("dd",{children:fe.migration.framework})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"启动文件"}),l.jsx("dd",{children:fe.startup.module})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"文件数"}),l.jsx("dd",{children:fe.files.length})]})]})]})})});const Yt=O,Jt=S==="create"||S==="upload",Sn=!V||V.canUpload,Ie=V?dyt(V,I):null;return l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:"migration-workspace",children:[l.jsxs("aside",{className:"migration-history",children:[l.jsxs("header",{children:[l.jsx("button",{type:"button",className:"migration-icon-button",onClick:t,"aria-label":"返回添加 Agent",title:"返回",children:l.jsx(XOt,{})}),l.jsx("h1",{children:"从存量迁移"})]}),l.jsxs("button",{type:"button",className:"migration-new-button",onClick:Pt,disabled:Jt,children:[l.jsx(YOt,{}),l.jsx("span",{children:"新建迁移"})]}),l.jsx("nav",{"aria-label":"迁移会话",children:w?l.jsx(Ln,{children:"正在读取迁移会话…"}):h.length===0?l.jsx("p",{className:"migration-history__empty",children:"暂无迁移会话"}):h.map(ae=>l.jsxs("button",{type:"button",className:ae.id===b?"is-active":"",disabled:Jt,onClick:()=>{g(ae.id),C(""),R(""),B(!1)},children:[l.jsx("span",{children:Ak(ae.sourceFileName)}),l.jsxs("small",{children:[l.jsx("span",{"data-state":ae.state,children:syt(ae.state)}),l.jsx("time",{children:uyt(ae.createdAt)})]})]},ae.id))})]}),l.jsxs("main",{className:"migration-main",children:[l.jsxs("header",{className:"migration-main__header",children:[l.jsxs("div",{children:[l.jsx("h2",{children:V?Ak(V.sourceFileName):"迁移存量 Agent 项目"}),l.jsx("p",{children:V?PD(V):"上传本地项目 ZIP,Codex 将先进行只读分析,再由你确认迁移方式。"})]}),V?l.jsxs("div",{className:"migration-main__header-actions",children:[V!=null&&V.canStop?l.jsx("button",{type:"button",className:"migration-stop-button",onClick:()=>_e(!0),disabled:!!S,children:S==="stop"?"正在终止…":"终止迁移"}):null,Ie?l.jsxs("div",{className:"migration-ttl","aria-live":"off",children:[l.jsx("strong",{children:Ie.title}),l.jsx("small",{children:Ie.detail})]}):null]}):null]}),l.jsxs("div",{className:"migration-conversation",role:"log","aria-live":"polite",ref:qt,onScroll:Ft,children:[!(d!=null&&d.enabled)&&!w?l.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[l.jsx("strong",{children:"迁移能力暂不可用"}),l.jsx("p",{children:(d==null?void 0:d.reason)||"Dev Sandbox 暂不可用,请联系管理员检查配置。"})]}):null,V?l.jsxs(l.Fragment,{children:[l.jsx("article",{className:"migration-turn is-user",children:l.jsxs("div",{className:"migration-user-message",children:[l.jsxs("span",{className:"migration-file-chip",children:[l.jsx(Tk,{}),l.jsx("span",{title:V.sourceFileName,children:V.sourceFileName})]}),V.instruction?l.jsx("p",{children:V.instruction}):null]})}),l.jsxs("article",{className:"migration-turn is-assistant",children:[l.jsx("div",{className:"migration-assistant-mark",children:"AI"}),l.jsxs("div",{className:"migration-assistant-content",children:[S==="upload"?l.jsxs(l.Fragment,{children:[l.jsx(MD,{stage:"upload"}),l.jsx("p",{className:"migration-running-note",children:"ZIP 上传完成后将自动开始只读分析。"})]}):V.state==="analyzing"?l.jsxs(l.Fragment,{children:[l.jsx(MD,{stage:"analysis"}),l.jsx("p",{className:"migration-running-note",children:"Codex 正在识别框架、入口和迁移边界,不会执行实际迁移。"})]}):ip(V.state)?l.jsxs(l.Fragment,{children:[l.jsx(Ln,{children:PD(V)}),l.jsx("p",{className:"migration-running-note",children:"迁移执行中不能修改附件或迁移方式。你可以等待当前任务结束,或主动终止。"})]}):V.state==="needs_input"&&V.analysis?l.jsxs(l.Fragment,{children:[l.jsx("p",{children:V.analysis.summary}),l.jsx("p",{children:"只读分析已暂停。请仅回答下面列出的问题,提交后会在同一 迁移环境中重新分析,不会开始实际迁移。"}),(gi=V.analysis.frameworks[0])!=null&&gi.evidence.length?l.jsxs("details",{className:"migration-analysis__evidence",children:[l.jsx("summary",{children:"查看源码证据"}),l.jsx("ul",{children:V.analysis.frameworks.flatMap(ae=>ae.evidence.map(Be=>l.jsxs("li",{children:[l.jsxs("code",{children:[Be.path,":",Be.line]}),l.jsx("span",{children:Be.reason})]},`${ae.id}:${Be.path}:${Be.line}`)))})]}):null]}):V.state==="analysis_ready"&&V.analysis?l.jsxs(l.Fragment,{children:[l.jsx("p",{children:"只读分析已完成。请检查建议,并确认最终迁移方式。"}),l.jsx(myt,{analysis:V.analysis})]}):V.state==="awaiting_upload"?l.jsx("p",{children:"迁移环境已创建,请重新选择本地 ZIP 继续上传。"}):V.state==="expired"?l.jsxs("div",{className:"migration-expired",children:[l.jsx("strong",{children:"迁移环境已过期"}),l.jsx("p",{children:"迁移内容和产物已无法预览、下载或部署。如已完成 Runtime 部署,可返回智能体页面继续使用。"})]}):V.state==="failed"?((xi=V.error)==null?void 0:xi.code)==="MIGRATION_ANALYSIS_UNSUPPORTED"&&V.analysis?l.jsxs("div",{className:"migration-system-state is-error",children:[l.jsx("strong",{children:"当前 ZIP 暂时无法迁移"}),l.jsx(pu,{text:V.analysis.summary,allowRawHtml:!1}),V.analysis.warnings.length>0?l.jsx("ul",{children:V.analysis.warnings.map(ae=>l.jsx("li",{children:ae},ae))}):null,l.jsx("p",{children:"请按提示整理项目后,新建迁移并重新上传。"})]}):l.jsxs("div",{className:"migration-system-state is-error",children:[l.jsx("strong",{children:"迁移未完成"}),l.jsx("p",{children:V.message})]}):V.state==="cancelled"?l.jsx("p",{children:"当前迁移已终止。你可以新建迁移并重新上传项目。"}):l.jsx("p",{children:PD(V)}),UG(V)&&(he||Pe!=null&&Pe.available||Oe)?l.jsx(gyt,{activity:Pe,loading:he,error:Oe,analyzing:V.state==="analyzing"}):null]})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("article",{className:"migration-turn is-assistant",children:[l.jsx("div",{className:"migration-assistant-mark",children:"AI"}),l.jsxs("div",{children:[l.jsx("p",{children:"请提供本地项目 ZIP。上传后我会识别框架、入口和迁移边界, 并在执行实际迁移前请你确认迁移方式。"}),l.jsx("small",{children:"仅支持本地 ZIP,最大 50 MiB;迁移环境从创建起保留 1 小时。"})]})]}),S==="create"&&O?l.jsxs(l.Fragment,{children:[l.jsx("article",{className:"migration-turn is-user",children:l.jsx("div",{className:"migration-user-message",children:l.jsxs("span",{className:"migration-file-chip",children:[l.jsx(Tk,{}),l.jsx("span",{title:O.name,children:O.name})]})})}),l.jsxs("article",{className:"migration-turn is-assistant",children:[l.jsx("div",{className:"migration-assistant-mark",children:"AI"}),l.jsxs("div",{className:"migration-assistant-content",children:[l.jsx(MD,{stage:"session"}),l.jsx(Ln,{as:"strong",children:"正在创建 Dev Sandbox"}),l.jsx("p",{className:"migration-running-note",children:"正在初始化迁移工作目录,并检查 AgentKit CLI、Codex 和迁移能力。环境就绪后将自动上传项目。"}),l.jsxs("small",{children:["已等待 ",cyt(je)]})]})]})]}):null]}),(V==null?void 0:V.state)==="needs_input"&&V.analysis?l.jsxs("section",{className:"migration-confirmation","aria-label":"补充项目分析信息",children:[l.jsxs("div",{className:"migration-confirmation__heading",children:[l.jsx("strong",{children:"补充分析所需信息"}),l.jsx("span",{children:"附件保持锁定,提交后仅继续只读分析"})]}),V.analysis.questions.map(ae=>l.jsxs("label",{className:"migration-field",children:[l.jsxs("span",{children:[ae.prompt,ae.required?l.jsx("b",{"aria-hidden":"true",children:"*"}):null]}),l.jsx("textarea",{value:q[ae.id]||"",maxLength:4e3,required:ae.required,"aria-required":ae.required,onChange:Be=>{const lt=Be.currentTarget.value;ie(Tt=>({...Tt,[ae.id]:lt}))},disabled:!!S})]},ae.id)),l.jsx("div",{className:"migration-confirmation__actions",children:l.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void tn(),disabled:!mt,children:S==="answer"?"正在继续分析…":"提交并继续分析"})})]}):null,(V==null?void 0:V.state)==="analysis_ready"&&V.analysis?l.jsxs("section",{className:"migration-confirmation","aria-label":"确认迁移方式",children:[l.jsxs("div",{className:"migration-confirmation__heading",children:[l.jsx("strong",{children:"确认迁移方式"}),l.jsx("span",{children:"确认后才会执行实际迁移"})]}),l.jsxs("div",{className:"migration-confirmation__grid",children:[l.jsx(ym,{label:"迁移方式",value:F,options:((d==null?void 0:d.frameworks)??[]).map(ae=>({value:ae,label:E0e[ae]})),onChange:ae=>{var Tt;const Be=ae;Q(Be);const lt=(Tt=V.analysis)==null?void 0:Tt.entries.find(ln=>ln.framework===Be);G((lt==null?void 0:lt.value)||"")},placeholder:"选择迁移方式",disabled:!!S}),l.jsxs("label",{className:"migration-field",children:[l.jsxs("span",{children:["Agent 名称",l.jsx("b",{"aria-hidden":"true",children:"*"})]}),l.jsx("input",{value:H,onChange:ae=>U(ae.currentTarget.value),maxLength:63,required:!0,disabled:!!S,"aria-invalid":!!Ce,"aria-required":"true"}),Ce?l.jsx("small",{role:"alert",children:Ce}):null]}),ID.has(F)?Et.length>0?l.jsx(ym,{label:"项目入口",value:M,options:Et,onChange:G,placeholder:"选择项目入口",disabled:!!S}):l.jsxs("label",{className:"migration-field",children:[l.jsxs("span",{children:["项目入口",l.jsx("b",{"aria-hidden":"true",children:"*"})]}),l.jsx("input",{value:M,onChange:ae=>G(ae.currentTarget.value),placeholder:"例如 agent.py:agent",maxLength:512,required:!0,disabled:!!S,"aria-required":"true"})]}):null]}),l.jsx("p",{className:"migration-running-note",children:"点击“确认并开始迁移”即确认上述迁移范围、排除项和关键假设。"}),l.jsx("div",{className:"migration-confirmation__actions",children:l.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void st(),disabled:!We,children:S==="confirm"?"正在启动迁移…":"确认并开始迁移"})})]}):null,V&&oyt(V.state)&&V.artifact.previewReady?l.jsxs("section",{className:"migration-result",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("strong",{children:"迁移产物"}),l.jsx("span",{children:V.artifact.deployReady?"产物可预览、下载和部署。运行效果取决于源项目和部署环境变量;迁移环境过期后产物将无法访问。":"产物可预览和下载,但当前交付状态不支持部署;迁移环境过期后产物将无法访问。"})]}),l.jsxs("div",{className:"migration-result__actions",children:[l.jsxs("button",{type:"button",onClick:()=>void ti(),disabled:!V.artifact.downloadReady||!!S,children:[l.jsx(HOt,{}),l.jsx("span",{children:S==="download"?"下载中…":"下载 ZIP"})]}),l.jsxs("button",{type:"button",className:"is-primary",onClick:()=>dt(!0),disabled:!V.artifact.deployReady||!fe,title:V.artifact.deployReady?"部署迁移产物":"当前交付状态不支持部署",children:[l.jsx(GOt,{}),l.jsx("span",{children:"部署到 Runtime"})]})]})]}),ce?l.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[l.jsx("p",{children:ce}),ee?l.jsx("button",{type:"button",className:"migration-retry-button",onClick:()=>{K(""),ye(!1),Re(ae=>ae+1)},children:"重新读取"}):null]}):fe?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"migration-result__summary",children:[l.jsxs("span",{children:[fe.files.length," 个文件"]}),l.jsxs("span",{children:["CLI ",fe.cli.version]}),l.jsxs("span",{children:["启动文件 ",fe.startup.module]}),l.jsx("span",{children:ayt(fe.verification.status)})]}),l.jsx(byt,{task:V,artifact:fe})]}):l.jsx(Ln,{children:"正在读取迁移产物…"})]}):null,A?l.jsxs("div",{className:"migration-inline-error",role:"alert",children:[l.jsx("span",{children:A}),P?l.jsx("button",{type:"button",onClick:()=>{V&&(R(""),B(!1),RD(V.id).then(ae=>p(Be=>Vu(Be,ae))).catch(ae=>{R(ae instanceof Error?ae.message:String(ae)),B(ae instanceof Ja&&ae.retryable)}))},children:"刷新状态"}):null]}):null,T?l.jsxs("div",{className:"migration-inline-error",role:"alert",children:[l.jsx("span",{children:T}),l.jsx("button",{type:"button",onClick:()=>C(""),"aria-label":"关闭错误提示",children:l.jsx(QG,{})})]}):null]}),Sn&&(d!=null&&d.enabled)?l.jsxs("div",{className:"migration-composer",children:[l.jsxs("div",{className:`migration-composer__box${v?" is-dragging":""}`,onDragEnter:ae=>{ae.preventDefault(),!Jt&&x(!0)},onDragOver:ae=>{ae.preventDefault(),ae.dataTransfer.dropEffect=Jt?"none":"copy"},onDragLeave:ae=>{ae.currentTarget.contains(ae.relatedTarget)||x(!1)},onDrop:ae=>{var Be;ae.preventDefault(),x(!1),!Jt&&xe((Be=ae.dataTransfer.files)==null?void 0:Be[0])},children:[l.jsx("div",{className:"migration-composer__content",children:Yt?l.jsxs("div",{className:"migration-composer__file",children:[l.jsx(Tk,{}),l.jsx("span",{children:Yt.name}),l.jsx("small",{children:lL(Yt.size)}),l.jsx("button",{type:"button",onClick:()=>y(null),"aria-label":"移除项目 ZIP",disabled:Jt,children:l.jsx(QG,{})})]}):l.jsx("p",{children:V?"重新选择项目 ZIP":"选择或拖入本地项目 ZIP"})}),l.jsxs("div",{className:"migration-composer__actions",children:[l.jsxs("button",{type:"button",className:"migration-attach-button",onClick:()=>{var ae;return(ae=o.current)==null?void 0:ae.click()},disabled:Jt,children:[l.jsx(WOt,{}),l.jsx("span",{children:O?"重新选择":"选择 ZIP"})]}),l.jsx("button",{type:"button",className:"migration-confirm-upload-button",onClick:()=>void(V?Ot():Qe()),disabled:!O||Jt,children:V?"继续上传":"开始迁移"})]}),l.jsx("input",{ref:o,type:"file",accept:".zip,application/zip",onChange:Ue,"aria-label":"选择本地项目 ZIP",disabled:Jt})]}),l.jsx("p",{children:"迁移环境从创建完成起保留 1 小时,过期后产物无法预览、下载或部署。"})]}):null]})]}),Fe&&V?l.jsx(cc,{title:"终止当前迁移?",description:"终止后,当前分析或迁移进程将停止,已执行的步骤不会继续。",confirmLabel:S==="stop"?"正在终止…":"终止迁移",variant:"danger",busy:S==="stop",onCancel:()=>_e(!1),onConfirm:()=>void gn()}):null]})}const k0e=1,yyt="MODEL_AGENT_API_KEY";function B_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xyt(e){return B_(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&B_(e.draft)}function fC(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function F_(e){const t=e.deployment,n=t==null?void 0:t.envValues,i=t?{...t,...n?{envValues:Object.fromEntries(Object.entries(n).filter(([r])=>r!==yyt))}:{}}:void 0;return{...e,...i?{deployment:i}:{},subAgents:e.subAgents.map(F_),...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(r=>({...r,agent:F_(r.agent)}))}}:{}}}function vyt(e){var i;const t=uC(e),n={...((i=t.draft.deployment)==null?void 0:i.envValues)??{},...t.envValues};return!t.draft.deployment&&Object.keys(n).length===0?F_(t.draft):F_({...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}})}function T0e(e){return{...e,draft:vyt(e.draft)}}function wyt(e){const t=Array.isArray(e)?e:B_(e)&&e.version===k0e?e.drafts:void 0;if(!Array.isArray(t)||!t.every(xyt))throw B_(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(T0e)}function Syt(e,t){if(!t)return[];const n=e.getItem(fC(t));if(!n)return[];try{return wyt(JSON.parse(n))}catch(i){throw i instanceof Error&&i.message.startsWith("本机草稿")?i:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function VG(e,t,n){if(!t)return;const i={version:k0e,drafts:n.map(T0e)};try{e.setItem(fC(t),JSON.stringify(i))}catch(r){throw r instanceof DOMException&&(r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const Eyt=/[;;]/;function kyt(e){const t=new Set;for(const n of e)for(const i of n.split(Eyt)){const r=i.trim();r&&t.add(r)}return[...t]}function Tyt(e){return[]}const _yt=3*60*1e3,Ayt=3e3,Cyt=10*60*1e3,Nyt=45e3,U_="veadk.studio.pending-update",JQ="veadk.studio.update-handoff",qG=[{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"provisioning",label:"检查并补齐 Studio 云资源"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],jyt={resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",provisioning:"补齐 Studio 云资源",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function Ryt(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function Dyt(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function Iyt(e){return!!(e!=null&&e.some(t=>t.includes("部署应用成功")||t.toLowerCase().includes("application deployed successfully")))}function Pyt(){if(typeof window>"u")return null;const e=window.localStorage.getItem(U_);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(U_),null}function LD(e,t){window.localStorage.setItem(U_,JSON.stringify({targetVersion:e,startedAt:t}))}function xE(){window.localStorage.removeItem(U_)}function Myt(){return typeof window>"u"?"":window.sessionStorage.getItem(JQ)??""}function Lyt(e){window.sessionStorage.setItem(JQ,e)}function XG(){window.sessionStorage.removeItem(JQ)}function HG({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),l.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),l.jsx("path",{d:"M12 7.8v7.7"}),l.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function $yt(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:l.jsx("path",{d:"m4 6 4 4 4-4"})})}function Qyt(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:l.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function _0e(){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[l.jsx("path",{d:"M6.25 3.75H3.5v8.75h8.75V9.75"}),l.jsx("path",{d:"M8.5 3.5h4v4"}),l.jsx("path",{d:"m7.25 8.75 5-5"})]})}function YG({href:e}){return l.jsxs("div",{className:"studio-update-permission-notice",role:"status",children:[l.jsxs("p",{children:["无法读取 VeFaaS 发布日志。Function 角色缺少",l.jsx("code",{children:"vefaas:GetApplicationRevisionLog"})," 权限,更新会继续。"]}),l.jsxs("a",{href:e,target:"_blank",rel:"noreferrer",children:["前往 IAM 控制台配置权限",l.jsx(_0e,{})]})]})}function GG({lines:e,phase:t,copyState:n,onCopy:i}){const r=m.useRef(null),s=m.useRef(!0),[a,o]=m.useState(e);return m.useEffect(()=>{e.length&&o(e)},[e]),m.useEffect(()=>{const c=r.current;c&&s.current&&(c.scrollTop=c.scrollHeight)},[a]),l.jsxs("section",{className:"studio-update-live-log","aria-label":"部署进度",children:[l.jsxs("div",{className:"studio-update-log-header",children:[l.jsxs("span",{children:[l.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"部署进度",l.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),l.jsx("button",{type:"button",onClick:()=>i(a),disabled:!a.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),l.jsx("div",{ref:r,className:"studio-update-log-lines",role:"log","aria-live":"off","aria-busy":t==="active",tabIndex:0,onScroll:c=>{const u=c.currentTarget;s.current=u.scrollHeight-u.scrollTop-u.clientHeight<24},children:a.length?a.map((c,u)=>l.jsx("div",{children:c},`${u}-${c}`)):l.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function Byt({variant:e="default"}){var D,F;const[t]=m.useState(Pyt),[n,i]=m.useState(null),[r,s]=m.useState(t?"submitting":"idle"),[a,o]=m.useState(!!t),[c,u]=m.useState(""),[d,f]=m.useState((t==null?void 0:t.targetVersion)??""),[h,p]=m.useState(!1),[b,g]=m.useState("idle"),[O,y]=m.useState(0),v=m.useRef(null),x=m.useRef((t==null?void 0:t.targetVersion)??""),w=m.useRef((t==null?void 0:t.startedAt)??0),E=m.useRef(Myt()),S=m.useRef(0);m.useEffect(()=>{if(!h)return;const Q=G=>{var H;G.target instanceof Node&&!((H=v.current)!=null&&H.contains(G.target))&&p(!1)},M=G=>{G.key==="Escape"&&p(!1)};return window.addEventListener("pointerdown",Q),window.addEventListener("keydown",M),()=>{window.removeEventListener("pointerdown",Q),window.removeEventListener("keydown",M)}},[h]);const k=m.useCallback(async()=>{const Q=await une(x.current||void 0,w.current||void 0);return i(Q),Q},[]);if(m.useEffect(()=>{let Q=!0;const M=()=>{k().catch(()=>{Q&&i(H=>H)})};M();const G=window.setInterval(M,_yt);return()=>{Q=!1,window.clearInterval(G)}},[k]),m.useEffect(()=>{if(r!=="submitting")return;const Q=window.setInterval(()=>{k().then(M=>{const G=x.current;if(G&&Dyt(M.currentVersion,G)||!G&&!M.available&&M.latestVersion){const H=Date.now();if(S.current||(S.current=H),M.updateLogsVisible!==!1&&!Iyt(M.updateLogs)&&H-S.currentCyt&&(window.clearInterval(Q),xE(),s("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},Ayt);return()=>window.clearInterval(Q)},[r,k]),m.useEffect(()=>{r!=="idle"||(n==null?void 0:n.state)!=="updating"||(x.current=n.targetVersion,w.current=n.startedAt||Date.now(),LD(n.targetVersion,w.current),f(n.targetVersion),s("submitting"))},[r,n]),m.useEffect(()=>{if(r!=="submitting"){y(0);return}const Q=()=>{const G=w.current||Date.now();y(Math.max(0,Math.floor((Date.now()-G)/1e3)))};Q();const M=window.setInterval(Q,1e3);return()=>window.clearInterval(M)},[r]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||r!=="idle"))return null;const C=n.releases??[],A=d||((D=C[0])==null?void 0:D.version)||n.latestVersion,R=C.find(Q=>Q.version===A),P=kyt((R==null?void 0:R.changelog)??[]),B=async()=>{XG(),E.current="",x.current=A,w.current=Date.now(),LD(A,w.current),s("submitting"),u(""),g("idle");try{const Q=await dne(A);x.current=Q.version,LD(Q.version,w.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch(Q){if(Q instanceof TypeError){u("连接已切换,正在确认新版本状态");return}xE(),s("error");const M=Q instanceof Error?Q.message:"Studio 更新失败";try{const G=await k();u(G.message||M)}catch{u(M)}}},I=(F=n.updateLogs)!=null&&F.length?n.updateLogs:(n.errorLog||n.progressMessage||c).split(` -`).filter(Boolean),$=async Q=>{try{await navigator.clipboard.writeText(Q.join(` -`)),g("copied")}catch{g("error")}},j=()=>{var Q;p(!1),g("idle"),u(""),f(x.current||((Q=C[0])==null?void 0:Q.version)||""),s("confirm")};return l.jsxs(l.Fragment,{children:[l.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${r}`,title:r==="submitting"?"正在更新 Studio":r==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var Q;r==="published"?window.location.reload():(r==="submitting"||r==="error"||(f(((Q=C[0])==null?void 0:Q.version)||n.latestVersion),s("confirm")),o(!0))},children:[e!=="feature-link"&&l.jsx(HG,{className:"studio-update-icon"}),r==="submitting"?l.jsx(Ln,{as:"span",children:"正在更新"}):r==="published"?l.jsx("span",{children:"刷新使用新版"}):r==="error"?l.jsx("span",{children:"更新失败"}):e==="feature-link"?l.jsx("span",{children:"立即更新"}):l.jsx("span",{children:"有新版更新"})]}),a&&r!=="idle"&&zi.createPortal(l.jsx("div",{className:"confirm-scrim",role:"presentation",children:l.jsxs("section",{className:`confirm-box studio-update-dialog${r==="confirm"?"":" is-progress"}`,role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[l.jsx("div",{className:"studio-update-dialog-mark",children:l.jsx(HG,{})}),l.jsx("div",{id:"studio-update-title",className:"confirm-title",children:r==="error"?"Studio 更新失败":r==="submitting"?"正在更新 Studio":r==="published"?"Studio 更新完成":"发现新版本"}),r==="error"?l.jsxs("div",{className:"studio-update-error-panel",children:[l.jsx("p",{className:"confirm-text studio-update-error",children:c}),l.jsxs("dl",{className:"studio-update-error-meta",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"失败阶段"}),l.jsx("dd",{children:jyt[n.errorStage]||n.errorStage||"未知阶段"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"错误 ID"}),l.jsx("dd",{children:n.errorId||"未生成"})]})]}),n.updateLogsVisible!==!1&&l.jsx(GG,{lines:I,phase:"error",copyState:b,onCopy:Q=>void $(Q)}),n.updateLogsVisible===!1&&l.jsx(YG,{href:n.permissionConsoleUrl}),n.consoleUrl&&l.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",l.jsx(_0e,{})]})]}):r==="submitting"||r==="published"?l.jsxs("div",{className:"studio-update-progress-body",children:[l.jsxs("div",{className:"studio-update-progress-summary",children:[l.jsxs("div",{children:[l.jsx("span",{children:"目标版本"}),l.jsx("strong",{children:x.current||A})]}),l.jsxs("div",{children:[l.jsx("span",{children:r==="published"?"更新状态":"已用时"}),l.jsx("strong",{children:r==="published"?"已完成":Ryt(O)})]})]}),l.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:qG.map((Q,M)=>{const G=qG.findIndex(q=>q.id===n.progressStage),H=r==="published"||Mvoid $(Q)}),n.updateLogsVisible===!1&&l.jsx(YG,{href:n.permissionConsoleUrl}),l.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),l.jsxs("div",{className:"studio-update-field",ref:v,children:[l.jsx("span",{children:"选择版本"}),l.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":h,onClick:()=>p(Q=>!Q),onKeyDown:Q=>{(Q.key==="ArrowDown"||Q.key==="ArrowUp")&&(Q.preventDefault(),p(!0))},children:[l.jsx("span",{children:A}),l.jsx($yt,{})]}),h&&l.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:C.map(Q=>{const M=Q.version===A;return l.jsxs("button",{type:"button",role:"option","aria-selected":M,className:`studio-update-version-option${M?" is-selected":""}`,onClick:()=>{f(Q.version),p(!1)},children:[l.jsx("span",{children:Q.version}),M&&l.jsx(Qyt,{})]},Q.version)})})]}),l.jsxs("dl",{className:"studio-update-versions",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"当前版本"}),l.jsx("dd",{children:n.currentVersion})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"目标版本"}),l.jsx("dd",{children:A})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"Commit"}),l.jsx("dd",{children:((R==null?void 0:R.gitSha)||n.latestGitSha).slice(0,8)})]})]}),l.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[l.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),P.length?l.jsx("ul",{children:P.map(Q=>l.jsx("li",{children:Q},Q))}):l.jsx("p",{children:"暂无更新说明"})]})]}),l.jsxs("div",{className:"confirm-actions",children:[l.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{o(!1),p(!1),r==="confirm"&&(s("idle"),u(""))},children:r==="submitting"?"后台运行":r==="confirm"?"取消":"关闭"}),r==="confirm"&&l.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void B(),children:"立即更新"}),r==="error"&&l.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:j,children:"重新尝试"})]})]})}),document.body)]})}const Fyt=["多地域智能体:并行加载北京与上海 Runtime,列表下滑即可继续加载。","会话内切换:在输入框旁选择智能体,并直接开启一段新会话。","可视化执行画布:通过横向画布查看多智能体结构,并支持全屏浏览。"],WG=Tyt(),Uyt=WG.length?WG:Fyt;function zyt({canUpdate:e=!1}){return l.jsxs("div",{className:"welcome-feature-pill",children:[l.jsx("span",{children:"焕然一新"}),l.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),l.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),l.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[l.jsx("strong",{children:"本次更新"}),l.jsx("ul",{children:Uyt.map(t=>l.jsx("li",{children:t},t))})]}),e&&l.jsx(Byt,{variant:"feature-link"})]})}async function eB(e,t){const n=await e.text().catch(()=>"");try{const i=JSON.parse(n),r=i.detail??i.error;if(typeof r=="string"&&r.trim())return new Error(r.trim());if(r&&typeof r=="object"&&"message"in r&&typeof r.message=="string"&&r.message.trim())return new Error(r.message.trim())}catch{if(n.trim())return new Error(n.trim().slice(0,500))}return new Error(`${t}(HTTP ${e.status})`)}function Vyt(e,t){var i;return((i=(e.headers.get("content-disposition")??"").match(/filename="([^"]+)"/i))==null?void 0:i[1])??t}function A0e(e,t,n){if(e.sessionId!==t||n!==void 0&&(e.artifactSha256!==n.artifactSha256||e.validationReportSha256!==n.validationReportSha256)||typeof e.artifactSha256!="string"||typeof e.validationReportSha256!="string"||typeof e.agentName!="string"||typeof e.entryPoint!="string"||typeof e.fileCount!="number"||typeof e.artifactSize!="number"||typeof e.validatedAt!="string"||typeof e.deployable!="boolean"||typeof e.verified!="boolean"||typeof e.validationSummary!="string"||!Array.isArray(e.gateSummary)||!e.gateSummary.every(i=>typeof i=="string")||!Array.isArray(e.files)||!e.files.every(i=>i&&typeof i.path=="string"&&typeof i.content=="string"))throw new Error("源码快照的响应格式无效。");return e}async function ZG(e,t,n,i){const r=new URLSearchParams({sessionId:e,artifactSha256:t,validationReportSha256:n}),s=await Kn(`/web/intelligent-development/releases/summary?${r}`,{headers:{Accept:"application/json"},signal:i});if(!s.ok)throw await eB(s,"无法读取源码快照");const a=await s.json();return A0e(a,e,{artifactSha256:t,validationReportSha256:n})}async function qyt(e,t){const n=new URLSearchParams({sessionId:e}),i=await Kn(`/web/intelligent-development/releases/current?${n}`,{headers:{Accept:"application/json"},signal:t});if(i.status===204)return null;if(!i.ok)throw await eB(i,"无法恢复当前源码快照");const r=await i.json();return A0e(r,e)}async function Xyt(e,t){var o;const n=new URLSearchParams({sessionId:e.sessionId,artifactSha256:e.artifactSha256,validationReportSha256:e.validationReportSha256}),i=await Kn(`/web/intelligent-development/releases/download?${n}`,{headers:{Accept:"application/zip"},signal:t},gr);if(!i.ok)throw await eB(i,"下载源码失败");if(((o=i.headers.get("content-type"))==null?void 0:o.split(";",1)[0].trim().toLowerCase())!=="application/zip")throw new Error("源码下载响应不是 ZIP 文件。");const s=await i.blob();if(s.size!==e.artifactSize)throw new Error("源码压缩包大小与发布记录不一致,请重试。");const a=`${e.agentName}-source-${e.artifactSha256.slice(0,12)}.zip`;return{blob:s,filename:Vyt(i,a)}}const Hyt=1e4;async function C0e(e){const t=await fetch(lo(e),{headers:Ph({Accept:"application/json"}),signal:go(void 0,Hyt)});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,endpointExportEnabled:n.endpointExportEnabled===!0}}async function Yyt(){return C0e("/web/sandbox/capabilities")}async function Gyt(e){return C0e(`/web/${e}/capabilities`)}function Wyt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function Zyt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M12 3.5v11m-4-4 4 4 4-4"}),l.jsx("path",{d:"M5 19.5h14"})]})}function KG(e){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"8",cy:"8",r:"5.5",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.22"}),l.jsx("path",{d:"M8 2.5A5.5 5.5 0 0 1 13.5 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Kyt({open:e,task:t,onClose:n,onRetry:i,onDownload:r}){const s=m.useId(),a=m.useRef(null),o=m.useRef(null),c=m.useRef(null),[u,d]=m.useState(()=>Date.now()),f=m.useRef(n);if(f.current=n,m.useEffect(()=>{if(!e||!t)return;c.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const E=document.body.style.overflow;document.body.style.overflow="hidden";const S=window.requestAnimationFrame(()=>{var T;return(T=o.current)==null?void 0:T.focus()}),k=T=>{var P;if(T.key==="Escape"){T.preventDefault(),f.current();return}if(T.key!=="Tab")return;const C=Array.from(((P=a.current)==null?void 0:P.querySelectorAll('button:not(:disabled), a[href], video[controls], [tabindex]:not([tabindex="-1"])'))??[]);if(C.length===0)return;const A=C[0],R=C[C.length-1];if(document.activeElement===o.current){T.preventDefault(),(T.shiftKey?R:A).focus();return}T.shiftKey&&document.activeElement===A?(T.preventDefault(),R.focus()):!T.shiftKey&&document.activeElement===R&&(T.preventDefault(),A.focus())};return window.addEventListener("keydown",k),()=>{var T;window.cancelAnimationFrame(S),document.body.style.overflow=E,window.removeEventListener("keydown",k),(T=c.current)!=null&&T.isConnected&&c.current.focus()}},[e,t==null?void 0:t.localId]),m.useEffect(()=>{if(!e||(t==null?void 0:t.status)!=="generating"||t.generationStartedAt===null)return;const E=()=>d(Date.now());E();const S=window.setInterval(E,1e3);return()=>window.clearInterval(S)},[e,t==null?void 0:t.localId,t==null?void 0:t.runId,t==null?void 0:t.status,t==null?void 0:t.generationStartedAt]),!e||!t)return null;const h=tL(t),p=t.status==="optimizing"||t.status==="generating",b=t.errorStage==="optimization"?"重试提示词优化":"重试视频生成",g=Cge(t.resolvedMode??t.requestedMode),O=t.error.includes("尚未开通"),y=jgt(t),v=t.generationStartedAt===null?"":Ngt(u-t.generationStartedAt),x=t.providerStatus==="queued"?"等待模型调度":t.providerStatus==="running"?"模型生成中":"正在提交任务",w=t.providerStatus==="queued"?"任务已提交,模型开始处理后状态会自动更新":"这可能持续数分钟,完成后将在这里显示视频预览";return zi.createPortal(l.jsx("div",{className:"new-chat-video-task-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&n()},children:l.jsxs("section",{ref:a,className:`new-chat-video-task-dialog is-${t.status}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":p||void 0,children:[l.jsxs("header",{className:"new-chat-video-task-dialog__head",children:[l.jsxs("div",{children:[l.jsx("h2",{ref:o,id:s,tabIndex:-1,children:"视频生成任务"}),l.jsxs("p",{children:[g," · ",t.generationModel]})]}),l.jsx("button",{type:"button",className:"new-chat-video-task-dialog__close",onClick:n,"aria-label":"关闭视频生成任务弹窗",children:l.jsx(Wyt,{})})]}),l.jsxs("div",{className:"new-chat-video-task-dialog__body",children:[l.jsx("ol",{className:"new-chat-video-task-steps","aria-label":"视频生成进度","aria-live":"polite","aria-atomic":"true",children:h.map(E=>l.jsx("li",{className:`is-${E.status}`,children:l.jsxs("span",{className:"new-chat-video-task-step__label",children:[E.status==="active"?l.jsx(KG,{className:"new-chat-video-task-step__loading"}):null,l.jsx("span",{children:E.label})]})},E.id))}),t.error?l.jsx("div",{className:"new-chat-video-task-error",role:"alert",children:l.jsx("p",{children:t.error})}):null,t.optimizedPrompt?l.jsxs("section",{className:"new-chat-video-task-prompt","aria-labelledby":`${s}-prompt`,children:[l.jsx("h3",{id:`${s}-prompt`,children:"优化后的提示词"}),l.jsx("p",{children:t.optimizedPrompt})]}):null,t.status==="generating"?l.jsxs("div",{className:"new-chat-video-task-preview is-loading",children:[l.jsx(KG,{className:"new-chat-video-task-preview__loading"}),l.jsx(Ln,{as:"strong",duration:2.2,spread:18,"aria-live":"polite",children:y}),l.jsx("div",{className:"new-chat-video-task-progress",role:"progressbar","aria-label":`${g}处理进度`,"aria-valuetext":`${y}${v?`,已等待${v}`:""}`,children:l.jsx("span",{"aria-hidden":"true"})}),l.jsxs("div",{className:"new-chat-video-task-progress__meta",children:[l.jsx("span",{children:x}),v?l.jsxs("span",{children:["已等待 ",v]}):null]}),l.jsx("span",{children:w})]}):t.output?l.jsx("div",{className:"new-chat-video-task-preview",children:l.jsx("video",{src:t.output.previewUrl,controls:!0,playsInline:!0,preload:"metadata","aria-label":"生成结果预览"})}):null]}),l.jsxs("footer",{className:"new-chat-video-task-dialog__actions",children:[l.jsx("p",{children:p?"可以关闭弹窗,任务会继续在后台运行":t.status==="success"?"视频已生成,可预览或下载":O?"请先在模型控制台开通服务,再重试生成":"修正问题后可重试当前步骤"}),l.jsxs("div",{children:[l.jsx("button",{type:"button",className:"new-chat-video-task-button",onClick:n,children:"关闭"}),t.status==="error"?l.jsx("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:i,children:b}):t.output?l.jsxs("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:r,children:[l.jsx(Zyt,{}),"下载视频"]}):null]})]})]})}),document.body)}const Jyt="我的智能体";function ext({open:e,state:t,agentKind:n="codex",error:i,onCancel:r,onConfirm:s}){const a=n==="codex"?"Codex":n==="deepseek-harness"?"DeepSeek Harness":n==="openclaw"?"OpenClaw":"Hermes",o=n==="codex"?Jyt:`我的 ${a}`,c=m.useRef(null),u=m.useRef(null),d=m.useRef(null),f=m.useRef(!1),h=m.useRef(r),[p,b]=m.useState(o),[g,O]=m.useState(!0);if(h.current=r,m.useEffect(()=>{if(!e)return;b(o),O(!0);const w=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var k,T;(k=u.current)==null||k.focus(),(T=u.current)==null||T.select()}),S=k=>{var R;if(k.key==="Escape"){k.preventDefault(),h.current();return}if(k.key!=="Tab")return;const T=(R=c.current)==null?void 0:R.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(T!=null&&T.length))return;const C=T[0],A=T[T.length-1];k.shiftKey&&document.activeElement===C?(k.preventDefault(),A.focus()):!k.shiftKey&&document.activeElement===A&&(k.preventDefault(),C.focus())};return window.addEventListener("keydown",S),()=>{window.cancelAnimationFrame(E),document.body.style.overflow=w,window.removeEventListener("keydown",S)}},[o,e]),!e)return null;const y=t==="loading",v=p.trim(),x=y?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return zi.createPortal(l.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&!y&&r()},children:l.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:w=>{w.preventDefault(),!y&&!f.current&&v&&s(v,g)},children:[l.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[l.jsx("span",{className:"sandbox-dialog-orbit"}),l.jsx("span",{className:"sandbox-dialog-icon",children:y?l.jsx("span",{className:"sandbox-spinner"}):l.jsx(tv,{kind:n})})]}),l.jsxs("div",{className:"sandbox-dialog-copy",children:[l.jsx("h2",{id:"sandbox-dialog-title",children:x}),t==="error"?l.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:i||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):y?l.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,l.jsxs("label",{className:"sandbox-dialog-field",children:[l.jsxs("span",{className:"sandbox-dialog-field-label",children:[l.jsx("span",{children:"智能体名称"}),l.jsxs("span",{"aria-hidden":"true",children:[p.length,"/",jY]})]}),l.jsx("input",{ref:u,type:"text",required:!0,value:p,maxLength:jY,disabled:y,placeholder:o,autoComplete:"off",onChange:w=>b(w.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:w=>{const{nativeEvent:E}=w;w.key==="Enter"&&(f.current||E.isComposing||E.keyCode===229)&&w.preventDefault()}})]}),l.jsxs("div",{className:"sandbox-dialog-persistence",role:"group","aria-describedby":"sandbox-persistence-description",children:[l.jsx(XQ,{id:"sandbox-persistence",className:"sandbox-dialog-persistence-control",checked:g,disabled:y,onCheckedChange:O,label:"持久化"}),l.jsx("p",{id:"sandbox-persistence-description",className:`sandbox-dialog-persistence-description${g?"":" is-warning"}`,role:g?void 0:"status",children:g?"保留智能体数据,后续可继续使用。":"智能体将在 8 小时后清空"})]})]}),l.jsxs("footer",{className:"sandbox-dialog-actions",children:[l.jsx("button",{ref:d,type:"button",onClick:r,children:y?"取消创建":"取消"}),!y&&l.jsx("button",{type:"submit",className:"is-primary",disabled:!v,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function txt({agentName:e,expireAt:t,exitLabel:n="退出当前智能体",onExit:i}){const[r,s]=m.useState(()=>Date.now());m.useEffect(()=>{if(!t)return;const d=window.setInterval(()=>s(Date.now()),6e4);return()=>window.clearInterval(d)},[t]);const a=t?Date.parse(t):Number.NaN,o=Number.isFinite(a)?Math.max(0,Math.ceil((a-r)/6e4)):null,c=o===null?"":o===0?"已到期":o>=60?`剩余 ${Math.floor(o/60)} 小时 ${o%60} 分钟`:`剩余 ${o} 分钟`,u=Number.isFinite(a)?new Date(a).toLocaleString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}):"";return l.jsxs("div",{className:`sandbox-session-warning${t?" is-expiring":""}`,role:"status",children:[l.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),l.jsx("span",{className:"sandbox-session-warning-copy",children:u?`远端开发环境最长保留 8 小时,将于 ${u} 到期(${c});到期后清除对话和文件。`:`当前您在使用 ${e} 智能体`}),l.jsx("button",{type:"button",onClick:i,children:n})]})}function nxt({activity:e,time:t}){var n;return l.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[l.jsxs("div",{className:"sandbox-activity-summary",children:[l.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),l.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),l.jsx("strong",{children:e.title}),t?l.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?l.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(i=>l.jsxs("div",{children:[l.jsx("dt",{children:i.label}),l.jsx("dd",{title:i.value,children:i.code?l.jsx("code",{children:i.value}):i.value})]},`${i.label}:${i.value}`))}):null]})}function ixt(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 rxt({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 l.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,i])=>l.jsxs("span",{title:`${n}: ${i.toLocaleString()} tokens`,children:[l.jsx("small",{children:n}),l.jsx("strong",{children:ixt(i)})]},n))})}function N0e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),l.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),l.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function j0e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),l.jsx("path",{d:"M3.8 8h16.4"}),l.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),l.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),l.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function tB(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function Ck(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function sxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 5v14M5 12h14"})})}function axt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function oxt(e){return l.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:l.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}function lxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),l.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),l.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function cxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),l.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function uxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),l.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function dxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.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 fxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function cL(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m9 6 6 6-6 6"})})}function hxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),l.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function ru(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function pxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),l.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]})}function mxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function aw({open:e,title:t,subtitle:n,icon:i,className:r="",onClose:s,children:a}){const o=m.useId(),c=m.useRef(null),u=m.useRef(null),d=m.useRef(s);return d.current=s,m.useEffect(()=>{var p;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(p=c.current)==null||p.focus();const h=b=>{var x;if(b.key==="Escape"){b.preventDefault(),d.current();return}if(b.key!=="Tab")return;const g=(x=c.current)==null?void 0:x.closest("[role=dialog]"),O=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(O.length===0)return;const y=O[0],v=O[O.length-1];b.shiftKey&&document.activeElement===y?(b.preventDefault(),v.focus()):!b.shiftKey&&document.activeElement===v&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{var b;document.body.style.overflow=f,window.removeEventListener("keydown",h),(b=u.current)==null||b.focus()}},[e]),e?zi.createPortal(l.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&s()},children:l.jsxs("section",{className:`sandbox-control-dialog ${r}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":o,children:[l.jsxs("header",{className:"sandbox-control-head",children:[l.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:i}),l.jsxs("div",{children:[l.jsx("h2",{id:o,children:t}),l.jsx("p",{children:n})]}),l.jsx("button",{ref:c,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:s,children:l.jsx(fxt,{})})]}),a]})}),document.body):null}function gxt({open:e,kind:t,launch:n,loading:i,error:r,onReload:s,onClose:a}){const o=t==="terminal",c=o?"Terminal":"Sandbox Browser";return l.jsxs(aw,{open:e,title:c,subtitle:o?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:o?l.jsx(N0e,{}):l.jsx(j0e,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[l.jsx("div",{className:"sandbox-tool-toolbar",children:l.jsxs("span",{children:[l.jsx("i",{className:i?"is-loading":n?"is-ready":""}),i?"正在连接…":n?"已连接":"尚未连接"]})}),l.jsx("div",{className:"sandbox-tool-surface",children:i?l.jsxs("div",{className:"sandbox-control-state",children:[l.jsx(ru,{className:"spin"}),l.jsxs("strong",{children:["正在打开 ",c]}),l.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):r?l.jsxs("div",{className:"sandbox-control-state is-error",children:[l.jsxs("strong",{children:[c," 打开失败"]}),l.jsx("span",{children:r}),l.jsx("button",{type:"button",onClick:s,children:"重试"})]}):n?l.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 bxt({open:e,threads:t,currentThreadId:n,loading:i,error:r,onSelect:s,onClose:a}){return l.jsx(aw,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:l.jsx(hxt,{}),className:"sandbox-threads-dialog",onClose:a,children:l.jsx("div",{className:"sandbox-thread-list",children:i?l.jsxs("div",{className:"sandbox-control-state",children:[l.jsx(ru,{className:"spin"}),l.jsx("strong",{children:"正在读取历史对话"})]}):r?l.jsxs("div",{className:"sandbox-control-state is-error",children:[l.jsx("strong",{children:"历史对话读取失败"}),l.jsx("span",{children:r})]}):t.length===0?l.jsx("div",{className:"sandbox-control-state",children:l.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(o=>{const c=o.id===n,u=o.name||o.preview||`Thread ${o.id.slice(0,8)}`;return l.jsxs("button",{type:"button",className:c?"is-active":"",disabled:c,onClick:()=>s(o.id),children:[l.jsxs("span",{children:[l.jsx("strong",{children:u}),l.jsx("small",{children:o.preview||o.cwd||o.id})]}),l.jsx("time",{children:o.updatedAt?new Date(o.updatedAt*1e3).toLocaleString():""}),l.jsx(cL,{})]},o.id)})})})}const Oxt=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],yxt=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],xxt=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function vxt({open:e,value:t,busy:n,error:i,onSave:r,onClose:s}){const[a,o]=m.useState(t);return m.useEffect(()=>{e&&o(t)},[e,t]),l.jsxs(aw,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:l.jsx(tB,{}),className:"sandbox-settings-dialog",onClose:s,children:[l.jsxs("div",{className:"sandbox-control-body",children:[l.jsx($D,{label:"沙箱模式",choices:Oxt,value:a.sandboxMode,disabled:n,onChange:c=>o(u=>({...u,sandboxMode:c,networkAccess:c==="danger-full-access"?!0:u.networkAccess}))}),l.jsx($D,{label:"审批策略",choices:yxt,value:a.approvalPolicy,disabled:n,onChange:c=>o(u=>({...u,approvalPolicy:c}))}),l.jsx($D,{label:"审批方式",choices:xxt,value:a.approvalsReviewer,disabled:n,onChange:c=>o(u=>({...u,approvalsReviewer:c}))}),l.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[l.jsxs("span",{children:[l.jsx("strong",{children:"允许网络访问"}),l.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),l.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:c=>o(u=>({...u,networkAccess:c.target.checked}))})]}),a.sandboxMode==="danger-full-access"?l.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,i?l.jsx("div",{className:"sandbox-control-error",children:i}):null]}),l.jsxs("footer",{className:"sandbox-control-actions",children:[l.jsx("button",{type:"button",onClick:s,disabled:n,children:"取消"}),l.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>r(a),children:[n?l.jsx(ru,{className:"spin"}):null,"保存权限"]})]})]})}function $D({label:e,choices:t,value:n,disabled:i,onChange:r}){return l.jsxs("fieldset",{className:"sandbox-choice-group",disabled:i,role:"radiogroup","aria-label":e,children:[l.jsx("legend",{children:e}),l.jsx("div",{className:"sandbox-choice-list",children:t.map(s=>l.jsxs("button",{type:"button",role:"radio",className:`${n===s.value?"is-active":""}${s.danger?" is-danger":""}`.trim(),"aria-checked":n===s.value,onClick:()=>r(s.value),onKeyDown:a=>{var d,f;const o=t.findIndex(h=>h.value===s.value);let c=o;if(a.key==="ArrowRight"||a.key==="ArrowDown")c=(o+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")c=(o-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(),r(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:[l.jsx("i",{}),l.jsxs("span",{children:[l.jsx("strong",{children:s.label}),l.jsx("small",{children:s.detail})]})]},s.value))})]})}function wxt({open:e,cwd:t,locked:n,busy:i,error:r,browse:s,onSave:a,onClose:o}){const[c,u]=m.useState(t||"/"),[d,f]=m.useState(null),[h,p]=m.useState(!1),[b,g]=m.useState("");m.useEffect(()=>{if(!e)return;const y=t||"/";u(y),O(y)},[t,e]);async function O(y){p(!0),g("");try{const v=await s(y);f(v),u(v.path)}catch(v){g(v instanceof Error?v.message:String(v))}finally{p(!1)}}return l.jsxs(aw,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:l.jsx(Ck,{}),className:"sandbox-workspace-dialog",onClose:o,children:[l.jsxs("div",{className:"sandbox-control-body",children:[l.jsxs("label",{className:"sandbox-workspace-input",children:[l.jsx("span",{children:"绝对路径"}),l.jsxs("div",{children:[l.jsx("input",{value:c,disabled:i||n,spellCheck:!1,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&c.startsWith("/")&&(y.preventDefault(),O(c))}}),l.jsx("button",{type:"button",disabled:i||h||!c.startsWith("/"),onClick:()=>void O(c),children:"浏览"})]})]}),l.jsxs("div",{className:"sandbox-directory-browser",children:[l.jsxs("div",{className:"sandbox-directory-head",children:[l.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??c}),h?l.jsx(ru,{className:"spin"}):null]}),l.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?l.jsxs("button",{type:"button",disabled:h,onClick:()=>void O(d.parent??"/"),children:[l.jsx(Ck,{}),l.jsx("span",{children:"上一级"}),l.jsx("small",{children:d.parent}),l.jsx(cL,{})]}):null,d==null?void 0:d.directories.map(y=>l.jsxs("button",{type:"button",disabled:h,onClick:()=>void O(y.path),children:[l.jsx(Ck,{}),l.jsx("span",{children:y.name}),l.jsx(cL,{})]},y.path)),!h&&(d==null?void 0:d.directories.length)===0?l.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?l.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,b||r?l.jsx("div",{className:"sandbox-control-error",children:b||r}):null]}),l.jsxs("footer",{className:"sandbox-control-actions",children:[l.jsx("button",{type:"button",onClick:o,disabled:i,children:"取消"}),l.jsxs("button",{type:"button",className:"is-primary",disabled:i||n||!c.startsWith("/"),onClick:()=>a(c),children:[i?l.jsx(ru,{className:"spin"}):null,"使用此目录"]})]})]})}function Sxt({approval:e,busy:t,error:n,onDecision:i}){var a;const r=(a=e==null?void 0:e.command)==null?void 0:a.trim(),s=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return l.jsxs(aw,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:l.jsx(tB,{}),className:"sandbox-approval-dialog",onClose:()=>{t||i("cancel")},children:[l.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?l.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,r?l.jsx("pre",{children:r}):null,s?l.jsx("pre",{children:s}):null,e!=null&&e.cwd?l.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",l.jsx("code",{children:e.cwd})]}):null,n?l.jsx("div",{className:"sandbox-control-error",children:n}):null]}),l.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[l.jsx("button",{type:"button",disabled:t,onClick:()=>i("decline"),children:"拒绝"}),l.jsx("button",{type:"button",disabled:t,onClick:()=>i("accept"),children:"仅本次允许"}),l.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>i("acceptForSession"),children:[t?l.jsx(ru,{className:"spin"}):null,"本会话允许"]})]})]})}const Ext={codex:"Codex","deepseek-harness":"DeepSeek Harness",openclaw:"OpenClaw",hermes:"Hermes"};function JG(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 kxt({session:e,onBack:t,onOpen:n,onDelete:i}){const[r,s]=m.useState(!1),[a,o]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=Ext[e.toolName],p=e.resourceType==="snapshot",b=p?e.sourceSessionId||e.snapshotId:e.id,g=async()=>{if(!(a||c)){o(!0),f("");try{await n()}catch(y){f(y instanceof Error?y.message:String(y))}finally{o(!1)}}},O=async()=>{if(!(c||a)){u(!0),f("");try{await i()}catch(y){f(y instanceof Error?y.message:String(y)),s(!1)}finally{u(!1)}}};return l.jsxs("section",{className:"sandbox-agent-details",children:[l.jsxs("header",{className:"sandbox-agent-details-header",children:[l.jsx(IQ,{label:"返回智能体列表",onClick:t}),l.jsxs("div",{children:[l.jsx("h1",{children:e.displayName||`${h} 智能体`}),l.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?l.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,l.jsxs("div",{className:"sandbox-agent-detail-panel",children:[l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"智能体类型"}),l.jsx("dd",{children:h})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"状态"}),l.jsx("dd",{children:tC(e.status)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"创建人"}),l.jsx("dd",{children:e.createdBy||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:p?"快照状态":"工具类型"}),l.jsx("dd",{children:p?e.snapshotStatus||"—":e.toolType||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"创建时间"}),l.jsx("dd",{children:JG(e.createdAt)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:p?"快照原因":"过期时间"}),l.jsx("dd",{children:p?e.reason||"—":JG(e.expireAt)})]}),l.jsxs("div",{className:"is-wide",children:[l.jsx("dt",{children:p?"Snapshot ID":"Session ID"}),l.jsx("dd",{children:p?e.snapshotId:b})]}),p&&e.sourceSessionId?l.jsxs("div",{className:"is-wide",children:[l.jsx("dt",{children:"来源 Session ID"}),l.jsx("dd",{children:e.sourceSessionId})]}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||c,onClick:()=>s(!0),children:"删除智能体"}),l.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||c,"aria-busy":a||void 0,onClick:()=>void g(),children:a?p?"唤醒中…":"打开中…":p?"唤醒智能体":"打开智能体"})]})]}),r?l.jsx("div",{className:"confirm-scrim",onClick:()=>!c&&s(!1),children:l.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:y=>y.stopPropagation(),children:[l.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),l.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit ",p?"Snapshot":"Session",",此操作无法撤销。"]}),l.jsxs("div",{className:"confirm-actions",children:[l.jsx("button",{type:"button",className:"confirm-btn",disabled:c,onClick:()=>s(!1),children:"取消"}),l.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:c,onClick:()=>void O(),children:c?"删除中…":"确认删除"})]})]})}):null]})}function Txt({workspace:e,onBack:t}){const[n,i]=m.useState("main"),[r,s]=m.useState(""),[a,o]=m.useState(!1),[c,u]=m.useState(""),d=e.kind==="deepseek-harness"?"DeepSeek Harness":e.kind==="openclaw"?"OpenClaw":"Hermes";m.useEffect(()=>{i("main"),s(""),u(""),o(!1)},[e.session.id]);const f=async()=>{if(i("terminal"),!(r||a)){o(!0),u("");try{const h=await Ei.launchAgentTerminal(e.kind,e.session.id);s(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{o(!1)}}};return l.jsxs("section",{className:"sandbox-agent-workspace",children:[l.jsxs("header",{children:[l.jsxs("div",{className:"sandbox-agent-workspace-title",children:[l.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),l.jsxs("div",{children:[l.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),l.jsxs("p",{children:[l.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),l.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:tC(e.session.status)})]})]})]}),l.jsxs(Hp,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():i("main")},children:[l.jsx(Hp.Option,{value:"main",children:"主界面"}),l.jsx(Hp.Option,{value:"terminal",children:"终端"})]})]}),l.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?l.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?l.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):c?l.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[l.jsx("p",{children:c}),l.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):r?l.jsx("iframe",{src:r,title:`${d} 终端`}):null})]})}const hC=[{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 _xt(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 Axt(e){const t=e.toLocaleLowerCase();return hC.filter(n=>!t||[n.name,n.description,...n.keywords].some(i=>i.toLocaleLowerCase().includes(t))).sort((n,i)=>eW(n,t)-eW(i,t)).slice(0,12)}function eW(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:hC.indexOf(e)}function Cxt(e,t){const n=t.toLocaleLowerCase();return e.filter(i=>!n||`${i.id} ${i.displayName} ${i.description}`.toLocaleLowerCase().includes(n)).sort((i,r)=>{if(!n)return Number(r.isDefault)-Number(i.isDefault);const s=i.id.toLocaleLowerCase(),a=r.id.toLocaleLowerCase(),o=(c,u)=>c===n?0:c.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return o(s,i.displayName)-o(a,r.displayName)}).slice(0,12)}function Nxt(){return hC.map(e=>({label:e.usage,value:e.description}))}function jxt(e,t){return e.map(n=>{const i=n.displayName.trim(),r=i&&i!==n.id?`${i} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${r} — ${n.description}`:r,code:!1}})}function Rxt(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 uL(e){return e.messages.map(t=>{var i,r;const n=[];return t.role==="user"&&((i=t.skillNames)!=null&&i.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(s=>({name:s,description:""}))}}),t.role==="user"&&((r=t.images)!=null&&r.length)&&n.push({kind:"attachment",files:t.images.map((s,a)=>({id:`${t.id}-image-${a}`,mimeType:s.mimeType,data:s.data,name:s.alt||s.name||"图片"}))}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function Dxt({appName:e,value:t,onChange:n,onSubmit:i,onStop:r,disabled:s,busy:a,attachments:o,onAddFiles:c,onRemoveAttachment:u,actions:d,models:f,modelsLoading:h,modelsLoaded:p,currentModel:b,onRequestModels:g,skills:O,skillsLoading:y,skillsLoaded:v,selectedSkills:x,onRequestSkills:w,onSelectedSkillsChange:E,textOnly:S=!1}){const k=m.useRef(null),T=m.useRef(null),C=m.useRef(null),A=m.useRef(null),[R,P]=m.useState(!1),[B,I]=m.useState(0),[$,j]=m.useState(!1);m.useLayoutEffect(()=>{const K=k.current;K&&(K.style.height="auto",K.style.height=`${Math.min(K.scrollHeight,200)}px`)},[t]);const D=m.useMemo(()=>{if(!t.startsWith("/")||t.includes(` -`))return;const K=t.slice(1),ee=K.search(/\s/),ye=(ee<0?K:K.slice(0,ee)).toLocaleLowerCase(),ve=ee<0?"":K.slice(ee).trim();if(!(ee>=0&&ye!=="model"))return{command:ye,argument:ve,modelMode:ee>=0}},[t]),F=m.useMemo(()=>{const K=/(^|\s)\$([^\s$]*)$/.exec(t);if(K)return{query:K[2],start:t.length-K[2].length-1,end:t.length}},[t]),Q=m.useMemo(()=>{if(F){const K=F.query.toLocaleLowerCase();return O.filter(ee=>!x.some(ye=>ye.id===ee.id||ye.name===ee.name)).filter(ee=>`${ee.name} ${ee.description}`.toLocaleLowerCase().includes(K)).slice(0,12).map(ee=>({kind:"skill",skill:ee}))}return D!=null&&D.modelMode?Cxt(f,D.argument).map(K=>({kind:"model",model:K})):D?Axt(D.command).map(K=>({kind:"command",command:K})):[]},[F,f,x,O,D]),M=!S&&!$&&!!(F||D);m.useEffect(()=>{I(0)},[t]),m.useEffect(()=>{D!=null&&D.modelMode&&!p&&!h&&g()},[p,h,g,D==null?void 0:D.modelMode]),m.useEffect(()=>{F&&!v&&!y&&w()},[F,w,v,y]);const G=o.some(K=>K.status!=="ready"),H=a&&!!r,U=!s&&!a&&!G&&(t.trim().length>0||o.length>0);function q(K){j(!1),P(!1),n(K)}function ie(K){if(K.kind==="skill"){if(!F)return;const ee=t.slice(0,F.start)+t.slice(F.end);E([...x,K.skill]),q(ee),j(!0),requestAnimationFrame(()=>{var ye,ve;(ye=k.current)==null||ye.focus(),(ve=k.current)==null||ve.setSelectionRange(F.start,F.start)});return}if(K.kind==="model"){q(`/model ${K.model.id}`),j(!0),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()});return}if(K.command.name==="model"){q("/model "),g(),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()});return}if(K.command.name==="skill"||K.command.name==="skills"){q(`/${K.command.name}`),j(!0),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()});return}q(`/${K.command.name}`),j(!0),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()})}function fe(K){var ee;P(!1),(ee=K.current)==null||ee.click()}function me(K){const ee=K.target.files?Array.from(K.target.files):[];ee.length&&c(ee),K.target.value=""}const ce=F?"可用 Skills":D!=null&&D.modelMode?"选择模型":"Codex 快捷命令";return l.jsxs("div",{className:"composer sandbox-codex-composer",children:[o.length>0?l.jsx(E2,{appName:e,compact:!0,items:o,onRemove:u}):null,l.jsxs("div",{className:"composer-box",children:[M?l.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":ce,children:[l.jsxs("div",{className:"composer-command-head",children:[l.jsx(dxt,{}),l.jsx("span",{children:ce}),D!=null&&D.modelMode&&b?l.jsxs("small",{children:["当前:",b]}):null,l.jsx("kbd",{children:F?"$":"/"})]}),F&&y?l.jsxs("div",{className:"composer-command-empty",children:[l.jsx(ru,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):D!=null&&D.modelMode&&h?l.jsxs("div",{className:"composer-command-empty",children:[l.jsx(ru,{className:"spin"})," 正在读取模型…"]}):Q.length===0?l.jsx("div",{className:"composer-command-empty",children:F?"当前工作区没有匹配的 Skill":D!=null&&D.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):l.jsx("div",{className:"composer-command-list",children:Q.map((K,ee)=>{const ye=K.kind==="command"?`command:${K.command.name}`:K.kind==="model"?`model:${K.model.id}`:`skill:${K.skill.id}`,ve=K.kind==="command"?K.command.usage:K.kind==="model"?K.model.displayName:`$${K.skill.name}`,Re=K.kind==="command"?K.command.description:K.kind==="model"?K.model.description||K.model.id:K.skill.description||"加载并执行该 Skill";return l.jsxs("button",{type:"button",role:"option","aria-selected":ee===B,className:`composer-command-item${ee===B?" is-active":""}`,onMouseDown:Pe=>{Pe.preventDefault(),ie(K)},onMouseEnter:()=>I(ee),children:[l.jsx("span",{className:`composer-command-icon composer-command-icon--${K.kind}`,"aria-hidden":"true",children:K.kind==="command"?"/":K.kind==="model"?"◇":"$"}),l.jsxs("span",{className:"composer-command-copy",children:[l.jsx("strong",{children:ve}),l.jsx("span",{children:Re})]}),ee===B?l.jsx("kbd",{children:"↵"}):null]},ye)})})]}):null,l.jsx("div",{className:"composer-left-controls",children:!S&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"composer-menu-wrap",children:[l.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:s,onClick:()=>P(K=>!K),children:l.jsx(sxt,{className:"icon"})}),R?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>P(!1)}),l.jsxs("div",{className:"composer-menu",role:"menu",children:[l.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>fe(T),children:[l.jsx(lxt,{className:"icon"}),"上传图片"]}),l.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>fe(C),children:[l.jsx(cxt,{className:"icon"}),"上传文档或 PDF"]}),l.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>fe(A),children:[l.jsx(uxt,{className:"icon"}),"上传视频"]}),l.jsx("div",{className:"composer-menu-separator",role:"separator"}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{P(!1),d.onOpenTerminal()},children:[l.jsx(N0e,{className:"icon"}),"进入终端"]}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{P(!1),d.onOpenBrowser()},children:[l.jsx(j0e,{className:"icon"}),"查看浏览器"]})]})]}):null]}),l.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:d.settingsBusy||a,onClick:d.onOpenPermissions,children:l.jsx(tB,{})}),l.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${d.workspaceLocked?" is-locked":""}`,title:d.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:d.settingsBusy||a,onClick:d.onOpenWorkspace,children:l.jsx(Ck,{})}),d.endpointCopyEnabled&&d.onCopyEndpoint?l.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:d.endpointCopyState==="copied"?"Endpoint 已复制":"复制 Sandbox Endpoint","aria-label":d.endpointCopyState==="copied"?"Endpoint 已复制":"复制 Sandbox Endpoint",disabled:d.endpointCopyState==="copying",onClick:d.onCopyEndpoint,children:d.endpointCopyState==="copying"?l.jsx(ru,{className:"spin"}):d.endpointCopyState==="copied"?l.jsx(mxt,{}):l.jsx(pxt,{})}):null]})}),l.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[!S&&x.length>0?l.jsx(S2,{skillPrefix:"$",value:{skills:x.map(({name:K,description:ee})=>({name:K,description:ee}))},onRemoveSkill:K=>E(x.filter(ee=>ee.name!==K))}):null,l.jsx("textarea",{ref:k,className:"comp-input scroll",rows:1,value:t,disabled:s,placeholder:S?"继续说明你想实现或调整的内容":"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":M,onChange:K=>q(K.target.value),onBlur:()=>window.setTimeout(()=>j(!0),0),onKeyDown:K=>{if(!sC(K.nativeEvent)){if(M){if((K.key==="ArrowDown"||K.key==="Tab"&&!K.shiftKey)&&Q.length>0){K.preventDefault(),I(ee=>(ee+1)%Q.length);return}if((K.key==="ArrowUp"||K.key==="Tab"&&K.shiftKey)&&Q.length>0){K.preventDefault(),I(ee=>(ee-1+Q.length)%Q.length);return}if(K.key==="Enter"&&!K.shiftKey&&Q[B]){K.preventDefault(),ie(Q[B]);return}if(K.key==="Escape"){K.preventDefault(),j(!0);return}}if(K.key==="Backspace"&&!t&&K.currentTarget.selectionStart===0&&x.length>0){K.preventDefault(),E(x.slice(0,-1));return}K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),U&&i(t))}}})]}),l.jsx("button",{type:"button",className:"comp-send",disabled:H?!1:!U,onClick:H?r:()=>i(t),"aria-label":H?"停止生成":"发送",title:H?"停止生成":void 0,children:H?l.jsx(oxt,{className:"icon"}):a?l.jsx(ru,{className:"icon spin"}):l.jsx(axt,{className:"icon"})})]}),l.jsx("input",{ref:T,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:me}),l.jsx("input",{ref:C,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:me}),l.jsx("input",{ref:A,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:me})]})}function Ixt(e){return e.trim().replace(/\/+$/,"")||window.location.origin}function Pxt(e){return["使用 AgentKit Studio Plugin 端云接力当前会话、项目和任务。请直接执行,不要让我手动打开终端。",`Studio:${Ixt(e.studioUrl)}`,`配对码:${e.pairingCode}`].join(` -`)}function R0e(){return["codex plugin marketplace add volcengine/veadk-python","--sparse .agents/plugins","--sparse plugins/agentkit-studio","&& codex plugin add agentkit-studio@veadk-python"].join(" ")}function Mxt(){return["请安装 AgentKit Studio Plugin。请直接执行以下安装命令,不要让我手动打开终端。",`安装命令:${R0e()}`].join(` -`)}function tW(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function nW(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),l.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]})}function QD(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.25 4.25L19 7"})})}function iW(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M19 8a8 8 0 1 0 .35 7"}),l.jsx("path",{d:"M19 4v4h-4"})]})}function Lxt(e,t){const n=Math.max(0,Math.ceil((Date.parse(e)-t)/1e3)),i=Math.floor(n/3600),r=Math.floor(n%3600/60),s=n%60;return[i,r,s].map(a=>String(a).padStart(2,"0")).join(":")}const $xt=[{id:"request",label:"等待端侧请求"},{id:"session",label:"创建云端 Session"},{id:"restore",label:"恢复项目"},{id:"continue",label:"发送续跑任务"}];function Qxt(e){switch(e.state){case"issued":return 0;case"creating":return 1;case"session-created":return 2;case"continuing":return 3;case"running":return 4;case"completed":return 4;case"failed":return e.failedStage==="creating-session"?1:e.failedStage==="uploading-project"||e.failedStage==="restoring-project"?2:3}}function Bxt(e,t){const n=Qxt(e);return e.state==="failed"&&t===n?"failed":tMxt(),[]),B=m.useMemo(()=>R0e(),[]),I=m.useMemo(()=>h?Pxt(h):"",[h]);if(m.useEffect(()=>{if(!e)return;p(null),g(null),f("conversation"),C(null),R(""),k(!1),E(Date.now());const G=new AbortController,H=++o.current;return x(!0),Ei.createCodexProjectHandoffPairing({signal:G.signal}).then(U=>{o.current===H&&(p(U),g({state:"issued",expireAt:U.expireAt}))}).catch(U=>{(U==null?void 0:U.name)!=="AbortError"&&o.current===H&&C({message:U instanceof Error?U.message:String(U),retryPairing:!0})}).finally(()=>{o.current===H&&x(!1)}),()=>{G.abort()}},[O,e]),m.useEffect(()=>{if(!e||!h)return;E(Date.now());const G=window.setInterval(()=>E(Date.now()),1e3);return()=>window.clearInterval(G)},[e,h]),m.useEffect(()=>{if(!e||!h)return;let G=!1,H;const U=new AbortController,q=async()=>{if(!(G||Date.now()>=Date.parse(h.expireAt))){try{const ie=await Ei.getCodexProjectHandoffStatus(h.pairingCode,{signal:U.signal});if(G||(g(ie),ie.state==="completed"||ie.state==="failed"))return;H=window.setTimeout(()=>void q(),1500);return}catch(ie){if((ie==null?void 0:ie.name)==="AbortError"||G)return;C({message:ie instanceof Error?ie.message:String(ie),retryPairing:!1})}H=window.setTimeout(()=>void q(),1500)}};return q(),()=>{G=!0,U.abort(),H!==void 0&&window.clearTimeout(H)}},[e,h]),m.useEffect(()=>{(b==null?void 0:b.state)!=="running"&&(b==null?void 0:b.state)!=="completed"||!h||u.current===h.pairingCode||(u.current=h.pairingCode,n())},[b==null?void 0:b.state,n,h]),m.useEffect(()=>()=>{c.current!==void 0&&window.clearTimeout(c.current)},[]),m.useEffect(()=>{if(!e)return;const G=document.body.style.overflow;document.body.style.overflow="hidden";const H=window.requestAnimationFrame(()=>{var q;return(q=s.current)==null?void 0:q.focus()}),U=q=>{var ce;if(q.key==="Escape"){q.preventDefault(),a.current();return}if(q.key!=="Tab")return;const ie=(ce=r.current)==null?void 0:ce.querySelectorAll('button:not(:disabled), input:not(:disabled), [tabindex]:not([tabindex="-1"])');if(!(ie!=null&&ie.length))return;const fe=ie[0],me=ie[ie.length-1];q.shiftKey&&document.activeElement===fe?(q.preventDefault(),me.focus()):!q.shiftKey&&document.activeElement===me&&(q.preventDefault(),fe.focus())};return window.addEventListener("keydown",U),()=>{window.cancelAnimationFrame(H),document.body.style.overflow=G,window.removeEventListener("keydown",U)}},[e]),!e)return null;async function $(G,H){var U;if(!(!G||A)){C(null),R(H);try{if(!((U=navigator.clipboard)!=null&&U.writeText))throw new Error("当前浏览器不支持写入剪贴板。");await navigator.clipboard.writeText(G),c.current!==void 0&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>{R(q=>q===H?"":q),c.current=void 0},1400)}catch(q){R(""),C({message:q instanceof Error?q.message:String(q),retryPairing:!1})}}}async function j(){const G=b==null?void 0:b.sessionId;if(!(!G||S)){C(null),k(!0);try{await i(G)}catch(H){C({message:H instanceof Error?H.message:String(H),retryPairing:!1}),k(!1)}}}function D(G){var H;f(G),(H=document.getElementById(`sandbox-project-upload-install-${G}-tab`))==null||H.focus()}function F(G){const H=["conversation","terminal"],U=H.indexOf(d);let q=null;G.key==="ArrowRight"&&(q=(U+1)%H.length),G.key==="ArrowLeft"&&(q=(U-1+H.length)%H.length),G.key==="Home"&&(q=0),G.key==="End"&&(q=H.length-1),q!==null&&(G.preventDefault(),D(H[q]))}const Q=h?Lxt(h.expireAt,w):"00:00:00",M=h?w>=Date.parse(h.expireAt):!1;return zi.createPortal(l.jsx("div",{className:"sandbox-project-upload-backdrop",onMouseDown:G=>{G.target===G.currentTarget&&t()},children:l.jsxs("section",{ref:r,className:"sandbox-project-upload-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-project-upload-title","aria-describedby":"sandbox-project-upload-description",children:[l.jsxs("header",{className:"sandbox-project-upload-head",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"sandbox-project-upload-title-row",children:[l.jsx("h2",{id:"sandbox-project-upload-title",children:"接力到云端继续执行"}),l.jsx(YQ,{className:"sandbox-project-upload-beta",color:"discovery",size:"sm",pill:!0,children:"Beta"})]}),l.jsx("p",{id:"sandbox-project-upload-description",children:"按顺序复制两段提示词,Codex 会通过插件将您的本地任务接力到云端"})]}),l.jsx("button",{ref:s,type:"button",className:"sandbox-project-upload-close",onClick:t,"aria-label":"关闭本地迁移引导",children:l.jsx(tW,{})})]}),l.jsxs("div",{className:"sandbox-project-upload-body",children:[T?l.jsxs("div",{className:"sandbox-project-upload-error",role:"alert",children:[l.jsx("span",{children:T.message}),T.retryPairing?l.jsxs("button",{type:"button",onClick:()=>y(G=>G+1),children:[l.jsx(iW,{}),"重试"]}):null]}):null,l.jsxs("section",{className:"sandbox-project-upload-stage",children:[l.jsxs("div",{className:"sandbox-project-upload-stage-head",children:[l.jsx("span",{className:"sandbox-project-upload-stage-number",children:"1"}),l.jsxs("div",{children:[l.jsx("h3",{children:"安装插件"}),l.jsx("p",{children:"首次使用时,请选择一种安装方式。"})]}),l.jsxs("button",{type:"button",onClick:()=>void $(d==="conversation"?P:B,d==="conversation"?"install-conversation":"install-terminal"),disabled:A!=="",children:[A===`install-${d}`?l.jsx(QD,{}):l.jsx(nW,{}),A===`install-${d}`?"已复制":d==="conversation"?"复制安装提示词":"复制安装命令"]})]}),l.jsxs("div",{className:`sandbox-project-upload-install-tabs is-${d}`,role:"tablist","aria-label":"插件安装方式",children:[l.jsx("span",{"aria-hidden":"true"}),l.jsx("button",{id:"sandbox-project-upload-install-conversation-tab",type:"button",role:"tab","aria-controls":"sandbox-project-upload-install-panel","aria-selected":d==="conversation",tabIndex:d==="conversation"?0:-1,onClick:()=>f("conversation"),onKeyDown:F,children:"与 Codex 对话安装"}),l.jsx("button",{id:"sandbox-project-upload-install-terminal-tab",type:"button",role:"tab","aria-controls":"sandbox-project-upload-install-panel","aria-selected":d==="terminal",tabIndex:d==="terminal"?0:-1,onClick:()=>f("terminal"),onKeyDown:F,children:"从终端安装"})]}),l.jsx("div",{id:"sandbox-project-upload-install-panel",className:`sandbox-project-upload-prompt${d==="terminal"?" is-command":""}`,role:"tabpanel","aria-labelledby":`sandbox-project-upload-install-${d}-tab`,children:l.jsx("pre",{tabIndex:0,children:l.jsx("code",{children:d==="conversation"?P:B})})})]}),l.jsxs("section",{className:"sandbox-project-upload-stage",children:[l.jsxs("div",{className:"sandbox-project-upload-stage-head",children:[l.jsx("span",{className:"sandbox-project-upload-stage-number",children:"2"}),l.jsxs("div",{children:[l.jsx("h3",{children:"任务接力"}),l.jsx("p",{children:"插件安装完成后复制,Codex 会迁移当前项目并继续执行任务。"})]}),l.jsxs("button",{type:"button",onClick:()=>void $(I,"handoff"),disabled:!I||v||A!=="",children:[A==="handoff"?l.jsx(QD,{}):l.jsx(nW,{}),A==="handoff"?"已复制":"复制接力提示词"]})]}),l.jsxs("div",{className:"sandbox-project-upload-pairing-notice",role:"status",children:[l.jsx("span",{children:v?"正在生成新的配对码":M?"配对码已过期":l.jsxs(l.Fragment,{children:["配对码有效期剩余 ",l.jsx("time",{children:Q})]})}),l.jsxs("button",{type:"button",disabled:v,onClick:()=>y(G=>G+1),children:[l.jsx(iW,{}),v?"刷新中":"刷新配对码"]})]}),l.jsx("div",{className:"sandbox-project-upload-prompt",children:v?l.jsxs("div",{className:"sandbox-project-upload-loading",role:"status",children:[l.jsx("i",{"aria-hidden":"true"}),"正在生成配对码"]}):I?l.jsx("pre",{tabIndex:0,children:l.jsx("code",{children:I})}):l.jsx("div",{className:"sandbox-project-upload-loading",children:"配对码尚未生成。"})}),h&&b?l.jsxs("section",{className:"sandbox-project-upload-progress","aria-live":"polite","aria-label":"端云接力状态",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("span",{children:"接力状态"}),b.state!=="issued"?l.jsxs("p",{children:["已收到",b.agentName?`“${b.agentName}”`:b.projectName?`“${b.projectName}”`:"当前项目","的端云接力请求"]}):l.jsx("p",{children:"复制接力提示词后,Codex 的请求会显示在这里。"})]}),l.jsx("strong",{"data-state":b.state,children:Fxt(b)})]}),l.jsx("ol",{children:$xt.map((G,H)=>{const U=Bxt(b,H);return l.jsxs("li",{"data-state":U,children:[l.jsxs("span",{className:"sandbox-project-upload-progress-marker",children:[U==="done"?l.jsx(QD,{}):null,U==="failed"?l.jsx(tW,{}):null]}),l.jsx("span",{children:G.label})]},G.id)})}),b.state==="failed"&&b.error?l.jsx("p",{className:"sandbox-project-upload-progress-error",role:"alert",children:b.error}):null]}):null]})]}),l.jsxs("footer",{className:"sandbox-project-upload-actions",children:[l.jsx("button",{type:"button",onClick:t,children:"关闭"}),((b==null?void 0:b.state)==="running"||(b==null?void 0:b.state)==="completed")&&b.sessionId?l.jsx("button",{type:"button",className:"is-primary",disabled:S,onClick:()=>void j(),children:S?"正在进入":"进入 Codex"}):null]})]})}),document.body)}function zxt({client:e=Ei,allowSkillSelection:t=!0,allowThreadManagement:n=!0,session:i,conversationBusy:r,onInputChange:s,onSessionPatch:a,onSnapshot:o,onActivity:c,onError:u}){const d=m.useRef((i==null?void 0:i.id)??""),f=m.useRef(0);d.current=(i==null?void 0:i.id)??"";const[h,p]=m.useState(!1),[b,g]=m.useState([]),[O,y]=m.useState(!1),[v,x]=m.useState(!1),[w,E]=m.useState([]),[S,k]=m.useState(!1),[T,C]=m.useState(!1),[A,R]=m.useState([]),[P,B]=m.useState(!1),[I,$]=m.useState([]),[j,D]=m.useState(!1),[F,Q]=m.useState(""),[M,G]=m.useState(""),[H,U]=m.useState("");m.useEffect(()=>{f.current+=1,p(!1),g([]),y(!1),x(!1),E([]),k(!1),C(!1),R([]),B(!1),$([]),D(!1),Q(""),G(""),U("")},[i==null?void 0:i.id]);const q=m.useCallback(async()=>{const Ee=d.current;if(!Ee)return[];y(!0);try{const Oe=await e.listModels(Ee);return d.current===Ee&&(g(Oe),x(!0)),Oe}catch(Oe){return d.current===Ee&&(x(!0),u(Oe instanceof Error?Oe.message:String(Oe))),[]}finally{d.current===Ee&&y(!1)}},[e,u]),ie=m.useCallback(async()=>{if(!t)return[];const Ee=d.current;if(!Ee)return[];k(!0);try{const Oe=await e.listSkills(Ee);return d.current===Ee&&(E(Oe),C(!0)),Oe}catch(Oe){return d.current===Ee&&(C(!0),u(Oe instanceof Error?Oe.message:String(Oe))),[]}finally{d.current===Ee&&k(!1)}},[t,e,u]),fe=m.useCallback(async(Ee="",Oe=!1)=>{const Le=d.current;if(!Le)return;const Fe=++f.current;D(!0),Q("");try{const _e=await e.listThreads(Le,Ee?{cursor:Ee}:{});d.current===Le&&f.current===Fe&&($(Ye=>{if(!Oe)return _e.threads;const dt=new Map(Ye.map(It=>[It.id,It]));for(const It of _e.threads)dt.set(It.id,It);return[...dt.values()]}),G(_e.nextCursor??""))}catch(_e){d.current===Le&&f.current===Fe&&Q(_e instanceof Error?_e.message:String(_e))}finally{d.current===Le&&f.current===Fe&&D(!1)}},[e]),me=m.useCallback(()=>fe("",!1),[fe]),ce=m.useCallback(async()=>{!M||j||await fe(M,!0)},[fe,j,M]),K=m.useCallback(async()=>{B(!0),await me()},[me]);m.useEffect(()=>{!n||!(i!=null&&i.id)||me()},[n,me,i==null?void 0:i.id]);function ee(Ee){o(Ee),$(Oe=>[Ee.thread,...Oe.filter(Le=>Le.id!==Ee.thread.id)]),R([]),E([]),C(!1),B(!1)}async function ye(Ee){const Oe=await e.newThread(Ee);d.current===Ee&&(ee(Oe),c("已新建 Codex 对话",[{label:"Thread",value:Oe.threadId,code:!0}]))}async function ve(){const Ee=d.current;if(!(!Ee||h||r)){p(!0),Q(""),u("");try{await ye(Ee)}catch(Oe){if(d.current===Ee){const Le=Oe instanceof Error?Oe.message:String(Oe);Q(Le),u(Le)}}finally{d.current===Ee&&p(!1)}}}async function Re(Ee){const Oe=d.current;if(!(!Oe||h||r)){if(Ee===(i==null?void 0:i.threadId)){B(!1);return}p(!0),u("");try{const Le=await e.resumeThread(Oe,Ee);if(d.current!==Oe)return;ee(Le),c("已恢复 Codex 对话",[{label:"Thread",value:Le.threadId,code:!0}])}catch(Le){d.current===Oe&&u(Le instanceof Error?Le.message:String(Le))}finally{d.current===Oe&&p(!1)}}}async function Pe(Ee){const Oe=d.current;if(!Oe||h||r)return!1;f.current+=1,D(!1),p(!0),U(Ee),Q(""),u("");try{const Le=await e.deleteThread(Oe,Ee);return d.current!==Oe?!1:(Le.snapshot&&ee(Le.snapshot),$(Fe=>Fe.filter(_e=>_e.id!==Ee)),c("已删除 Codex 历史会话",[{label:"Thread",value:Ee,code:!0}]),!0)}catch(Le){if(d.current===Oe){const Fe=Le instanceof Error?Le.message:String(Le);Q(Fe),u(Fe)}return!1}finally{d.current===Oe&&(p(!1),U(""))}}async function De(Ee){const Oe=i,Le=Ee.trim();if(!Le.startsWith("/"))return!1;if(!Oe||r||h)return!0;const Fe=_xt(Le),_e=Fe&&hC.find(Ye=>Ye.name===Fe.name);if(!Fe||!_e)return u(`未知快捷命令:${Le.split(/\s/,1)[0]}。输入 /help 查看可用命令。`),!0;if(u(""),R([]),_e.name==="model"&&!Fe.argument)return s("/model "),v||await q(),!0;if(_e.name==="skill"||_e.name==="skills")return t?(s("$"),T||(await ie()).length===0&&s(""),!0):(u("智能开发模式会自动使用开发能力,无需手动选择 Skill。"),!0);if(_e.name==="resume"&&!Fe.argument)return s(""),await K(),!0;s(""),p(!0);try{if(_e.name==="model"){const Ye=await e.setModel(Oe.id,Fe.argument);if(d.current!==Oe.id)return!0;a({model:Ye}),c("已切换 Codex 模型",[{label:"模型",value:Ye,code:!0}])}else if(_e.name==="models"){const Ye=v?b:await q();if(d.current!==Oe.id)return!0;c(Ye.length>0?"Codex 可用模型":"当前没有可用模型",jxt(Ye,Oe.model))}else if(_e.name==="new"||_e.name==="clear")await ye(Oe.id);else if(_e.name==="resume"){const Ye=await e.resumeThread(Oe.id,Fe.argument);if(d.current!==Oe.id)return!0;ee(Ye),c("已恢复 Codex 对话",[{label:"Thread",value:Ye.threadId,code:!0}])}else if(_e.name==="fork"){const Ye=await e.forkThread(Oe.id);if(d.current!==Oe.id)return!0;ee(Ye),c("已分叉 Codex 对话",[{label:"Thread",value:Ye.threadId,code:!0}])}else if(_e.name==="compact"){if(await e.compactThread(Oe.id),d.current!==Oe.id)return!0;c("已开始压缩当前 Codex 对话",[{label:"Thread",value:Oe.threadId,code:!0}])}else if(_e.name==="archive"){const Ye=Oe.threadId,dt=await e.archiveThread(Oe.id,Ye);if(d.current!==Oe.id)return!0;dt.snapshot&&ee(dt.snapshot),$(It=>It.filter(Ge=>Ge.id!==Ye)),c("已归档 Codex 对话",[{label:"Thread",value:Ye,code:!0}])}else if(_e.name==="status"){const Ye=await e.getStatus(Oe.id);if(d.current!==Oe.id)return!0;a(Ye),c("Codex 当前状态",Rxt(Ye))}else _e.name==="help"&&c("Sandbox 支持的 Codex 快捷命令",Nxt())}catch(Ye){d.current===Oe.id&&(s(Le),u(Ye instanceof Error?Ye.message:String(Ye)))}finally{d.current===Oe.id&&p(!1)}return!0}function he(){E([]),C(!1),R([])}return{commandBusy:h,models:b,modelsLoading:O,modelsLoaded:v,loadModels:q,skills:w,skillsLoading:S,skillsLoaded:T,loadSkills:ie,selectedSkills:A,setSelectedSkills:R,invalidateSkills:he,threadsOpen:P,threads:I,threadsLoading:j,threadsError:F,threadsHasMore:!!M,threadActionId:H,openThreads:K,refreshThreads:me,loadMoreThreads:ce,closeThreads:()=>{h||(B(!1),Q(""))},newThread:ve,resumeThread:Re,deleteThread:Pe,executeSlash:De}}const Vxt={volcengine:"火山引擎 AgentKit 提供企业级 Agent 解决方案",byteplus:"BytePlus AgentKit 提供企业级 Agent 解决方案"},qxt={volcengine:"https://docs.volcengine.com/docs/86681/1925174?lang=zh",byteplus:"https://docs.byteplus.com/en/docs/legal"};function Xxt(e){return e.toLowerCase()==="github"?l.jsx(Yke,{className:"icon"}):l.jsx(Wke,{className:"icon"})}function Hxt({branding:e,cloudProvider:t,onUsername:n}){const[i,r]=m.useState(null),[s,a]=m.useState(""),[o,c]=m.useState(0),[u,d]=m.useState(""),f=m.useRef(null);m.useEffect(()=>{let O=!0;return r(null),a(""),Ste().then(y=>{O&&r(y)}).catch(y=>{O&&a(y instanceof Error?y.message:String(y))}),()=>{O=!1}},[o]);const h=i!==null&&i.length===0;m.useEffect(()=>{var O;h&&((O=f.current)==null||O.focus())},[h]);const p=mTe.test(u),b=t==="byteplus"?v$:x$,g=()=>{p&&n(u)};return l.jsxs("div",{className:"login",children:[l.jsx("header",{className:"login-top",children:l.jsxs("span",{className:"login-brand",children:[l.jsx("img",{className:"login-brand-logo",src:e.logoUrl||b,width:20,height:20,alt:"","aria-hidden":!0}),e.title]})}),l.jsx("main",{className:"login-main",children:l.jsxs("div",{className:"login-card",children:[l.jsx(Ln,{as:"h1",className:"login-title",duration:4.8,spread:22,children:e.title}),s?l.jsxs("div",{className:"login-provider-error",role:"alert",children:[l.jsx("p",{children:s}),l.jsx("button",{type:"button",onClick:()=>c(O=>O+1),children:"重试"})]}):i===null?null:i.length>0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"login-sub",children:"登录以继续使用"}),l.jsx("div",{className:"login-providers",children:i.map(O=>l.jsxs("button",{className:"login-btn",onClick:()=>bTe(O.loginUrl),children:[Xxt(O.id),l.jsxs("span",{children:["使用 ",O.label," 登录"]})]},O.id))})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"login-sub",children:"输入一个用户名即可开始"}),l.jsxs("form",{className:"login-name",onSubmit:O=>{O.preventDefault(),g()},children:[l.jsx("input",{ref:f,className:"login-name-input",value:u,onChange:O=>d(O.target.value),placeholder:"用户名(字母 + 数字,最多 16 位)",maxLength:16}),l.jsx("button",{type:"submit",className:"login-name-go",disabled:!p,"aria-label":"进入",children:l.jsx(sx,{className:"icon"})})]}),l.jsx("p",{className:"login-hint","aria-live":"polite",children:u&&!p?"只能包含大小写字母和数字,最多 16 位。":""})]}),l.jsx("p",{className:"login-powered",children:Vxt[t]}),l.jsxs("p",{className:"login-legal",children:["继续即表示你已阅读并同意 AgentKit"," ",l.jsx("a",{href:qxt[t],target:"_blank",rel:"noreferrer",children:"产品和服务条款"})]})]})}),l.jsx("footer",{className:"login-footer",children:"© 2026 VeADK. All rights reserved."})]})}function Yxt({open:e,checking:t,error:n,onLogin:i}){const r=m.useRef(null);return m.useEffect(()=>{var a;if(!e)return;const s=document.body.style.overflow;return document.body.style.overflow="hidden",(a=r.current)==null||a.focus(),()=>{document.body.style.overflow=s}},[e]),e?zi.createPortal(l.jsx("div",{className:"auth-expired-backdrop",children:l.jsxs("section",{className:"auth-expired-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-expired-title","aria-describedby":"auth-expired-description",children:[l.jsx("div",{className:"auth-expired-mark","aria-hidden":"true",children:l.jsx(pte,{})}),l.jsxs("div",{className:"auth-expired-copy",children:[l.jsx("h2",{id:"auth-expired-title",children:"登录状态已过期"}),l.jsx("p",{id:"auth-expired-description",children:"当前编辑内容会保留。重新登录后,刚才的操作将自动继续。"}),n&&l.jsx("p",{className:"auth-expired-error",role:"alert",children:n})]}),l.jsx("footer",{className:"auth-expired-actions",children:l.jsx("button",{ref:r,type:"button",onClick:i,disabled:t,children:t?"等待登录完成…":"重新登录"})})]})}),document.body):null}const Gxt=[{value:"slow",label:"执行速度慢"},{value:"crash",label:"运行崩溃"},{value:"incorrect",label:"结果不准确"},{value:"tool_error",label:"工具调用失败"},{value:"other",label:"其他问题"}];function Wxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m7 7 10 10"}),l.jsx("path",{d:"m17 7-10 10"})]})}function Zxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function Kxt({onClose:e,onSubmit:t}){const n=m.useId(),i=m.useId(),r=m.useRef(null),s=m.useRef(null),a=m.useRef(!1),o=m.useRef(e),[c,u]=m.useState(()=>new Set),[d,f]=m.useState(""),[h,p]=m.useState(!1),[b,g]=m.useState(""),[O,y]=m.useState(!1);a.current=h,o.current=e,m.useEffect(()=>{var T;const E=document.body.style.overflow,S=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(T=s.current)==null||T.focus();const k=C=>{var B;if(C.key==="Escape"&&!a.current){C.preventDefault(),o.current();return}if(C.key!=="Tab")return;const A=Array.from(((B=r.current)==null?void 0:B.querySelectorAll("button:not(:disabled), textarea:not(:disabled)"))??[]);if(A.length===0)return;const R=A[0],P=A[A.length-1];C.shiftKey&&document.activeElement===R?(C.preventDefault(),P.focus()):!C.shiftKey&&document.activeElement===P&&(C.preventDefault(),R.focus())};return window.addEventListener("keydown",k),()=>{document.body.style.overflow=E,window.removeEventListener("keydown",k),S!=null&&S.isConnected&&S.focus()}},[]);const v=E=>{u(S=>{const k=new Set(S);return k.has(E)?k.delete(E):k.add(E),k})},x=async()=>{if(!(h||O)){p(!0),g("");try{await t({issues:[...c],description:d.trim()}),y(!0)}catch(E){g(E instanceof Error?E.message:String(E))}finally{p(!1)}}},w=c.size>0||d.trim().length>0;return zi.createPortal(l.jsx("div",{className:"issue-feedback-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&!h&&e()},children:l.jsxs("section",{ref:r,className:"issue-feedback-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":O?`${i}-success`:i,"aria-busy":h||void 0,children:[l.jsxs("header",{className:"issue-feedback-head",children:[l.jsx("h2",{id:n,children:"问题反馈"}),l.jsx("button",{type:"button",className:"issue-feedback-close",onClick:e,disabled:h,"aria-label":"关闭问题反馈",children:l.jsx(Wxt,{})})]}),O?l.jsxs("div",{className:"issue-feedback-success",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"issue-feedback-success-mark","aria-hidden":"true",children:l.jsx(Zxt,{})}),l.jsxs("div",{children:[l.jsx("h3",{children:"上报成功,感谢您的反馈"}),l.jsx("p",{id:`${i}-success`,children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):l.jsxs("div",{className:"issue-feedback-body",children:[l.jsx("p",{id:i,className:"issue-feedback-intro",children:"请选择遇到的问题,也可以补充具体表现。"}),l.jsx("p",{className:"issue-feedback-privacy",role:"alert",children:"您的对话数据将会上报到 AgentKit 团队,请注意隐私保护。"}),l.jsx("div",{className:"issue-feedback-chips","aria-label":"常见问题",children:Gxt.map(E=>l.jsx("button",{type:"button",className:"issue-feedback-chip","aria-pressed":c.has(E.value),onClick:()=>v(E.value),disabled:h,children:E.label},E.value))}),l.jsxs("label",{className:"issue-feedback-field",children:[l.jsx("span",{children:"问题描述"}),l.jsx("textarea",{ref:s,value:d,onChange:E=>f(E.target.value),placeholder:"请描述问题发生时的表现(选填)",maxLength:4e3,rows:5,disabled:h})]}),b&&l.jsx("p",{className:"issue-feedback-error",role:"alert",children:b})]}),l.jsx("footer",{className:"issue-feedback-actions",children:O?l.jsx("button",{type:"button",className:"is-primary",onClick:e,children:"完成"}):l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",onClick:e,disabled:h,children:"取消"}),l.jsx("button",{type:"button",className:"is-primary",onClick:()=>void x(),disabled:!w||h,children:h?"正在上报…":"提交反馈"})]})})]})}),document.body)}function Jxt(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),r=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(r),t&&(i.href=t),r.href=e,r.href}const e1t=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function lh(e){const t=[];for(let n=0,i=e.length;nCo||e.height>Co)&&(e.width>Co&&e.height>Co?e.width>e.height?(e.height*=Co/e.width,e.width=Co):(e.width*=Co/e.height,e.height=Co):e.width>Co?(e.height*=Co/e.width,e.width=Co):(e.width*=Co/e.height,e.height=Co))}function s1t(e,t={}){return e.toBlob?new Promise(n=>{e.toBlob(n,t.type?t.type:"image/png",t.quality?t.quality:1)}):new Promise(n=>{const i=window.atob(e.toDataURL(t.type?t.type:void 0,t.quality?t.quality:void 0).split(",")[1]),r=i.length,s=new Uint8Array(r);for(let a=0;a{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>t(i))})},i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function a1t(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function o1t(e,t,n){const i="http://www.w3.org/2000/svg",r=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return r.setAttribute("width",`${t}`),r.setAttribute("height",`${n}`),r.setAttribute("viewBox",`0 0 ${t} ${n}`),s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("x","0"),s.setAttribute("y","0"),s.setAttribute("externalResourcesRequired","true"),r.appendChild(s),s.appendChild(e),a1t(r)}const fo=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||fo(n,t)};function l1t(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function c1t(e,t){return D0e(t).map(n=>{const i=e.getPropertyValue(n),r=e.getPropertyPriority(n);return`${n}: ${i}${r?" !important":""};`}).join(" ")}function u1t(e,t,n,i){const r=`.${e}:${t}`,s=n.cssText?l1t(n):c1t(n,i);return document.createTextNode(`${r}{${s}}`)}function rW(e,t,n,i){const r=window.getComputedStyle(e,n),s=r.getPropertyValue("content");if(s===""||s==="none")return;const a=e1t();try{t.className=`${t.className} ${a}`}catch{return}const o=document.createElement("style");o.appendChild(u1t(a,n,r,i)),t.appendChild(o)}function d1t(e,t,n){rW(e,t,":before",n),rW(e,t,":after",n)}const sW="application/font-woff",aW="image/jpeg",f1t={woff:sW,woff2:sW,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:aW,jpeg:aW,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function h1t(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function nB(e){const t=h1t(e).toLowerCase();return f1t[t]||""}function p1t(e){return e.split(/,/)[1]}function dL(e){return e.search(/^(data:)/)!==-1}function m1t(e,t){return`data:${t};base64,${e}`}async function P0e(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const r=await i.blob();return new Promise((s,a)=>{const o=new FileReader;o.onerror=a,o.onloadend=()=>{try{s(n({res:i,result:o.result}))}catch(c){a(c)}},o.readAsDataURL(r)})}const BD={};function g1t(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function iB(e,t,n){const i=g1t(e,t,n.includeQueryParams);if(BD[i]!=null)return BD[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let r;try{const s=await P0e(e,n.fetchRequestInit,({res:a,result:o})=>(t||(t=a.headers.get("Content-Type")||""),p1t(o)));r=m1t(s,t)}catch(s){r=n.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;s&&(a=typeof s=="string"?s:s.message),a&&console.warn(a)}return BD[i]=r,r}async function b1t(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):V_(t)}async function O1t(e,t){if(e.currentSrc){const s=document.createElement("canvas"),a=s.getContext("2d");s.width=e.clientWidth,s.height=e.clientHeight,a==null||a.drawImage(e,0,0,s.width,s.height);const o=s.toDataURL();return V_(o)}const n=e.poster,i=nB(n),r=await iB(n,i,t);return V_(r)}async function y1t(e,t){var n;try{if(!((n=e==null?void 0:e.contentDocument)===null||n===void 0)&&n.body)return await pC(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function x1t(e,t){return fo(e,HTMLCanvasElement)?b1t(e):fo(e,HTMLVideoElement)?O1t(e,t):fo(e,HTMLIFrameElement)?y1t(e,t):e.cloneNode(M0e(e))}const v1t=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",M0e=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function w1t(e,t,n){var i,r;if(M0e(t))return t;let s=[];return v1t(e)&&e.assignedNodes?s=lh(e.assignedNodes()):fo(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?s=lh(e.contentDocument.body.childNodes):s=lh(((r=e.shadowRoot)!==null&&r!==void 0?r:e).childNodes),s.length===0||fo(e,HTMLVideoElement)||await s.reduce((a,o)=>a.then(()=>pC(o,n)).then(c=>{c&&t.appendChild(c)}),Promise.resolve()),t}function S1t(e,t,n){const i=t.style;if(!i)return;const r=window.getComputedStyle(e);r.cssText?(i.cssText=r.cssText,i.transformOrigin=r.transformOrigin):D0e(n).forEach(s=>{let a=r.getPropertyValue(s);s==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),fo(e,HTMLIFrameElement)&&s==="display"&&a==="inline"&&(a="block"),s==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),i.setProperty(s,a,r.getPropertyPriority(s))})}function E1t(e,t){fo(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),fo(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function k1t(e,t){if(fo(e,HTMLSelectElement)){const n=t,i=Array.from(n.children).find(r=>e.value===r.getAttribute("value"));i&&i.setAttribute("selected","")}}function T1t(e,t,n){return fo(t,Element)&&(S1t(e,t,n),d1t(e,t,n),E1t(e,t),k1t(e,t)),t}async function _1t(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let s=0;sx1t(i,t)).then(i=>w1t(e,i,t)).then(i=>T1t(e,i,t)).then(i=>_1t(i,t))}const L0e=/url\((['"]?)([^'"]+?)\1\)/g,A1t=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,C1t=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function N1t(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function j1t(e){const t=[];return e.replace(L0e,(n,i,r)=>(t.push(r),n)),t.filter(n=>!dL(n))}async function R1t(e,t,n,i,r){try{const s=n?Jxt(t,n):t,a=nB(t);let o;return r||(o=await iB(s,a,i)),e.replace(N1t(t),`$1${o}$3`)}catch{}return e}function D1t(e,{preferredFontFormat:t}){return t?e.replace(C1t,n=>{for(;;){const[i,,r]=A1t.exec(n)||[];if(!r)return"";if(r===t)return`src: ${i};`}}):e}function $0e(e){return e.search(L0e)!==-1}async function Q0e(e,t,n){if(!$0e(e))return e;const i=D1t(e,n);return j1t(i).reduce((s,a)=>s.then(o=>R1t(o,a,t,n)),Promise.resolve(i))}async function Og(e,t,n){var i;const r=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(r){const s=await Q0e(r,null,n);return t.style.setProperty(e,s,t.style.getPropertyPriority(e)),!0}return!1}async function I1t(e,t){await Og("background",e,t)||await Og("background-image",e,t),await Og("mask",e,t)||await Og("-webkit-mask",e,t)||await Og("mask-image",e,t)||await Og("-webkit-mask-image",e,t)}async function P1t(e,t){const n=fo(e,HTMLImageElement);if(!(n&&!dL(e.src))&&!(fo(e,SVGImageElement)&&!dL(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,r=await iB(i,nB(i),t);await new Promise((s,a)=>{e.onload=s,e.onerror=t.onImageErrorHandler?(...c)=>{try{s(t.onImageErrorHandler(...c))}catch(u){a(u)}}:a;const o=e;o.decode&&(o.decode=s),o.loading==="lazy"&&(o.loading="eager"),n?(e.srcset="",e.src=r):e.href.baseVal=r})}async function M1t(e,t){const i=lh(e.childNodes).map(r=>B0e(r,t));await Promise.all(i).then(()=>e)}async function B0e(e,t){fo(e,Element)&&(await I1t(e,t),await P1t(e,t),await M1t(e,t))}function L1t(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(r=>{n[r]=i[r]}),e}const oW={};async function lW(e){let t=oW[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},oW[e]=t,t}async function cW(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,s=(n.match(/url\([^)]+\)/g)||[]).map(async a=>{let o=a.replace(i,"$1");return o.startsWith("https://")||(o=new URL(o,e.url).href),P0e(o,t.fetchRequestInit,({result:c})=>(n=n.replace(a,`url(${c})`),[a,c]))});return Promise.all(s).then(()=>n)}function uW(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const r=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const c=r.exec(i);if(c===null)break;t.push(c[0])}i=i.replace(r,"");const s=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",o=new RegExp(a,"gi");for(;;){let c=s.exec(i);if(c===null){if(c=o.exec(i),c===null)break;s.lastIndex=o.lastIndex}else o.lastIndex=s.lastIndex;t.push(c[0])}return t}async function $1t(e,t){const n=[],i=[];return e.forEach(r=>{if("cssRules"in r)try{lh(r.cssRules||[]).forEach((s,a)=>{if(s.type===CSSRule.IMPORT_RULE){let o=a+1;const c=s.href,u=lW(c).then(d=>cW(d,t)).then(d=>uW(d).forEach(f=>{try{r.insertRule(f,f.startsWith("@import")?o+=1:r.cssRules.length)}catch(h){console.error("Error inserting rule from remote css",{rule:f,error:h})}})).catch(d=>{console.error("Error loading remote css",d.toString())});i.push(u)}})}catch(s){const a=e.find(o=>o.href==null)||document.styleSheets[0];r.href!=null&&i.push(lW(r.href).then(o=>cW(o,t)).then(o=>uW(o).forEach(c=>{a.insertRule(c,a.cssRules.length)})).catch(o=>{console.error("Error loading remote stylesheet",o)})),console.error("Error inlining remote css file",s)}}),Promise.all(i).then(()=>(e.forEach(r=>{if("cssRules"in r)try{lh(r.cssRules||[]).forEach(s=>{n.push(s)})}catch(s){console.error(`Error while reading CSS rules from ${r.href}`,s)}}),n))}function Q1t(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>$0e(t.style.getPropertyValue("src")))}async function B1t(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=lh(e.ownerDocument.styleSheets),i=await $1t(n,t);return Q1t(i)}function F0e(e){return e.trim().replace(/["']/g,"")}function F1t(e){const t=new Set;function n(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(s=>{t.add(F0e(s))}),Array.from(i.children).forEach(s=>{s instanceof HTMLElement&&n(s)})}return n(e),t}async function U1t(e,t){const n=await B1t(e,t),i=F1t(e);return(await Promise.all(n.filter(s=>i.has(F0e(s.style.fontFamily))).map(s=>{const a=s.parentStyleSheet?s.parentStyleSheet.href:null;return Q0e(s.cssText,a,t)}))).join(` -`)}async function z1t(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await U1t(e,t);if(n){const i=document.createElement("style"),r=document.createTextNode(n);i.appendChild(r),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function V1t(e,t={}){const{width:n,height:i}=I0e(e,t),r=await pC(e,t,!0);return await z1t(r,t),await B0e(r,t),L1t(r,t),await o1t(r,n,i)}async function q1t(e,t={}){const{width:n,height:i}=I0e(e,t),r=await V1t(e,t),s=await V_(r),a=document.createElement("canvas"),o=a.getContext("2d"),c=t.pixelRatio||i1t(),u=t.canvasWidth||n,d=t.canvasHeight||i;return a.width=u*c,a.height=d*c,t.skipAutoScale||r1t(a),a.style.width=`${u}`,a.style.height=`${d}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(s,0,0,a.width,a.height),a}async function X1t(e,t={}){const n=await q1t(e,t);return await s1t(n)}const H1t=16384,Y1t=32e6;function G1t(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m7 7 10 10"}),l.jsx("path",{d:"m17 7-10 10"})]})}function W1t(){const e=getComputedStyle(document.documentElement).getPropertyValue("--background").trim();return e?`hsl(${e})`:"white"}function Z1t(e,t){const n=Math.min(Math.max(window.devicePixelRatio||1,1),2),i=H1t/Math.max(e,t),r=Math.sqrt(Y1t/Math.max(e*t,1));return Math.min(n,i,r)}function K1t(e){const t=e.closest(".transcript");if(!t)return[e];const n=Array.from(t.children).filter(r=>r instanceof HTMLElement&&r.matches(".turn--user, .turn--assistant")),i=n.indexOf(e);return i>=0?n.slice(0,i+1):[e]}function J1t(e){const t=document.createElement("section");t.className="share-message-export",t.setAttribute("aria-hidden","true");for(const i of K1t(e)){const r=i.cloneNode(!0);r.removeAttribute("data-share-message-source"),r.classList.remove("is-feedback-target"),r.style.opacity="1",r.style.transform="none",r.style.animation="none",r.querySelectorAll("[data-share-image-exclude]").forEach(s=>s.remove()),t.append(r)}const n=document.createElement("p");return n.className="share-message-export-note",n.textContent="上述会话由 AgentKit Studio 导出,仅供参考",t.append(n),document.body.append(t),t}async function evt(e){var n;(n=document.fonts)!=null&&n.ready&&await document.fonts.ready;const t=J1t(e);try{const i=Math.ceil(t.scrollWidth),r=Math.ceil(t.scrollHeight),s=Z1t(i,r);if(s<.2)throw new Error("当前会话过长,暂时无法生成单张图片。");const a=await X1t(t,{width:i,height:r,pixelRatio:s,backgroundColor:W1t(),cacheBust:!0,style:{position:"static",top:"auto",left:"auto",width:`${i}px`,height:`${r}px`,margin:"0",overflow:"visible",animation:"none"}});if(!a)throw new Error("图片生成失败,请重试。");return a}finally{t.remove()}}function tvt(){return`agentkit-conversation-${new Date().toISOString().replace(/[:.]/g,"-")}.png`}function nvt({targetTurn:e,onClose:t}){const n=m.useId(),i=m.useId(),r=m.useRef(null),s=m.useRef(null),a=m.useRef(t),o=m.useRef(void 0),[c,u]=m.useState("generating"),[d,f]=m.useState(0),[h,p]=m.useState(null),[b,g]=m.useState(""),[O,y]=m.useState(""),[v,x]=m.useState("idle");a.current=t,m.useEffect(()=>{var C;const S=document.body.style.overflow,k=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(C=s.current)==null||C.focus();const T=A=>{var I;if(A.key==="Escape"){A.preventDefault(),a.current();return}if(A.key!=="Tab")return;const R=Array.from(((I=r.current)==null?void 0:I.querySelectorAll("button:not(:disabled)"))??[]);if(R.length===0)return;const P=R[0],B=R[R.length-1];A.shiftKey&&document.activeElement===P?(A.preventDefault(),B.focus()):!A.shiftKey&&document.activeElement===B&&(A.preventDefault(),P.focus())};return window.addEventListener("keydown",T),()=>{document.body.style.overflow=S,window.removeEventListener("keydown",T),o.current!==void 0&&window.clearTimeout(o.current),k!=null&&k.isConnected&&k.focus()}},[]),m.useEffect(()=>{let S=!1,k="";return u("generating"),p(null),g(""),y(""),x("idle"),evt(e).then(T=>{if(k=URL.createObjectURL(T),S){URL.revokeObjectURL(k);return}p(T),g(k),u("ready")}).catch(T=>{S||(u("error"),y(T instanceof Error?T.message:String(T)))}),()=>{S=!0,k&&URL.revokeObjectURL(k)}},[d,e]);const w=async()=>{var S;if(!(!h||v==="copying")){x("copying"),y("");try{if(!((S=navigator.clipboard)!=null&&S.write)||typeof ClipboardItem>"u")throw new Error("当前浏览器不支持复制图片,请下载后使用。");await navigator.clipboard.write([new ClipboardItem({"image/png":h})]),x("copied"),o.current=window.setTimeout(()=>x("idle"),1500)}catch(k){x("idle"),y(k instanceof Error?k.message:String(k))}}},E=()=>{if(!h)return;const S=URL.createObjectURL(h),k=document.createElement("a");k.href=S,k.download=tvt(),k.style.display="none",document.body.append(k),k.click(),k.remove(),window.setTimeout(()=>URL.revokeObjectURL(S),1e3)};return zi.createPortal(l.jsx("div",{className:"share-message-backdrop",onMouseDown:S=>{S.target===S.currentTarget&&t()},children:l.jsxs("section",{ref:r,className:"share-message-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":i,"aria-busy":c==="generating",children:[l.jsxs("header",{className:"share-message-head",children:[l.jsxs("div",{children:[l.jsx("h2",{id:n,children:"分享为图片"}),l.jsx("p",{id:i,children:"包含截至当前回复的全部输入与输出。"})]}),l.jsx("button",{ref:s,type:"button",className:"share-message-close","aria-label":"关闭",title:"关闭",onClick:t,children:l.jsx(G1t,{})})]}),l.jsxs("div",{className:"share-message-body",children:[c==="generating"?l.jsx("div",{className:"share-message-generating",role:"status",children:l.jsx(Ln,{children:"正在生成图片…"})}):c==="error"?l.jsxs("div",{className:"share-message-failure",children:[l.jsx("p",{role:"alert",children:O||"图片生成失败,请重试。"}),l.jsx("button",{type:"button",onClick:()=>f(S=>S+1),children:"重试生成"})]}):l.jsx("div",{className:"share-message-preview",children:l.jsx("img",{src:b,alt:"会话记录分享图片预览"})}),c!=="error"&&O&&l.jsx("p",{className:"share-message-error",role:"alert",children:O})]}),l.jsxs("footer",{className:"share-message-actions",children:[l.jsx("button",{type:"button",onClick:t,children:"取消"}),l.jsx("button",{type:"button",onClick:E,disabled:!h||c!=="ready",children:"下载 PNG"}),l.jsx("button",{type:"button",className:"is-primary",onClick:()=>void w(),disabled:!h||c!=="ready"||v==="copying",children:v==="copying"?"正在复制…":v==="copied"?"已复制":"复制图片"})]})]})}),document.body)}const ivt=(e,t)=>{const n=e.currentTarget,i={x:e.clientX,y:e.clientY},r=rvt(i,n.getBoundingClientRect()),s=svt(i,r),a=avt(t.getBoundingClientRect());return lvt([...s,...a])};function rvt(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,i,r,s)){case s:return"left";case r:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function svt(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}function avt(e){const{top:t,right:n,bottom:i,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:i},{x:r,y:i}]}function ovt(e,t){const{x:n,y:i}=e;let r=!1;for(let s=0,a=t.length-1;si!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=!r)}return r}function lvt(e){const t=e.slice();return t.sort((n,i)=>n.xi.x?1:n.yi.y?1:0),cvt(t)}function cvt(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const r=e[i];for(;n.length>=2;){const s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}const uvt="_Transition_1wdpp_1",dvt="_Popover_1wdpp_3",U0e={Transition:uvt,Popover:dvt},z0e=m.createContext(null),mC=()=>{const e=m.use(z0e);if(!e)throw new Error("Popover components must be wrapped in ");return e},Ix=({open:e,onOpenChange:t,showOnHover:n=!1,hoverOpenDelay:i=150,children:r})=>{const[s,a]=m.useState(!1),[o,c]=m.useState(!1),u=m.useRef(null),d=m.useRef(null),f=m.useRef(void 0),h=m.useRef(!1),p=m.useRef(!1),b=e??s,[g,O]=m.useState(!1);Z$(()=>O(!1),g?500:null);const y=cM(t),v=cM(k=>{var T,C;clearTimeout(f.current),b!==k&&(k||(c(!1),n&&h.current&&((T=u.current)==null||T.focus()),h.current=!1),(C=y.current)==null||C.call(y,k),a(k),n&&O(k))}),x=m.useCallback(k=>{v.current(k)},[v]),w=m.useCallback(()=>{f.current=setTimeout(()=>x(!0),i)},[x,i]),E=m.useCallback(()=>{clearTimeout(f.current)},[]);m.useEffect(()=>()=>{clearTimeout(f.current)},[]);const S=m.useMemo(()=>({open:b,setOpen:x,shake:o,setShake:c,showOnHover:n,temporarilyPreventClickToClose:g,onTriggerEnter:w,onTriggerLeave:E,isPointerInTransitRef:p,triggerRef:u,contentRef:d,hoverOpenFocusedWithTab:h}),[b,x,o,c,n,g,h,p,w,E]);return l.jsx(z0e,{value:S,children:l.jsx(A6e,{open:b,onOpenChange:x,modal:!1,children:r})})},fvt=({children:e,onPointerDown:t,onClick:n})=>{const{setOpen:i,showOnHover:r,temporarilyPreventClickToClose:s,onTriggerEnter:a,onTriggerLeave:o,isPointerInTransitRef:c,triggerRef:u,contentRef:d}=mC(),f=m.useRef(!1),h=g=>{!(g.currentTarget.nodeName.toLocaleLowerCase()==="a")&&s&&(g.preventDefault(),g.stopPropagation())},p=g=>{g.pointerType!=="touch"&&!f.current&&!c.current&&(a(),f.current=!0)},b=()=>{f.current&&(o(),f.current=!1)};return l.jsx(C6e,{asChild:!0,ref:u,onPointerDown:g=>{h(g),t==null||t(g)},onClick:g=>{h(g),n==null||n(g)},onPointerMove:r?p:void 0,onPointerLeave:r?b:void 0,onFocus:r?()=>i(!0):void 0,onBlur:r?()=>{setTimeout(()=>{var g;(g=d.current)!=null&&g.contains(document.activeElement)||i(!1)},50)}:void 0,children:e})},V0e=({children:e,avoidCollisions:t,width:n,minWidth:i,maxWidth:r,side:s,sideOffset:a=8,align:o,alignOffset:c,translucent:u,className:d,autoFocus:f=!0})=>{const{showOnHover:h,shake:p,contentRef:b}=mC(),g=O=>{const y=b.current;if(y&&O.target===y&&O.key==="Tab"&&O.shiftKey){O.preventDefault(),O.stopPropagation();const v=bse(y),x=v[v.length-1];x==null||x.focus()}};return m.useEffect(()=>{const O=b.current;!O||!f||O!=null&&O.contains(document.activeElement)||h||O.focus({preventScroll:!0})},[b,h,f]),l.jsx(j6e,{forceMount:!0,ref:b,className:ia(U0e.Popover,d),style:G$({"popover-width":n,"popover-min-width":i,"popover-max-width":r}),onCloseAutoFocus:h?KE:void 0,"data-animate":p?"shake":void 0,"data-translucent":u?"true":void 0,side:s,sideOffset:a,align:o,alignOffset:c??(o==="center"?0:-5),avoidCollisions:t??!0,hideWhenDetached:!0,collisionPadding:20,onOpenAutoFocus:KE,onEscapeKeyDown:KE,onKeyDown:g,children:e})},hvt=e=>{const{setOpen:t,triggerRef:n,contentRef:i,isPointerInTransitRef:r,hoverOpenFocusedWithTab:s}=mC(),[a,o]=m.useState(null),c=m.useCallback(()=>{o(null),r.current=!1},[r]),u=m.useCallback((d,f)=>{const h=ivt(d,f);o(h),r.current=!0},[r]);return m.useEffect(()=>()=>c(),[c]),m.useEffect(()=>{const d=n.current,f=i.current;if(!d||!f)return;const h=b=>u(b,f),p=b=>u(b,d);return d.addEventListener("pointerleave",h),f.addEventListener("pointerleave",p),()=>{d.removeEventListener("pointerleave",h),f.removeEventListener("pointerleave",p)}},[i,n,u,c]),m.useEffect(()=>{if(!a)return;const d=f=>{const h=n.current,p=i.current,b=f.target,g={x:f.clientX,y:f.clientY},O=(h==null?void 0:h.contains(b))||(p==null?void 0:p.contains(b)),y=!ovt(g,a),v=b.hasAttribute("aria-haspopup");O?c():(y||v)&&(c(),t(!1))};return document.addEventListener("pointermove",d),()=>document.removeEventListener("pointermove",d)},[a,t,c,n,i]),m.useEffect(()=>{const d=f=>{if(i.current&&f.key==="Tab"&&!f.shiftKey){const[h]=bse(i.current);h&&(f.preventDefault(),h.focus(),s.current=!0,document.removeEventListener("keydown",d))}};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[i,s]),l.jsx(V0e,{...e})},pvt=e=>{const{open:t,showOnHover:n,setOpen:i}=mC();return hoe(t,()=>{i(!1)}),l.jsx(N6e,{forceMount:!0,children:l.jsx(xse,{enterDuration:600,exitDuration:300,className:U0e.Transition,disableAnimations:!0,children:t&&(n?l.jsx(hvt,{...e},"popover-hover"):l.jsx(V0e,{...e},"popover"))})})};Ix.Trigger=fvt;Ix.Content=pvt;const mvt="_Container_13560_1",gvt="_Textarea_13560_174",dW={Container:mvt,Textarea:gvt},bvt=e=>{const t=m.useRef(null),i=`search-ui-input-${m.useId()}`,{id:r,name:s,variant:a="outline",size:o="md",gutterSize:c,className:u,autoComplete:d,disabled:f=!1,readOnly:h=!1,invalid:p=!1,allowAutofillExtensions:b=!!s,onFocus:g,onBlur:O,onAnimationStart:y,onAutofill:v,autoSelect:x,rows:w=3,maxRows:E,autoResize:S,ref:k,onChange:T,...C}=e,[A,R]=m.useState(!1),P=S?Math.max(E??10,w):w;m.useEffect(()=>{var $;x&&(($=t.current)==null||$.select())},[x]);const B=$=>{y==null||y($),$.animationName==="native-autofill-in"&&(v==null||v())},I=m.useCallback(()=>{if(!S||!t.current||P===void 0)return;t.current.style.height="0px";const $=t.current.scrollHeight;t.current.style.height=$+"px"},[S,P]);return m.useEffect(()=>{I()},[e.value,w,I]),l.jsx("div",{className:ia(dW.Container,u),"data-variant":a,"data-size":o,"data-gutter-size":c,"data-focused":A,"data-disabled":f?"":void 0,"data-readonly":h?"":void 0,"data-invalid":p?"":void 0,style:G$({"textarea-min-rows":`${w}`,"textarea-max-rows":`${P}`}),children:l.jsx("textarea",{...C,onChange:$=>{T==null||T($),I()},ref:Ose([t,k]),id:r||(b?void 0:i),className:dW.Textarea,name:s,readOnly:h,disabled:f,rows:w,onFocus:$=>{R(!0),g==null||g($)},onBlur:$=>{R(!1),O==null||O($)},onAnimationStart:B,"data-lpignore":b?void 0:!0,"data-1p-ignore":b?void 0:!0})})},Ovt=2e3,yvt=700,q0e=1200;function rB(e,t){const n=Array.from(e);return n.length<=t?e:`${n.slice(0,t-1).join("").trimEnd()}…`}function X0e(e){return rB(e.trim(),yvt)}function H0e(e){return rB(e,q0e)}function fW(e){return e.trim().length>0}function xvt(e,t){const n=X0e(e),i=H0e(t.trim());return rB(`选中片段:${n} +`);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let r=1;r=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function Dbt(...e){var t;for(const n of e){const i=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(i)return i.slice(0,64)}return"local-skill"}function Pbt(e,t){return t.trim()||e}function _0e(e){const t=e.map(i=>({path:i.path.replace(/\\/g,"/").replace(/^\.\//,""),text:i.text})).filter(i=>i.path.length>0&&!i.path.endsWith("/")),n=new Set(t.map(i=>i.path.split("/")[0]));if(n.size===1&&t.every(i=>i.path.includes("/"))){const i=[...n][0]+"/";return t.map(r=>({path:r.path.slice(i.length),text:r.text}))}return t}function Mbt(e){const t=new Map,n=new Set;for(const i of e)if(d5.test("/"+i.path)){const r=i.path.split("/");n.add(r.slice(0,-1).join("/"))}for(const i of e){const r=i.path.split("/");let s="";for(let u=r.length-1;u>=0;u--){const d=r.slice(0,u).join("/");if(n.has(d)){s=d;break}}const a=d5.test("/"+i.path);if(!s&&!a&&!n.has("")||!n.has(s)&&!a)continue;const o=s?i.path.slice(s.length+1):i.path,c=t.get(s)||[];c.push({path:o,text:i.text}),t.set(s,c)}return t}function Lbt(e,t,n){const i=`${n}${e?"/"+e:""}`,r=t.find(c=>d5.test("/"+c.path));if(!r)return{hit:null,error:`${i} 缺少 SKILL.md`};const s=Rbt(r.text),a=Dbt(s.name,e,n.replace(/\.[^.]+$/,"")),o=[];for(const c of t){if(c.path.split("/").some(f=>f===".."))return{hit:null,error:`${i} 包含非法路径(..):${c.path}`};const d=`skills/${a}/${c.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${i} 包含非法路径:${c.path}`};o.push({path:d,content:c.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:Pbt(a,s.name),description:s.description||"本地 Skill",folder:a,localFiles:o},error:null}}async function $bt(e){const t=new Uint8Array(await e.arrayBuffer()),i=(await T0e(t)).map(r=>({path:r.name,text:r.text}));return A0e(_0e(i),e.name)}async function Qbt(e,t=new Map){const n=[];for(let i=0;ie.file(t,n))}async function Fbt(e){const t=e.createReader(),n=[];for(;;){const i=await new Promise((r,s)=>t.readEntries(r,s));if(i.length===0)return n;n.push(...i)}}async function C0e(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await Bbt(e),path:n}];if(!e.isDirectory)return[];const i=await Fbt(e);return(await Promise.all(i.map(r=>C0e(r,n)))).flat()}function Ubt({selected:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState([]),[a,o]=m.useState(!1),[c,u]=m.useState(!1),d=m.useRef(0),f=x=>e.some(w=>w.source==="local"&&w.folder===x),h=x=>{x.localFiles&&(f(x.folder||x.name)?t(e.filter(w=>!(w.source==="local"&&w.folder===(x.folder||x.name)))):t([...e,{source:"local",folder:x.folder||x.name,name:x.name,description:x.description,localFiles:x.localFiles}]))},p=m.useRef([]),b=m.useRef(e);m.useEffect(()=>{p.current=r},[r]),m.useEffect(()=>{b.current=e},[e]);const g=x=>{const w=new Set([...p.current.map(T=>T.folder||T.name),...b.current.filter(T=>T.source==="local").map(T=>T.folder)]),E=[],S=[];for(const T of x.hits){const C=T.folder||T.name;if(w.has(C)){E.push(T.name);continue}w.add(C),S.push(T)}s(T=>[...T,...S]);const k=[...x.errors];if(E.length>0&&k.push(`已跳过重复技能:${E.join("、")}`),i(k),S.length===1&&x.errors.length===0&&E.length===0){const T=S[0];T.localFiles&&t([...b.current,{source:"local",folder:T.folder||T.name,name:T.name,description:T.description,localFiles:T.localFiles}])}},O=x=>{x.preventDefault(),d.current+=1,u(!0)},y=x=>{x.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},v=async x=>{if(x.preventDefault(),d.current=0,u(!1),a)return;const w=Array.from(x.dataTransfer.items).map(E=>{var S;return(S=E.webkitGetAsEntry)==null?void 0:S.call(E)}).filter(E=>E!==null);if(w.length===0){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}o(!0);try{const E=(await Promise.all(w.map(T=>C0e(T)))).flat(),S=w.some(T=>T.isDirectory);if(!S&&E.length===1&&E[0].file.name.toLowerCase().endsWith(".zip")){g(await $bt(E[0].file));return}if(!S){i(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const k=new Map(E.map(({file:T,path:C})=>[T,C]));g(await Qbt(E.map(({file:T})=>T),k))}catch(E){i([`读取失败:${E instanceof Error?E.message:String(E)}`])}finally{o(!1)}};return l.jsxs("div",{className:"cw-local",children:[l.jsxs("div",{className:`cw-local-dropzone ${c?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:O,onDragOver:x=>x.preventDefault(),onDragLeave:y,onDrop:x=>void v(x),children:[l.jsx(s$,{className:"cw-local-drop-icon","aria-hidden":!0}),l.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),l.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&l.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&l.jsxs("div",{className:"cw-banner",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:n.join(";")})]}),r.length>0&&l.jsx("div",{className:"cw-skill-results",children:r.map(x=>{var E;const w=f(x.folder||x.name);return l.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>h(x),"aria-pressed":w,children:[l.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?l.jsx(Nu,{className:"cw-i cw-i-sm"}):l.jsx(wa,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-skill-result-meta",children:[l.jsx("span",{className:"cw-skill-result-name",children:x.name}),x.description&&l.jsx("span",{className:"cw-skill-result-desc",children:fv(x.description)}),l.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((E=x.localFiles)==null?void 0:E.length)??0," 个文件"]})]})]},x.id)})})]})}function zbt({selected:e,onChange:t,cloudProvider:n="volcengine"}){const[i,r]=m.useState([]),[s,a]=m.useState([]),[o,c]=m.useState(""),[u,d]=m.useState(!0),[f,h]=m.useState(!1),[p,b]=m.useState(null);m.useEffect(()=>{let x=!1;return(async()=>{d(!0),b(null);try{const w=await i4();x||(r(w),w.length>0&&c(w[0].id))}catch(w){x||b(w instanceof Error?w.message:"加载失败")}finally{x||d(!1)}})(),()=>{x=!0}},[]),m.useEffect(()=>{if(!o){a([]);return}const x=i.find(E=>E.id===o);let w=!1;return(async()=>{h(!0),b(null);try{const E=await r4(o,x==null?void 0:x.region);w||a(E)}catch(E){w||b(E instanceof Error?E.message:"加载失败")}finally{w||h(!1)}})(),()=>{w=!0}},[o,i]);const g=i.find(x=>x.id===o),O=g?r5e(g.id,g.region,n):"",y=(x,w)=>e.some(E=>E.source==="skillspace"&&E.skillId===x&&(E.version||"")===w),v=x=>{if(g)if(y(x.skillId,x.version))t(e.filter(w=>!(w.source==="skillspace"&&w.skillId===x.skillId&&(w.version||"")===x.version)));else{const w=i5e(g,x);t([...e,{source:"skillspace",folder:w.folder||x.skillName,name:w.name,description:w.description,skillSpaceId:w.skillSpaceId,skillSpaceName:w.skillSpaceName,skillSpaceRegion:w.skillSpaceRegion,skillId:w.skillId,version:w.version}])}};return l.jsx("div",{className:"cw-skillspace",children:u?l.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[l.jsx(Hn,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):p?l.jsxs("div",{className:"cw-banner",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:p})]}):i.length===0?l.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"cw-skillspace-header",children:[l.jsx("select",{className:"cw-input cw-skillspace-select",value:o,onChange:x=>c(x.target.value),"aria-label":"选择 AgentKit Skills 中心",children:i.map(x=>l.jsxs("option",{value:x.id,children:[x.name||x.id,x.description?` — ${fv(x.description)}`:""]},x.id))}),g&&l.jsxs(l.Fragment,{children:[g.region&&l.jsx("span",{className:"cw-skillspace-region-label",title:g.region,children:wu(g.region,n)}),O&&l.jsx("a",{href:O,target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:l.jsx(ab,{className:"cw-i cw-i-sm"})})]})]}),f?l.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[l.jsx(Hn,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):s.length===0?l.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):l.jsx("div",{className:"cw-skill-results",children:s.map(x=>{const w=y(x.skillId,x.version);return l.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>v(x),"aria-pressed":w,children:[l.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?l.jsx(Nu,{className:"cw-i cw-i-sm"}):l.jsx(wa,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-skill-result-meta",children:[l.jsxs("span",{className:"cw-skill-result-name",children:[x.skillName,x.version&&l.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",x.version]})]}),x.skillDescription&&l.jsx("span",{className:"cw-skill-result-desc",children:fv(x.skillDescription)}),l.jsxs("span",{className:"cw-skill-result-repo",children:[l.jsx(Jke,{className:"cw-i cw-i-sm"})," ",(g==null?void 0:g.name)||o]})]})]},`${x.skillId}/${x.version}`)})})]})})}const Vbt="_Badge_1viyg_1",qbt={Badge:Vbt},rB=({children:e,className:t,variant:n="soft",color:i="secondary",size:r="sm",pill:s,...a})=>l.jsx("div",{className:la(qbt.Badge,t),"data-color":i,"data-size":r,"data-pill":s?"":void 0,"data-variant":n,...a,children:a4(e)}),Xbt="data:image/svg+xml,%3c?xml%20version='1.0'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20100%20100'%3e%3ctitle%3ePandoc%20Icon%3c/title%3e%3cdesc%20property='dc:creator'%3eAlbert%20Krewinkel%3c/desc%3e%3cmetadata%20id='license'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3ccc:license%20rdf:resource='http://creativecommons.org/licenses/by-sa/4.0/'%20/%3e%3c/cc:Work%3e%3ccc:License%20rdf:about='http://creativecommons.org/licenses/by-sa/4.0/'%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23Reproduction'%20/%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23Distribution'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23Notice'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23Attribution'%20/%3e%3ccc:permits%20rdf:resource='http://creativecommons.org/ns%23DerivativeWorks'%20/%3e%3ccc:requires%20rdf:resource='http://creativecommons.org/ns%23ShareAlike'%20/%3e%3c/cc:License%3e%3c/rdf:RDF%3e%3c/metadata%3e%3crect%20fill='%23fed'%20stroke='%23fed'%20width='100'%20height='100'/%3e%3cg%20fill='none'%20stroke='%234093da'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='8'%20transform='skewX(-6)%20translate(8%201)'%3e%3cpath%20d='M%2030,10%20l%200,80%20M%2045,10%20l%200,80%20M%2020,10%20l%2040,0%20l%2018,18%20l%200,25%20l%20-33,0'%20/%3e%3cpath%20fill='%234093da'%20stroke-width='6'%20d='M%2061,10%20l%2017,17%20l%20-17,0%20l%200,-17'%20/%3e%3c/g%3e%3c/svg%3e",Hbt={volcengine:"agentkit-prod-public-cn-beijing.cr.volces.com/base/py-simple:python3.12-bookworm-slim-latest",byteplus:"agentkit-prod-public-ap-southeast-1.cr.bytepluses.com/base/py-simple:python3.12-bookworm-slim-latest"},DY="1.0.87",Gbt={amd64:"6027b1ddc12440400581bbdf9554850d8e119c7dd400439b1220e7a87b9673c5",arm64:"fade9a22d363172a9c18a8287c99c80d6d106a2900f3fce4015e4e156c5fc776"},xy="2.97.0",Ybt={amd64:"a2c9b8497e1f85b1ad0dfcb78b5a622e098801b8e461e459e88e1ee12f018112",arm64:"73ea440ecad9c9e284429997ee6f93577bc6f7bc6fba357ef62c53ad8fb641a5"};function PY(e){const t=e.downloadUrls.map(n=>`"${n}"`).join(" ");return["RUN set -eux; \\",' arch="${TARGETARCH:-$(dpkg --print-architecture)}"; \\',' case "$arch" in \\',` amd64) checksum="${e.checksums.amd64}" ;; \\`,` arm64) checksum="${e.checksums.arm64}" ;; \\`,' *) echo "Unsupported architecture: $arch" >&2; exit 1 ;; \\'," esac; \\",` asset="${e.assetName}"; \\`," downloaded=0; \\",` for base_url in ${t}; do \\`,` if curl -fLSs --connect-timeout 10 --max-time 180 --retry 1 --retry-delay 1 -o "/tmp/\${asset}" "\${base_url}/v${e.version}/\${asset}"; then downloaded=1; break; fi; \\`," done; \\",' test "$downloaded" = 1; \\',' echo "${checksum} /tmp/${asset}" | sha256sum -c -; \\',` tar -xzf "/tmp/\${asset}" -C /tmp "${e.archiveMember}"; \\`,` install -m 0755 "${e.installSource}" "/usr/local/bin/${e.binaryName}"; \\`,` rm -rf "/tmp/\${asset}" "${e.cleanupSource}"`].join(` +`)}function MY(e,t){const n=`https://github.com/${t}/releases/download`,i=`https://ghfast.top/${n}`;return e==="volcengine"?[i,n]:[n,i]}function Wbt(e,t){const n=new Set(t),i=["ca-certificates","curl"];n.has("github-cli")&&i.push("git"),n.has("pandoc")&&i.push("pandoc");const r=[`FROM ${Hbt[e]}`,"","# Configure AgentKit runtime defaults.","ENV UV_SYSTEM_PYTHON=1 UV_COMPILE_BYTECODE=1 PYTHONUNBUFFERED=1 DOCKER_CONTAINER=1","ARG TARGETARCH","","# Install system dependencies required by the selected tools.",`RUN apt-get update && apt-get install -y --no-install-recommends ${i.join(" ")} && rm -rf /var/lib/apt/lists/*`];return n.has("lark-cli")&&r.push("","# Install Lark CLI from the official release archive.",PY({assetName:`lark-cli-${DY}-linux-\${arch}.tar.gz`,version:DY,checksums:Gbt,downloadUrls:MY(e,"larksuite/cli"),archiveMember:"lark-cli",installSource:"/tmp/lark-cli",cleanupSource:"/tmp/lark-cli",binaryName:"lark-cli"})),n.has("github-cli")&&r.push("","# Install GitHub CLI (gh) from the official release archive.",PY({assetName:`gh_${xy}_linux_\${arch}.tar.gz`,version:xy,checksums:Ybt,downloadUrls:MY(e,"cli/cli"),archiveMember:`gh_${xy}_linux_\${arch}/bin/gh`,installSource:`/tmp/gh_${xy}_linux_\${arch}/bin/gh`,cleanupSource:`/tmp/gh_${xy}_linux_\${arch}`,binaryName:"gh"})),r.push("","# Install Python dependencies before copying the source for better layer caching.","COPY requirements.txt requirements.txt","RUN uv pip install -r requirements.txt","","# Copy the Agent application and configure its runtime entrypoint.","EXPOSE 8000","","WORKDIR /app","COPY . .","",'CMD ["python", "-m", "app"]',""),r.join(` +`)}const N0e={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function LY(e){return l.jsxs("svg",{...N0e,...e,children:[l.jsx("path",{d:"M5 19h3.2L18.6 8.6a1.7 1.7 0 0 0 0-2.4l-.8-.8a1.7 1.7 0 0 0-2.4 0L5 15.8V19Z"}),l.jsx("path",{d:"m13.9 6.9 3.2 3.2M5 15.8 8.2 19"})]})}function Zbt(e){return l.jsx("svg",{...N0e,...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}const Kbt=m.lazy(()=>Td(()=>Promise.resolve().then(()=>QQ),void 0)),$Y=[{id:"lark-cli",category:"productivity",name:"Lark CLI",description:"在云端调用飞书开放平台开发与管理命令。"},{id:"github-cli",category:"development",name:"GitHub CLI",description:"在云端使用 GitHub 仓库、Issue 与 Pull Request 命令。"},{id:"pandoc",category:"productivity",name:"Pandoc",description:"转换 Markdown、HTML、Word 等文档格式。"}],Jbt=[{id:"productivity",label:"效率"},{id:"development",label:"研发"}];function eOt({customized:e,disabled:t=!1,onClick:n}){return l.jsxs("button",{type:"button",className:"cloud-env-footer-trigger",disabled:t,onClick:n,children:[l.jsx("span",{className:"cloud-env-footer-trigger-icon","aria-hidden":"true",children:l.jsx(LY,{})}),l.jsxs("span",{className:"cloud-env-footer-trigger-copy",children:[l.jsx("span",{children:"高阶配置"}),l.jsx("small",{children:"编辑云端构建使用的 Dockerfile"})]}),l.jsx(rB,{className:"cloud-env-footer-trigger-badge",color:e?"info":"secondary",variant:"soft",size:"sm",children:e?"已自定义":"自动生成"}),l.jsx(LY,{className:"cloud-env-footer-trigger-action"})]})}function tOt({cloudProvider:e,value:t,onChange:n,editorOpen:i,onEditorOpenChange:r,disabled:s=!1}){const a=e==="byteplus"?"BytePlus":"火山引擎",o=m.useId(),c=m.useId(),u=m.useId(),[d,f]=m.useState(!1),h=m.useRef(null),p=m.useMemo(()=>Wbt(e,t.cliTools),[e,t.cliTools]),b=t.dockerfile,g=b??p,O=b!==void 0&&!b.trim()?"Dockerfile 不能为空。请输入有效内容,或恢复自动生成。":b!==void 0&&b.length>hse?"Dockerfile 不能超过 64 KiB。请精简内容后重试。":"",y=(w,E)=>{const S=new Set(t.cliTools);E?S.add(w):S.delete(w),n({...t,cliTools:$Y.map(k=>k.id).filter(k=>S.has(k))})},v=w=>{n({...t,...w===p?{dockerfile:void 0}:{dockerfile:w}})},x=()=>{n({...t,dockerfile:void 0}),f(!1)};return m.useEffect(()=>{var k;if(!i)return;const w=document.body.style.overflow,E=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(k=h.current)==null||k.focus();const S=T=>{T.key==="Escape"&&!d&&r(!1)};return window.addEventListener("keydown",S),()=>{document.body.style.overflow=w,window.removeEventListener("keydown",S),E!=null&&E.isConnected&&E.focus()}},[i,r,d]),l.jsxs(l.Fragment,{children:[l.jsx("section",{className:"cloud-env-config","aria-label":"云上环境工具配置",children:l.jsx("div",{className:"cloud-env-categories",children:Jbt.map(w=>l.jsxs("section",{className:"cloud-env-category","aria-labelledby":`cloud-env-category-${w.id}`,children:[l.jsx("h2",{id:`cloud-env-category-${w.id}`,children:w.label}),l.jsx("div",{className:"cloud-env-tool-list",children:$Y.filter(E=>E.category===w.id).map(E=>{const S=t.cliTools.includes(E.id);return l.jsxs("div",{className:`cloud-env-tool${S?" is-selected":""}`,children:[l.jsx("span",{className:"cloud-env-tool-icon",children:E.id==="lark-cli"?l.jsx("img",{src:uC,alt:"","aria-hidden":"true"}):E.id==="github-cli"?l.jsx(KQ,{}):l.jsx("img",{src:Xbt,alt:"","aria-hidden":"true"})}),l.jsxs("span",{className:"cloud-env-tool-content",children:[l.jsx("strong",{children:E.name}),l.jsx("span",{className:"cloud-env-tool-description",children:E.description})]}),l.jsx(Pl,{type:"button",className:"cloud-env-tool-action",color:"secondary",variant:"ghost",size:"sm",iconSize:"sm",uniform:!0,"aria-label":S?`移除 ${E.name}`:`安装 ${E.name}`,"aria-pressed":S,disabled:s,onClick:()=>y(E.id,!S),children:S?l.jsx(Uke,{}):l.jsx(zke,{})})]},E.id)})})]},w.id))})}),i&&Gi.createPortal(l.jsx("div",{className:"cloud-env-dialog-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&!d&&r(!1)},children:l.jsxs("section",{className:"cloud-env-dialog",role:"dialog","aria-modal":"true","aria-labelledby":o,"aria-describedby":c,children:[l.jsxs("header",{className:"cloud-env-dialog-header",children:[l.jsxs("div",{children:[l.jsx("h2",{id:o,children:"编辑 Dockerfile"}),l.jsxs("p",{id:c,children:[a," AgentKit Runtime 云端构建配置"]})]}),l.jsxs("div",{className:"cloud-env-dialog-header-actions",children:[l.jsx(rB,{color:b===void 0?"secondary":"info",variant:"soft",size:"sm",children:b===void 0?"自动生成":"已自定义"}),l.jsx("button",{ref:h,type:"button",className:"cloud-env-dialog-close","aria-label":"关闭 Dockerfile 编辑器",onClick:()=>r(!1),children:l.jsx(Zbt,{})})]})]}),l.jsxs("div",{className:"cloud-env-dialog-body",children:[l.jsxs("div",{className:"cloud-env-dialog-toolbar",children:[l.jsx("p",{children:"请勿在 Dockerfile 中写入访问密钥或其他凭据。"}),b!==void 0&&l.jsx(Pl,{type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:s,onClick:()=>f(!0),children:"恢复自动生成"})]}),b!==void 0&&l.jsx("p",{className:"cloud-env-custom-notice",role:"status",children:"当前使用自定义内容。工具选择变化不会覆盖您的修改。"}),l.jsx("div",{className:`cloud-env-editor${O?" is-invalid":""}`,role:"group","aria-label":"Dockerfile 编辑器","aria-invalid":!!O||void 0,"aria-describedby":O?u:void 0,children:l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"cloud-env-editor-loading",children:"正在加载编辑器..."}),children:l.jsx(Kbt,{value:g,path:"Dockerfile",readOnly:s,onChange:v})})}),O&&l.jsx("p",{id:u,className:"cloud-env-editor-error",role:"alert",children:O})]}),l.jsx("footer",{className:"cloud-env-dialog-footer",children:l.jsx(Pl,{type:"button",color:"primary",variant:"solid",size:"sm",onClick:()=>r(!1),children:"完成"})})]})}),document.body),d&&l.jsx(yc,{title:"恢复自动生成?",description:"当前自定义内容将被替换为根据云厂商和工具选择生成的 Dockerfile。",confirmLabel:"恢复自动生成",closeLabel:"关闭恢复 Dockerfile 确认",onCancel:()=>f(!1),onConfirm:x})]})}async function nOt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:wo(void 0,vo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 AgentKit 智能体中心");if(t.status===401)throw new Error("请先登录以访问 AgentKit 智能体中心");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function iOt(e={}){const t=new URLSearchParams({page_size:String(e.pageSize??100),project:e.project||"default"});return e.region&&t.set("region",e.region),(await nOt(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function rOt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:wo(void 0,vo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 知识库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 知识库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function sOt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await rOt(`/web/viking-knowledgebases${n?`?${n}`:""}`)).items||[]}async function aOt(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:wo(void 0,vo)});if(t.status===409)throw new Error("服务端未配置云厂商 AK/SK,无法访问 VikingDB 记忆库");if(t.status===401)throw new Error("请先登录以访问 VikingDB 记忆库");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function oOt(e={}){const t=new URLSearchParams;e.project&&t.set("project",e.project),e.region&&t.set("region",e.region);const n=t.toString();return(await aOt(`/web/viking-memories${n?`?${n}`:""}`)).items||[]}const QY=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function DI(e){let t=0;for(let n=0;n>>0;return QY[t%QY.length]}function lOt(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,i=[];for(const u of e)u.parent_span_id!=null&&t.has(u.parent_span_id)?(n.get(u.parent_span_id)??n.set(u.parent_span_id,[]).get(u.parent_span_id)).push(u):i.push(u);const r=(u,d)=>u.start_time-d.start_time,s=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(r).map(f=>s(f,d+1))}),a=i.sort(r).map(u=>s(u,0)),o=e.length?Math.min(...e.map(u=>u.start_time)):0,c=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:o,total:c-o||1}}function cOt(e,t){const n=[],i=r=>{n.push(r),t.has(r.span.span_id)||r.children.forEach(i)};return e.forEach(i),n}function BY(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const uOt=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function FY(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const i=String(n);return{key:uOt(t),value:i,long:i.length>80||i.includes(` +`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function j0e({appName:e,testRunId:t,sessionId:n,endTimeMs:i,onClose:r,title:s="调用链路观测"}){const[a,o]=m.useState(null),[c,u]=m.useState(""),[d,f]=m.useState(new Set),[h,p]=m.useState(null);m.useEffect(()=>{o(null),u("");let E;if(t)E=Bne(t,n);else if(e)E=ST(e,n,i);else{u("缺少调用链路来源");return}E.then(S=>{o(S),p(S.length?S.reduce((k,T)=>k.start_time<=T.start_time?k:T).span_id:null)}).catch(S=>u(S instanceof Error?S.message:String(S)))},[e,i,n,t]);const{rootNodes:b,min:g,total:O}=m.useMemo(()=>lOt(a??[]),[a]),y=m.useMemo(()=>cOt(b,d),[b,d]),v=(a==null?void 0:a.find(E=>E.span_id===h))??null,x=O/1e6,w=E=>f(S=>{const k=new Set(S);return k.has(E)?k.delete(E):k.add(E),k});return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"drawer-scrim",onClick:r}),l.jsxs("aside",{className:"drawer drawer--trace",children:[l.jsxs("header",{className:"drawer-head",children:[l.jsxs("div",{children:[l.jsx("div",{className:"drawer-title",children:s}),l.jsx("div",{className:"drawer-sub",children:a?`${a.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),l.jsx("button",{className:"drawer-close",onClick:r,"aria-label":"关闭",children:l.jsx(za,{className:"icon"})})]}),a==null&&!c&&l.jsxs("div",{className:"drawer-loading",children:[l.jsx(Hn,{className:"icon spin"})," 加载调用链路…"]}),c&&l.jsx("div",{className:"error",children:c}),a&&a.length===0&&l.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),y.length>0&&l.jsxs("div",{className:"trace-split",children:[l.jsx("div",{className:"trace-tree scroll",children:y.map(E=>{const S=E.span,k=(S.start_time-g)/O*100,T=Math.max((S.end_time-S.start_time)/O*100,.6),C=E.children.length>0;return l.jsxs("button",{className:`trace-row ${h===S.span_id?"active":""}`,onClick:()=>p(S.span_id),children:[l.jsxs("span",{className:"trace-label",style:{paddingLeft:E.depth*14},children:[l.jsx("span",{className:`trace-caret ${C?"":"hidden"} ${d.has(S.span_id)?"":"open"}`,onClick:A=>{A.stopPropagation(),C&&w(S.span_id)},children:l.jsx(Hb,{className:"chev"})}),l.jsx("span",{className:"trace-dot",style:{background:DI(S.name)}}),l.jsx("span",{className:"trace-name",title:S.name,children:S.name})]}),l.jsx("span",{className:"trace-dur",children:BY(S.end_time-S.start_time)}),l.jsx("span",{className:"trace-track",children:l.jsx("span",{className:"trace-bar",style:{left:`${k}%`,width:`${T}%`,background:DI(S.name)}})})]},S.span_id)})}),l.jsx("div",{className:"trace-detail scroll",children:v?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"td-title",children:v.name}),l.jsxs("div",{className:"td-dur",children:[l.jsx("span",{className:"td-dot",style:{background:DI(v.name)}}),BY(v.end_time-v.start_time)]}),l.jsx("div",{className:"td-section",children:"属性"}),l.jsx("div",{className:"td-props",children:FY(v).filter(E=>!E.long).map(E=>l.jsxs("div",{className:"td-prop",children:[l.jsx("span",{className:"td-key",children:E.key}),l.jsx("span",{className:"td-val",children:E.value})]},E.key))}),FY(v).filter(E=>E.long).map(E=>l.jsxs("div",{className:"td-block",children:[l.jsx("div",{className:"td-section",children:E.key}),l.jsx("pre",{className:"td-pre",children:E.value})]},E.key))]}):l.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const dOt=m.lazy(()=>Td(()=>import("../chunks/MarkdownPromptEditor-9wo3f6ga.js"),__vite__mapDeps([0,1]))),f5="veadk.generatedAgentTestRuns",UY=4;function sB(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(f5)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function R0e(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(f5,JSON.stringify(t)):window.sessionStorage.removeItem(f5)}catch{}}function fOt(e){R0e([...sB(),e])}function vy(e){R0e(sB().filter(t=>t!==e))}function hOt(e,t,n="text/plain"){const i=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),r=document.createElement("a");r.href=i,r.download=e,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(i)}const pOt=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:wTe,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:ju,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:tTe},{id:"tools",label:"工具",hint:"可调用的能力",icon:kTe},{id:"skills",label:"技能",hint:"声明式技能",icon:c1},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:zE},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:Nte},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:Wke},{id:"review",label:"完成",hint:"预览并创建",icon:xTe}];function mOt({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.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"}),l.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),l.jsx("path",{d:"M3 10v4",opacity:"0.45"}),l.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function zY({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M4.75 7.25h14.5"}),l.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),l.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),l.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function aB({className:e}){return l.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:l.jsx("path",{d:"m7 9 5 5 5-5"})})}function oB({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),l.jsx("path",{d:"M4.5 4.75v3.5H8"}),l.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),l.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const gOt={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},VY={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},I0e="REGISTRY_SPACE_ID",bOt=dse.filter(e=>e.key!==I0e);function D0e(e,t){var i,r,s;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((i=e.registryTopK)==null?void 0:i.trim())||Oc.topK,n.REGISTRY_REGION=((r=e.registryRegion)==null?void 0:r.trim())||Oc.region,n.REGISTRY_ENDPOINT=((s=e.registryEndpoint)==null?void 0:s.trim())||Oc.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function xE(e,t){return t!=="byteplus"?e:e.map(n=>n.key==="MODEL_EMBEDDING_NAME"?{...n,placeholder:p_e(t)}:n.key==="MODEL_EMBEDDING_API_BASE"?{...n,placeholder:Sc(t)}:n.key==="MODEL_IMAGE_NAME"?{...n,placeholder:g_e(t)}:n.key==="MODEL_EDIT_NAME"?{...n,placeholder:b_e(t)}:n.key==="MODEL_VIDEO_NAME"?{...n,placeholder:O_e(t)}:n.key==="MODEL_IMAGE_API_BASE"||n.key==="MODEL_EDIT_API_BASE"||n.key==="MODEL_VIDEO_API_BASE"?{...n,placeholder:Sc(t)}:n)}function OOt({items:e,selected:t,onToggle:n,scrollRows:i}){return l.jsx("div",{className:`cw-checklist ${i?"cw-checklist-tools":""}`,style:i?{"--cw-checklist-max-height":`${i*40+(i-1)*8}px`}:void 0,children:e.map(r=>{const s=t.includes(r.id);return l.jsx(nB,{id:`cw-check-${r.id}`,className:`cw-check ${s?"is-on":""}`,checked:s,onCheckedChange:a=>{a!==s&&n(r.id)},label:l.jsx("span",{className:"cw-check-text",children:l.jsx("span",{className:"cw-check-title",children:r.label})})},r.id)})})}function PI({options:e,value:t,onChange:n}){return l.jsx("div",{className:"cw-segmented",children:e.map(i=>{var s;const r=(t??((s=e[0])==null?void 0:s.id))===i.id;return l.jsx("button",{type:"button",className:`cw-seg ${r?"is-on":""}`,onClick:()=>n(i.id),"aria-pressed":r,children:l.jsx("span",{className:"cw-seg-title",children:i.label})},i.id)})})}function yOt(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function wy({env:e,values:t,onChange:n,renderAfterField:i}){const r=e.filter(s=>!s.hidden);return r.length===0?l.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):l.jsx("div",{className:"cw-env-fields",children:r.map(s=>{const a=t[s.key]??s.defaultValue??"",o=tB(s,t),c=`cw-env-${s.key}`;return l.jsxs(m.Fragment,{children:[l.jsxs("label",{className:"cw-env-field",htmlFor:c,children:[l.jsxs("span",{className:"cw-env-field-head",children:[l.jsxs("span",{className:"cw-env-field-title",children:[l.jsxs("span",{className:"cw-env-field-label",children:[s.comment||s.key,s.required&&l.jsx("span",{className:"cw-req",children:"*"})]}),s.help&&l.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":s.help,"aria-label":`${s.comment||s.key}说明:${s.help}`,children:["?",l.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:s.help})]}),s.link&&l.jsx("a",{className:"cw-env-link",href:s.link.url,target:"_blank",rel:"noopener noreferrer",title:`打开 OpenViking ${s.link.label}`,"aria-label":`打开 OpenViking ${s.link.label}`,onClick:u=>u.stopPropagation(),children:l.jsx(ab,{"aria-hidden":"true"})})]}),s.comment&&l.jsx("code",{title:s.key,children:s.key})]}),s.multiline||s.format==="json"?l.jsx("textarea",{id:c,className:"cw-input cw-env-textarea",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off",spellCheck:!1,"aria-invalid":!!o,onChange:u=>n(s.key,u.currentTarget.value)}):l.jsx("input",{id:c,className:"cw-input",type:yOt(s.key)?"password":"text",value:a,placeholder:s.placeholder||"请输入参数值",autoComplete:"off","aria-invalid":!!o,onChange:u=>n(s.key,u.currentTarget.value)}),o&&l.jsx("span",{className:"cw-env-error",children:o})]}),i==null?void 0:i(s)]},s.key)})})}const MI="默认值:留空;生成项目时使用 Agent 名自动生成,例如 my_agent_kb。未配置 DATABASE_OPENVIKING_TARGET_URI 时,默认 URI 拼接为 viking://user/{知识库归属 ID,未填则 default}/resources/{资源索引}/;如果填写了 DATABASE_OPENVIKING_TARGET_URI,则直接使用该完整 URI。";function xOt({value:e,onChange:t}){const n="cw-openviking-knowledge-index";return l.jsxs("label",{className:"cw-env-field",htmlFor:n,children:[l.jsx("span",{className:"cw-env-field-head",children:l.jsxs("span",{className:"cw-env-field-title",children:[l.jsx("span",{className:"cw-env-field-label",children:"OpenViking 资源索引"}),l.jsxs("span",{className:"cw-env-help",tabIndex:0,"data-help":MI,"aria-label":`OpenViking 资源索引说明:${MI}`,children:["?",l.jsx("span",{className:"cw-env-help-popover",role:"tooltip",children:MI})]})]})}),l.jsx("input",{id:n,className:"cw-input",value:e,placeholder:"",autoComplete:"off",onChange:i=>t(i.currentTarget.value)})]})}function LI(e){return e.name.trim()||"未命名智能体中心"}function qY(e){const t=e.name.trim()||e.id||"未命名知识库",n=[e.sourceLabel,e.projectName].filter(Boolean);return n.length?`${t} · ${n.join(" · ")}`:t}function XY(e){return e.name.trim()||e.id||"未命名记忆库"}function vOt(e){return e.available?"已开通":e.lifecycleStatus==="Retiring"?"即将下线":e.activationState&&e.activationState!=="Available"?"未开通":"暂不可用"}function wOt(e){return e.available||e.lifecycleStatus==="Retiring"}function HY({selectedLabel:e,placeholder:t,disabled:n,triggerAriaLabel:i,menuAriaLabel:r,searchAriaLabel:s,searchValue:a,searchPlaceholder:o,onSearchChange:c,empty:u,emptyLabel:d,triggerClassName:f="",optionsClassName:h="",renderOptions:p}){const[b,g]=m.useState(!1),O=m.useRef(null),y=m.useRef(null),v=m.useRef(null),x=m.useId(),[w,E]=m.useState(null);m.useEffect(()=>{if(!b)return;const T=A=>{var P;const N=A.target;N instanceof Node&&O.current&&!O.current.contains(N)&&!((P=v.current)!=null&&P.contains(N))&&g(!1)},C=A=>{var N;A.key==="Escape"&&(g(!1),(N=y.current)==null||N.focus())};return window.addEventListener("pointerdown",T),window.addEventListener("keydown",C),()=>{window.removeEventListener("pointerdown",T),window.removeEventListener("keydown",C)}},[b]),m.useEffect(()=>{if(!b){E(null);return}const T=()=>{const C=y.current;if(!C)return;const A=C.getBoundingClientRect(),N=12,P=6,Q=window.innerHeight-A.bottom-N-P,D=A.top-N-P,$=Q<300&&D>Q,j=Math.max(96,$?D:Q),I=Math.min(A.width,window.innerWidth-N*2),F=Math.min(Math.max(N,A.left),window.innerWidth-N-I);E({...$?{bottom:window.innerHeight-A.top+P}:{top:A.bottom+P},left:F,width:I,maxHeight:j,opensUp:$})};return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[b]);const S=()=>g(!1),k=T=>{var P,Q;if(!["ArrowDown","ArrowUp","Home","End"].includes(T.key))return;const C=Array.from(((P=v.current)==null?void 0:P.querySelectorAll('[role="option"]:not(:disabled)'))??[]);if(!C.length)return;T.preventDefault();const A=C.findIndex(D=>D===document.activeElement),N=T.key==="Home"?0:T.key==="End"?C.length-1:T.key==="ArrowUp"?A<=0?C.length-1:A-1:A<0||A===C.length-1?0:A+1;(Q=C[N])==null||Q.focus()};return l.jsxs("div",{className:`cw-a2a-space-select-wrap cw-catalog-select${b?" is-open":""}`,ref:O,children:[l.jsxs("button",{ref:y,type:"button",className:`cw-a2a-space-trigger ${f}`.trim(),disabled:n,"aria-haspopup":"listbox","aria-controls":b?x:void 0,"aria-expanded":b,"aria-label":i,title:e,onClick:()=>{b||c(""),g(T=>!T)},children:[l.jsx("span",{className:t?"is-placeholder":void 0,children:e}),l.jsx(aB,{className:"cw-a2a-space-trigger-icon"})]}),b&&w&&Gi.createPortal(l.jsxs("div",{ref:v,className:`cw-a2a-space-menu cw-catalog-menu cw-catalog-menu-portal${w.opensUp?" is-up":""}`,style:{top:w.top??"auto",bottom:w.bottom??"auto",left:w.left,width:w.width,maxHeight:w.maxHeight},onKeyDown:k,children:[l.jsx("div",{className:"cw-picker-search",children:l.jsx("input",{className:"cw-picker-search-input",type:"search",value:a,autoFocus:!0,autoComplete:"off","aria-label":s,placeholder:o,onChange:T=>c(T.currentTarget.value)})}),l.jsxs("div",{id:x,className:`cw-picker-options cw-catalog-options ${h}`.trim(),role:"listbox","aria-label":r,children:[p(S),u&&l.jsx("div",{className:"cw-picker-empty",children:d})]})]}),document.body)]})}function SOt({value:e,cloudProvider:t,apiKeyId:n,apiKeyName:i,onApiKeyChange:r,onChange:s}){const[a,o]=m.useState([]),[c,u]=m.useState(!1),[d,f]=m.useState([]),[h,p]=m.useState(null),[b,g]=m.useState(!1),[O,y]=m.useState(null),[v,x]=m.useState(0),[w,E]=m.useState(0),[S,k]=m.useState(""),[T,C]=m.useState("");m.useEffect(()=>{const U=new AbortController;return u(!0),y(null),Fte(U.signal,v>0).then(V=>{if(U.signal.aborted)return;o(V.keys);const re=V.keys.find(de=>de.id===n)??V.keys.find(de=>de.name===i)??V.keys.find(de=>de.id===V.defaultKeyId)??V.keys[0];re&&r(re)}).catch(V=>{U.signal.aborted||y(V instanceof Error?V.message:"加载 Ark API Key 失败")}).finally(()=>{U.signal.aborted||u(!1)}),()=>U.abort()},[t,v]),m.useEffect(()=>{if(!n){f([]);return}const U=new AbortController;return g(!0),y(null),p(null),m$({signal:U.signal,apiKeyId:n,refresh:v>0||w>0}).then(V=>{U.signal.aborted||(f(V.models),p(n))}).catch(V=>{U.signal.aborted||y(V instanceof Error?V.message:"加载模型列表失败")}).finally(()=>{U.signal.aborted||g(!1)}),()=>U.abort()},[n,t,w,v]);const A=e.trim(),N=h===n,P=N?d:[],Q=a.find(U=>U.id===n),D=Q?Q.name:n?"当前 API Key":c?"正在加载 API Key…":a.length===0?"暂无可用 API Key":"请选择 API Key",$=m.useMemo(()=>a.filter(U=>sm(S,[U.name])),[S,a]),j=P.find(U=>U.id===A),I=b&&!N?"正在刷新模型列表…":j?`${j.displayName} (${j.id})`:A||"请选择模型",F=m.useMemo(()=>P.filter(U=>sm(T,[U.displayName,U.id,U.name,U.vendorName,U.activationState,U.lifecycleStatus])),[T,P]),B=!!(A&&!j&&sm(T,[A])),M=P.filter(U=>U.available).length,Y=t==="byteplus"?"BytePlus ModelArk":"火山方舟",q=h_e(t);return l.jsxs("div",{className:"cw-a2a-space-picker cw-model-picker",children:[l.jsxs("div",{className:"cw-model-picker-stack",children:[l.jsxs("div",{className:"cw-model-picker-field",children:[l.jsx("span",{className:"cw-model-picker-label",children:"API Key"}),l.jsx(HY,{selectedLabel:D,placeholder:!n,disabled:c,triggerAriaLabel:"选择 API Key",menuAriaLabel:"API Key 列表",searchAriaLabel:"搜索 API Key",searchValue:S,searchPlaceholder:"搜索 API Key 名称",onSearchChange:k,empty:$.length===0,emptyLabel:"未找到匹配的 API Key",optionsClassName:"cw-model-key-options",renderOptions:U=>$.map(V=>{const re=V.id===n;return l.jsx("button",{type:"button",role:"option","aria-selected":re,className:`cw-a2a-space-option cw-model-key-option ${re?"is-selected":""}`,title:V.name,onClick:()=>{E(de=>de+1),r(V),U()},children:l.jsx("span",{children:V.name})},V.id)})})]}),l.jsxs("div",{className:"cw-model-picker-field",children:[l.jsx("span",{className:"cw-model-picker-label",children:"模型"}),l.jsxs("div",{className:"cw-a2a-space-row",children:[l.jsx(HY,{selectedLabel:I,placeholder:!A,disabled:b,triggerAriaLabel:`选择${Y}模型`,menuAriaLabel:`${Y}模型`,searchAriaLabel:"搜索模型",searchValue:T,searchPlaceholder:"搜索名称、Model ID 或服务商",onSearchChange:C,empty:!B&&F.length===0,emptyLabel:"未找到匹配的模型",triggerClassName:"cw-model-trigger",optionsClassName:"cw-model-options",renderOptions:U=>l.jsxs(l.Fragment,{children:[B&&l.jsxs("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option cw-model-option is-selected",onClick:()=>{s(A),U()},children:[l.jsxs("span",{className:"cw-model-option-copy",children:[l.jsx("strong",{children:"当前配置"}),l.jsx("small",{children:A})]}),l.jsx("span",{className:"cw-model-status is-unknown",children:"状态未知"})]}),F.map(V=>{const re=V.id===A,de=wOt(V);return!de&&V.activationState!=="Available"?l.jsxs("button",{type:"button",role:"option","aria-selected":!1,className:"cw-a2a-space-option cw-model-option is-activation-link",title:`前往${Y}开通 ${V.displayName}`,onClick:()=>{window.open(q,"_blank","noopener,noreferrer"),U()},children:[l.jsxs("span",{className:"cw-model-option-copy",children:[l.jsx("strong",{children:V.displayName}),l.jsxs("small",{children:[V.id,V.vendorName?` · ${V.vendorName}`:""]})]}),l.jsx("span",{className:"cw-model-status is-unavailable",children:"未开通,去开通"})]},V.id):l.jsxs("button",{type:"button",role:"option","aria-selected":re,disabled:!de,className:`cw-a2a-space-option cw-model-option ${re?"is-selected":""}`,title:`${V.displayName} (${V.id})`,onClick:()=>{s(V.id),U()},children:[l.jsxs("span",{className:"cw-model-option-copy",children:[l.jsx("strong",{children:V.displayName}),l.jsxs("small",{children:[V.id,V.vendorName?` · ${V.vendorName}`:""]})]}),l.jsx("span",{className:`cw-model-status ${V.available?"is-available":V.lifecycleStatus==="Retiring"?"is-retiring":"is-unavailable"}`,children:vOt(V)})]},V.id)})]})}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新 API Key 和模型列表","aria-label":"刷新 API Key 和模型列表",disabled:b||c,onClick:()=>x(U=>U+1),children:b||c?l.jsx(Hn,{className:"cw-i cw-i-sm cw-spin"}):l.jsx(oB,{className:"cw-i cw-i-sm"})})]})]})]}),O?l.jsxs("div",{className:"cw-banner cw-a2a-space-error",role:"alert",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:O})]}):b?l.jsxs("span",{className:"cw-help cw-a2a-space-status","aria-live":"polite",children:[l.jsx(Hn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载模型列表…"]}):P.length===0?l.jsx("span",{className:"cw-help",children:"当前账号下暂无可配置模型。"}):l.jsxs("span",{className:"cw-help",children:["已加载 ",P.length," 个模型,其中 ",M," 个已开通。"]})]})}function EOt({value:e,region:t,invalid:n,onChange:i}){const r=t.trim()||Oc.region,[s,a]=m.useState([]),[o,c]=m.useState(!1),[u,d]=m.useState(null),[f,h]=m.useState(0),[p,b]=m.useState(!1),[g,O]=m.useState(""),y=m.useRef(null);m.useEffect(()=>{let C=!1;return c(!0),d(null),iOt({region:r}).then(A=>{C||a(A)}).catch(A=>{C||(a([]),d(A instanceof Error?A.message:"加载失败"))}).finally(()=>{C||c(!1)}),()=>{C=!0}},[r,f]);const v=!e||s.some(C=>C.id===e.trim()),x=s.find(C=>C.id===e.trim()),w=x?LI(x):e&&!v?"已选择的智能体中心":"请选择智能体中心",E=o&&s.length===0,S=m.useMemo(()=>s.filter(C=>sm(g,[LI(C),C.id,C.projectName])),[g,s]),k=!!(e&&!v&&sm(g,["已选择的智能体中心",e]));m.useEffect(()=>{if(!p)return;const C=N=>{const P=N.target;P instanceof Node&&y.current&&!y.current.contains(P)&&b(!1)},A=N=>{N.key==="Escape"&&b(!1)};return window.addEventListener("pointerdown",C),window.addEventListener("keydown",A),()=>{window.removeEventListener("pointerdown",C),window.removeEventListener("keydown",A)}},[p]);const T=C=>{i(C),b(!1)};return l.jsxs("div",{className:`cw-a2a-space-picker${p?" is-open":""}`,ref:y,children:[l.jsxs("div",{className:"cw-a2a-space-row",children:[l.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[l.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:E,"aria-haspopup":"listbox","aria-expanded":p,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{O(""),b(C=>!C)},children:[l.jsx("span",{className:e?void 0:"is-placeholder",children:w}),l.jsx(aB,{className:"cw-a2a-space-trigger-icon"})]}),p&&l.jsxs("div",{className:"cw-a2a-space-menu",children:[l.jsx("div",{className:"cw-picker-search",children:l.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:C=>O(C.currentTarget.value)})}),l.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&l.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>T(e),children:"已选择的智能体中心"}),S.map(C=>{const A=LI(C),N=C.id===e;return l.jsx("button",{type:"button",role:"option","aria-selected":N,className:`cw-a2a-space-option ${N?"is-selected":""}`,title:`${A} (${C.id})`,onClick:()=>T(C.id),children:A},C.id)}),!k&&S.length===0&&l.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:o,onClick:()=>h(C=>C+1),children:o?l.jsx(Hn,{className:"cw-i cw-i-sm cw-spin"}):l.jsx(oB,{className:"cw-i cw-i-sm"})})]}),u?l.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:u})]}):o?l.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[l.jsx(Hn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):s.length===0?l.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):l.jsxs("span",{className:"cw-help",children:["已加载 ",s.length," 个智能体中心,列表仅展示中心名称。"]})]})}function P0e({value:e,items:t,loading:n,error:i,pickerClassName:r,selectLabel:s,searchLabel:a,listLabel:o,placeholder:c,emptyMessage:u,loadedMessage:d,refreshLabel:f,noMatchesMessage:h,getLabel:p,getSearchFields:b,getKey:g,getOptionIds:O,makeUnknownItem:y,onChange:v,onRefresh:x}){const[w,E]=m.useState(!1),[S,k]=m.useState(""),T=m.useRef(null),C=!e||t.some(j=>j.id===e.trim()),A=t.find(j=>j.id===e.trim()),N=A?p(A):e&&!C?e:c,P=n&&t.length===0,Q=m.useMemo(()=>t.filter(j=>sm(S,b(j))),[b,t,S]),D=!!(e&&!C&&sm(S,[e]));m.useEffect(()=>{if(!w)return;const j=F=>{const B=F.target;B instanceof Node&&T.current&&!T.current.contains(B)&&E(!1)},I=F=>{F.key==="Escape"&&E(!1)};return window.addEventListener("pointerdown",j),window.addEventListener("keydown",I),()=>{window.removeEventListener("pointerdown",j),window.removeEventListener("keydown",I)}},[w]);const $=j=>{v(j),E(!1)};return n&&t.length===0?l.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[l.jsx(Hn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):l.jsxs("div",{className:`cw-a2a-space-picker ${r}${w?" is-open":""}`,ref:T,children:[l.jsxs("div",{className:"cw-a2a-space-row",children:[l.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[l.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:P,"aria-haspopup":"listbox","aria-expanded":w,"aria-label":s,onClick:()=>{k(""),E(j=>!j)},children:[l.jsx("span",{className:e?void 0:"is-placeholder",children:N}),l.jsx(aB,{className:"cw-a2a-space-trigger-icon"})]}),w&&l.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[l.jsx("div",{className:"cw-picker-search",children:l.jsx("input",{className:"cw-picker-search-input",type:"search",value:S,autoFocus:!0,autoComplete:"off","aria-label":a,placeholder:"搜索名称或 ID",onChange:j=>k(j.currentTarget.value)})}),l.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":o,children:[D&&l.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>$(y(e)),children:e}),Q.map(j=>{const I=p(j),F=j.id===e,B=O(j).filter(Boolean).join(" / ");return l.jsx("button",{type:"button",role:"option","aria-selected":F,className:`cw-a2a-space-option ${F?"is-selected":""}`,title:B?`${I} (${B})`:I,onClick:()=>$(j),children:I},g(j))}),!D&&Q.length===0&&l.jsx("div",{className:"cw-picker-empty",children:h})]})]})]}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:f,"aria-label":f,disabled:n,onClick:x,children:n?l.jsx(Hn,{className:"cw-i cw-i-sm cw-spin"}):l.jsx(oB,{className:"cw-i cw-i-sm"})})]}),i?l.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:i})]}):t.length===0?l.jsx("span",{className:"cw-help",children:u}):l.jsx("span",{className:"cw-help",children:d(t.length)})]})}function kOt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,o]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),o(null),sOt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),o(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),l.jsx(P0e,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-kb-picker",selectLabel:"选择 VikingDB 知识库",searchLabel:"搜索 VikingDB 知识库",listLabel:"VikingDB 知识库",placeholder:"请选择 VikingDB 知识库",emptyMessage:"此账号下暂无 VikingDB 知识库。",loadedMessage:d=>`已加载 ${d} 个知识库,选择的知识库会用于当前 Agent。`,refreshLabel:"刷新知识库列表",noMatchesMessage:"未找到匹配的知识库",getLabel:qY,getSearchFields:d=>[qY(d),d.id,d.description,d.projectName,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId,d.sourceLabel],getKey:d=>d.id,getOptionIds:d=>[d.id,d.resourceId,d.agentkitKnowledgeId,d.providerKnowledgeId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",sourceKind:"knowledge",sourceLabel:"Knowledge Engine",resourceId:""}),onChange:t,onRefresh:()=>u(d=>d+1)})}function TOt({value:e,onChange:t}){const[n,i]=m.useState([]),[r,s]=m.useState(!1),[a,o]=m.useState(null),[c,u]=m.useState(0);return m.useEffect(()=>{let d=!1;return s(!0),o(null),oOt().then(f=>{d||i(f)}).catch(f=>{d||(i([]),o(f instanceof Error?f.message:"加载失败"))}).finally(()=>{d||s(!1)}),()=>{d=!0}},[c]),l.jsx(P0e,{value:e,items:n,loading:r,error:a,pickerClassName:"cw-viking-memory-picker",selectLabel:"选择 VikingDB 记忆库",searchLabel:"搜索 VikingDB 记忆库",listLabel:"VikingDB 记忆库",placeholder:"请选择 VikingDB 记忆库,不选择则自动创建",emptyMessage:"此账号下暂无 VikingDB 记忆库,未选择时会自动创建。",loadedMessage:d=>`已加载 ${d} 个记忆库;不选择时会自动创建。`,refreshLabel:"刷新记忆库列表",noMatchesMessage:"未找到匹配的记忆库",getLabel:XY,getSearchFields:d=>[XY(d),d.id,d.description,d.projectName,d.region,d.resourceId,...d.memoryTypes??[]],getKey:d=>`${d.projectName}:${d.region}:${d.id}`,getOptionIds:d=>[d.id,d.resourceId],makeUnknownItem:d=>({id:d,name:d,description:"",projectName:"",region:"",resourceId:"",memoryTypes:[]}),onChange:t,onRefresh:()=>u(d=>d+1)})}function _Ot({tools:e,onChange:t}){const n=(s,a)=>t(e.map((o,c)=>c===s?{...o,...a}:o)),i=s=>t(e.filter((a,o)=>o!==s)),r=()=>t([...e,{name:"",transport:"http",url:""}]);return l.jsxs("div",{className:"cw-mcp",children:[e.length>0&&l.jsx("div",{className:"cw-mcp-list",children:l.jsx(oh,{initial:!1,children:e.map((s,a)=>l.jsxs(Fr.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:[l.jsxs("div",{className:"cw-mcp-rowhead",children:[l.jsxs("div",{className:"cw-mcp-transport",children:[l.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":s.transport==="http",children:l.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),l.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${s.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":s.transport==="stdio",children:l.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),l.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>i(a),"aria-label":"移除 MCP 工具",children:l.jsx(xh,{className:"cw-i cw-i-sm"})})]}),l.jsx("input",{className:"cw-input",value:s.name,placeholder:"名称(用于命名,可留空)",onChange:o=>n(a,{name:o.target.value})}),s.transport==="http"?l.jsxs(l.Fragment,{children:[l.jsx("input",{className:"cw-input",value:s.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:o=>n(a,{url:o.target.value})}),Tbt(s.url??"")&&l.jsxs("p",{className:"cw-mcp-warning",children:[l.jsx(ju,{"aria-hidden":"true"}),l.jsx("span",{children:"当前地址不是以 /mcp 结尾,请确认它是实际的 MCP Endpoint。Studio 会保留该地址,不会自动补充路径。"})]}),l.jsx("input",{className:"cw-input",value:Ebt(s),placeholder:"Bearer Token(可选)",onChange:o=>t(e.map((c,u)=>u===a?kbt(c,o.target.value):c))})]}):l.jsxs(l.Fragment,{children:[l.jsx("input",{className:"cw-input",value:s.command??"",placeholder:"启动命令,例如 npx",onChange:o=>n(a,{command:o.target.value})}),l.jsx("input",{className:"cw-input",value:(s.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:o=>n(a,{args:o.target.value.split(/\s+/).filter(Boolean)})}),l.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),l.jsxs("button",{type:"button",className:"cw-add-sub",onClick:r,children:[l.jsx(wa,{className:"cw-i"}),"添加 MCP 工具"]})]})}function M0e({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.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"}),l.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),l.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"}),l.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function AOt({s:e,onRemove:t}){let n=c1,i="火山 Find Skill 技能广场";return e.source==="local"?(n=s$,i="本地"):e.source==="skillspace"&&(n=M0e,i="AgentKit Skills 中心"),l.jsxs(Fr.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:[l.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:l.jsx(n,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:"cw-selected-skill-meta",children:[l.jsx("span",{className:"cw-selected-skill-name",children:e.name}),l.jsxs("span",{className:"cw-selected-skill-detail",children:[i,e.description?` · ${fv(e.description)}`:""]})]}),l.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:l.jsx(za,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const $I=[{id:"local",label:"本地文件",icon:s$},{id:"skillspace",label:"AgentKit Skills 中心",icon:M0e},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:TA}];function COt({selected:e,onChange:t,cloudProvider:n}){const[i,r]=m.useState("local"),[s,a]=m.useState(!1),o=$I.findIndex(u=>u.id===i),c=u=>t(e.filter(d=>QI(d)!==u));return m.useEffect(()=>{if(!s)return;const u=d=>{d.key==="Escape"&&a(!1)};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s]),l.jsxs("div",{className:"cw-skillspane",children:[l.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>a(!0),children:[l.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:l.jsx(wa,{className:"cw-i"})}),l.jsx("span",{children:"添加 Skill"})]}),e.length>0&&l.jsxs("div",{className:"cw-skill-selected",children:[l.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),l.jsx("div",{className:"cw-selected-skill-list",children:l.jsx(oh,{initial:!1,children:e.map(u=>l.jsx(AOt,{s:u,onRemove:()=>c(QI(u))},QI(u)))})})]}),l.jsx(oh,{children:s&&l.jsx(Fr.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:u=>{u.target===u.currentTarget&&a(!1)},children:l.jsxs(Fr.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:[l.jsxs("div",{className:"cw-skill-dialog-head",children:[l.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),l.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>a(!1),children:l.jsx(za,{className:"cw-i"})})]}),l.jsxs("div",{className:"cw-skill-dialog-body",children:[l.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${$I.length})`,"--cw-active-skill-tab-offset":`calc(${o*100}% + ${o*4}px)`},children:[l.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),$I.map(({id:u,label:d,icon:f})=>l.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${u}`,"aria-controls":"cw-skill-tabpanel","aria-selected":i===u,className:`cw-skill-pickertab ${i===u?"is-on":""}`,onClick:()=>r(u),children:[l.jsx(f,{className:"cw-i cw-i-sm"}),d]},u))]}),l.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${i}`,children:[i==="skillhub"&&l.jsx(jbt,{selected:e,onChange:t}),i==="local"&&l.jsx(Ubt,{selected:e,onChange:t}),i==="skillspace"&&l.jsx(zbt,{selected:e,onChange:t,cloudProvider:n})]})]})]})})})]})}function QI(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function vE({checked:e,onChange:t,title:n,desc:i,showDescription:r=!1}){return l.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[l.jsxs("span",{className:"cw-toggle-text",children:[l.jsx("span",{className:"cw-toggle-title",children:n}),r&&l.jsx("span",{className:"cw-toggle-help",children:i})]}),l.jsx("span",{className:"cw-switch","aria-hidden":!0,children:l.jsx(Fr.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function NOt(e,t){var i;let n=e;for(const r of t)if(n=(i=n.subAgents)==null?void 0:i[r],!n)return!1;return!0}function wE(e,t){let n=e;for(const i of t)n=n.subAgents[i];return n}function hw(e,t,n){if(t.length===0)return n(e);const[i,...r]=t,s=e.subAgents.slice();return s[i]=hw(s[i],r,n),{...e,subAgents:s}}function jOt(e,t,n="volcengine"){return hw(e,t,i=>({...i,subAgents:[...i.subAgents,nl(n)]}))}function ROt(e,t,n,i="volcengine"){return hw(e,t,r=>{const s=r.subAgents.slice();return s.splice(n,0,nl(i)),{...r,subAgents:s}})}function IOt(e,t){if(t.length===0)return e;const n=t.slice(0,-1),i=t[t.length-1];return hw(e,n,r=>({...r,subAgents:r.subAgents.filter((s,a)=>a!==i)}))}const h5=e=>!mC(e.agentType),GY=3;function DOt(e,t,n=!1){var r;if(mC(e.agentType))return n?"远程 Agent 只能作为子 Agent":(r=e.a2aRegistry)!=null&&r.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const i=dv(e.name);return i||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":u0e(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function L0e(e,t,n=[]){const i=[],r=mC(e.agentType),s=DOt(e,t,n.length===0);return s&&i.push({path:n,name:r?"远程 Agent":e.name.trim()||"未命名",typeLabel:c0e(e.agentType).label,problem:s}),h5(e)&&e.subAgents.forEach((a,o)=>i.push(...L0e(a,t,[...n,o]))),i}function POt(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function $0e(e){return 1+e.subAgents.reduce((t,n)=>t+$0e(n),0)}function Q0e(e){const t=gC(e),n=[],i={...t.envValues},r=t.draft.cloudProvider??"volcengine",s=kht(t.draft).map(Bx);let a=!1,o="";for(const d of Kge(t.draft,Sc(r))){const f=[{key:d.apiKeyKey,required:!0,comment:d.label}];d.providerKey&&(f.push({key:d.providerKey,required:!0}),i[d.providerKey]=d.provider),d.apiBaseKey&&(f.push({key:d.apiBaseKey,required:!0}),i[d.apiBaseKey]=d.apiBase),n.push({env:f})}const c=d=>{var f,h,p,b;d.agentType==="llm"&&kO(d,r)==="ark"&&(a=!0,o||(o=(d.modelName??"").trim()));for(const g of d.builtinTools??[]){const O=Mm.find(y=>y.id===g);O&&n.push({env:xE(O.env,r)})}for(const g of d.mcpTools??[])g.authTokenEnv&&n.push({env:[{key:g.authTokenEnv,required:!1,comment:`${g.name.trim()||"MCP"} Bearer Token`}]});if((f=d.a2aRegistry)!=null&&f.enabled&&(n.push({env:dse}),Object.assign(i,D0e(d.a2aRegistry,{includeDefaults:!0}))),d.memory.shortTerm&&n.push({env:xE(((h=YP.find(g=>g.id===(d.shortTermBackend??"local")))==null?void 0:h.env)??[],r)}),d.memory.longTerm&&n.push({env:xE(((p=WP.find(g=>g.id===(d.longTermBackend??"local")))==null?void 0:p.env)??[],r)}),d.knowledgebase&&n.push({env:xE(((b=ZP.find(g=>g.id===(d.knowledgebaseBackend??ch)))==null?void 0:b.env)??[],r)}),d.tracing)for(const g of d.tracingExporters??[]){const O=BLe.find(y=>y.id===g);O&&n.push({env:O.env,enableFlag:O.enableFlag})}d.subAgents.forEach(c)};if(c(t.draft),a){n.push({env:[{key:"MODEL_AGENT_PROVIDER",required:!0},{key:"MODEL_AGENT_API_BASE",required:!0},{key:"MODEL_AGENT_API_KEY",required:!0,comment:"Ark API Key",placeholder:"由所选 API Key 注入",secret:!0,readOnly:!0,serverManaged:!0,requiredBy:s}]}),i.MODEL_AGENT_PROVIDER="openai",i.MODEL_AGENT_API_BASE=Sc(r);const d=o||dm(r);i.MODEL_AGENT_NAME=d,i.MODEL_NAME=d}zQ(t.draft).includes("mcp_resilience")&&n.push({env:[{key:"MCP_URLS",required:!0,comment:"MCP 统一网关地址",placeholder:"https://example.com/mcp",requiredBy:[Bx("mcp_resilience")]},{key:"MCP_API_KEY",required:!0,comment:"MCP 统一网关 API Key",secret:!0,requiredBy:[Bx("mcp_resilience")]}]});const u=i0e(n);return{specs:u.specs,fixedValues:{...u.fixedValues,...i}}}function MOt(e,t){const n=i=>(i??"").trim().replace(/\/+$/,"");return n(e)===n(t)}function LOt(e,t,n){const i=(e??"").trim();return!i||i===dm(t)?!0:i===dm(n)?!1:n==="byteplus"&&i.includes("doubao-")}function Rp(e,t){const n=e.cloudProvider??"volcengine",i=kO(e,n),r=e.subAgents.map(u=>Rp(u,t)),s=i==="ark"&&LOt(e.modelName,n,t)?dm(t):e.modelName,o=MOt(e.modelApiBase,Sc(n))||t==="byteplus"&&(e.modelApiBase??"").includes("volces.com")?Sc(t):e.modelApiBase;return e.cloudProvider!==t||s!==e.modelName||o!==e.modelApiBase||r.some((u,d)=>u!==e.subAgents[d])?{...e,cloudProvider:t,modelName:s,modelApiBase:o,subAgents:r}:e}function $Ot(e,t){var o;const n=Rp(e,t),i=Jge(n,Sc(t)),r=new Set(i.map(({key:c})=>c)),s=((o=n.deployment)==null?void 0:o.envValues)??{},a=Object.fromEntries(Object.entries(s).filter(([c,u])=>r.has(c)&&!!u.trim()));return Object.keys(a).length===0?{draft:n,customModelSecretValues:a}:{draft:{...n,deployment:{...n.deployment??{feishuEnabled:!1},envValues:Object.fromEntries(Object.entries(s).filter(([c])=>!r.has(c)))}},customModelSecretValues:a}}function B0e(e){var i,r,s;const t=gC(e).draft;return{...n0e(t,t.cloudProvider??"volcengine"),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),modelApiKeyId:((r=e.deployment)==null?void 0:r.modelApiKeyId)??"",modelApiKeyName:((s=e.deployment)==null?void 0:s.modelApiKeyName)??""}}}function p5(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const i of e.subAgents){const r=p5(i);if(r)return r}return""}function F0e(e,t={}){var r,s,a,o;const n=Q0e(e),i={...((r=e.deployment)==null?void 0:r.envValues)??{},...t,...n.fixedValues};return{...B0e(e),deployment:{feishuEnabled:!!((s=e.deployment)!=null&&s.feishuEnabled),modelApiKeyId:((a=e.deployment)==null?void 0:a.modelApiKeyId)??"",modelApiKeyName:((o=e.deployment)==null?void 0:o.modelApiKeyName)??"",envValues:Object.fromEntries(r0e(n.specs,i).map(({key:c,value:u})=>[c,u]))}}}function QOt(e,t={}){return JSON.stringify(F0e(e,t))}function q_(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction})}function b0(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim()})}function BOt({enabled:e,disabledReason:t,variants:n,draftSnapshot:i,input:r,onInput:s,onSend:a,onStartVariant:o,onUseVariant:c,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:p,onOpenTrace:b}){const g=n.filter(v=>v.phase!=="ready"?!1:v.runtimeSnapshot===q_(i,v)),O=n.some(v=>v.phase==="sending"),y=g.length>0&&!O;return l.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[l.jsx("div",{className:"cw-ab-stage",children:e?l.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((v,x)=>{const w=v.modelName.trim(),E=v.description.trim(),S=v.instruction.trim(),k=b0(v),T=!!(w&&E&&S&&n.findIndex(F=>b0(F)===k)!==x),C=!w||!E||!S||T,A=!!(v.runtimeSnapshot&&v.runtimeSnapshot!==q_(i,v)),N=v.phase==="starting",P=v.phase==="ready"&&!A,Q=N||v.phase==="sending",D=P&&v.phase!=="sending"&&v.messages.some(F=>F.role==="assistant"),$=Q||v.configOpen||C,j=w?E?S?T?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",I=N?"正在启动":A?"应用配置并重启":P||v.phase==="error"?"重新启动环境":"启动环境";return l.jsx("article",{className:"cw-ab-card",children:l.jsxs("div",{className:`cw-ab-card-inner${v.configOpen?" is-flipped":""}`,children:[l.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":v.configOpen,children:[l.jsxs("header",{className:"cw-ab-card-head",children:[l.jsxs("div",{className:"cw-ab-card-title",children:[l.jsx("strong",{children:v.name}),l.jsx("span",{children:v.modelName||"默认模型"})]}),l.jsxs("div",{className:"cw-ab-card-actions",children:[l.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:v.configOpen||Q,onClick:()=>f(v.id),children:"测试配置"}),v.id!=="baseline"&&l.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${v.name}`,disabled:v.configOpen||Q,onClick:()=>d(v.id),children:l.jsx(zY,{className:"cw-i"})})]})]}),l.jsx("div",{className:"cw-ab-conversation",children:v.error?l.jsx(V_,{message:v.error,className:"cw-debug-error-detail",defaultExpanded:!0}):N?l.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[l.jsx(Hn,{className:"cw-i cw-spin"}),l.jsx("span",{children:"正在创建独立测试环境"})]}):A?l.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:l.jsx("span",{children:"配置已变更,请重新启动此环境"})}):v.messages.length===0?l.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:P?l.jsxs(l.Fragment,{children:[l.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),l.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):l.jsx("span",{className:"cw-ab-launch-hint",children:j||"启动环境后即可加入本轮测试"})}):v.messages.map((F,B)=>l.jsx("div",{className:`cw-debug-msg cw-debug-msg-${F.role}`,children:l.jsx("div",{className:"cw-debug-content",children:F.role==="user"?F.content:F.error?l.jsx(V_,{message:F.error,className:"cw-debug-msg-error",defaultExpanded:!0}):F.blocks&&F.blocks.length>0?l.jsx(j2,{blocks:F.blocks,onAction:()=>{}}):F.content?F.content:B===v.messages.length-1&&v.phase==="sending"?l.jsx(Que,{}):null})},B))}),l.jsxs("footer",{className:"cw-ab-deploy-footer",children:[l.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!D,title:D?`查看${v.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>b(v.id),children:"调用链路"}),l.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:$,title:j||void 0,onClick:()=>o(v.id),children:[P||A||v.phase==="error"?l.jsx(Rte,{className:"cw-i"}):l.jsx(mOt,{className:"cw-i cw-debug-run-icon"}),I]}),l.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:Q||!w,onClick:()=>c(v.id),children:"使用该配置"})]})]}),l.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!v.configOpen,children:[l.jsxs("header",{className:"cw-ab-config-head",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"测试配置"}),l.jsx("span",{children:v.name})]}),l.jsxs("div",{className:"cw-ab-config-head-actions",children:[v.id!=="baseline"&&l.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${v.name}`,title:"删除配置组",disabled:Q,onClick:()=>d(v.id),children:l.jsx(zY,{className:"cw-i cw-i-sm"})}),l.jsxs("span",{className:`cw-ab-config-done-wrap${j?" is-disabled":""}`,tabIndex:j?0:void 0,children:[l.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!v.configOpen||C,onClick:()=>h(v.id),children:v.id==="baseline"?"完成配置":"完成并启动"}),j&&l.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:j})]})]})]}),l.jsxs("div",{className:"cw-ab-config",children:[l.jsxs("label",{children:[l.jsx("span",{children:"模型"}),l.jsx("input",{value:v.modelName,placeholder:"使用 Agent 当前模型",disabled:!v.configOpen,onChange:F=>p(v.id,"modelName",F.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"描述"}),l.jsx("textarea",{rows:2,value:v.description,disabled:!v.configOpen,onChange:F=>p(v.id,"description",F.target.value)})]}),l.jsxs("label",{children:[l.jsx("span",{children:"系统提示词"}),l.jsx("textarea",{rows:5,value:v.instruction,disabled:!v.configOpen,onChange:F=>p(v.id,"instruction",F.target.value)})]}),l.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},v.id)})}):l.jsx("div",{className:"cw-debug-empty",children:t})}),l.jsxs("div",{className:"cw-ab-composer",children:[l.jsxs("div",{className:"cw-debug-composerbox",children:[l.jsx("textarea",{className:"cw-debug-input",rows:1,value:r,placeholder:y?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!y,onChange:v=>s(v.target.value),onKeyDown:v=>{dC(v.nativeEvent)||v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),a())}}),l.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!y||!r.trim(),onClick:a,children:O?l.jsx(Hn,{className:"cw-i cw-spin"}):l.jsx(Yke,{className:"cw-i"})})]}),e&&n.length<3&&l.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[l.jsx(wa,{className:"cw-i"}),"添加对照组"]})]})]})}function FOt({profile:e,optimizations:t,unavailableMessage:n,onProfileChange:i,onOptimizationChange:r}){return l.jsx("section",{className:"cw-optimize-workspace","aria-label":"智能体优化选项",children:l.jsxs("div",{className:"cw-optimize-panel",children:[n?l.jsxs("div",{className:"cw-banner",role:"alert",children:[l.jsx(ju,{className:"cw-i"}),l.jsx("span",{children:n})]}):null,l.jsxs("fieldset",{className:"cw-optimize-section",children:[l.jsx("legend",{children:"优化场景"}),l.jsx(Fp,{className:"cw-optimize-profile-options","aria-label":"优化场景",value:e,onChange:i,children:UQ.map(s=>l.jsx("div",{className:`cw-optimize-profile-option${e===s.id?" is-on":""}`,children:l.jsx(Fp.Item,{value:s.id,block:!0,className:"cw-optimize-profile-control",children:l.jsxs("span",{className:"cw-optimize-profile-copy",children:[l.jsx("strong",{children:s.displayName}),l.jsx("small",{children:s.description})]})})},s.id))})]}),l.jsxs("fieldset",{className:"cw-optimize-section",children:[l.jsx("legend",{children:"优化组件"}),l.jsx("div",{className:"cw-optimize-option-list",children:bht.map(s=>l.jsxs("section",{className:"cw-optimize-option-group","aria-labelledby":`cw-optimize-group-${s.id}`,children:[l.jsx("h3",{id:`cw-optimize-group-${s.id}`,className:"cw-optimize-option-group-title",children:s.displayName}),l.jsx("div",{className:"cw-optimize-option-group-items",children:s.componentIds.map(a=>{const o=FQ.find(u=>u.id===a);if(!o)return null;const c=t.includes(o.id);return l.jsx(nB,{checked:c,onCheckedChange:u=>{const d=!!u;d!==c&&r(o.id,d)},label:l.jsxs("span",{className:"cw-optimize-option-copy",children:[l.jsx("strong",{children:o.displayName}),l.jsx("small",{children:o.description})]}),className:"cw-optimize-option"},o.id)})})]},s.id))})]})]})})}const SE=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"optimize",label:"优化"},{id:"environment",label:"环境"},{id:"publish",label:"发布"}],UOt={build:"个性化您的智能体架构",validate:"调试您的智能体",optimize:"为您的智能体选择优化项",environment:"配置云上环境",publish:"准备好部署您的智能体"};function zOt({mode:e}){return l.jsx("header",{className:"cw-workspace-header",children:l.jsx("h1",{children:UOt[e]})})}function VOt({mode:e,busy:t,onChange:n,assistant:i,accessory:r}){const s=SE.findIndex(c=>c.id===e),a=SE[s-1],o=SE[s+1];return l.jsxs("footer",{className:"cw-workspace-footer",children:[r?l.jsx("div",{className:"cw-workspace-footer-accessory",children:r}):null,l.jsxs("div",{className:`cw-workspace-nav-actions${i?" has-assistant":""}`,children:[l.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:!a||t,onClick:()=>a&&n(a.id),children:"上一步"}),l.jsx("span",{"aria-hidden":"true"}),i?l.jsx("div",{className:"cw-workspace-ai-slot",children:i}):null,e==="publish"?l.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):l.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!o||t,onClick:()=>o&&n(o.id),children:"下一步"})]}),l.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:SE.map((c,u)=>{const d=c.id===e;return l.jsx("button",{type:"button",className:`${d?"is-active":""}${un(c.id),children:l.jsx("span",{"aria-hidden":"true"})},c.id)})})]})}function qOt({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:i,features:r,onDeploymentTaskChange:s,createMode:a="custom",deploymentTarget:o,cloudProvider:c="volcengine",initialDeployRegion:u=Li(c),onDeploymentComplete:d,onDeploymentStarted:f,onDraftChange:h,onDiscard:p}){var or,js,Ga,cl,Ys,ul,$c,ae,kn,Zn,To,Cn,Kn,ha,_o,Ei,xs,Ya,bi,Rs;const[b]=m.useState(()=>$Ot(i??nl(c),c)),[g,O]=m.useState(b.draft),[y,v]=m.useState(b.customModelSecretValues),x=((or=g.deployment)==null?void 0:or.runtimeName)??"",w=o?o.name:qpt(g.name,x,(js=g.deployment)==null?void 0:js.runtimeNameCustomized),E=y;m.useEffect(()=>{O(te=>Rp(te,c))},[c]);const[S,k]=m.useState(""),[T,C]=m.useState(!1),[A,N]=m.useState(!1),[P,Q]=m.useState(!1),[D,$]=m.useState(null),j=S.trim(),I=j.length>0&&j.length{q.current=h},[h]),m.useEffect(()=>{var te;M!==B.current&&(B.current=M,(te=q.current)==null||te.call(q,Rp(g,c),Y))},[c,g,Y,M]);const[U,V]=m.useState("build"),[re,de]=m.useState(!1),[be,ce]=m.useState(0),[K,ee]=m.useState(null),[me,ve]=m.useState(!1),[Ne,Ie]=m.useState(!1),[De,pe]=m.useState((o==null?void 0:o.region)??u),Se=(r==null?void 0:r.generatedAgentTestRun)===!0,Oe=(r==null?void 0:r.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[Le,Fe]=m.useState(()=>{const te=Rp(i??nl(c),c);return[{id:"baseline",name:"基准组",modelName:p5(te),description:te.description,instruction:te.instruction,configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]}),[Te,Ue]=m.useState("baseline"),ot=m.useRef(1),Bt=m.useRef(!1),Ye=m.useRef(new Map),[Z,ie]=m.useState(0),[ue,ye]=m.useState(""),[z,je]=m.useState(null),[We,et]=m.useState(!1),[Jt,Xt]=m.useState(!1),Tt=m.useRef(null),[vt,xe]=m.useState(""),[ze,Be]=m.useState(!1),[bt,mt]=m.useState([]),At=m.useRef(null),_e=m.useRef({});async function Ze(){const te=new Set([...Ye.current.values()].map(({run:st})=>st.runId)),Pe=sB().filter(st=>!te.has(st));Pe.length&&await Promise.all(Pe.map(async st=>{try{await jg(st),vy(st)}catch(Ut){console.warn("清理遗留调试运行失败",Ut)}}))}m.useEffect(()=>(Ze(),()=>{for(const{run:te}of Ye.current.values())jg(te.runId).then(()=>vy(te.runId)).catch(Pe=>console.warn("清理调试运行失败",Pe));Ye.current.clear()}),[]),m.useEffect(()=>()=>{var te;(te=Tt.current)==null||te.call(Tt,!1),Tt.current=null},[]);const Ct=m.useRef(null);Ct.current||(Ct.current=({meta:te,children:Pe})=>l.jsxs("section",{ref:st=>{_e.current[te.id]=st},id:`cw-sec-${te.id}`,"data-step-id":te.id,className:"cw-section",children:[l.jsx("header",{className:"cw-sec-head",children:l.jsx("h2",{className:"cw-sec-title",children:te.label})}),l.jsx("div",{className:"cw-sec-body",children:Pe})]}));const an=NOt(g,bt)?bt:[],tt=wE(g,an),pn=an.length===0,Yn=`cw-a2a-registry-advanced-${an.join("-")||"root"}`,zt=te=>O(Pe=>hw(Pe,an,st=>({...st,...te}))),Vt=(te,Pe)=>O(st=>{var Ut;return{...st,deployment:{...st.deployment??{feishuEnabled:!1},envValues:{...((Ut=st.deployment)==null?void 0:Ut.envValues)??{},[te]:Pe}}}}),Ae=te=>zt({a2aRegistry:{...tt.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...te}}),Ge=(te,Pe)=>{if(!(te in VY))return;const st=VY[te];Ae({[st]:Pe}),Vt(te,Pe)},Ft=te=>{if(!(pn&&te==="a2a")){if(te==="a2a"){zt({agentType:te,a2aRegistry:{...tt.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}zt({agentType:te,a2aRegistry:tt.a2aRegistry?{...tt.a2aRegistry,enabled:!1}:void 0})}},mn=(te,Pe)=>{O(te),Pe&&mt(Pe)},en=async()=>{const te=S.trim();if(!(!te||T)&&!(te.length{const Pe=wE(g,te);if(!h5(Pe)||te.length>=GY)return;const st=jOt(g,te,c),Ut=wE(st,te).subAgents.length-1;mn(st,[...te,Ut])},Re=(te,Pe)=>{const st=wE(g,te);if(!h5(st)||te.length>=GY)return;const Ut=Math.max(0,Math.min(Pe,st.subAgents.length)),Wt=ROt(g,te,Ut,c);mn(Wt,[...te,Ut])},rt=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(O(nl(c)),mt([]),de(!1))},Dt=te=>{if(te.length===0){rt();return}mn(IOt(g,te),te.slice(0,-1))},Yt=tt.builtinTools??[],cn=m.useMemo(()=>fse(c),[c]),Zt=m.useMemo(()=>new Set(cn.map(te=>te.id)),[cn]),ni=tt.mcpTools??[],oi=tt.selectedSkills??[],Ui=te=>{Zt.has(te)&&zt({builtinTools:Yt.includes(te)?Yt.filter(Pe=>Pe!==te):[...Yt,te]})},le=u0e(tt.agentType),Qe=mC(tt.agentType),lt=kO(tt,c),Ot=te=>{var st;const Pe=te==="custom"&<==="ark"?"":te==="ark"&&!((st=tt.modelName)!=null&&st.trim())?dm(c):tt.modelName;zt({modelSource:te,modelName:Pe})},En=m.useMemo(()=>Imt(g),[g]),li=Qe?null:dv(tt.name)??(En.has(tt.name)?"Agent 名称在当前结构中必须唯一":null),Wn=li!==null,di=!Qe&&tt.description.trim().length===0,Pn=tt.instruction.trim().length===0,fi=Qe&&!((Ga=tt.a2aRegistry)!=null&&Ga.registrySpaceId.trim()),Yi=te=>re&&te?`is-error cw-error-shake-${be%2}`:"",Wi=m.useMemo(()=>L0e(g,En),[g,En]),gr=Wi.length===0,vn=m.useMemo(()=>Rp(g,c),[c,g]),Zi=Eht(g),ji=zQ(g),Si=yht(c),zi=m.useMemo(()=>QOt(vn,E),[vn,E]),qr=Le.find(te=>te.id===Te)??Le[0],ua=m.useMemo(()=>Q0e(vn),[vn]),Ir=m.useMemo(()=>Jge(vn,Sc(c)),[c,vn]),Os=Ir.find(te=>te.label===`${tt.name.trim()||"自定义模型"} 模型 API Key`);function Ar(te){const Pe=te.problem==="缺少子 Agent"?"type":"basic",st=_e.current[Pe];st==null||st.scrollIntoView({behavior:"smooth",block:"start"});const Ut=te.problem==="缺少描述"?"description":te.problem==="缺少系统提示词"?"instruction":te.problem==="缺少 AgentKit 智能体中心"?"a2a-registry":te.problem==="缺少子 Agent"||te.problem==="远程 Agent 只能作为子 Agent"?null:"name",Wt=Ut?st==null?void 0:st.querySelector(`[data-validation-field="${Ut}"]`):st,gn=Wt!=null&&Wt.matches('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')?Wt:Wt==null?void 0:Wt.querySelector('input, textarea, button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])');gn==null||gn.focus({preventScroll:!0})}const Ns=()=>gr?!0:(de(!0),ce(te=>te+1),Wi[0]&&(mt(Wi[0].path),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>Ar(Wi[0]))})),!1),ii=async()=>{je(null);const te=[...Ye.current.values()];Ye.current.clear(),ie(0),Fe(Pe=>Pe.map(st=>({...st,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(te.map(async({run:Pe})=>{try{await jg(Pe.runId),vy(Pe.runId)}catch(st){console.warn("清理调试运行失败",st)}}))},Xs=async te=>{const Pe=Ye.current.get(te);if(Pe){Ye.current.delete(te),ie(Ye.current.size);try{await jg(Pe.run.runId),vy(Pe.run.runId)}catch(st){console.warn("清理调试运行失败",st)}}},Lc=te=>{const Pe=Ye.current.get(te),st=Le.find(Ut=>Ut.id===te);!Pe||!st||je({runId:Pe.run.runId,sessionId:Pe.sessionId,variantName:st.name})},Xa=te=>{const Pe=Tt.current;Tt.current=null,Pe==null||Pe(te)},Ki=()=>{Jt||(et(!1),Xa(!1))},Xl=async()=>{if(!Jt){Xt(!0);try{await ii(),et(!1),Xa(!0)}finally{Xt(!1)}}},Eo=async()=>U!=="validate"||Z===0?!0:Tt.current?!1:new Promise(te=>{Tt.current=te,et(!0)}),da=async te=>{if(await Eo()){if(!Ns()){V("build");return}te&&Ue(te),V("environment")}},Ha=async te=>{var st,Ut,Wt,gn,G;if(xe(""),!Ns()){V("build");return}if((st=vn.harnessSidecar)!=null&&st.enabled&&Si){xe(Si),V("optimize");return}if(((Ut=vn.cloudEnvironment)==null?void 0:Ut.dockerfile)!==void 0&&!vn.cloudEnvironment.dockerfile.trim()){xe("Dockerfile 不能为空。请输入有效内容,或恢复自动生成。"),V("environment");return}if((((gn=(Wt=vn.cloudEnvironment)==null?void 0:Wt.dockerfile)==null?void 0:gn.length)??0)>hse){xe("Dockerfile 不能超过 64 KiB。请精简内容后重试。"),V("environment");return}const Pe=o0e(ua.specs,((G=vn.deployment)==null?void 0:G.envValues)??{});if(Pe){xe(`${Pe.spec.comment||Pe.spec.key}:${Pe.error}`),V("build");return}ve(!0);try{const Ce=te?Le.find(yt=>yt.id===te):qr;Ce&&Ue(Ce.id);const Ke=Ce?Sht(vn,Ce):vn,Nt=await C$(B0e(Ke));O(Ke),ee(Nt),V("publish")}catch(Ce){xe(Ce instanceof Error?Ce.message:String(Ce))}finally{ve(!1)}},Ca=async()=>{if(await Eo()){if(!Ns()){V("build");return}V("optimize")}},Xr=async te=>{if(!Se||me||!Ns())return;const Pe=Le.find(ft=>ft.id===te);if(!Pe||Pe.phase==="starting"||Pe.phase==="sending")return;const st=Pe.modelName.trim(),Ut=Pe.description.trim(),Wt=Pe.instruction.trim(),gn=b0(Pe),G=Le.findIndex(ft=>ft.id===te),Ce=Le.findIndex(ft=>b0(ft)===gn);if(!st||!Ut||!Wt||Ce!==G)return;const Ke=q_(zi,Pe);Fe(ft=>ft.map(Pt=>Pt.id===te?{...Pt,configOpen:!1,phase:"starting",messages:[],error:null}:Pt)),ye("");let Nt=null,yt="unknown";const jt=te==="baseline"?"baseline":"comparison",Gt=jmt({agentId:String(vn.name||"unknown"),variantType:jt});try{await Xs(te),await Ze();const ft={...vn,modelName:Pe.modelName||vn.modelName,description:Pe.description,instruction:Pe.instruction};yt="create_test_run",Nt=await $ne(F0e(ft,E),o?{runtimeId:o.runtimeId,region:o.region}:void 0),fOt(Nt.runId),yt="create_test_session";const Pt=await Qne(Nt.runId,"test_user");Ye.current.set(te,{run:Nt,sessionId:Pt}),ie(Ye.current.size),Fe(on=>on.map(Ri=>Ri.id===te?{...Ri,phase:"ready",runtimeSnapshot:Ke}:Ri)),Gt.succeed({debugRunId:String(Nt.runId)})}catch(ft){if(Nt)try{await jg(Nt.runId),vy(Nt.runId)}catch(Pt){console.warn("清理调试运行失败",Pt)}Fe(Pt=>Pt.map(on=>on.id===te?{...on,phase:"error",runtimeSnapshot:"",error:ft instanceof Error?ft.message:String(ft)}:on)),Gt.fail({failedPhase:yt,...Ia(ft,{phase:yt})})}},Hs=async()=>{const te=ue.trim(),Pe=Le.filter(Ut=>Ut.phase==="ready"&&Ut.runtimeSnapshot===q_(zi,Ut)&&Ye.current.has(Ut.id));if(!te||Pe.length===0)return;ye("");const st=new Set(Pe.map(Ut=>Ut.id));Fe(Ut=>Ut.map(Wt=>st.has(Wt.id)?{...Wt,phase:"sending",messages:[...Wt.messages,{role:"user",content:te},{role:"assistant",content:"",blocks:[]}]}:Wt)),await Promise.all(Pe.map(async Ut=>{const Wt=Ye.current.get(Ut.id);if(Wt)try{let gn=md();for await(const G of Fne({runId:Wt.run.runId,userId:"test_user",sessionId:Wt.sessionId,text:te})){const Ce=G.error||G.errorMessage||G.error_message;if(Ce||(gn=ET(gn,G)),Fe(Ke=>Ke.map(Nt=>{if(Nt.id!==Ut.id)return Nt;const yt=[...Nt.messages],jt={...yt[yt.length-1]};return Ce?jt.error=String(Ce):(jt.content=gn.blocks.filter(Gt=>Gt.kind==="text").map(Gt=>Gt.text).join(""),jt.blocks=gn.blocks),yt[yt.length-1]=jt,{...Nt,messages:yt}})),Ce)break}}catch(gn){Fe(G=>G.map(Ce=>{if(Ce.id!==Ut.id)return Ce;const Ke=[...Ce.messages],Nt={...Ke[Ke.length-1]};return Nt.error=gn instanceof Error?gn.message:String(gn),Ke[Ke.length-1]=Nt,{...Ce,messages:Ke}}))}finally{Fe(gn=>gn.map(G=>G.id===Ut.id?{...G,phase:"ready"}:G))}}))},Ji=()=>{Fe(te=>{if(te.length>=3)return te;const Pe=ot.current++,st=`variant-${Pe}`;return[...te,{id:st,name:`对照组 ${Pe}`,modelName:g.modelName??"",description:g.description,instruction:g.instruction,configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},Gs=async te=>{await Xs(te),Fe(Pe=>Pe.filter(st=>st.id!==te)),Te===te&&Ue("baseline")},hi=(te,Pe)=>Fe(st=>st.map(Ut=>Ut.id===te?{...Ut,...Pe}:Ut)),ss=(te,Pe)=>{if(Pe&&Si){xe(Si);return}const st=Pe?[...new Set([...ji,te])]:ji.filter(Ut=>Ut!==te);O(Ut=>({...Ut,harnessSidecar:p0(st,Zi)})),xe(""),ee(null)},Dr=te=>{const Pe=wge(te);if(Pe.length>0&&Si){xe(Si);return}O(st=>({...st,harnessSidecar:p0(Pe,te)})),xe(""),ee(null)},br=(te,Pe,st)=>{te==="baseline"&&Pe==="modelName"&&(Bt.current=!0),hi(te,{[Pe]:st}),!(Te!==te||te==="baseline")&&Ue("baseline")},fa=te=>{const Pe=Le.find(Ke=>Ke.id===te);if(!Pe)return;const st=Pe.modelName.trim(),Ut=Pe.description.trim(),Wt=Pe.instruction.trim(),gn=b0(Pe),G=Le.findIndex(Ke=>Ke.id===te),Ce=Le.findIndex(Ke=>b0(Ke)===gn);if(!(!st||!Ut||!Wt||Ce!==G)){if(te==="baseline"){hi(te,{configOpen:!1});return}Xr(te)}},Hr=async(te,Pe,st)=>{var gn;const Ut=(gn=g.deployment)==null?void 0:gn.network,Wt=Ut&&Ut.mode&&Ut.mode!=="public"?{mode:Ut.mode,vpc_id:Ut.vpcId,subnet_ids:Ut.subnetIds,enable_shared_internet_access:Ut.enableSharedInternetAccess}:void 0;return Zb(te.name,te.files,{region:(o==null?void 0:o.region)??De,projectName:"default",network:Wt},{...st,onStage:Pe,runtimeId:o==null?void 0:o.runtimeId,runtimeName:(st==null?void 0:st.runtimeName)??w,appName:o==null?void 0:o.appName,description:g.description,harnessSidecar:g.harnessSidecar})},bn=()=>{Ns()&&(Fe(te=>te.map(Pe=>Pe.id==="baseline"&&!Ye.current.has(Pe.id)?{...Pe,modelName:Bt.current?Pe.modelName:p5(vn),description:vn.description,instruction:vn.instruction}:Pe)),V("validate"))},ys=async te=>{if(te==="publish"){if(!await Eo())return;await Ha();return}if(te==="validate"){bn();return}if(te==="optimize"){await Ca();return}if(te==="environment"){da();return}await Eo()&&V(te)},ko=te=>{O(Pe=>({...Pe,cloudEnvironment:te})),xe(""),ee(null)},Na=Ct.current,as=te=>pOt.find(Pe=>Pe.id===te),ll=l.jsx("section",{className:`cw-ai-compose${T?" is-generating":""}${A?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:l.jsx(oh,{initial:!1,mode:"wait",children:A?l.jsxs(Fr.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:[l.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),l.jsx("strong",{children:"生成成功"}),l.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>N(!1),children:"重新生成"})]},"success"):l.jsxs(Fr.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:[l.jsxs("form",{className:"cw-ai-compose-form",onSubmit:te=>{te.preventDefault(),en()},children:[l.jsx("input",{type:"text",value:S,maxLength:8e3,disabled:T,placeholder:`描述目标,使用 ${m_e(c)} 模型一键生成配置`,"aria-invalid":!!I,"aria-describedby":I?"ai-requirement-error":void 0,onChange:te=>k(te.target.value),onKeyDown:te=>{te.key==="Enter"&&(te.preventDefault(),en())}}),l.jsx("button",{type:"submit",disabled:T||!j||!!I,"aria-label":T?"正在智能生成":"智能生成",children:T?l.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:l.jsx("span",{})}):"智能生成"})]}),I&&l.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:I})]},"compose")})});return l.jsxs("div",{className:`cw-root is-${U}`,children:[l.jsx(zOt,{mode:U}),vt&&l.jsx(V_,{className:"cw-workspace-alert",message:vt}),l.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[U==="build"&&l.jsx("div",{className:"cw-build-workspace",children:l.jsxs("div",{className:"cw-editor",children:[l.jsx(w1,{draft:g,direction:"horizontal",selectedPath:an,onSelect:mt,onAdd:ui,onInsert:Re,onDelete:Dt}),l.jsx("div",{className:"cw-detail",children:l.jsx("div",{className:"cw-detail-scroll",ref:At,children:l.jsx("div",{className:"cw-detail-inner",children:l.jsx("div",{className:"cw-lower",children:l.jsxs("div",{className:"cw-form-col",children:[l.jsxs(Na,{meta:as("type"),children:[l.jsx(Fp,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:tt.agentType??"llm",onChange:Ft,children:fbt.map(te=>{const Pe=(tt.agentType??"llm")===te.id,st=pn&&te.id==="a2a",Ut=st?"cw-remote-agent-disabled-hint":void 0;return l.jsxs("div",{"data-agent-type":te.id,className:`cw-agent-type-option ${Pe?"is-on":""} ${st?"is-disabled":""}`,tabIndex:st?0:void 0,"aria-describedby":Ut,children:[l.jsx(Fp.Item,{value:te.id,disabled:st,block:!0,className:"cw-agent-type-control",children:l.jsx("span",{className:"cw-agent-type-copy",children:l.jsx("strong",{children:gOt[te.id]})})}),st&&l.jsx("span",{id:Ut,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},te.id)})}),re&&le&&tt.subAgents.length===0&&l.jsx("span",{className:"cw-error-text",children:POt({name:tt.name.trim()||"未命名",typeLabel:c0e(tt.agentType).label})})]}),l.jsx(Na,{meta:as("basic"),children:l.jsxs("div",{className:"cw-form",children:[!Qe&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"cw-field",children:[l.jsxs("label",{className:"cw-label",children:[pn?"Agent 名称":"名称",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx("input",{className:`cw-input ${Yi(Wn)}`,"data-validation-field":"name",value:tt.name,placeholder:"assistant","aria-invalid":re&&Wn,"aria-describedby":re&&li?"cw-agent-name-error":void 0,onChange:te=>zt({name:te.target.value})}),re&&li?l.jsx("span",{id:"cw-agent-name-error",role:"alert",className:"cw-error-text",children:li}):l.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),l.jsxs("div",{className:"cw-field",children:[l.jsxs("label",{className:"cw-label",children:[pn?"描述":"智能体描述",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${Yi(di)}`,"data-validation-field":"description",value:tt.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…","aria-invalid":re&&di,"aria-describedby":re&&di?"cw-agent-description-error":void 0,onChange:te=>zt({description:te.target.value})}),re&&di?l.jsx("span",{id:"cw-agent-description-error",role:"alert",className:"cw-error-text",children:"描述为必填项"}):l.jsx("span",{className:"cw-help",children:pn?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),le?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),tt.agentType==="loop"&&l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"最大轮次"}),l.jsx("input",{className:"cw-input",type:"number",min:1,value:tt.maxIterations??3,onChange:te=>zt({maxIterations:Math.max(1,Number(te.target.value)||1)})}),l.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):Qe?l.jsxs("div",{className:"cw-field cw-remote-center-fields","data-validation-field":"a2a-registry",children:[l.jsxs("div",{className:"cw-remote-center-head",children:[l.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),l.jsx(EOt,{value:((cl=tt.a2aRegistry)==null?void 0:cl.registrySpaceId)??"",region:((Ys=tt.a2aRegistry)==null?void 0:Ys.registryRegion)||Oc.region,invalid:re&&fi,onChange:te=>Ge(I0e,te)}),l.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":ze,"aria-controls":Yn,onClick:()=>Be(te=>!te),children:[l.jsx("span",{children:"更多选项"}),l.jsx(Hb,{className:`cw-more-options-chevron ${ze?"is-open":""}`,"aria-hidden":!0})]}),l.jsx(oh,{initial:!1,children:ze&&l.jsx(Fr.div,{id:Yn,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:l.jsx(wy,{env:bOt,values:D0e(tt.a2aRegistry,{includeDefaults:!1}),onChange:Ge})})}),re&&fi&&l.jsx("span",{className:"cw-error-text",role:"alert",children:"请选择 AgentKit 智能体中心"})]}):l.jsxs("div",{className:"cw-field","data-validation-field":"instruction",children:[l.jsxs("label",{className:"cw-label",children:["系统提示词",l.jsx("span",{className:"cw-req",children:"*"})]}),l.jsx(m.Suspense,{fallback:l.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:l.jsx(dOt,{value:tt.instruction,invalid:Pn,onChange:te=>zt({instruction:te})})}),re&&Pn?l.jsx("span",{className:"cw-error-text",role:"alert",children:"系统提示词为必填项"}):l.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!le&&!Qe&&l.jsxs(l.Fragment,{children:[l.jsx(Na,{meta:as("model"),children:l.jsxs("div",{className:"cw-form",children:[l.jsxs("div",{className:"cw-field cw-model-source-field",children:[l.jsx("label",{className:"cw-label",children:"模型来源"}),l.jsx(Fp,{className:"cw-model-source-options","aria-label":"模型来源",value:lt,onChange:te=>{te!=="gateway"&&Ot(te)},children:[{value:"ark",label:c==="byteplus"?"BytePlus ModelArk":"火山方舟"},{value:"custom",label:"自定义"},{value:"gateway",label:"模型网关",disabled:!0}].map(te=>l.jsx("div",{className:`cw-model-source-option ${lt===te.value?"is-on":""}${te.disabled?" is-disabled":""}`,children:l.jsxs(Fp.Item,{value:te.value,disabled:te.disabled,block:!0,className:"cw-model-source-control",children:[l.jsx("span",{children:te.label}),te.disabled&&l.jsx("span",{className:"cw-model-source-coming-soon",children:"待上线"})]})},te.value))})]}),lt==="ark"?l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"模型配置"}),l.jsx(SOt,{value:tt.modelName??"",cloudProvider:c,apiKeyId:(ul=g.deployment)==null?void 0:ul.modelApiKeyId,apiKeyName:($c=g.deployment)==null?void 0:$c.modelApiKeyName,onApiKeyChange:te=>O(Pe=>({...Pe,deployment:{...Pe.deployment??{feishuEnabled:!1},modelApiKeyId:te.id,modelApiKeyName:te.name}})),onChange:te=>zt({modelName:te})})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"模型名称"}),l.jsx("input",{className:"cw-input",value:tt.modelName??"",onChange:te=>zt({modelName:te.target.value})})]}),l.jsxs("div",{className:"cw-field",children:[l.jsxs("label",{className:"cw-label cw-label-with-link",children:[l.jsx("span",{children:"服务商 Provider"}),l.jsxs("a",{href:"https://docs.litellm.ai/docs/providers",target:"_blank",rel:"noopener noreferrer",onClick:te=>te.stopPropagation(),children:["LiteLLM 支持列表",l.jsx(ab,{"aria-hidden":"true"})]})]}),l.jsx("input",{className:"cw-input",value:tt.modelProvider??"",placeholder:"openai",onChange:te=>zt({modelProvider:te.target.value})})]}),l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"API Base"}),l.jsx("input",{className:"cw-input",value:tt.modelApiBase??"",placeholder:Sc(c),onChange:te=>zt({modelApiBase:te.target.value})})]}),l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"API Key"}),l.jsx("input",{className:"cw-input",type:"password",value:Os?y[Os.key]??"":"",placeholder:"请输入模型 API Key",autoComplete:"new-password",onChange:te=>{if(!Os)return;const Pe=te.currentTarget.value;v(st=>({...st,[Os.key]:Pe}))}})]})]})]})}),l.jsx(Na,{meta:as("tools"),children:l.jsxs("div",{className:"cw-form",children:[l.jsxs("div",{className:"cw-field",children:[l.jsx("label",{className:"cw-label",children:"内置工具"}),l.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),l.jsx("div",{className:"cw-tools-list-shell",children:l.jsx(OOt,{items:cn,selected:Yt,onToggle:Ui,scrollRows:6})}),l.jsx(oh,{initial:!1,children:Yt.includes("run_code")&&l.jsxs(Fr.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:[l.jsxs("div",{className:"cw-tool-config-head",children:[l.jsx("span",{className:"cw-label",children:"代码执行配置"}),l.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),l.jsx(wy,{env:((ae=Mm.find(te=>te.id==="run_code"))==null?void 0:ae.env)??[],values:((kn=g.deployment)==null?void 0:kn.envValues)??{},onChange:Vt})]})})]}),l.jsxs("div",{className:"cw-field cw-mcp-field",children:[l.jsx("label",{className:"cw-label",children:"MCP 工具"}),l.jsx(_Ot,{tools:ni,onChange:te=>zt({mcpTools:te})})]})]})}),l.jsx(Na,{meta:as("skills"),children:l.jsx("div",{className:"cw-form",children:l.jsx(COt,{selected:oi,onChange:te=>zt({selectedSkills:te}),cloudProvider:c})})}),l.jsx(Na,{meta:as("knowledge"),children:l.jsxs("div",{className:"cw-form cw-toggle-stack",children:[l.jsx(vE,{checked:tt.knowledgebase,onChange:te=>zt({knowledgebase:te}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:zE}),tt.knowledgebase&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"知识库后端"}),l.jsx(PI,{options:ZP,value:tt.knowledgebaseBackend,onChange:te=>zt({knowledgebaseBackend:te,knowledgebaseIndex:te==="viking"||te==="openviking"?tt.knowledgebaseIndex:""})}),(tt.knowledgebaseBackend??ch)==="viking"&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),l.jsx(kOt,{value:tt.knowledgebaseIndex??"",onChange:te=>{zt({knowledgebaseIndex:te.id}),te.projectName&&Vt("DATABASE_VIKING_PROJECT",te.projectName),te.region&&Vt("DATABASE_VIKING_REGION",te.region),te.sourceKind&&Vt("DATABASE_VIKING_COLLECTION_KIND",te.sourceKind),Vt("DATABASE_VIKING_RESOURCE_ID",te.resourceId??"")}})]}),l.jsx(wy,{env:((Zn=ZP.find(te=>te.id===(tt.knowledgebaseBackend??ch)))==null?void 0:Zn.env)??[],values:((To=g.deployment)==null?void 0:To.envValues)??{},onChange:Vt,renderAfterField:(tt.knowledgebaseBackend??ch)==="openviking"?te=>te.key==="DATABASE_OPENVIKING_USER_ID"?l.jsx(xOt,{value:tt.knowledgebaseIndex??"",onChange:Pe=>zt({knowledgebaseIndex:Pe})}):null:void 0})]})]})}),pn&&l.jsx(Na,{meta:as("memory"),children:l.jsxs("div",{className:"cw-form cw-toggle-stack",children:[l.jsx(vE,{checked:tt.memory.shortTerm,onChange:te=>zt({memory:{...tt.memory,shortTerm:te}}),title:"短期记忆",desc:"存储单会话上下文",showDescription:!0,icon:Nte}),tt.memory.shortTerm&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"短期记忆后端"}),l.jsx(PI,{options:YP,value:tt.shortTermBackend,onChange:te=>zt({shortTermBackend:te})}),l.jsx(wy,{env:((Cn=YP.find(te=>te.id===(tt.shortTermBackend??"local")))==null?void 0:Cn.env)??[],values:((Kn=g.deployment)==null?void 0:Kn.envValues)??{},onChange:Vt})]}),l.jsx(vE,{checked:tt.memory.longTerm,onChange:te=>zt({memory:{...tt.memory,longTerm:te}}),title:"长期记忆",desc:"存储跨会话上下文,通常使用向量化检索",showDescription:!0,icon:zE}),tt.memory.longTerm&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"长期记忆后端"}),l.jsx(PI,{options:WP,value:tt.longTermBackend,onChange:te=>zt({longTermBackend:te,longTermMemoryIndex:te==="viking"?tt.longTermMemoryIndex:""})}),(tt.longTermBackend??"local")==="viking"&&l.jsxs("div",{className:"cw-field cw-subfield",children:[l.jsx("label",{className:"cw-label",children:"VikingDB 记忆库"}),l.jsx(TOt,{value:tt.longTermMemoryIndex??"",onChange:te=>{zt({longTermMemoryIndex:te.id}),Vt("DATABASE_VIKINGMEM_PROJECT",te.projectName),Vt("DATABASE_VIKING_REGION",te.region),Vt("DATABASE_VIKINGMEM_MEMORY_TYPE",(te.memoryTypes??[]).join(","))}})]}),l.jsx(wy,{env:((ha=WP.find(te=>te.id===(tt.longTermBackend??"local")))==null?void 0:ha.env)??[],values:((_o=g.deployment)==null?void 0:_o.envValues)??{},onChange:Vt}),l.jsx(vE,{checked:!!tt.autoSaveSession,onChange:te=>zt({autoSaveSession:te}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:zE})]})]})})]})]})})})})})]})}),U==="validate"&&l.jsx("div",{className:"cw-validation-workspace",children:l.jsx("div",{className:"cw-validation-content",children:l.jsx(BOt,{enabled:Se,disabledReason:Oe,variants:Le,draftSnapshot:zi,input:ue,onInput:ye,onSend:Hs,onStartVariant:Xr,onUseVariant:te=>void da(te),onAddVariant:Ji,onRemoveVariant:Gs,onToggleConfig:te=>{const Pe=Le.find(st=>st.id===te);Pe&&hi(te,{configOpen:!Pe.configOpen})},onCompleteConfig:fa,onConfigChange:br,onOpenTrace:Lc})})}),U==="optimize"&&l.jsx(FOt,{profile:Zi,optimizations:ji,unavailableMessage:Si,onProfileChange:Dr,onOptimizationChange:ss}),U==="environment"&&l.jsx("div",{className:"cw-environment-workspace",children:l.jsx(tOt,{cloudProvider:c,value:g.cloudEnvironment??{cliTools:[]},onChange:ko,editorOpen:Ne,onEditorOpenChange:Ie,disabled:me})}),U==="publish"&&l.jsx("div",{className:"cw-preview-body",children:K?l.jsx(pC,{embedded:!0,cloudProvider:c,project:K,agentDraft:g,agentName:g.name||"未命名 Agent",agentCount:$0e(g),releaseConfiguration:qr?{modelName:qr.modelName||g.modelName||"默认模型",description:qr.description,instruction:qr.instruction,optimizations:[`优化场景:${vge(Zi)}`,...ji.map(Bx)]}:void 0,onChange:ee,onDeploy:Hr,onAgentAdded:n,onDeploymentTaskChange:s,deploymentActionLabel:o?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:o==null?void 0:o.runtimeId,deploymentRuntimeName:w,deploymentRuntimeNameCustomized:!!o||!!((Ei=g.deployment)!=null&&Ei.runtimeNameCustomized),onDeploymentRuntimeNameChange:te=>O(Pe=>({...Pe,deployment:{...Pe.deployment??{feishuEnabled:!1},runtimeName:te,runtimeNameCustomized:!0}})),onDeploymentStarted:f,onDeploymentComplete:d,feishuEnabled:!!((xs=g.deployment)!=null&&xs.feishuEnabled),onFeishuEnabledChange:te=>{const Pe={...g,deployment:{...g.deployment??{feishuEnabled:!1},feishuEnabled:te}};O(Pe)},deploymentEnv:ua.specs,requiredSecretEnv:Ir,requiredSecretEnvValues:y,onRequiredSecretEnvChange:(te,Pe)=>v(st=>({...st,[te]:Pe})),deploymentEnvValues:{...(Ya=vn.deployment)==null?void 0:Ya.envValues,...y,...ua.fixedValues},onDeploymentEnvChange:Vt,network:(bi=g.deployment)==null?void 0:bi.network,onNetworkChange:te=>O(Pe=>({...Pe,deployment:{...Pe.deployment??{feishuEnabled:!1},network:te}})),deployRegion:De,onDeployRegionChange:pe,deploymentTelemetry:{source:"scratch",createMode:a,aiAssisted:P},onExportYaml:()=>hOt(`${vn.name||"agent"}.yaml`,_bt(vn),"text/yaml")}):l.jsxs("div",{className:"cw-publish-loading",role:"status",children:[l.jsx(Hn,{className:"cw-i cw-spin"}),l.jsx("strong",{children:"正在生成发布配置"}),l.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),l.jsx(VOt,{mode:U,busy:me,onChange:ys,assistant:U==="build"?ll:void 0,accessory:U==="environment"?l.jsx(eOt,{customized:((Rs=g.cloudEnvironment)==null?void 0:Rs.dockerfile)!==void 0,disabled:me,onClick:()=>Ie(!0)}):void 0}),z&&l.jsx(j0e,{testRunId:z.runId,sessionId:z.sessionId,title:`调用链路 · ${z.variantName}`,onClose:()=>je(null)}),We&&l.jsx(yc,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:Jt?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:Jt,onCancel:Ki,onConfirm:()=>void Xl()}),D&&l.jsx("div",{className:"confirm-scrim",onClick:()=>$(null),children:l.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:[l.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),l.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:D}),l.jsx("div",{className:"confirm-actions",children:l.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>$(null),children:"关闭"})})]})})]})}const YY=50*1024*1024,m5=800,XOt={name:"code_package",files:[]};function HOt(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 U0e(e){const t=e.replace(/\\/g,"/").replace(/^\.\//,"");if(!t||t.endsWith("/"))return null;if(t.startsWith("/")||t.includes("\0"))throw new Error(`压缩包包含非法路径:${e}`);const n=t.split("/");if(n.some(i=>!i||i==="."||i===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function GOt(e){const t=e.flatMap(a=>{const o=U0e(a.name);return o?[{path:o,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>m5)throw new Error(`代码包文件数不能超过 ${m5} 个。`);const r=new Set(t.map(a=>a.path.split("/")[0])).size===1&&t.every(a=>a.path.includes("/"))?t.map(a=>({...a,path:a.path.split("/").slice(1).join("/")})):t,s=new Set;for(const a of r){if(s.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);s.add(a.path)}return YOt(r),r}function YOt(e){const t=new Set(e.map(r=>r.path)),n=e.find(r=>r.path==="agentkit.yaml");let i="app.py";if(n){let r;try{r=wJe(n.content)}catch(o){throw new Error(`agentkit.yaml 无法解析:${o instanceof Error?o.message:String(o)}`)}if(r!==null&&(typeof r!="object"||Array.isArray(r)))throw new Error("agentkit.yaml 根节点必须是对象。");const s=r&&typeof r=="object"&&!Array.isArray(r)?r.common:void 0;if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new Error("agentkit.yaml 的 common 必须是对象。");const a=s&&typeof s=="object"&&!Array.isArray(s)?s.entry_point:void 0;if(a!==void 0){if(typeof a!="string")throw new Error("agentkit.yaml 的 common.entry_point 必须是文件路径。");const o=U0e(a);if(!o)throw new Error("agentkit.yaml 的 common.entry_point 不是有效文件路径。");i=o}}if(!t.has(i))throw n&&i!=="app.py"?new Error(`代码包中不存在 agentkit.yaml 声明的启动入口:${i}`):new Error("代码包根目录必须包含 app.py,或在 agentkit.yaml 的 common.entry_point 中声明已有入口。");return i}function WOt({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,cloudProvider:s="volcengine",initialDeployRegion:a=Li(s)}){const o=m.useRef(null),c=m.useRef(0),[u,d]=m.useState(null),[f,h]=m.useState(""),[p,b]=m.useState(!1),[g,O]=m.useState(!1),[y,v]=m.useState(!1),[x,w]=m.useState(""),[E,S]=m.useState(a),[k,T]=m.useState();m.useEffect(()=>()=>{c.current+=1},[]);async function C(Q){const D=++c.current;if(w(""),!Q.name.toLowerCase().endsWith(".zip")){w("请选择 .zip 格式的代码包。");return}if(Q.size>YY){w("代码包不能超过 50 MB。");return}O(!0);try{const $=await T0e(new Uint8Array(await Q.arrayBuffer()),{maxEntries:m5,maxUncompressedBytes:YY}),j=GOt($);if(D!==c.current)return;h(Q.name),d({name:HOt(Q.name),files:j})}catch($){if(D!==c.current)return;h(""),d(null),w($ instanceof Error?$.message:String($))}finally{D===c.current&&O(!1)}}function A(Q){var $;const D=($=Q.currentTarget.files)==null?void 0:$[0];Q.currentTarget.value="",D&&C(D)}function N(Q){var $;Q.preventDefault(),v(!1);const D=($=Q.dataTransfer.files)==null?void 0:$[0];D&&C(D)}async function P(Q,D,$){const j=k&&k.mode!=="public"?{mode:k.mode,vpc_id:k.vpcId,subnet_ids:k.subnetIds,enable_shared_internet_access:k.enableSharedInternetAccess}:void 0;return Zb(Q.name,Q.files,{region:E,projectName:"default",network:j},{...$,onStage:D})}return l.jsxs("div",{className:"package-create package-create-preview",children:[l.jsx(pC,{cloudProvider:s,project:u??XOt,agentName:(u==null?void 0:u.name)||"代码包",onChange:u?d:void 0,onDeploy:P,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:i,onDeploymentComplete:r,network:k,onNetworkChange:T,deployRegion:E,onDeployRegionChange:S,deploymentTelemetry:{source:"code_package",createMode:"code_package",aiAssisted:!1},onBack:e,backLabel:"返回创建方式",deployDisabled:!u||g,deployDisabledReason:g?"正在读取代码包":u?void 0:"请先上传代码包",deploymentPrimaryPane:l.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[l.jsx("div",{className:"package-source-label",children:"代码包"}),l.jsxs("div",{className:`package-dropzone${y?" is-dragging":""}${u?" is-ready":""}`,onDragEnter:Q=>{Q.preventDefault(),v(!0)},onDragOver:Q=>Q.preventDefault(),onDragLeave:Q=>{Q.currentTarget.contains(Q.relatedTarget)||v(!1)},onDrop:N,onClick:()=>{var Q;g||(Q=o.current)==null||Q.click()},onKeyDown:Q=>{var D;!g&&(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),(D=o.current)==null||D.click())},role:"button",tabIndex:g?-1:0,"aria-label":u?"重新上传代码包":"上传代码包","aria-disabled":g,children:[l.jsx("strong",{children:g?"正在读取代码包…":u?f:"请上传代码包"}),l.jsx("span",{children:u?`已识别 ${u.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB;可使用 app.py,或由 agentkit.yaml 声明入口"}),l.jsx("div",{className:"package-upload-actions",children:u&&l.jsx("button",{type:"button",className:"package-upload-secondary",onClick:Q=>{Q.stopPropagation(),b(!0)},onKeyDown:Q=>Q.stopPropagation(),children:"查看文件"})}),l.jsx("input",{ref:o,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:A})]}),x&&l.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),u&&l.jsx(m6,{project:u,open:p,onClose:()=>b(!1),onChange:d})]})}const ZOt="/web/agent-migrations",bC=39e4;class so extends Error{constructor(t,n,i="MIGRATION_ERROR",r=!1,s="",a=""){super(t),this.status=n,this.code=i,this.retryable=r,this.statusText=s,this.rawResponse=a,this.name="MigrationApiError"}}const KOt=new Set(["langchain","langgraph","adk","strands","agentcore","dify","any"]),JOt=new Set(["awaiting_upload","analyzing","needs_input","analysis_ready","migrating","validating","packaging","succeeded","succeeded_with_warnings","partial","failed","cancelled","expired"]),eyt=new Set(["reasoning","message","plan","command","status"]),tyt=new Set(["running","completed","failed"]),nyt=new Set(["pending","in_progress","completed","failed"]);function yi(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t}格式错误。`);return e}function Up(e,t){if(!Array.isArray(e)||!e.every(n=>typeof n=="string"))throw new Error(`${t}格式错误。`);return e}function Fx(e,t){if(typeof e!="string"||!KOt.has(e))throw new Error(`${t}格式错误。`);return e}function iyt(e){const t=yi(e,"迁移分析结果"),n=t.recommended===null?null:yi(t.recommended,"迁移建议"),i=yi(t.boundary,"迁移边界");if(t.schema_version!==1||!["needs_input","recommendation_ready","unsupported"].includes(String(t.status))||typeof t.attempt!="number"||typeof t.input_sha256!="string"||typeof t.summary!="string"||!Array.isArray(t.frameworks)||!Array.isArray(t.entries)||!Array.isArray(t.questions))throw new Error("迁移分析结果格式错误。");return{schema_version:1,status:t.status,attempt:t.attempt,input_sha256:t.input_sha256,summary:t.summary,frameworks:t.frameworks.map(r=>{const s=yi(r,"框架候选");if(!["high","medium","low"].includes(String(s.confidence))||!Array.isArray(s.evidence))throw new Error("框架候选格式错误。");return{id:Fx(s.id,"框架候选"),confidence:s.confidence,evidence:s.evidence.map(a=>{const o=yi(a,"分析证据");if(typeof o.path!="string"||typeof o.line!="number"||typeof o.reason!="string")throw new Error("分析证据格式错误。");return{path:o.path,line:o.line,reason:o.reason}})}}),recommended:n===null?null:{framework:Fx(n.framework,"推荐框架"),entry:n.entry===null||typeof n.entry=="string"?n.entry:null,reason:typeof n.reason=="string"?n.reason:""},entries:t.entries.map(r=>{const s=yi(r,"入口候选");if(typeof s.value!="string"||typeof s.evidence!="string")throw new Error("入口候选格式错误。");return{value:s.value,framework:Fx(s.framework,"入口框架"),evidence:s.evidence}}),boundary:{include:Up(i.include,"迁移包含范围"),exclude:Up(i.exclude,"迁移排除范围")},assumptions:Up(t.assumptions,"分析假设"),questions:t.questions.map(r=>{const s=yi(r,"待确认问题");if(typeof s.id!="string"||typeof s.prompt!="string"||typeof s.required!="boolean")throw new Error("待确认问题格式错误。");return{id:s.id,prompt:s.prompt,required:s.required}}),warnings:Up(t.warnings,"迁移警告")}}function qm(e){const t=yi(e,"迁移会话"),n=yi(t.artifact,"迁移产物状态");if(typeof t.id!="string"||typeof t.state!="string"||!JOt.has(t.state)||typeof t.message!="string"||typeof t.sourceFileName!="string"||typeof t.instruction!="string"||typeof t.createdAt!="string"&&typeof t.createdAt!="number"||typeof t.expiresAt!="string"||typeof t.sessionTtlSeconds!="number"||typeof t.canModify!="boolean"||typeof t.canUpload!="boolean"||typeof t.canAnswer!="boolean"||typeof t.canConfirm!="boolean"||typeof t.canStop!="boolean")throw new Error("迁移会话格式错误。");const i={id:t.id,state:t.state,message:t.message,sourceFileName:t.sourceFileName,instruction:t.instruction,createdAt:t.createdAt,expiresAt:t.expiresAt,sessionTtlSeconds:t.sessionTtlSeconds,canModify:t.canModify,canUpload:t.canUpload,canAnswer:t.canAnswer,canConfirm:t.canConfirm,canStop:t.canStop,artifact:{state:typeof n.state=="string"?n.state:"none",previewReady:n.previewReady===!0,downloadReady:n.downloadReady===!0,deployReady:n.deployReady===!0}};if(t.analysis!==void 0&&(i.analysis=iyt(t.analysis)),t.analysisRef!==void 0){const r=yi(t.analysisRef,"分析结果引用");if(typeof r.attempt!="number"||typeof r.sha256!="string"||typeof r.inputSha256!="string")throw new Error("分析结果引用格式错误。");i.analysisRef={attempt:r.attempt,sha256:r.sha256,inputSha256:r.inputSha256}}if(t.confirmation!==void 0){const r=yi(t.confirmation,"迁移确认");i.confirmation={...r.framework!==void 0?{framework:Fx(r.framework,"确认框架")}:{},...r.entry===null||typeof r.entry=="string"?{entry:r.entry}:{},...typeof r.app_name=="string"?{app_name:r.app_name}:{}}}if(t.error!==void 0){const r=yi(t.error,"迁移错误");i.error={code:typeof r.code=="string"?r.code:"MIGRATION_ERROR",message:typeof r.message=="string"?r.message:t.message,retryable:r.retryable===!0}}return i}function ryt(e){const t=yi(e,"迁移执行动态");if(typeof t.available!="boolean"||typeof t.complete!="boolean"||!Array.isArray(t.items))throw new Error("迁移执行动态格式错误。");return{available:t.available,complete:t.complete,items:t.items.map(n=>{const i=yi(n,"迁移执行动态项");if(typeof i.id!="string"||typeof i.kind!="string"||!eyt.has(i.kind)||typeof i.status!="string"||!tyt.has(i.status)||typeof i.title!="string"||i.detail!==void 0&&typeof i.detail!="string")throw new Error("迁移执行动态项格式错误。");let r;if(i.tool!==void 0){const a=yi(i.tool,"迁移执行工具项");if(typeof a.name!="string"||a.error!==void 0&&typeof a.error!="string"||a.exitCode!==void 0&&!Number.isInteger(a.exitCode))throw new Error("迁移执行工具项格式错误。");r={name:a.name,...Object.prototype.hasOwnProperty.call(a,"input")?{input:a.input}:{},...Object.prototype.hasOwnProperty.call(a,"output")?{output:a.output}:{},...typeof a.error=="string"?{error:a.error}:{},...typeof a.exitCode=="number"?{exitCode:a.exitCode}:{}}}let s;if(i.plan!==void 0){if(!Array.isArray(i.plan))throw new Error("迁移执行计划格式错误。");s=i.plan.map(a=>{const o=yi(a,"迁移执行计划项");if(typeof o.text!="string"||typeof o.status!="string"||!nyt.has(o.status))throw new Error("迁移执行计划项格式错误。");return{text:o.text,status:o.status}})}return{id:i.id,kind:i.kind,status:i.status,title:i.title,...typeof i.detail=="string"?{detail:i.detail}:{},...r?{tool:r}:{},...s?{plan:s}:{}}})}}function syt(e){const t=yi(e,"迁移产物"),n=yi(t.cli,"CLI 信息"),i=yi(t.migration,"迁移信息"),r=yi(t.startup,"启动信息"),s=yi(t.environment,"环境变量信息"),a=yi(t.verification,"校验信息"),o=yi(t.report,"迁移报告"),c=yi(t.artifact,"产物归档"),u=s.defaults===void 0?{}:yi(s.defaults,"环境变量默认值");if(t.schema_version!==1||!["succeeded","succeeded_with_warnings","partial"].includes(String(t.status))||typeof n.name!="string"||typeof n.version!="string"||!["structured","agentic"].includes(String(i.engine))||typeof i.framework!="string"||!Array.isArray(t.files)||typeof r.module!="string"||typeof r.object!="string"||!["passed","failed","degraded"].includes(String(a.status))||!Array.isArray(a.checks)||typeof o.path!="string"||c.path!=="migration-result.zip"||typeof c.size!="number"||typeof c.sha256!="string"||typeof t.created_at!="string")throw new Error("迁移产物格式错误。");const d=Up(s.required,"必需环境变量"),f=Up(s.optional,"可选环境变量"),h=new Set([...d,...f]),p=Object.fromEntries(Object.entries(u).map(([b,g])=>{if(!h.has(b)||typeof g!="string")throw new Error("环境变量默认值格式错误。");return[b,g]}));return{schema_version:1,...typeof t.run_id=="string"?{run_id:t.run_id}:{},cli:{name:n.name,version:n.version},migration:{engine:i.engine,framework:i.framework,...typeof i.entry=="string"?{entry:i.entry}:{},...typeof i.source_sha256=="string"?{source_sha256:i.source_sha256}:{},...typeof i.provenance_sha256=="string"?{provenance_sha256:i.provenance_sha256}:{}},status:t.status,files:t.files.map(b=>{const g=yi(b,"迁移产物文件");if(typeof g.path!="string"||typeof g.size!="number"||typeof g.sha256!="string"||typeof g.mode!="string")throw new Error("迁移产物文件格式错误。");return{path:g.path,size:g.size,sha256:g.sha256,mode:g.mode}}),startup:{module:r.module,object:r.object,...Array.isArray(r.command)&&r.command.every(b=>typeof b=="string")?{command:r.command}:{}},environment:{required:d,optional:f,defaults:p},verification:{status:a.status,checks:a.checks.map(b=>{const g=yi(b,"迁移校验项");if(typeof g.name!="string"||!["passed","failed"].includes(String(g.status)))throw new Error("迁移校验项格式错误。");return{name:g.name,status:g.status,...typeof g.detail=="string"?{detail:g.detail}:{}}})},warnings:Up(t.warnings,"迁移产物警告"),report:{path:o.path},artifact:{path:"migration-result.zip",size:c.size,sha256:c.sha256},created_at:t.created_at}}async function ql(e,t={},n=vo){return fetch(mo(`${ZOt}${e}`),{...t,headers:Bh(t.headers),signal:wo(t.signal,n)})}function ayt(e){return Array.isArray(e)?e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return"";const n=t,i=Array.isArray(n.loc)?n.loc.filter(s=>typeof s=="string"||typeof s=="number").join("."):"",r=typeof n.msg=="string"?n.msg:"";return r?i?`${i}: ${r}`:r:""}).filter(Boolean).join(";"):""}async function lB(e,t){var i;const n=await e.text().catch(()=>"");try{const r=yi(JSON.parse(n),"错误响应");if(Array.isArray(r.detail)){const a=ayt(r.detail);return new so(a?`请求参数校验失败:${a}`:t,e.status,"MIGRATION_REQUEST_INVALID",!1,e.statusText,n)}if(typeof r.detail=="string")return new so(r.detail,e.status,typeof r.code=="string"?r.code:"MIGRATION_ERROR",r.retryable===!0,e.statusText,n);const s=r.detail&&typeof r.detail=="object"?yi(r.detail,"错误详情"):r;return new so(typeof s.message=="string"?s.message:t,e.status,typeof s.code=="string"?s.code:"MIGRATION_ERROR",s.retryable===!0,e.statusText,n)}catch{const r=((i=e.headers.get("content-type"))==null?void 0:i.split(";",1)[0])||"Content-Type 缺失";return new so(`${t}(HTTP ${e.status},Content-Type: ${r})。请检查代理或网关配置。`,e.status,"MIGRATION_ERROR",!1,e.statusText,n)}}async function $u(e,t){if(!e.ok)throw await lB(e,t);if(!(e.headers.get("content-type")??"").includes("application/json"))throw new so(`${t}:服务端返回非 JSON 响应(HTTP ${e.status})。请检查代理或网关配置。`,e.status,"MIGRATION_RESPONSE_INVALID",!1,e.statusText);return e.json()}async function oyt(e){const t=yi(await $u(await ql("/capabilities",{signal:e}),"读取迁移能力失败"),"迁移能力");if(typeof t.enabled!="boolean"||typeof t.reason!="string"||typeof t.maxUploadBytes!="number"||typeof t.sessionTtlSeconds!="number"||!Array.isArray(t.frameworks))throw new Error("迁移能力格式错误。");return{enabled:t.enabled,reason:t.reason,maxUploadBytes:t.maxUploadBytes,sessionTtlSeconds:t.sessionTtlSeconds,frameworks:t.frameworks.map(n=>Fx(n,"迁移框架"))}}async function BI(e){const t=yi(await $u(await ql("/tasks",{signal:e}),"读取迁移会话失败"),"迁移会话列表");if(!Array.isArray(t.items))throw new Error("迁移会话列表格式错误。");return t.items.map(qm)}async function lyt(e){return qm(await $u(await ql("/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e.taskId,sourceFileName:e.sourceFileName,instruction:e.instruction}),signal:e.signal},bC),"创建迁移会话失败"))}async function WY(e,t,n){return qm(await $u(await ql(`/tasks/${encodeURIComponent(e)}/source`,{method:"PUT",headers:{"Content-Type":"application/zip"},body:t,signal:n},bC),"上传迁移项目失败"))}async function FI(e,t){return qm(await $u(await ql(`/tasks/${encodeURIComponent(e)}`,{signal:t}),"读取迁移会话失败"))}async function cyt(e,t){return ryt(await $u(await ql(`/tasks/${encodeURIComponent(e)}/activity`,{signal:t,cache:"no-store"}),"读取迁移执行动态失败"))}async function uyt(e){return qm(await $u(await ql(`/tasks/${encodeURIComponent(e.taskId)}/confirm`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({framework:e.framework,entry:e.entry||null,appName:e.appName,instruction:e.instruction,analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,boundaryConfirmed:!0}),signal:e.signal},bC),"启动迁移失败"))}async function dyt(e){return qm(await $u(await ql(`/tasks/${encodeURIComponent(e.taskId)}/answers`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({analysisAttempt:e.analysisAttempt,analysisSha256:e.analysisSha256,inputSha256:e.inputSha256,answers:e.answers}),signal:e.signal},bC),"提交分析补充信息失败"))}async function fyt(e,t){return qm(await $u(await ql(`/tasks/${encodeURIComponent(e)}/stop`,{method:"POST",signal:t}),"终止迁移失败"))}async function hyt(e,t){return syt(await $u(await ql(`/tasks/${encodeURIComponent(e)}/artifact`,{signal:t}),"读取迁移产物失败"))}async function pyt(e,t,n){var s;const i=new URLSearchParams({path:t}),r=await ql(`/tasks/${encodeURIComponent(e)}/artifact/file?${i}`,{signal:n},kr);if(!r.ok)throw await lB(r,"读取迁移产物文件失败");return{blob:await r.blob(),mimeType:((s=r.headers.get("content-type"))==null?void 0:s.split(";",1)[0])||"application/octet-stream"}}function myt(e,t){var i;return((i=(e.headers.get("content-disposition")||"").match(/filename="([^"]+)"/))==null?void 0:i[1])||t}async function gyt(e,t,n){const i=await ql(`/tasks/${encodeURIComponent(e)}/download`,{signal:n},kr);if(!i.ok)throw await lB(i,"下载迁移产物失败");const r=URL.createObjectURL(await i.blob()),s=document.createElement("a");s.href=r,s.download=myt(i,`${t}-migrated.zip`),s.click(),window.setTimeout(()=>URL.revokeObjectURL(r),1e3)}function Xm({children:e,...t}){return l.jsx("svg",{...t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.65",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",children:e})}function byt(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"m10 6-6 6 6 6M4 12h16"})})}function Oyt(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"M12 3v12m-4-4 4 4 4-4M5 20h14"})})}function Rk(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"M6 3.5h8l4 4V20H6zM14 3.5v4h4M9 12h6M9 15.5h6"})})}function yyt(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"M12 5v14M5 12h14"})})}function xyt(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"M14.5 4.5c2.3-.9 4.2-.8 5-.6.2.8.3 2.7-.6 5l-5.1 5.1-3.8-3.8zM15.4 8.6h.1M10.3 10.5l-3.8.7-2.1 2.1 5.3.2M13.5 13.7l-.7 3.8-2.1 2.1-.2-5.3M7.2 16.8l-2.8 2.8"})})}function vyt(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"M12 16V4m-4 4 4-4 4 4M5 20h14"})})}function ZY(e){return l.jsx(Xm,{...e,children:l.jsx("path",{d:"m6 6 12 12M18 6 6 18"})})}const wyt=new Set(["MODEL_AGENT_API_KEY"]),Syt=new Set(["MODEL_AGENT_NAME","MODEL_NAME"]),Eyt=new Set(["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY","VOLCENGINE_SESSION_TOKEN","BYTEPLUS_ACCESS_KEY","BYTEPLUS_SECRET_KEY","BYTEPLUS_SESSION_TOKEN","VEADK_DISABLE_EXPIRE_AT"]);function Ik(e){return!Eyt.has(e)}function g5(e){return wyt.has(e)||/(?:API_KEY|ACCESS_KEY|SECRET_KEY|PRIVATE_KEY|TOKEN|SECRET|PASSWORD|PASSWD|PWD|CREDENTIAL)$/.test(e)}function kyt(e,t){const n={},i=new Set([...e.environment.required,...e.environment.optional]);for(const r of i){if(!Ik(r)||g5(r))continue;const s=r==="MODEL_AGENT_API_BASE"?Sc(t):Syt.has(r)?dm(t):e.environment.defaults[r];s!=null&&s.trim()&&(n[r]=s)}return n}function Tyt(e){return e.flatMap(t=>{if(t.kind==="reasoning"&&t.detail)return[{kind:"thinking",text:t.detail,done:t.status!=="running"}];if(t.kind==="message"&&t.detail)return[{kind:"text",text:t.detail}];if(t.kind==="plan")return[{kind:"plan",title:t.title,summary:t.detail,items:t.plan??[],done:t.status!=="running"}];if(t.kind==="command"){const n=t.tool,i=n!=null&&n.error||typeof(n==null?void 0:n.exitCode)=="number"?{...n.output!==void 0?{output:n.output}:{},...n.error?{error:n.error}:{},...typeof n.exitCode=="number"?{exitCode:n.exitCode}:{}}:n==null?void 0:n.output;return[{kind:"tool",name:(n==null?void 0:n.name)??t.title,args:n==null?void 0:n.input,response:i,done:t.status!=="running",status:t.status}]}return t.kind==="status"&&t.status!=="completed"?[{kind:"tool",name:t.title,response:t.detail,done:t.status!=="running",status:t.status}]:[]})}const _yt=50*1024*1024,UI=1200,KY=3e3,Ayt=5e3,JY=500,Cyt=()=>{},z0e={langchain:"LangChain",langgraph:"LangGraph",adk:"Google ADK",strands:"Strands",agentcore:"AgentCore",dify:"Dify",any:"Any(通用迁移)"},zI=new Set(["langchain","langgraph","adk","strands","agentcore"]);function Nyt(e){switch(e){case"awaiting_upload":return"待上传";case"analyzing":return"分析中";case"needs_input":return"待补充";case"analysis_ready":return"待确认";case"migrating":return"迁移中";case"validating":return"校验中";case"packaging":return"打包中";case"succeeded":return"已完成";case"succeeded_with_warnings":return"已完成,有提示";case"partial":return"部分完成";case"failed":return"失败";case"cancelled":return"已终止";case"expired":return"已过期"}}function VI(e){return e.state==="partial"&&e.artifact.previewReady?"迁移产物已生成,但交付不完整,请查看迁移提示。":["succeeded","succeeded_with_warnings"].includes(e.state)&&e.artifact.previewReady?e.state==="succeeded_with_warnings"?"迁移产物已生成,请查看迁移提示。":"迁移产物已生成。":e.message}function jyt(e){switch(e){case"passed":return"产物校验通过";case"failed":return"产物校验未通过";case"degraded":return"产物校验未完成"}}function qI({stage:e}){const t=[{id:"session",label:"创建迁移环境"},{id:"upload",label:"上传项目"},{id:"analysis",label:"分析项目"}],n=t.findIndex(i=>i.id===e);return l.jsx("div",{className:"migration-transfer-progress",role:"status",children:t.map((i,r)=>l.jsxs("div",{className:r=n)return{title:"迁移环境已过期",detail:"会话和产物已无法访问"};const i=Math.max(0,n-t),r=Math.floor(i/6e4),s=Math.floor(i%6e4/1e3);return{title:`迁移环境将在 ${r} 分 ${s} 秒后过期`,detail:"过期后无法查看会话,也无法预览、下载或部署产物"}}function Lyt(e,t){let n=!1;const i=e.map(r=>{if(r.state==="expired")return r;const s=new Date(r.expiresAt).getTime();return!Number.isFinite(s)||ti.id!==t.id);return[t,...n].sort((i,r)=>{const s=typeof i.createdAt=="number"?i.createdAt*1e3:new Date(i.createdAt).getTime();return(typeof r.createdAt=="number"?r.createdAt*1e3:new Date(r.createdAt).getTime())-s})}function $yt(e,t){return e.find(n=>n.id===t)??null}function Qyt(e,t){return e.startsWith("text/")||/(?:json|javascript|xml|yaml)/i.test(e)||/\.(?:py|ts|tsx|js|jsx|json|ya?ml|md|txt|toml|ini|cfg|env|sh|dockerfile)$/i.test(t)}function Byt({analysis:e}){var t;return l.jsxs("div",{className:"migration-analysis",children:[l.jsx(ku,{text:e.summary,allowRawHtml:!1}),l.jsxs("div",{className:"migration-analysis__facts",children:[e.recommended?l.jsxs("section",{children:[l.jsx("h3",{children:"建议迁移方式"}),l.jsx("strong",{children:z0e[e.recommended.framework]}),l.jsx("p",{children:e.recommended.reason})]}):null,l.jsxs("section",{children:[l.jsx("h3",{children:"迁移范围"}),l.jsx("ul",{children:e.boundary.include.map(n=>l.jsx("li",{children:n},n))})]}),e.boundary.exclude.length>0?l.jsxs("section",{children:[l.jsx("h3",{children:"不在本次范围"}),l.jsx("ul",{children:e.boundary.exclude.map(n=>l.jsx("li",{children:n},n))})]}):null]}),(t=e.frameworks[0])!=null&&t.evidence.length?l.jsxs("details",{className:"migration-analysis__evidence",children:[l.jsx("summary",{children:"查看分析证据"}),l.jsx("ul",{children:e.frameworks.flatMap(n=>n.evidence.map(i=>l.jsxs("li",{children:[l.jsxs("code",{children:[i.path,":",i.line]}),l.jsx("span",{children:i.reason})]},`${n.id}:${i.path}:${i.line}`)))})]}):null,e.warnings.length>0?l.jsx("div",{className:"migration-analysis__warnings",children:e.warnings.map(n=>l.jsx("p",{children:n},n))}):null,e.assumptions.length>0?l.jsxs("details",{className:"migration-analysis__evidence",children:[l.jsx("summary",{children:"查看关键假设"}),l.jsx("ul",{children:e.assumptions.map(n=>l.jsx("li",{children:n},n))})]}):null]})}function Fyt({activity:e,loading:t,error:n,analyzing:i}){const r=(e==null?void 0:e.items)??[],s=Tyt(r);return l.jsxs("section",{className:"migration-activity","aria-label":"Codex 执行动态",children:[l.jsxs("div",{className:"migration-activity__heading",children:[l.jsx("span",{className:`migration-activity__marker${e!=null&&e.complete?" is-complete":""}`,"aria-hidden":"true"}),l.jsx("strong",{children:"Codex 执行动态"})]}),s.length>0?l.jsx("div",{className:"migration-activity__stream",children:l.jsx(j2,{blocks:s,onAction:Cyt})}):t||!(e!=null&&e.complete)?l.jsx(Fn,{children:i?"Codex 正在开始分析…":"Codex 正在开始迁移…"}):null,n?l.jsx("p",{className:"migration-activity__error",role:"status",children:n}):null]})}function Uyt({task:e,artifact:t}){var d;const[n,i]=m.useState(""),[r,s]=m.useState(((d=t.files[0])==null?void 0:d.path)??""),[a,o]=m.useState(null),c=t.files.find(f=>f.path===r)??t.files[0],u=m.useMemo(()=>{const f=n.trim().toLocaleLowerCase();return(f?t.files.filter(p=>p.path.toLocaleLowerCase().includes(f)):t.files).slice(0,JY)},[t.files,n]);return m.useEffect(()=>{if(!c)return;if(c.size>2*1024*1024){o({path:c.path,loading:!1,error:"该文件超过 2 MiB,请下载完整产物后查看。"});return}const f=new AbortController;let h="";return o({path:c.path,loading:!0}),pyt(e.id,c.path,f.signal).then(async({blob:p,mimeType:b})=>{if(!f.signal.aborted){if(b.startsWith("image/")){h=URL.createObjectURL(p),o({path:c.path,loading:!1,imageUrl:h});return}if(Qyt(b,c.path)){const g=await p.text();if(f.signal.aborted)return;o({path:c.path,loading:!1,text:g});return}o({path:c.path,loading:!1,error:"该文件不支持在线预览,请下载完整产物后查看。"})}}).catch(p=>{f.signal.aborted||o({path:c.path,loading:!1,error:p instanceof Error?p.message:String(p)})}),()=>{f.abort(),h&&URL.revokeObjectURL(h)}},[c,e.id]),l.jsxs("div",{className:"migration-artifact-browser",children:[l.jsxs("aside",{"aria-label":"迁移产物文件",children:[l.jsxs("label",{className:"migration-artifact-browser__search",children:[l.jsx("span",{className:"sr-only",children:"搜索产物文件"}),l.jsx("input",{value:n,onChange:f=>i(f.currentTarget.value),placeholder:"搜索文件"})]}),l.jsx("div",{className:"migration-artifact-browser__files",children:u.map(f=>l.jsxs("button",{type:"button",className:f.path===(c==null?void 0:c.path)?"is-active":"",onClick:()=>s(f.path),title:f.path,children:[l.jsx(Rk,{}),l.jsx("span",{children:f.path}),l.jsx("small",{children:b5(f.size)})]},f.path))}),t.files.length>u.length?l.jsxs("p",{className:"migration-artifact-browser__limit",children:["仅展示前 ",JY," 项,请搜索具体文件。"]}):null]}),l.jsxs("section",{children:[l.jsxs("header",{children:[l.jsx("span",{title:c==null?void 0:c.path,children:(c==null?void 0:c.path)||"未选择文件"}),c?l.jsx("small",{children:b5(c.size)}):null]}),l.jsx("div",{className:"migration-artifact-browser__preview",children:c?(a==null?void 0:a.path)!==c.path||a.loading?l.jsx(Fn,{children:"正在读取产物文件…"}):a.error?l.jsx("p",{role:"status",children:a.error}):a.imageUrl?l.jsx("img",{src:a.imageUrl,alt:c.path}):l.jsx($Q,{value:a.text??"",path:c.path,readOnly:!0,onChange:()=>{}}):l.jsx("p",{children:"暂无可预览文件。"})})]})]})}function zyt({cloudProvider:e,onBack:t,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,initialDeployRegion:a=Li(e)}){var rt,Dt,Yt,cn,Zt,ni,oi,Ui;const o=m.useRef(null),c=m.useRef(""),u=m.useRef(null),[d,f]=m.useState(null),[h,p]=m.useState([]),[b,g]=m.useState(""),[O,y]=m.useState(null),[v,x]=m.useState(!1),[w,E]=m.useState(!0),[S,k]=m.useState(""),[T,C]=m.useState(""),[A,N]=m.useState(""),[P,Q]=m.useState(!1),[D,$]=m.useState(Date.now()),[j,I]=m.useState(null),[F,B]=m.useState("langchain"),[M,Y]=m.useState(""),[q,U]=m.useState(""),[V,re]=m.useState({}),[de,be]=m.useState(null),[ce,K]=m.useState(""),[ee,me]=m.useState(!1),[ve,Ne]=m.useState(0),[Ie,De]=m.useState(null),[pe,Se]=m.useState(!1),[Oe,Le]=m.useState(""),[Fe,Te]=m.useState(!1),[Ue,ot]=m.useState(!1),[Bt,Ye]=m.useState(a),[Z,ie]=m.useState(),[ue,ye]=m.useState({}),z=$yt(h,b),je=j?Math.max(0,Math.floor((D-j)/1e3)):0,We=Ie==null?void 0:Ie.items[Ie.items.length-1],et=[(Ie==null?void 0:Ie.items.length)??0,(We==null?void 0:We.id)??"",(We==null?void 0:We.status)??"",((rt=We==null?void 0:We.detail)==null?void 0:rt.length)??0].join(":"),{ref:Jt,onScroll:Xt}=jue(`${(z==null?void 0:z.id)??"new"}:${(z==null?void 0:z.state)??"new"}:${et}`);async function Tt(le,Qe=!0,lt){try{const Ot=await FI(le,lt);return lt!=null&<.aborted?null:(p(En=>Wu(En,Ot)),N(""),Q(!1),Ot)}catch(Ot){return lt!=null&<.aborted||Qe&&(N(Ot instanceof Error?Ot.message:String(Ot)),Q(Ot instanceof so&&Ot.retryable)),null}}async function vt(le){try{const Qe=await BI(le);if(le!=null&&le.aborted)return;p(Qe),N(""),Q(!1)}catch(Qe){if(le!=null&&le.aborted)return;N(Qe instanceof Error?Qe.message:String(Qe)),Q(Qe instanceof so&&Qe.retryable)}}m.useEffect(()=>{const le=new AbortController;return E(!0),C(""),Promise.all([oyt(le.signal),BI(le.signal)]).then(([Qe,lt])=>{le.signal.aborted||(f(Qe),p(lt))}).catch(Qe=>{le.signal.aborted||C(Qe instanceof Error?Qe.message:String(Qe))}).finally(()=>{le.signal.aborted||E(!1)}),()=>le.abort()},[]),m.useEffect(()=>()=>{var le;(le=u.current)==null||le.abort(),u.current=null},[]),m.useEffect(()=>{const le=window.setInterval(()=>{const Qe=Date.now();$(Qe),p(lt=>Lyt(lt,Qe))},1e3);return()=>window.clearInterval(le)},[]),m.useEffect(()=>{if(!h.some(lt=>fp(lt.state)))return;const le=new AbortController,Qe=window.setInterval(()=>{BI(le.signal).then(lt=>{le.signal.aborted||p(lt),N(""),Q(!1)}).catch(lt=>{le.signal.aborted||(N(lt instanceof Error?lt.message:String(lt)),Q(lt instanceof so&<.retryable),lt instanceof so&<.retryable||window.clearInterval(Qe))})},Ayt);return()=>{le.abort(),window.clearInterval(Qe)}},[h.some(le=>fp(le.state))]),m.useEffect(()=>{if(!z||!fp(z.state))return;const le=new AbortController;let Qe;const lt=async()=>{try{const Ot=await FI(z.id,le.signal);if(le.signal.aborted)return;p(En=>Wu(En,Ot)),N(""),Q(!1),fp(Ot.state)&&(Qe=window.setTimeout(()=>void lt(),UI))}catch(Ot){if(le.signal.aborted)return;N(Ot instanceof Error?Ot.message:String(Ot)),Q(Ot instanceof so&&Ot.retryable),Ot instanceof so&&Ot.retryable&&(Qe=window.setTimeout(()=>void lt(),UI))}};return Qe=window.setTimeout(()=>void lt(),UI),()=>{le.abort(),Qe!==void 0&&window.clearTimeout(Qe)}},[z==null?void 0:z.id,z==null?void 0:z.state]),m.useEffect(()=>{const le=Jt.current;le&&(le.scrollTop=le.scrollHeight,Xt())},[b,Jt,Xt]),m.useEffect(()=>{if(De(null),Le(""),Se(!1),!z||!eW(z))return;const le=new AbortController;let Qe;const lt=async()=>{Se(!0);try{const Ot=await cyt(z.id,le.signal);if(le.signal.aborted)return;De(Ot),Le(""),!Ot.complete&&fp(z.state)&&(Qe=window.setTimeout(()=>void lt(),KY))}catch(Ot){if(le.signal.aborted)return;Le("暂时无法读取 Codex 执行动态,不影响当前任务。"),fp(z.state)&&Ot instanceof so&&Ot.retryable&&(Qe=window.setTimeout(()=>void lt(),KY))}finally{le.signal.aborted||Se(!1)}};return lt(),()=>{le.abort(),Qe!==void 0&&window.clearTimeout(Qe)}},[z==null?void 0:z.id,z==null?void 0:z.state,(Dt=z==null?void 0:z.analysisRef)==null?void 0:Dt.sha256,(Yt=z==null?void 0:z.confirmation)==null?void 0:Yt.framework]),m.useEffect(()=>{if(!(z!=null&&z.analysis)||!z.analysisRef||!["needs_input","analysis_ready"].includes(z.state))return;const le=`${z.id}:${z.analysisRef.attempt}:${z.analysisRef.sha256}`;if(c.current===le||(c.current=le,re({}),z.state!=="analysis_ready"))return;const Qe=z.analysis.recommended;Qe&&(B(Qe.framework),Y(Qe.entry||""),U(tW(z.sourceFileName)))},[z]),m.useEffect(()=>{if(be(null),K(""),me(!1),ot(!1),ye({}),!(z!=null&&z.artifact.previewReady))return;const le=new AbortController;return hyt(z.id,le.signal).then(Qe=>{le.signal.aborted||be(Qe)}).catch(Qe=>{le.signal.aborted||(K(Qe instanceof Error?Qe.message:String(Qe)),me(Qe instanceof so&&Qe.retryable))}),()=>le.abort()},[z==null?void 0:z.id,z==null?void 0:z.artifact.previewReady,ve]),m.useEffect(()=>{if(!de)return;const le=kyt(de,e);ye(Qe=>{var Ot;const lt={...Qe};for(const[En,li]of Object.entries(le))(Ot=lt[En])!=null&&Ot.trim()||(lt[En]=li);return lt})},[de,e]);function xe(le){if(!u.current&&(C(""),!!le)){if(!le.name.toLowerCase().endsWith(".zip")){y(null),C("请选择 .zip 格式的本地项目文件。");return}if(le.name.length>255||/[/\\\u0000-\u001f]/.test(le.name)){y(null),C("ZIP 文件名无效,请重命名后重新选择。");return}if(le.size>_yt){y(null),C("项目 ZIP 不能超过 50 MiB。");return}if(le.size===0){y(null),C("项目 ZIP 不能为空。");return}y(le)}}function ze(le){var lt;const Qe=(lt=le.currentTarget.files)==null?void 0:lt[0];le.currentTarget.value="",xe(Qe)}async function Be(){if(!O||S||u.current)return;const le=new AbortController;u.current=le;const Qe=()=>u.current===le&&!le.signal.aborted,lt=`migration-v1-${crypto.randomUUID().replace(/-/g,"")}`;k("create"),I(Date.now()),C("");try{const Ot=await lyt({taskId:lt,sourceFileName:O.name,instruction:"",signal:le.signal});if(!Qe())return;p(li=>Wu(li,Ot)),g(Ot.id),k("upload"),I(null);const En=await WY(Ot.id,O,le.signal);if(!Qe())return;p(li=>Wu(li,En)),y(null)}catch(Ot){if(!Qe())return;const En=await Tt(lt,!1,le.signal);if(!Qe())return;if(En){if(g(En.id),En.state!=="awaiting_upload"){y(null);return}}else if(await vt(le.signal),!Qe())return;C(Ot instanceof Error?Ot.message:String(Ot))}finally{u.current===le&&(u.current=null,I(null),k(""))}}async function bt(){if(!(z!=null&&z.canUpload)||!O||S||u.current)return;const le=new AbortController;u.current=le;const Qe=()=>u.current===le&&!le.signal.aborted;k("upload"),C("");try{const lt=await WY(z.id,O,le.signal);if(!Qe())return;p(Ot=>Wu(Ot,lt)),y(null)}catch(lt){if(!Qe())return;const Ot=await Tt(z.id,!0,le.signal);if(!Qe())return;if(Ot&&Ot.state!=="awaiting_upload"){y(null);return}C(lt instanceof Error?lt.message:String(lt))}finally{u.current===le&&(u.current=null,k(""))}}const mt=m.useMemo(()=>{var le;return(((le=z==null?void 0:z.analysis)==null?void 0:le.entries)??[]).filter(Qe=>Qe.framework===F).map(Qe=>({value:Qe.value,label:Qe.value,description:Qe.evidence}))},[F,(cn=z==null?void 0:z.analysis)==null?void 0:cn.entries]),At=(((Zt=z==null?void 0:z.analysis)==null?void 0:Zt.questions)??[]).every(le=>{var Qe;return!le.required||!!((Qe=V[le.id])!=null&&Qe.trim())}),_e=Iyt(q),Ze=!!(z!=null&&z.canConfirm&&z.analysisRef&&!S&&!_e&&(!zI.has(F)||M.trim())),Ct=!!(z!=null&&z.canAnswer&&z.analysisRef&&!S&&At);async function an(){if(!(!(z!=null&&z.analysisRef)||!Ct)){k("answer"),C("");try{const le=await dyt({taskId:z.id,analysisAttempt:z.analysisRef.attempt,analysisSha256:z.analysisRef.sha256,inputSha256:z.analysisRef.inputSha256,answers:V});p(Qe=>Wu(Qe,le))}catch(le){const Qe=await Tt(z.id);if(Qe&&Qe.state!=="needs_input")return;C(le instanceof Error?le.message:String(le))}finally{k("")}}}async function tt(){if(!(!(z!=null&&z.analysisRef)||!Ze)){k("confirm"),C("");try{const le=await uyt({taskId:z.id,framework:F,entry:zI.has(F)?M.trim():void 0,appName:q.trim(),instruction:"",analysisAttempt:z.analysisRef.attempt,analysisSha256:z.analysisRef.sha256,inputSha256:z.analysisRef.inputSha256});p(Qe=>Wu(Qe,le))}catch(le){const Qe=await Tt(z.id);if(Qe&&Qe.state!=="analysis_ready")return;C(le instanceof Error?le.message:String(le))}finally{k("")}}}async function pn(){if(!(!(z!=null&&z.canStop)||S)){k("stop"),C("");try{const le=await fyt(z.id);p(Qe=>Wu(Qe,le)),Te(!1)}catch(le){const Qe=await Tt(z.id);if(Qe&&!Qe.canStop){Te(!1);return}C(le instanceof Error?le.message:String(le))}finally{k("")}}}async function Yn(){if(!(!(z!=null&&z.artifact.downloadReady)||S)){k("download"),C("");try{await gyt(z.id,Dk(z.sourceFileName))}catch(le){C(le instanceof Error?le.message:String(le))}finally{k("")}}}function zt(){g(""),y(null),C(""),N(""),Q(!1),be(null),K(""),me(!1),ot(!1),Te(!1)}const Vt=de?{name:((ni=z==null?void 0:z.confirmation)==null?void 0:ni.app_name)||tW((z==null?void 0:z.sourceFileName)||"migration.zip"),files:[{path:"migration-result.json",content:`${JSON.stringify(de,null,2)} +`}]}:null,Ae=de?de.environment.required.filter(Ik).filter(g5).map(le=>({key:le,label:le})):[],Ge=de?[...de.environment.required.filter(Ik).filter(le=>!g5(le)).map(le=>({key:le,required:!0,comment:le,placeholder:`请输入 ${le}`})),...de.environment.optional.filter(Ik).map(le=>({key:le,required:!1,comment:le,placeholder:`可选:${le}`}))]:[];async function Ft(le,Qe,lt){if(!z||!de)throw new Error("迁移产物尚未准备完成。");const Ot=Z&&Z.mode!=="public"?{mode:Z.mode,vpc_id:Z.vpcId,subnet_ids:Z.subnetIds,enable_shared_internet_access:Z.enableSharedInternetAccess}:void 0;return Zb(le.name,le.files,{region:Bt,projectName:"default",network:Ot},{...lt,migrationTaskId:z.id,onStage:Qe})}if(Ue&&Vt&&z&&de)return l.jsx("div",{className:"migration-deployment",children:l.jsx(pC,{cloudProvider:e,project:Vt,agentName:Vt.name,onDeploy:Ft,onAgentAdded:n,onDeploymentTaskChange:i,onDeploymentStarted:r,onDeploymentComplete:s,network:Z,onNetworkChange:ie,deployRegion:Bt,onDeployRegionChange:Ye,deploymentEnv:Ge,requiredSecretEnv:Ae,deploymentEnvValues:ue,onDeploymentEnvChange:(le,Qe)=>ye(lt=>({...lt,[le]:Qe})),deploymentTelemetry:{source:"migration",createMode:"migration",aiAssisted:!0},onBack:()=>ot(!1),backLabel:"返回迁移结果",deploymentPrimaryPane:l.jsxs("section",{className:"migration-deployment-summary",children:[l.jsx("strong",{children:"迁移产物"}),l.jsx("span",{children:z.sourceFileName}),l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"迁移方式"}),l.jsx("dd",{children:de.migration.framework})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"启动文件"}),l.jsx("dd",{children:de.startup.module})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"文件数"}),l.jsx("dd",{children:de.files.length})]})]})]})})});const mn=O,en=S==="create"||S==="upload",ui=!z||z.canUpload,Re=z?Myt(z,D):null;return l.jsxs(l.Fragment,{children:[l.jsxs("section",{className:"migration-workspace",children:[l.jsxs("aside",{className:"migration-history",children:[l.jsxs("header",{children:[l.jsx("button",{type:"button",className:"migration-icon-button",onClick:t,"aria-label":"返回添加 Agent",title:"返回",children:l.jsx(byt,{})}),l.jsx("h1",{children:"从存量迁移"})]}),l.jsxs("button",{type:"button",className:"migration-new-button",onClick:zt,disabled:en,children:[l.jsx(yyt,{}),l.jsx("span",{children:"新建迁移"})]}),l.jsx("nav",{"aria-label":"迁移会话",children:w?l.jsx(Fn,{children:"正在读取迁移会话…"}):h.length===0?l.jsx("p",{className:"migration-history__empty",children:"暂无迁移会话"}):h.map(le=>l.jsxs("button",{type:"button",className:le.id===b?"is-active":"",disabled:en,onClick:()=>{g(le.id),C(""),N(""),Q(!1)},children:[l.jsx("span",{children:Dk(le.sourceFileName)}),l.jsxs("small",{children:[l.jsx("span",{"data-state":le.state,children:Nyt(le.state)}),l.jsx("time",{children:Pyt(le.createdAt)})]})]},le.id))})]}),l.jsxs("main",{className:"migration-main",children:[l.jsxs("header",{className:"migration-main__header",children:[l.jsxs("div",{children:[l.jsx("h2",{children:z?Dk(z.sourceFileName):"迁移存量 Agent 项目"}),l.jsx("p",{children:z?VI(z):"上传本地项目 ZIP,Codex 将先进行只读分析,再由你确认迁移方式。"})]}),z?l.jsxs("div",{className:"migration-main__header-actions",children:[z!=null&&z.canStop?l.jsx("button",{type:"button",className:"migration-stop-button",onClick:()=>Te(!0),disabled:!!S,children:S==="stop"?"正在终止…":"终止迁移"}):null,Re?l.jsxs("div",{className:"migration-ttl","aria-live":"off",children:[l.jsx("strong",{children:Re.title}),l.jsx("small",{children:Re.detail})]}):null]}):null]}),l.jsxs("div",{className:"migration-conversation",role:"log","aria-live":"polite",ref:Jt,onScroll:Xt,children:[!(d!=null&&d.enabled)&&!w?l.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[l.jsx("strong",{children:"迁移能力暂不可用"}),l.jsx("p",{children:(d==null?void 0:d.reason)||"Dev Sandbox 暂不可用,请联系管理员检查配置。"})]}):null,z?l.jsxs(l.Fragment,{children:[l.jsx("article",{className:"migration-turn is-user",children:l.jsxs("div",{className:"migration-user-message",children:[l.jsxs("span",{className:"migration-file-chip",children:[l.jsx(Rk,{}),l.jsx("span",{title:z.sourceFileName,children:z.sourceFileName})]}),z.instruction?l.jsx("p",{children:z.instruction}):null]})}),l.jsxs("article",{className:"migration-turn is-assistant",children:[l.jsx("div",{className:"migration-assistant-mark",children:"AI"}),l.jsxs("div",{className:"migration-assistant-content",children:[S==="upload"?l.jsxs(l.Fragment,{children:[l.jsx(qI,{stage:"upload"}),l.jsx("p",{className:"migration-running-note",children:"ZIP 上传完成后将自动开始只读分析。"})]}):z.state==="analyzing"?l.jsxs(l.Fragment,{children:[l.jsx(qI,{stage:"analysis"}),l.jsx("p",{className:"migration-running-note",children:"Codex 正在识别框架、入口和迁移边界,不会执行实际迁移。"})]}):fp(z.state)?l.jsxs(l.Fragment,{children:[l.jsx(Fn,{children:VI(z)}),l.jsx("p",{className:"migration-running-note",children:"迁移执行中不能修改附件或迁移方式。你可以等待当前任务结束,或主动终止。"})]}):z.state==="needs_input"&&z.analysis?l.jsxs(l.Fragment,{children:[l.jsx("p",{children:z.analysis.summary}),l.jsx("p",{children:"只读分析已暂停。请仅回答下面列出的问题,提交后会在同一 迁移环境中重新分析,不会开始实际迁移。"}),(oi=z.analysis.frameworks[0])!=null&&oi.evidence.length?l.jsxs("details",{className:"migration-analysis__evidence",children:[l.jsx("summary",{children:"查看源码证据"}),l.jsx("ul",{children:z.analysis.frameworks.flatMap(le=>le.evidence.map(Qe=>l.jsxs("li",{children:[l.jsxs("code",{children:[Qe.path,":",Qe.line]}),l.jsx("span",{children:Qe.reason})]},`${le.id}:${Qe.path}:${Qe.line}`)))})]}):null]}):z.state==="analysis_ready"&&z.analysis?l.jsxs(l.Fragment,{children:[l.jsx("p",{children:"只读分析已完成。请检查建议,并确认最终迁移方式。"}),l.jsx(Byt,{analysis:z.analysis})]}):z.state==="awaiting_upload"?l.jsx("p",{children:"迁移环境已创建,请重新选择本地 ZIP 继续上传。"}):z.state==="expired"?l.jsxs("div",{className:"migration-expired",children:[l.jsx("strong",{children:"迁移环境已过期"}),l.jsx("p",{children:"迁移内容和产物已无法预览、下载或部署。如已完成 Runtime 部署,可返回智能体页面继续使用。"})]}):z.state==="failed"?((Ui=z.error)==null?void 0:Ui.code)==="MIGRATION_ANALYSIS_UNSUPPORTED"&&z.analysis?l.jsxs("div",{className:"migration-system-state is-error",children:[l.jsx("strong",{children:"当前 ZIP 暂时无法迁移"}),l.jsx(ku,{text:z.analysis.summary,allowRawHtml:!1}),z.analysis.warnings.length>0?l.jsx("ul",{children:z.analysis.warnings.map(le=>l.jsx("li",{children:le},le))}):null,l.jsx("p",{children:"请按提示整理项目后,新建迁移并重新上传。"})]}):l.jsxs("div",{className:"migration-system-state is-error",children:[l.jsx("strong",{children:"迁移未完成"}),l.jsx("p",{children:z.message})]}):z.state==="cancelled"?l.jsx("p",{children:"当前迁移已终止。你可以新建迁移并重新上传项目。"}):l.jsx("p",{children:VI(z)}),eW(z)&&(pe||Ie!=null&&Ie.available||Oe)?l.jsx(Fyt,{activity:Ie,loading:pe,error:Oe,analyzing:z.state==="analyzing"}):null]})]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("article",{className:"migration-turn is-assistant",children:[l.jsx("div",{className:"migration-assistant-mark",children:"AI"}),l.jsxs("div",{children:[l.jsx("p",{children:"请提供本地项目 ZIP。上传后我会识别框架、入口和迁移边界, 并在执行实际迁移前请你确认迁移方式。"}),l.jsx("small",{children:"仅支持本地 ZIP,最大 50 MiB;迁移环境从创建起保留 1 小时。"})]})]}),S==="create"&&O?l.jsxs(l.Fragment,{children:[l.jsx("article",{className:"migration-turn is-user",children:l.jsx("div",{className:"migration-user-message",children:l.jsxs("span",{className:"migration-file-chip",children:[l.jsx(Rk,{}),l.jsx("span",{title:O.name,children:O.name})]})})}),l.jsxs("article",{className:"migration-turn is-assistant",children:[l.jsx("div",{className:"migration-assistant-mark",children:"AI"}),l.jsxs("div",{className:"migration-assistant-content",children:[l.jsx(qI,{stage:"session"}),l.jsx(Fn,{as:"strong",children:"正在创建 Dev Sandbox"}),l.jsx("p",{className:"migration-running-note",children:"正在初始化迁移工作目录,并检查 AgentKit CLI、Codex 和迁移能力。环境就绪后将自动上传项目。"}),l.jsxs("small",{children:["已等待 ",Dyt(je)]})]})]})]}):null]}),(z==null?void 0:z.state)==="needs_input"&&z.analysis?l.jsxs("section",{className:"migration-confirmation","aria-label":"补充项目分析信息",children:[l.jsxs("div",{className:"migration-confirmation__heading",children:[l.jsx("strong",{children:"补充分析所需信息"}),l.jsx("span",{children:"附件保持锁定,提交后仅继续只读分析"})]}),z.analysis.questions.map(le=>l.jsxs("label",{className:"migration-field",children:[l.jsxs("span",{children:[le.prompt,le.required?l.jsx("b",{"aria-hidden":"true",children:"*"}):null]}),l.jsx("textarea",{value:V[le.id]||"",maxLength:4e3,required:le.required,"aria-required":le.required,onChange:Qe=>{const lt=Qe.currentTarget.value;re(Ot=>({...Ot,[le.id]:lt}))},disabled:!!S})]},le.id)),l.jsx("div",{className:"migration-confirmation__actions",children:l.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void an(),disabled:!Ct,children:S==="answer"?"正在继续分析…":"提交并继续分析"})})]}):null,(z==null?void 0:z.state)==="analysis_ready"&&z.analysis?l.jsxs("section",{className:"migration-confirmation","aria-label":"确认迁移方式",children:[l.jsxs("div",{className:"migration-confirmation__heading",children:[l.jsx("strong",{children:"确认迁移方式"}),l.jsx("span",{children:"确认后才会执行实际迁移"})]}),l.jsxs("div",{className:"migration-confirmation__grid",children:[l.jsx(Am,{label:"迁移方式",value:F,options:((d==null?void 0:d.frameworks)??[]).map(le=>({value:le,label:z0e[le]})),onChange:le=>{var Ot;const Qe=le;B(Qe);const lt=(Ot=z.analysis)==null?void 0:Ot.entries.find(En=>En.framework===Qe);Y((lt==null?void 0:lt.value)||"")},placeholder:"选择迁移方式",disabled:!!S}),l.jsxs("label",{className:"migration-field",children:[l.jsxs("span",{children:["Agent 名称",l.jsx("b",{"aria-hidden":"true",children:"*"})]}),l.jsx("input",{value:q,onChange:le=>U(le.currentTarget.value),maxLength:63,required:!0,disabled:!!S,"aria-invalid":!!_e,"aria-required":"true"}),_e?l.jsx("small",{role:"alert",children:_e}):null]}),zI.has(F)?mt.length>0?l.jsx(Am,{label:"项目入口",value:M,options:mt,onChange:Y,placeholder:"选择项目入口",disabled:!!S}):l.jsxs("label",{className:"migration-field",children:[l.jsxs("span",{children:["项目入口",l.jsx("b",{"aria-hidden":"true",children:"*"})]}),l.jsx("input",{value:M,onChange:le=>Y(le.currentTarget.value),placeholder:"例如 agent.py:agent",maxLength:512,required:!0,disabled:!!S,"aria-required":"true"})]}):null]}),l.jsx("p",{className:"migration-running-note",children:"点击“确认并开始迁移”即确认上述迁移范围、排除项和关键假设。"}),l.jsx("div",{className:"migration-confirmation__actions",children:l.jsx("button",{type:"button",className:"migration-primary-button",onClick:()=>void tt(),disabled:!Ze,children:S==="confirm"?"正在启动迁移…":"确认并开始迁移"})})]}):null,z&&Ryt(z.state)&&z.artifact.previewReady?l.jsxs("section",{className:"migration-result",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("strong",{children:"迁移产物"}),l.jsx("span",{children:z.artifact.deployReady?"产物可预览、下载和部署。运行效果取决于源项目和部署环境变量;迁移环境过期后产物将无法访问。":"产物可预览和下载,但当前交付状态不支持部署;迁移环境过期后产物将无法访问。"})]}),l.jsxs("div",{className:"migration-result__actions",children:[l.jsxs("button",{type:"button",onClick:()=>void Yn(),disabled:!z.artifact.downloadReady||!!S,children:[l.jsx(Oyt,{}),l.jsx("span",{children:S==="download"?"下载中…":"下载 ZIP"})]}),l.jsxs("button",{type:"button",className:"is-primary",onClick:()=>ot(!0),disabled:!z.artifact.deployReady||!de,title:z.artifact.deployReady?"部署迁移产物":"当前交付状态不支持部署",children:[l.jsx(xyt,{}),l.jsx("span",{children:"部署到 Runtime"})]})]})]}),ce?l.jsxs("div",{className:"migration-system-state is-error",role:"alert",children:[l.jsx("p",{children:ce}),ee?l.jsx("button",{type:"button",className:"migration-retry-button",onClick:()=>{K(""),me(!1),Ne(le=>le+1)},children:"重新读取"}):null]}):de?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"migration-result__summary",children:[l.jsxs("span",{children:[de.files.length," 个文件"]}),l.jsxs("span",{children:["CLI ",de.cli.version]}),l.jsxs("span",{children:["启动文件 ",de.startup.module]}),l.jsx("span",{children:jyt(de.verification.status)})]}),l.jsx(Uyt,{task:z,artifact:de})]}):l.jsx(Fn,{children:"正在读取迁移产物…"})]}):null,A?l.jsxs("div",{className:"migration-inline-error",role:"alert",children:[l.jsx("span",{children:A}),P?l.jsx("button",{type:"button",onClick:()=>{z&&(N(""),Q(!1),FI(z.id).then(le=>p(Qe=>Wu(Qe,le))).catch(le=>{N(le instanceof Error?le.message:String(le)),Q(le instanceof so&&le.retryable)}))},children:"刷新状态"}):null]}):null,T?l.jsxs("div",{className:"migration-inline-error",role:"alert",children:[l.jsx("span",{children:T}),l.jsx("button",{type:"button",onClick:()=>C(""),"aria-label":"关闭错误提示",children:l.jsx(ZY,{})})]}):null]}),ui&&(d!=null&&d.enabled)?l.jsxs("div",{className:"migration-composer",children:[l.jsxs("div",{className:`migration-composer__box${v?" is-dragging":""}`,onDragEnter:le=>{le.preventDefault(),!en&&x(!0)},onDragOver:le=>{le.preventDefault(),le.dataTransfer.dropEffect=en?"none":"copy"},onDragLeave:le=>{le.currentTarget.contains(le.relatedTarget)||x(!1)},onDrop:le=>{var Qe;le.preventDefault(),x(!1),!en&&xe((Qe=le.dataTransfer.files)==null?void 0:Qe[0])},children:[l.jsx("div",{className:"migration-composer__content",children:mn?l.jsxs("div",{className:"migration-composer__file",children:[l.jsx(Rk,{}),l.jsx("span",{children:mn.name}),l.jsx("small",{children:b5(mn.size)}),l.jsx("button",{type:"button",onClick:()=>y(null),"aria-label":"移除项目 ZIP",disabled:en,children:l.jsx(ZY,{})})]}):l.jsx("p",{children:z?"重新选择项目 ZIP":"选择或拖入本地项目 ZIP"})}),l.jsxs("div",{className:"migration-composer__actions",children:[l.jsxs("button",{type:"button",className:"migration-attach-button",onClick:()=>{var le;return(le=o.current)==null?void 0:le.click()},disabled:en,children:[l.jsx(vyt,{}),l.jsx("span",{children:O?"重新选择":"选择 ZIP"})]}),l.jsx("button",{type:"button",className:"migration-confirm-upload-button",onClick:()=>void(z?bt():Be()),disabled:!O||en,children:z?"继续上传":"开始迁移"})]}),l.jsx("input",{ref:o,type:"file",accept:".zip,application/zip",onChange:ze,"aria-label":"选择本地项目 ZIP",disabled:en})]}),l.jsx("p",{children:"迁移环境从创建完成起保留 1 小时,过期后产物无法预览、下载或部署。"})]}):null]})]}),Fe&&z?l.jsx(yc,{title:"终止当前迁移?",description:"终止后,当前分析或迁移进程将停止,已执行的步骤不会继续。",confirmLabel:S==="stop"?"正在终止…":"终止迁移",variant:"danger",busy:S==="stop",onCancel:()=>Te(!1),onConfirm:()=>void pn()}):null]})}const V0e=1,Vyt="MODEL_AGENT_API_KEY";function X_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qyt(e){return X_(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&X_(e.draft)}function OC(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function H_(e){const t=e.deployment,n=t==null?void 0:t.envValues,i=t?{...t,...n?{envValues:Object.fromEntries(Object.entries(n).filter(([r])=>r!==Vyt))}:{}}:void 0;return{...e,...i?{deployment:i}:{},subAgents:e.subAgents.map(H_),...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(r=>({...r,agent:H_(r.agent)}))}}:{}}}function Xyt(e){var i;const t=gC(e),n={...((i=t.draft.deployment)==null?void 0:i.envValues)??{},...t.envValues};return!t.draft.deployment&&Object.keys(n).length===0?H_(t.draft):H_({...t.draft,deployment:{...t.draft.deployment??{feishuEnabled:!1},envValues:n}})}function q0e(e){return{...e,draft:Xyt(e.draft)}}function Hyt(e){const t=Array.isArray(e)?e:X_(e)&&e.version===V0e?e.drafts:void 0;if(!Array.isArray(t)||!t.every(qyt))throw X_(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(q0e)}function Gyt(e,t){if(!t)return[];const n=e.getItem(OC(t));if(!n)return[];try{return Hyt(JSON.parse(n))}catch(i){throw i instanceof Error&&i.message.startsWith("本机草稿")?i:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function nW(e,t,n){if(!t)return;const i={version:V0e,drafts:n.map(q0e)};try{e.setItem(OC(t),JSON.stringify(i))}catch(r){throw r instanceof DOMException&&(r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const Yyt=/[;;]/;function Wyt(e){const t=new Set;for(const n of e)for(const i of n.split(Yyt)){const r=i.trim();r&&t.add(r)}return[...t]}function Zyt(e){return[]}const Kyt=3*60*1e3,Jyt=3e3,ext=10*60*1e3,txt=45e3,G_="veadk.studio.pending-update",cB="veadk.studio.update-handoff",iW=[{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"provisioning",label:"检查并补齐 Studio 云资源"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],nxt={resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",provisioning:"补齐 Studio 云资源",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function ixt(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function rxt(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function sxt(e){return!!(e!=null&&e.some(t=>t.includes("部署应用成功")||t.toLowerCase().includes("application deployed successfully")))}function axt(){if(typeof window>"u")return null;const e=window.localStorage.getItem(G_);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(G_),null}function XI(e,t){window.localStorage.setItem(G_,JSON.stringify({targetVersion:e,startedAt:t}))}function EE(){window.localStorage.removeItem(G_)}function oxt(){return typeof window>"u"?"":window.sessionStorage.getItem(cB)??""}function lxt(e){window.sessionStorage.setItem(cB,e)}function rW(){window.sessionStorage.removeItem(cB)}function sW({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),l.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),l.jsx("path",{d:"M12 7.8v7.7"}),l.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function cxt(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:l.jsx("path",{d:"m4 6 4 4 4-4"})})}function uxt(){return l.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:l.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function X0e(){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[l.jsx("path",{d:"M6.25 3.75H3.5v8.75h8.75V9.75"}),l.jsx("path",{d:"M8.5 3.5h4v4"}),l.jsx("path",{d:"m7.25 8.75 5-5"})]})}function aW({href:e}){return l.jsxs("div",{className:"studio-update-permission-notice",role:"status",children:[l.jsxs("p",{children:["无法读取 VeFaaS 发布日志。Function 角色缺少",l.jsx("code",{children:"vefaas:GetApplicationRevisionLog"})," 权限,更新会继续。"]}),l.jsxs("a",{href:e,target:"_blank",rel:"noreferrer",children:["前往 IAM 控制台配置权限",l.jsx(X0e,{})]})]})}function oW({lines:e,phase:t,copyState:n,onCopy:i}){const r=m.useRef(null),s=m.useRef(!0),[a,o]=m.useState(e);return m.useEffect(()=>{e.length&&o(e)},[e]),m.useEffect(()=>{const c=r.current;c&&s.current&&(c.scrollTop=c.scrollHeight)},[a]),l.jsxs("section",{className:"studio-update-live-log","aria-label":"部署进度",children:[l.jsxs("div",{className:"studio-update-log-header",children:[l.jsxs("span",{children:[l.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"部署进度",l.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),l.jsx("button",{type:"button",onClick:()=>i(a),disabled:!a.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),l.jsx("div",{ref:r,className:"studio-update-log-lines",role:"log","aria-live":"off","aria-busy":t==="active",tabIndex:0,onScroll:c=>{const u=c.currentTarget;s.current=u.scrollHeight-u.scrollTop-u.clientHeight<24},children:a.length?a.map((c,u)=>l.jsx("div",{children:c},`${u}-${c}`)):l.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function dxt({variant:e="default"}){var I,F;const[t]=m.useState(axt),[n,i]=m.useState(null),[r,s]=m.useState(t?"submitting":"idle"),[a,o]=m.useState(!!t),[c,u]=m.useState(""),[d,f]=m.useState((t==null?void 0:t.targetVersion)??""),[h,p]=m.useState(!1),[b,g]=m.useState("idle"),[O,y]=m.useState(0),v=m.useRef(null),x=m.useRef((t==null?void 0:t.targetVersion)??""),w=m.useRef((t==null?void 0:t.startedAt)??0),E=m.useRef(oxt()),S=m.useRef(0);m.useEffect(()=>{if(!h)return;const B=Y=>{var q;Y.target instanceof Node&&!((q=v.current)!=null&&q.contains(Y.target))&&p(!1)},M=Y=>{Y.key==="Escape"&&p(!1)};return window.addEventListener("pointerdown",B),window.addEventListener("keydown",M),()=>{window.removeEventListener("pointerdown",B),window.removeEventListener("keydown",M)}},[h]);const k=m.useCallback(async()=>{const B=await Ane(x.current||void 0,w.current||void 0);return i(B),B},[]);if(m.useEffect(()=>{let B=!0;const M=()=>{k().catch(()=>{B&&i(q=>q)})};M();const Y=window.setInterval(M,Kyt);return()=>{B=!1,window.clearInterval(Y)}},[k]),m.useEffect(()=>{if(r!=="submitting")return;const B=window.setInterval(()=>{k().then(M=>{const Y=x.current;if(Y&&rxt(M.currentVersion,Y)||!Y&&!M.available&&M.latestVersion){const q=Date.now();if(S.current||(S.current=q),M.updateLogsVisible!==!1&&!sxt(M.updateLogs)&&q-S.currentext&&(window.clearInterval(B),EE(),s("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},Jyt);return()=>window.clearInterval(B)},[r,k]),m.useEffect(()=>{r!=="idle"||(n==null?void 0:n.state)!=="updating"||(x.current=n.targetVersion,w.current=n.startedAt||Date.now(),XI(n.targetVersion,w.current),f(n.targetVersion),s("submitting"))},[r,n]),m.useEffect(()=>{if(r!=="submitting"){y(0);return}const B=()=>{const Y=w.current||Date.now();y(Math.max(0,Math.floor((Date.now()-Y)/1e3)))};B();const M=window.setInterval(B,1e3);return()=>window.clearInterval(M)},[r]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||r!=="idle"))return null;const C=n.releases??[],A=d||((I=C[0])==null?void 0:I.version)||n.latestVersion,N=C.find(B=>B.version===A),P=Wyt((N==null?void 0:N.changelog)??[]),Q=async()=>{rW(),E.current="",x.current=A,w.current=Date.now(),XI(A,w.current),s("submitting"),u(""),g("idle");try{const B=await Cne(A);x.current=B.version,XI(B.version,w.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch(B){if(B instanceof TypeError){u("连接已切换,正在确认新版本状态");return}EE(),s("error");const M=B instanceof Error?B.message:"Studio 更新失败";try{const Y=await k();u(Y.message||M)}catch{u(M)}}},D=(F=n.updateLogs)!=null&&F.length?n.updateLogs:(n.errorLog||n.progressMessage||c).split(` +`).filter(Boolean),$=async B=>{try{await navigator.clipboard.writeText(B.join(` +`)),g("copied")}catch{g("error")}},j=()=>{var B;p(!1),g("idle"),u(""),f(x.current||((B=C[0])==null?void 0:B.version)||""),s("confirm")};return l.jsxs(l.Fragment,{children:[l.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${r}`,title:r==="submitting"?"正在更新 Studio":r==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var B;r==="published"?window.location.reload():(r==="submitting"||r==="error"||(f(((B=C[0])==null?void 0:B.version)||n.latestVersion),s("confirm")),o(!0))},children:[e!=="feature-link"&&l.jsx(sW,{className:"studio-update-icon"}),r==="submitting"?l.jsx(Fn,{as:"span",children:"正在更新"}):r==="published"?l.jsx("span",{children:"刷新使用新版"}):r==="error"?l.jsx("span",{children:"更新失败"}):e==="feature-link"?l.jsx("span",{children:"立即更新"}):l.jsx("span",{children:"有新版更新"})]}),a&&r!=="idle"&&Gi.createPortal(l.jsx("div",{className:"confirm-scrim",role:"presentation",children:l.jsxs("section",{className:`confirm-box studio-update-dialog${r==="confirm"?"":" is-progress"}`,role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[l.jsx("div",{className:"studio-update-dialog-mark",children:l.jsx(sW,{})}),l.jsx("div",{id:"studio-update-title",className:"confirm-title",children:r==="error"?"Studio 更新失败":r==="submitting"?"正在更新 Studio":r==="published"?"Studio 更新完成":"发现新版本"}),r==="error"?l.jsxs("div",{className:"studio-update-error-panel",children:[l.jsx("p",{className:"confirm-text studio-update-error",children:c}),l.jsxs("dl",{className:"studio-update-error-meta",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"失败阶段"}),l.jsx("dd",{children:nxt[n.errorStage]||n.errorStage||"未知阶段"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"错误 ID"}),l.jsx("dd",{children:n.errorId||"未生成"})]})]}),n.updateLogsVisible!==!1&&l.jsx(oW,{lines:D,phase:"error",copyState:b,onCopy:B=>void $(B)}),n.updateLogsVisible===!1&&l.jsx(aW,{href:n.permissionConsoleUrl}),n.consoleUrl&&l.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",l.jsx(X0e,{})]})]}):r==="submitting"||r==="published"?l.jsxs("div",{className:"studio-update-progress-body",children:[l.jsxs("div",{className:"studio-update-progress-summary",children:[l.jsxs("div",{children:[l.jsx("span",{children:"目标版本"}),l.jsx("strong",{children:x.current||A})]}),l.jsxs("div",{children:[l.jsx("span",{children:r==="published"?"更新状态":"已用时"}),l.jsx("strong",{children:r==="published"?"已完成":ixt(O)})]})]}),l.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:iW.map((B,M)=>{const Y=iW.findIndex(V=>V.id===n.progressStage),q=r==="published"||Mvoid $(B)}),n.updateLogsVisible===!1&&l.jsx(aW,{href:n.permissionConsoleUrl}),l.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),l.jsxs("div",{className:"studio-update-field",ref:v,children:[l.jsx("span",{children:"选择版本"}),l.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":h,onClick:()=>p(B=>!B),onKeyDown:B=>{(B.key==="ArrowDown"||B.key==="ArrowUp")&&(B.preventDefault(),p(!0))},children:[l.jsx("span",{children:A}),l.jsx(cxt,{})]}),h&&l.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:C.map(B=>{const M=B.version===A;return l.jsxs("button",{type:"button",role:"option","aria-selected":M,className:`studio-update-version-option${M?" is-selected":""}`,onClick:()=>{f(B.version),p(!1)},children:[l.jsx("span",{children:B.version}),M&&l.jsx(uxt,{})]},B.version)})})]}),l.jsxs("dl",{className:"studio-update-versions",children:[l.jsxs("div",{children:[l.jsx("dt",{children:"当前版本"}),l.jsx("dd",{children:n.currentVersion})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"目标版本"}),l.jsx("dd",{children:A})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"Commit"}),l.jsx("dd",{children:((N==null?void 0:N.gitSha)||n.latestGitSha).slice(0,8)})]})]}),l.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[l.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),P.length?l.jsx("ul",{children:P.map(B=>l.jsx("li",{children:B},B))}):l.jsx("p",{children:"暂无更新说明"})]})]}),l.jsxs("div",{className:"confirm-actions",children:[l.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{o(!1),p(!1),r==="confirm"&&(s("idle"),u(""))},children:r==="submitting"?"后台运行":r==="confirm"?"取消":"关闭"}),r==="confirm"&&l.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void Q(),children:"立即更新"}),r==="error"&&l.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:j,children:"重新尝试"})]})]})}),document.body)]})}const fxt=["多地域智能体:并行加载北京与上海 Runtime,列表下滑即可继续加载。","会话内切换:在输入框旁选择智能体,并直接开启一段新会话。","可视化执行画布:通过横向画布查看多智能体结构,并支持全屏浏览。"],lW=Zyt(),hxt=lW.length?lW:fxt;function pxt({canUpdate:e=!1}){return l.jsxs("div",{className:"welcome-feature-pill",children:[l.jsx("span",{children:"焕然一新"}),l.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),l.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),l.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[l.jsx("strong",{children:"本次更新"}),l.jsx("ul",{children:hxt.map(t=>l.jsx("li",{children:t},t))})]}),e&&l.jsx(dxt,{variant:"feature-link"})]})}async function uB(e,t){const n=await e.text().catch(()=>"");try{const i=JSON.parse(n),r=i.detail??i.error;if(typeof r=="string"&&r.trim())return new Error(r.trim());if(r&&typeof r=="object"&&"message"in r&&typeof r.message=="string"&&r.message.trim())return new Error(r.message.trim())}catch{if(n.trim())return new Error(n.trim().slice(0,500))}return new Error(`${t}(HTTP ${e.status})`)}function mxt(e,t){var i;return((i=(e.headers.get("content-disposition")??"").match(/filename="([^"]+)"/i))==null?void 0:i[1])??t}function H0e(e,t,n){if(e.sessionId!==t||n!==void 0&&(e.artifactSha256!==n.artifactSha256||e.validationReportSha256!==n.validationReportSha256)||typeof e.artifactSha256!="string"||typeof e.validationReportSha256!="string"||typeof e.agentName!="string"||typeof e.entryPoint!="string"||typeof e.fileCount!="number"||typeof e.artifactSize!="number"||typeof e.validatedAt!="string"||typeof e.deployable!="boolean"||typeof e.verified!="boolean"||typeof e.validationSummary!="string"||!Array.isArray(e.gateSummary)||!e.gateSummary.every(i=>typeof i=="string")||!Array.isArray(e.files)||!e.files.every(i=>i&&typeof i.path=="string"&&typeof i.content=="string"))throw new Error("源码快照的响应格式无效。");return e}async function cW(e,t,n,i){const r=new URLSearchParams({sessionId:e,artifactSha256:t,validationReportSha256:n}),s=await ri(`/web/intelligent-development/releases/summary?${r}`,{headers:{Accept:"application/json"},signal:i});if(!s.ok)throw await uB(s,"无法读取源码快照");const a=await s.json();return H0e(a,e,{artifactSha256:t,validationReportSha256:n})}async function gxt(e,t){const n=new URLSearchParams({sessionId:e}),i=await ri(`/web/intelligent-development/releases/current?${n}`,{headers:{Accept:"application/json"},signal:t});if(i.status===204)return null;if(!i.ok)throw await uB(i,"无法恢复当前源码快照");const r=await i.json();return H0e(r,e)}async function bxt(e,t){var o;const n=new URLSearchParams({sessionId:e.sessionId,artifactSha256:e.artifactSha256,validationReportSha256:e.validationReportSha256}),i=await ri(`/web/intelligent-development/releases/download?${n}`,{headers:{Accept:"application/zip"},signal:t},kr);if(!i.ok)throw await uB(i,"下载源码失败");if(((o=i.headers.get("content-type"))==null?void 0:o.split(";",1)[0].trim().toLowerCase())!=="application/zip")throw new Error("源码下载响应不是 ZIP 文件。");const s=await i.blob();if(s.size!==e.artifactSize)throw new Error("源码压缩包大小与发布记录不一致,请重试。");const a=`${e.agentName}-source-${e.artifactSha256.slice(0,12)}.zip`;return{blob:s,filename:mxt(i,a)}}const Oxt=1e4;async function G0e(e){const t=await fetch(mo(e),{headers:Bh({Accept:"application/json"}),signal:wo(void 0,Oxt)});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,endpointExportEnabled:n.endpointExportEnabled===!0}}async function yxt(){return G0e("/web/sandbox/capabilities")}async function xxt(e){return G0e(`/web/${e}/capabilities`)}function vxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m7 7 10 10M17 7 7 17"})})}function wxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M12 3.5v11m-4-4 4 4 4-4"}),l.jsx("path",{d:"M5 19.5h14"})]})}function uW(e){return l.jsxs("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:[l.jsx("circle",{cx:"8",cy:"8",r:"5.5",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.22"}),l.jsx("path",{d:"M8 2.5A5.5 5.5 0 0 1 13.5 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Sxt({open:e,task:t,onClose:n,onRetry:i,onDownload:r}){const s=m.useId(),a=m.useRef(null),o=m.useRef(null),c=m.useRef(null),[u,d]=m.useState(()=>Date.now()),f=m.useRef(n);if(f.current=n,m.useEffect(()=>{if(!e||!t)return;c.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const E=document.body.style.overflow;document.body.style.overflow="hidden";const S=window.requestAnimationFrame(()=>{var T;return(T=o.current)==null?void 0:T.focus()}),k=T=>{var P;if(T.key==="Escape"){T.preventDefault(),f.current();return}if(T.key!=="Tab")return;const C=Array.from(((P=a.current)==null?void 0:P.querySelectorAll('button:not(:disabled), a[href], video[controls], [tabindex]:not([tabindex="-1"])'))??[]);if(C.length===0)return;const A=C[0],N=C[C.length-1];if(document.activeElement===o.current){T.preventDefault(),(T.shiftKey?N:A).focus();return}T.shiftKey&&document.activeElement===A?(T.preventDefault(),N.focus()):!T.shiftKey&&document.activeElement===N&&(T.preventDefault(),A.focus())};return window.addEventListener("keydown",k),()=>{var T;window.cancelAnimationFrame(S),document.body.style.overflow=E,window.removeEventListener("keydown",k),(T=c.current)!=null&&T.isConnected&&c.current.focus()}},[e,t==null?void 0:t.localId]),m.useEffect(()=>{if(!e||(t==null?void 0:t.status)!=="generating"||t.generationStartedAt===null)return;const E=()=>d(Date.now());E();const S=window.setInterval(E,1e3);return()=>window.clearInterval(S)},[e,t==null?void 0:t.localId,t==null?void 0:t.runId,t==null?void 0:t.status,t==null?void 0:t.generationStartedAt]),!e||!t)return null;const h=u5(t),p=t.status==="optimizing"||t.status==="generating",b=t.errorStage==="optimization"?"重试提示词优化":"重试视频生成",g=Gge(t.resolvedMode??t.requestedMode),O=t.error.includes("尚未开通"),y=Zgt(t),v=t.generationStartedAt===null?"":Wgt(u-t.generationStartedAt),x=t.providerStatus==="queued"?"等待模型调度":t.providerStatus==="running"?"模型生成中":"正在提交任务",w=t.providerStatus==="queued"?"任务已提交,模型开始处理后状态会自动更新":"这可能持续数分钟,完成后将在这里显示视频预览";return Gi.createPortal(l.jsx("div",{className:"new-chat-video-task-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&n()},children:l.jsxs("section",{ref:a,className:`new-chat-video-task-dialog is-${t.status}`,role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-busy":p||void 0,children:[l.jsxs("header",{className:"new-chat-video-task-dialog__head",children:[l.jsxs("div",{children:[l.jsx("h2",{ref:o,id:s,tabIndex:-1,children:"视频生成任务"}),l.jsxs("p",{children:[g," · ",t.generationModel]})]}),l.jsx("button",{type:"button",className:"new-chat-video-task-dialog__close",onClick:n,"aria-label":"关闭视频生成任务弹窗",children:l.jsx(vxt,{})})]}),l.jsxs("div",{className:"new-chat-video-task-dialog__body",children:[l.jsx("ol",{className:"new-chat-video-task-steps","aria-label":"视频生成进度","aria-live":"polite","aria-atomic":"true",children:h.map(E=>l.jsx("li",{className:`is-${E.status}`,children:l.jsxs("span",{className:"new-chat-video-task-step__label",children:[E.status==="active"?l.jsx(uW,{className:"new-chat-video-task-step__loading"}):null,l.jsx("span",{children:E.label})]})},E.id))}),t.error?l.jsx("div",{className:"new-chat-video-task-error",role:"alert",children:l.jsx("p",{children:t.error})}):null,t.optimizedPrompt?l.jsxs("section",{className:"new-chat-video-task-prompt","aria-labelledby":`${s}-prompt`,children:[l.jsx("h3",{id:`${s}-prompt`,children:"优化后的提示词"}),l.jsx("p",{children:t.optimizedPrompt})]}):null,t.status==="generating"?l.jsxs("div",{className:"new-chat-video-task-preview is-loading",children:[l.jsx(uW,{className:"new-chat-video-task-preview__loading"}),l.jsx(Fn,{as:"strong",duration:2.2,spread:18,"aria-live":"polite",children:y}),l.jsx("div",{className:"new-chat-video-task-progress",role:"progressbar","aria-label":`${g}处理进度`,"aria-valuetext":`${y}${v?`,已等待${v}`:""}`,children:l.jsx("span",{"aria-hidden":"true"})}),l.jsxs("div",{className:"new-chat-video-task-progress__meta",children:[l.jsx("span",{children:x}),v?l.jsxs("span",{children:["已等待 ",v]}):null]}),l.jsx("span",{children:w})]}):t.output?l.jsx("div",{className:"new-chat-video-task-preview",children:l.jsx("video",{src:t.output.previewUrl,controls:!0,playsInline:!0,preload:"metadata","aria-label":"生成结果预览"})}):null]}),l.jsxs("footer",{className:"new-chat-video-task-dialog__actions",children:[l.jsx("p",{children:p?"可以关闭弹窗,任务会继续在后台运行":t.status==="success"?"视频已生成,可预览或下载":O?"请先在模型控制台开通服务,再重试生成":"修正问题后可重试当前步骤"}),l.jsxs("div",{children:[l.jsx("button",{type:"button",className:"new-chat-video-task-button",onClick:n,children:"关闭"}),t.status==="error"?l.jsx("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:i,children:b}):t.output?l.jsxs("button",{type:"button",className:"new-chat-video-task-button is-primary",onClick:r,children:[l.jsx(wxt,{}),"下载视频"]}):null]})]})]})}),document.body)}const Ext="我的智能体";function kxt({open:e,state:t,agentKind:n="codex",error:i,onCancel:r,onConfirm:s}){const a=n==="codex"?"Codex":n==="deepseek-harness"?"DeepSeek Harness":n==="openclaw"?"OpenClaw":"Hermes",o=n==="codex"?Ext:`我的 ${a}`,c=m.useRef(null),u=m.useRef(null),d=m.useRef(null),f=m.useRef(!1),h=m.useRef(r),[p,b]=m.useState(o),[g,O]=m.useState(!0);if(h.current=r,m.useEffect(()=>{if(!e)return;b(o),O(!0);const w=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var k,T;(k=u.current)==null||k.focus(),(T=u.current)==null||T.select()}),S=k=>{var N;if(k.key==="Escape"){k.preventDefault(),h.current();return}if(k.key!=="Tab")return;const T=(N=c.current)==null?void 0:N.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(T!=null&&T.length))return;const C=T[0],A=T[T.length-1];k.shiftKey&&document.activeElement===C?(k.preventDefault(),A.focus()):!k.shiftKey&&document.activeElement===A&&(k.preventDefault(),C.focus())};return window.addEventListener("keydown",S),()=>{window.cancelAnimationFrame(E),document.body.style.overflow=w,window.removeEventListener("keydown",S)}},[o,e]),!e)return null;const y=t==="loading",v=p.trim(),x=y?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return Gi.createPortal(l.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:w=>{w.target===w.currentTarget&&!y&&r()},children:l.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:w=>{w.preventDefault(),!y&&!f.current&&v&&s(v,g)},children:[l.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[l.jsx("span",{className:"sandbox-dialog-orbit"}),l.jsx("span",{className:"sandbox-dialog-icon",children:y?l.jsx("span",{className:"sandbox-spinner"}):l.jsx(cv,{kind:n})})]}),l.jsxs("div",{className:"sandbox-dialog-copy",children:[l.jsx("h2",{id:"sandbox-dialog-title",children:x}),t==="error"?l.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:i||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):y?l.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,l.jsxs("label",{className:"sandbox-dialog-field",children:[l.jsxs("span",{className:"sandbox-dialog-field-label",children:[l.jsx("span",{children:"智能体名称"}),l.jsxs("span",{"aria-hidden":"true",children:[p.length,"/",FG]})]}),l.jsx("input",{ref:u,type:"text",required:!0,value:p,maxLength:FG,disabled:y,placeholder:o,autoComplete:"off",onChange:w=>b(w.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:w=>{const{nativeEvent:E}=w;w.key==="Enter"&&(f.current||E.isComposing||E.keyCode===229)&&w.preventDefault()}})]}),l.jsxs("div",{className:"sandbox-dialog-persistence",role:"group","aria-describedby":"sandbox-persistence-description",children:[l.jsx(nB,{id:"sandbox-persistence",className:"sandbox-dialog-persistence-control",checked:g,disabled:y,onCheckedChange:O,label:"持久化"}),l.jsx("p",{id:"sandbox-persistence-description",className:`sandbox-dialog-persistence-description${g?"":" is-warning"}`,role:g?void 0:"status",children:g?"保留智能体数据,后续可继续使用。":"智能体将在 8 小时后清空"})]})]}),l.jsxs("footer",{className:"sandbox-dialog-actions",children:[l.jsx("button",{ref:d,type:"button",onClick:r,children:y?"取消创建":"取消"}),!y&&l.jsx("button",{type:"submit",className:"is-primary",disabled:!v,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function Txt({agentName:e,expireAt:t,exitLabel:n="退出当前智能体",onExit:i}){const[r,s]=m.useState(()=>Date.now());m.useEffect(()=>{if(!t)return;const d=window.setInterval(()=>s(Date.now()),6e4);return()=>window.clearInterval(d)},[t]);const a=t?Date.parse(t):Number.NaN,o=Number.isFinite(a)?Math.max(0,Math.ceil((a-r)/6e4)):null,c=o===null?"":o===0?"已到期":o>=60?`剩余 ${Math.floor(o/60)} 小时 ${o%60} 分钟`:`剩余 ${o} 分钟`,u=Number.isFinite(a)?new Date(a).toLocaleString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}):"";return l.jsxs("div",{className:`sandbox-session-warning${t?" is-expiring":""}`,role:"status",children:[l.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),l.jsx("span",{className:"sandbox-session-warning-copy",children:u?`远端开发环境最长保留 8 小时,将于 ${u} 到期(${c});到期后清除对话和文件。`:`当前您在使用 ${e} 智能体`}),l.jsx("button",{type:"button",onClick:i,children:n})]})}function _xt({activity:e,time:t}){var n;return l.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[l.jsxs("div",{className:"sandbox-activity-summary",children:[l.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),l.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),l.jsx("strong",{children:e.title}),t?l.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?l.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(i=>l.jsxs("div",{children:[l.jsx("dt",{children:i.label}),l.jsx("dd",{title:i.value,children:i.code?l.jsx("code",{children:i.value}):i.value})]},`${i.label}:${i.value}`))}):null]})}function Axt(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 Cxt({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 l.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,i])=>l.jsxs("span",{title:`${n}: ${i.toLocaleString()} tokens`,children:[l.jsx("small",{children:n}),l.jsx("strong",{children:Axt(i)})]},n))})}function Y0e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),l.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),l.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function W0e(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),l.jsx("path",{d:"M3.8 8h16.4"}),l.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),l.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),l.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function dB(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function Pk(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.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"}),l.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"}),l.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function Nxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"M12 5v14M5 12h14"})})}function jxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function Rxt(e){return l.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",...e,children:l.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"1.75",fill:"currentColor"})})}function Ixt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),l.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),l.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function Dxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),l.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function Pxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),l.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function Mxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.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 Lxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function O5(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m9 6 6 6-6 6"})})}function $xt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),l.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function mu(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function Qxt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),l.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]})}function Bxt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function pw({open:e,title:t,subtitle:n,icon:i,className:r="",onClose:s,children:a}){const o=m.useId(),c=m.useRef(null),u=m.useRef(null),d=m.useRef(s);return d.current=s,m.useEffect(()=>{var p;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(p=c.current)==null||p.focus();const h=b=>{var x;if(b.key==="Escape"){b.preventDefault(),d.current();return}if(b.key!=="Tab")return;const g=(x=c.current)==null?void 0:x.closest("[role=dialog]"),O=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(O.length===0)return;const y=O[0],v=O[O.length-1];b.shiftKey&&document.activeElement===y?(b.preventDefault(),v.focus()):!b.shiftKey&&document.activeElement===v&&(b.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{var b;document.body.style.overflow=f,window.removeEventListener("keydown",h),(b=u.current)==null||b.focus()}},[e]),e?Gi.createPortal(l.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&s()},children:l.jsxs("section",{className:`sandbox-control-dialog ${r}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":o,children:[l.jsxs("header",{className:"sandbox-control-head",children:[l.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:i}),l.jsxs("div",{children:[l.jsx("h2",{id:o,children:t}),l.jsx("p",{children:n})]}),l.jsx("button",{ref:c,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:s,children:l.jsx(Lxt,{})})]}),a]})}),document.body):null}function Fxt({open:e,kind:t,launch:n,loading:i,error:r,onReload:s,onClose:a}){const o=t==="terminal",c=o?"Terminal":"Sandbox Browser";return l.jsxs(pw,{open:e,title:c,subtitle:o?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:o?l.jsx(Y0e,{}):l.jsx(W0e,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[l.jsx("div",{className:"sandbox-tool-toolbar",children:l.jsxs("span",{children:[l.jsx("i",{className:i?"is-loading":n?"is-ready":""}),i?"正在连接…":n?"已连接":"尚未连接"]})}),l.jsx("div",{className:"sandbox-tool-surface",children:i?l.jsxs("div",{className:"sandbox-control-state",children:[l.jsx(mu,{className:"spin"}),l.jsxs("strong",{children:["正在打开 ",c]}),l.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):r?l.jsxs("div",{className:"sandbox-control-state is-error",children:[l.jsxs("strong",{children:[c," 打开失败"]}),l.jsx("span",{children:r}),l.jsx("button",{type:"button",onClick:s,children:"重试"})]}):n?l.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 Uxt({open:e,threads:t,currentThreadId:n,loading:i,error:r,onSelect:s,onClose:a}){return l.jsx(pw,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:l.jsx($xt,{}),className:"sandbox-threads-dialog",onClose:a,children:l.jsx("div",{className:"sandbox-thread-list",children:i?l.jsxs("div",{className:"sandbox-control-state",children:[l.jsx(mu,{className:"spin"}),l.jsx("strong",{children:"正在读取历史对话"})]}):r?l.jsxs("div",{className:"sandbox-control-state is-error",children:[l.jsx("strong",{children:"历史对话读取失败"}),l.jsx("span",{children:r})]}):t.length===0?l.jsx("div",{className:"sandbox-control-state",children:l.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(o=>{const c=o.id===n,u=o.name||o.preview||`Thread ${o.id.slice(0,8)}`;return l.jsxs("button",{type:"button",className:c?"is-active":"",disabled:c,onClick:()=>s(o.id),children:[l.jsxs("span",{children:[l.jsx("strong",{children:u}),l.jsx("small",{children:o.preview||o.cwd||o.id})]}),l.jsx("time",{children:o.updatedAt?new Date(o.updatedAt*1e3).toLocaleString():""}),l.jsx(O5,{})]},o.id)})})})}const zxt=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],Vxt=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],qxt=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function Xxt({open:e,value:t,busy:n,error:i,onSave:r,onClose:s}){const[a,o]=m.useState(t);return m.useEffect(()=>{e&&o(t)},[e,t]),l.jsxs(pw,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:l.jsx(dB,{}),className:"sandbox-settings-dialog",onClose:s,children:[l.jsxs("div",{className:"sandbox-control-body",children:[l.jsx(HI,{label:"沙箱模式",choices:zxt,value:a.sandboxMode,disabled:n,onChange:c=>o(u=>({...u,sandboxMode:c,networkAccess:c==="danger-full-access"?!0:u.networkAccess}))}),l.jsx(HI,{label:"审批策略",choices:Vxt,value:a.approvalPolicy,disabled:n,onChange:c=>o(u=>({...u,approvalPolicy:c}))}),l.jsx(HI,{label:"审批方式",choices:qxt,value:a.approvalsReviewer,disabled:n,onChange:c=>o(u=>({...u,approvalsReviewer:c}))}),l.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[l.jsxs("span",{children:[l.jsx("strong",{children:"允许网络访问"}),l.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),l.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:c=>o(u=>({...u,networkAccess:c.target.checked}))})]}),a.sandboxMode==="danger-full-access"?l.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,i?l.jsx("div",{className:"sandbox-control-error",children:i}):null]}),l.jsxs("footer",{className:"sandbox-control-actions",children:[l.jsx("button",{type:"button",onClick:s,disabled:n,children:"取消"}),l.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>r(a),children:[n?l.jsx(mu,{className:"spin"}):null,"保存权限"]})]})]})}function HI({label:e,choices:t,value:n,disabled:i,onChange:r}){return l.jsxs("fieldset",{className:"sandbox-choice-group",disabled:i,role:"radiogroup","aria-label":e,children:[l.jsx("legend",{children:e}),l.jsx("div",{className:"sandbox-choice-list",children:t.map(s=>l.jsxs("button",{type:"button",role:"radio",className:`${n===s.value?"is-active":""}${s.danger?" is-danger":""}`.trim(),"aria-checked":n===s.value,onClick:()=>r(s.value),onKeyDown:a=>{var d,f;const o=t.findIndex(h=>h.value===s.value);let c=o;if(a.key==="ArrowRight"||a.key==="ArrowDown")c=(o+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")c=(o-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(),r(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:[l.jsx("i",{}),l.jsxs("span",{children:[l.jsx("strong",{children:s.label}),l.jsx("small",{children:s.detail})]})]},s.value))})]})}function Hxt({open:e,cwd:t,locked:n,busy:i,error:r,browse:s,onSave:a,onClose:o}){const[c,u]=m.useState(t||"/"),[d,f]=m.useState(null),[h,p]=m.useState(!1),[b,g]=m.useState("");m.useEffect(()=>{if(!e)return;const y=t||"/";u(y),O(y)},[t,e]);async function O(y){p(!0),g("");try{const v=await s(y);f(v),u(v.path)}catch(v){g(v instanceof Error?v.message:String(v))}finally{p(!1)}}return l.jsxs(pw,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:l.jsx(Pk,{}),className:"sandbox-workspace-dialog",onClose:o,children:[l.jsxs("div",{className:"sandbox-control-body",children:[l.jsxs("label",{className:"sandbox-workspace-input",children:[l.jsx("span",{children:"绝对路径"}),l.jsxs("div",{children:[l.jsx("input",{value:c,disabled:i||n,spellCheck:!1,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&c.startsWith("/")&&(y.preventDefault(),O(c))}}),l.jsx("button",{type:"button",disabled:i||h||!c.startsWith("/"),onClick:()=>void O(c),children:"浏览"})]})]}),l.jsxs("div",{className:"sandbox-directory-browser",children:[l.jsxs("div",{className:"sandbox-directory-head",children:[l.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??c}),h?l.jsx(mu,{className:"spin"}):null]}),l.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?l.jsxs("button",{type:"button",disabled:h,onClick:()=>void O(d.parent??"/"),children:[l.jsx(Pk,{}),l.jsx("span",{children:"上一级"}),l.jsx("small",{children:d.parent}),l.jsx(O5,{})]}):null,d==null?void 0:d.directories.map(y=>l.jsxs("button",{type:"button",disabled:h,onClick:()=>void O(y.path),children:[l.jsx(Pk,{}),l.jsx("span",{children:y.name}),l.jsx(O5,{})]},y.path)),!h&&(d==null?void 0:d.directories.length)===0?l.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?l.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,b||r?l.jsx("div",{className:"sandbox-control-error",children:b||r}):null]}),l.jsxs("footer",{className:"sandbox-control-actions",children:[l.jsx("button",{type:"button",onClick:o,disabled:i,children:"取消"}),l.jsxs("button",{type:"button",className:"is-primary",disabled:i||n||!c.startsWith("/"),onClick:()=>a(c),children:[i?l.jsx(mu,{className:"spin"}):null,"使用此目录"]})]})]})}function Gxt({approval:e,busy:t,error:n,onDecision:i}){var a;const r=(a=e==null?void 0:e.command)==null?void 0:a.trim(),s=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return l.jsxs(pw,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:l.jsx(dB,{}),className:"sandbox-approval-dialog",onClose:()=>{t||i("cancel")},children:[l.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?l.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,r?l.jsx("pre",{children:r}):null,s?l.jsx("pre",{children:s}):null,e!=null&&e.cwd?l.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",l.jsx("code",{children:e.cwd})]}):null,n?l.jsx("div",{className:"sandbox-control-error",children:n}):null]}),l.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[l.jsx("button",{type:"button",disabled:t,onClick:()=>i("decline"),children:"拒绝"}),l.jsx("button",{type:"button",disabled:t,onClick:()=>i("accept"),children:"仅本次允许"}),l.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>i("acceptForSession"),children:[t?l.jsx(mu,{className:"spin"}):null,"本会话允许"]})]})]})}const Yxt={codex:"Codex","deepseek-harness":"DeepSeek Harness",openclaw:"OpenClaw",hermes:"Hermes"};function dW(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 Wxt({session:e,onBack:t,onOpen:n,onDelete:i}){const[r,s]=m.useState(!1),[a,o]=m.useState(!1),[c,u]=m.useState(!1),[d,f]=m.useState(""),h=Yxt[e.toolName],p=e.resourceType==="snapshot",b=p?e.sourceSessionId||e.snapshotId:e.id,g=async()=>{if(!(a||c)){o(!0),f("");try{await n()}catch(y){f(y instanceof Error?y.message:String(y))}finally{o(!1)}}},O=async()=>{if(!(c||a)){u(!0),f("");try{await i()}catch(y){f(y instanceof Error?y.message:String(y)),s(!1)}finally{u(!1)}}};return l.jsxs("section",{className:"sandbox-agent-details",children:[l.jsxs("header",{className:"sandbox-agent-details-header",children:[l.jsx(VQ,{label:"返回智能体列表",onClick:t}),l.jsxs("div",{children:[l.jsx("h1",{children:e.displayName||`${h} 智能体`}),l.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?l.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,l.jsxs("div",{className:"sandbox-agent-detail-panel",children:[l.jsxs("dl",{children:[l.jsxs("div",{children:[l.jsx("dt",{children:"智能体类型"}),l.jsx("dd",{children:h})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"状态"}),l.jsx("dd",{children:oC(e.status)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"创建人"}),l.jsx("dd",{children:e.createdBy||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:p?"快照状态":"工具类型"}),l.jsx("dd",{children:p?e.snapshotStatus||"—":e.toolType||"—"})]}),l.jsxs("div",{children:[l.jsx("dt",{children:"创建时间"}),l.jsx("dd",{children:dW(e.createdAt)})]}),l.jsxs("div",{children:[l.jsx("dt",{children:p?"快照原因":"过期时间"}),l.jsx("dd",{children:p?e.reason||"—":dW(e.expireAt)})]}),l.jsxs("div",{className:"is-wide",children:[l.jsx("dt",{children:p?"Snapshot ID":"Session ID"}),l.jsx("dd",{children:p?e.snapshotId:b})]}),p&&e.sourceSessionId?l.jsxs("div",{className:"is-wide",children:[l.jsx("dt",{children:"来源 Session ID"}),l.jsx("dd",{children:e.sourceSessionId})]}):null]}),l.jsxs("footer",{children:[l.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||c,onClick:()=>s(!0),children:"删除智能体"}),l.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||c,"aria-busy":a||void 0,onClick:()=>void g(),children:a?p?"唤醒中…":"打开中…":p?"唤醒智能体":"打开智能体"})]})]}),r?l.jsx("div",{className:"confirm-scrim",onClick:()=>!c&&s(!1),children:l.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:y=>y.stopPropagation(),children:[l.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),l.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit ",p?"Snapshot":"Session",",此操作无法撤销。"]}),l.jsxs("div",{className:"confirm-actions",children:[l.jsx("button",{type:"button",className:"confirm-btn",disabled:c,onClick:()=>s(!1),children:"取消"}),l.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:c,onClick:()=>void O(),children:c?"删除中…":"确认删除"})]})]})}):null]})}function Zxt({workspace:e,onBack:t}){const[n,i]=m.useState("main"),[r,s]=m.useState(""),[a,o]=m.useState(!1),[c,u]=m.useState(""),d=e.kind==="deepseek-harness"?"DeepSeek Harness":e.kind==="openclaw"?"OpenClaw":"Hermes";m.useEffect(()=>{i("main"),s(""),u(""),o(!1)},[e.session.id]);const f=async()=>{if(i("terminal"),!(r||a)){o(!0),u("");try{const h=await _i.launchAgentTerminal(e.kind,e.session.id);s(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{o(!1)}}};return l.jsxs("section",{className:"sandbox-agent-workspace",children:[l.jsxs("header",{children:[l.jsxs("div",{className:"sandbox-agent-workspace-title",children:[l.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:l.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),l.jsxs("div",{children:[l.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),l.jsxs("p",{children:[l.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),l.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:oC(e.session.status)})]})]})]}),l.jsxs(nm,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():i("main")},children:[l.jsx(nm.Option,{value:"main",children:"主界面"}),l.jsx(nm.Option,{value:"terminal",children:"终端"})]})]}),l.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?l.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?l.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):c?l.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[l.jsx("p",{children:c}),l.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):r?l.jsx("iframe",{src:r,title:`${d} 终端`}):null})]})}const yC=[{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 Kxt(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 Jxt(e){const t=e.toLocaleLowerCase();return yC.filter(n=>!t||[n.name,n.description,...n.keywords].some(i=>i.toLocaleLowerCase().includes(t))).sort((n,i)=>fW(n,t)-fW(i,t)).slice(0,12)}function fW(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:yC.indexOf(e)}function e1t(e,t){const n=t.toLocaleLowerCase();return e.filter(i=>!n||`${i.id} ${i.displayName} ${i.description}`.toLocaleLowerCase().includes(n)).sort((i,r)=>{if(!n)return Number(r.isDefault)-Number(i.isDefault);const s=i.id.toLocaleLowerCase(),a=r.id.toLocaleLowerCase(),o=(c,u)=>c===n?0:c.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return o(s,i.displayName)-o(a,r.displayName)}).slice(0,12)}function t1t(){return yC.map(e=>({label:e.usage,value:e.description}))}function n1t(e,t){return e.map(n=>{const i=n.displayName.trim(),r=i&&i!==n.id?`${i} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${r} — ${n.description}`:r,code:!1}})}function i1t(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 y5(e){return e.messages.map(t=>{var i,r;const n=[];return t.role==="user"&&((i=t.skillNames)!=null&&i.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(s=>({name:s,description:""}))}}),t.role==="user"&&((r=t.images)!=null&&r.length)&&n.push({kind:"attachment",files:t.images.map((s,a)=>({id:`${t.id}-image-${a}`,mimeType:s.mimeType,data:s.data,name:s.alt||s.name||"图片"}))}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function r1t({appName:e,value:t,onChange:n,onSubmit:i,onStop:r,disabled:s,busy:a,attachments:o,onAddFiles:c,onRemoveAttachment:u,actions:d,models:f,modelsLoading:h,modelsLoaded:p,currentModel:b,onRequestModels:g,skills:O,skillsLoading:y,skillsLoaded:v,selectedSkills:x,onRequestSkills:w,onSelectedSkillsChange:E,textOnly:S=!1}){const k=m.useRef(null),T=m.useRef(null),C=m.useRef(null),A=m.useRef(null),[N,P]=m.useState(!1),[Q,D]=m.useState(0),[$,j]=m.useState(!1);m.useLayoutEffect(()=>{const K=k.current;K&&(K.style.height="auto",K.style.height=`${Math.min(K.scrollHeight,200)}px`)},[t]);const I=m.useMemo(()=>{if(!t.startsWith("/")||t.includes(` +`))return;const K=t.slice(1),ee=K.search(/\s/),me=(ee<0?K:K.slice(0,ee)).toLocaleLowerCase(),ve=ee<0?"":K.slice(ee).trim();if(!(ee>=0&&me!=="model"))return{command:me,argument:ve,modelMode:ee>=0}},[t]),F=m.useMemo(()=>{const K=/(^|\s)\$([^\s$]*)$/.exec(t);if(K)return{query:K[2],start:t.length-K[2].length-1,end:t.length}},[t]),B=m.useMemo(()=>{if(F){const K=F.query.toLocaleLowerCase();return O.filter(ee=>!x.some(me=>me.id===ee.id||me.name===ee.name)).filter(ee=>`${ee.name} ${ee.description}`.toLocaleLowerCase().includes(K)).slice(0,12).map(ee=>({kind:"skill",skill:ee}))}return I!=null&&I.modelMode?e1t(f,I.argument).map(K=>({kind:"model",model:K})):I?Jxt(I.command).map(K=>({kind:"command",command:K})):[]},[F,f,x,O,I]),M=!S&&!$&&!!(F||I);m.useEffect(()=>{D(0)},[t]),m.useEffect(()=>{I!=null&&I.modelMode&&!p&&!h&&g()},[p,h,g,I==null?void 0:I.modelMode]),m.useEffect(()=>{F&&!v&&!y&&w()},[F,w,v,y]);const Y=o.some(K=>K.status!=="ready"),q=a&&!!r,U=!s&&!a&&!Y&&(t.trim().length>0||o.length>0);function V(K){j(!1),P(!1),n(K)}function re(K){if(K.kind==="skill"){if(!F)return;const ee=t.slice(0,F.start)+t.slice(F.end);E([...x,K.skill]),V(ee),j(!0),requestAnimationFrame(()=>{var me,ve;(me=k.current)==null||me.focus(),(ve=k.current)==null||ve.setSelectionRange(F.start,F.start)});return}if(K.kind==="model"){V(`/model ${K.model.id}`),j(!0),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()});return}if(K.command.name==="model"){V("/model "),g(),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()});return}if(K.command.name==="skill"||K.command.name==="skills"){V(`/${K.command.name}`),j(!0),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()});return}V(`/${K.command.name}`),j(!0),requestAnimationFrame(()=>{var ee;return(ee=k.current)==null?void 0:ee.focus()})}function de(K){var ee;P(!1),(ee=K.current)==null||ee.click()}function be(K){const ee=K.target.files?Array.from(K.target.files):[];ee.length&&c(ee),K.target.value=""}const ce=F?"可用 Skills":I!=null&&I.modelMode?"选择模型":"Codex 快捷命令";return l.jsxs("div",{className:"composer sandbox-codex-composer",children:[o.length>0?l.jsx(N2,{appName:e,compact:!0,items:o,onRemove:u}):null,l.jsxs("div",{className:"composer-box",children:[M?l.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":ce,children:[l.jsxs("div",{className:"composer-command-head",children:[l.jsx(Mxt,{}),l.jsx("span",{children:ce}),I!=null&&I.modelMode&&b?l.jsxs("small",{children:["当前:",b]}):null,l.jsx("kbd",{children:F?"$":"/"})]}),F&&y?l.jsxs("div",{className:"composer-command-empty",children:[l.jsx(mu,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):I!=null&&I.modelMode&&h?l.jsxs("div",{className:"composer-command-empty",children:[l.jsx(mu,{className:"spin"})," 正在读取模型…"]}):B.length===0?l.jsx("div",{className:"composer-command-empty",children:F?"当前工作区没有匹配的 Skill":I!=null&&I.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):l.jsx("div",{className:"composer-command-list",children:B.map((K,ee)=>{const me=K.kind==="command"?`command:${K.command.name}`:K.kind==="model"?`model:${K.model.id}`:`skill:${K.skill.id}`,ve=K.kind==="command"?K.command.usage:K.kind==="model"?K.model.displayName:`$${K.skill.name}`,Ne=K.kind==="command"?K.command.description:K.kind==="model"?K.model.description||K.model.id:K.skill.description||"加载并执行该 Skill";return l.jsxs("button",{type:"button",role:"option","aria-selected":ee===Q,className:`composer-command-item${ee===Q?" is-active":""}`,onMouseDown:Ie=>{Ie.preventDefault(),re(K)},onMouseEnter:()=>D(ee),children:[l.jsx("span",{className:`composer-command-icon composer-command-icon--${K.kind}`,"aria-hidden":"true",children:K.kind==="command"?"/":K.kind==="model"?"◇":"$"}),l.jsxs("span",{className:"composer-command-copy",children:[l.jsx("strong",{children:ve}),l.jsx("span",{children:Ne})]}),ee===Q?l.jsx("kbd",{children:"↵"}):null]},me)})})]}):null,l.jsx("div",{className:"composer-left-controls",children:!S&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"composer-menu-wrap",children:[l.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:s,onClick:()=>P(K=>!K),children:l.jsx(Nxt,{className:"icon"})}),N?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"menu-scrim",onClick:()=>P(!1)}),l.jsxs("div",{className:"composer-menu",role:"menu",children:[l.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>de(T),children:[l.jsx(Ixt,{className:"icon"}),"上传图片"]}),l.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>de(C),children:[l.jsx(Dxt,{className:"icon"}),"上传文档或 PDF"]}),l.jsxs("button",{type:"button",className:"menu-item",disabled:d.uploadBusy,onClick:()=>de(A),children:[l.jsx(Pxt,{className:"icon"}),"上传视频"]}),l.jsx("div",{className:"composer-menu-separator",role:"separator"}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{P(!1),d.onOpenTerminal()},children:[l.jsx(Y0e,{className:"icon"}),"进入终端"]}),l.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{P(!1),d.onOpenBrowser()},children:[l.jsx(W0e,{className:"icon"}),"查看浏览器"]})]})]}):null]}),l.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:d.settingsBusy||a,onClick:d.onOpenPermissions,children:l.jsx(dB,{})}),l.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${d.workspaceLocked?" is-locked":""}`,title:d.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:d.settingsBusy||a,onClick:d.onOpenWorkspace,children:l.jsx(Pk,{})}),d.endpointCopyEnabled&&d.onCopyEndpoint?l.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:d.endpointCopyState==="copied"?"Endpoint 已复制":"复制 Sandbox Endpoint","aria-label":d.endpointCopyState==="copied"?"Endpoint 已复制":"复制 Sandbox Endpoint",disabled:d.endpointCopyState==="copying",onClick:d.onCopyEndpoint,children:d.endpointCopyState==="copying"?l.jsx(mu,{className:"spin"}):d.endpointCopyState==="copied"?l.jsx(Bxt,{}):l.jsx(Qxt,{})}):null]})}),l.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[!S&&x.length>0?l.jsx(C2,{skillPrefix:"$",value:{skills:x.map(({name:K,description:ee})=>({name:K,description:ee}))},onRemoveSkill:K=>E(x.filter(ee=>ee.name!==K))}):null,l.jsx("textarea",{ref:k,className:"comp-input scroll",rows:1,value:t,disabled:s,placeholder:S?"继续说明你想实现或调整的内容":"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":M,onChange:K=>V(K.target.value),onBlur:()=>window.setTimeout(()=>j(!0),0),onKeyDown:K=>{if(!dC(K.nativeEvent)){if(M){if((K.key==="ArrowDown"||K.key==="Tab"&&!K.shiftKey)&&B.length>0){K.preventDefault(),D(ee=>(ee+1)%B.length);return}if((K.key==="ArrowUp"||K.key==="Tab"&&K.shiftKey)&&B.length>0){K.preventDefault(),D(ee=>(ee-1+B.length)%B.length);return}if(K.key==="Enter"&&!K.shiftKey&&B[Q]){K.preventDefault(),re(B[Q]);return}if(K.key==="Escape"){K.preventDefault(),j(!0);return}}if(K.key==="Backspace"&&!t&&K.currentTarget.selectionStart===0&&x.length>0){K.preventDefault(),E(x.slice(0,-1));return}K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),U&&i(t))}}})]}),l.jsx("button",{type:"button",className:"comp-send",disabled:q?!1:!U,onClick:q?r:()=>i(t),"aria-label":q?"停止生成":"发送",title:q?"停止生成":void 0,children:q?l.jsx(Rxt,{className:"icon"}):a?l.jsx(mu,{className:"icon spin"}):l.jsx(jxt,{className:"icon"})})]}),l.jsx("input",{ref:T,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:be}),l.jsx("input",{ref:C,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:be}),l.jsx("input",{ref:A,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:be})]})}function s1t(e){return e.trim().replace(/\/+$/,"")||window.location.origin}function a1t(e){return["使用 AgentKit Studio Plugin 端云接力当前会话、项目和任务。请直接执行,不要让我手动打开终端。",`Studio:${s1t(e.studioUrl)}`,`配对码:${e.pairingCode}`].join(` +`)}function Z0e(){return["codex plugin marketplace add volcengine/veadk-python","--sparse .agents/plugins","--sparse plugins/agentkit-studio","&& codex plugin add agentkit-studio@veadk-python"].join(" ")}function o1t(){return["请安装 AgentKit Studio Plugin。请直接执行以下安装命令,不要让我手动打开终端。",`安装命令:${Z0e()}`].join(` +`)}function hW(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function pW(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("rect",{x:"8",y:"8",width:"11",height:"11",rx:"2"}),l.jsx("path",{d:"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"})]})}function GI(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.25 4.25L19 7"})})}function mW(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"M19 8a8 8 0 1 0 .35 7"}),l.jsx("path",{d:"M19 4v4h-4"})]})}function l1t(e,t){const n=Math.max(0,Math.ceil((Date.parse(e)-t)/1e3)),i=Math.floor(n/3600),r=Math.floor(n%3600/60),s=n%60;return[i,r,s].map(a=>String(a).padStart(2,"0")).join(":")}const c1t=[{id:"request",label:"等待端侧请求"},{id:"session",label:"创建云端 Session"},{id:"restore",label:"恢复项目"},{id:"continue",label:"发送续跑任务"}];function u1t(e){switch(e.state){case"issued":return 0;case"creating":return 1;case"session-created":return 2;case"continuing":return 3;case"running":return 4;case"completed":return 4;case"failed":return e.failedStage==="creating-session"?1:e.failedStage==="uploading-project"||e.failedStage==="restoring-project"?2:3}}function d1t(e,t){const n=u1t(e);return e.state==="failed"&&t===n?"failed":to1t(),[]),Q=m.useMemo(()=>Z0e(),[]),D=m.useMemo(()=>h?a1t(h):"",[h]);if(m.useEffect(()=>{if(!e)return;p(null),g(null),f("conversation"),C(null),N(""),k(!1),E(Date.now());const Y=new AbortController,q=++o.current;return x(!0),_i.createCodexProjectHandoffPairing({signal:Y.signal}).then(U=>{o.current===q&&(p(U),g({state:"issued",expireAt:U.expireAt}))}).catch(U=>{(U==null?void 0:U.name)!=="AbortError"&&o.current===q&&C({message:U instanceof Error?U.message:String(U),retryPairing:!0})}).finally(()=>{o.current===q&&x(!1)}),()=>{Y.abort()}},[O,e]),m.useEffect(()=>{if(!e||!h)return;E(Date.now());const Y=window.setInterval(()=>E(Date.now()),1e3);return()=>window.clearInterval(Y)},[e,h]),m.useEffect(()=>{if(!e||!h)return;let Y=!1,q;const U=new AbortController,V=async()=>{if(!(Y||Date.now()>=Date.parse(h.expireAt))){try{const re=await _i.getCodexProjectHandoffStatus(h.pairingCode,{signal:U.signal});if(Y||(g(re),re.state==="completed"||re.state==="failed"))return;q=window.setTimeout(()=>void V(),1500);return}catch(re){if((re==null?void 0:re.name)==="AbortError"||Y)return;C({message:re instanceof Error?re.message:String(re),retryPairing:!1})}q=window.setTimeout(()=>void V(),1500)}};return V(),()=>{Y=!0,U.abort(),q!==void 0&&window.clearTimeout(q)}},[e,h]),m.useEffect(()=>{(b==null?void 0:b.state)!=="running"&&(b==null?void 0:b.state)!=="completed"||!h||u.current===h.pairingCode||(u.current=h.pairingCode,n())},[b==null?void 0:b.state,n,h]),m.useEffect(()=>()=>{c.current!==void 0&&window.clearTimeout(c.current)},[]),m.useEffect(()=>{if(!e)return;const Y=document.body.style.overflow;document.body.style.overflow="hidden";const q=window.requestAnimationFrame(()=>{var V;return(V=s.current)==null?void 0:V.focus()}),U=V=>{var ce;if(V.key==="Escape"){V.preventDefault(),a.current();return}if(V.key!=="Tab")return;const re=(ce=r.current)==null?void 0:ce.querySelectorAll('button:not(:disabled), input:not(:disabled), [tabindex]:not([tabindex="-1"])');if(!(re!=null&&re.length))return;const de=re[0],be=re[re.length-1];V.shiftKey&&document.activeElement===de?(V.preventDefault(),be.focus()):!V.shiftKey&&document.activeElement===be&&(V.preventDefault(),de.focus())};return window.addEventListener("keydown",U),()=>{window.cancelAnimationFrame(q),document.body.style.overflow=Y,window.removeEventListener("keydown",U)}},[e]),!e)return null;async function $(Y,q){var U;if(!(!Y||A)){C(null),N(q);try{if(!((U=navigator.clipboard)!=null&&U.writeText))throw new Error("当前浏览器不支持写入剪贴板。");await navigator.clipboard.writeText(Y),c.current!==void 0&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>{N(V=>V===q?"":V),c.current=void 0},1400)}catch(V){N(""),C({message:V instanceof Error?V.message:String(V),retryPairing:!1})}}}async function j(){const Y=b==null?void 0:b.sessionId;if(!(!Y||S)){C(null),k(!0);try{await i(Y)}catch(q){C({message:q instanceof Error?q.message:String(q),retryPairing:!1}),k(!1)}}}function I(Y){var q;f(Y),(q=document.getElementById(`sandbox-project-upload-install-${Y}-tab`))==null||q.focus()}function F(Y){const q=["conversation","terminal"],U=q.indexOf(d);let V=null;Y.key==="ArrowRight"&&(V=(U+1)%q.length),Y.key==="ArrowLeft"&&(V=(U-1+q.length)%q.length),Y.key==="Home"&&(V=0),Y.key==="End"&&(V=q.length-1),V!==null&&(Y.preventDefault(),I(q[V]))}const B=h?l1t(h.expireAt,w):"00:00:00",M=h?w>=Date.parse(h.expireAt):!1;return Gi.createPortal(l.jsx("div",{className:"sandbox-project-upload-backdrop",onMouseDown:Y=>{Y.target===Y.currentTarget&&t()},children:l.jsxs("section",{ref:r,className:"sandbox-project-upload-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-project-upload-title","aria-describedby":"sandbox-project-upload-description",children:[l.jsxs("header",{className:"sandbox-project-upload-head",children:[l.jsxs("div",{children:[l.jsxs("div",{className:"sandbox-project-upload-title-row",children:[l.jsx("h2",{id:"sandbox-project-upload-title",children:"接力到云端继续执行"}),l.jsx(rB,{className:"sandbox-project-upload-beta",color:"discovery",size:"sm",pill:!0,children:"Beta"})]}),l.jsx("p",{id:"sandbox-project-upload-description",children:"按顺序复制两段提示词,Codex 会通过插件将您的本地任务接力到云端"})]}),l.jsx("button",{ref:s,type:"button",className:"sandbox-project-upload-close",onClick:t,"aria-label":"关闭本地迁移引导",children:l.jsx(hW,{})})]}),l.jsxs("div",{className:"sandbox-project-upload-body",children:[T?l.jsxs("div",{className:"sandbox-project-upload-error",role:"alert",children:[l.jsx("span",{children:T.message}),T.retryPairing?l.jsxs("button",{type:"button",onClick:()=>y(Y=>Y+1),children:[l.jsx(mW,{}),"重试"]}):null]}):null,l.jsxs("section",{className:"sandbox-project-upload-stage",children:[l.jsxs("div",{className:"sandbox-project-upload-stage-head",children:[l.jsx("span",{className:"sandbox-project-upload-stage-number",children:"1"}),l.jsxs("div",{children:[l.jsx("h3",{children:"安装插件"}),l.jsx("p",{children:"首次使用时,请选择一种安装方式。"})]}),l.jsxs("button",{type:"button",onClick:()=>void $(d==="conversation"?P:Q,d==="conversation"?"install-conversation":"install-terminal"),disabled:A!=="",children:[A===`install-${d}`?l.jsx(GI,{}):l.jsx(pW,{}),A===`install-${d}`?"已复制":d==="conversation"?"复制安装提示词":"复制安装命令"]})]}),l.jsxs("div",{className:`sandbox-project-upload-install-tabs is-${d}`,role:"tablist","aria-label":"插件安装方式",children:[l.jsx("span",{"aria-hidden":"true"}),l.jsx("button",{id:"sandbox-project-upload-install-conversation-tab",type:"button",role:"tab","aria-controls":"sandbox-project-upload-install-panel","aria-selected":d==="conversation",tabIndex:d==="conversation"?0:-1,onClick:()=>f("conversation"),onKeyDown:F,children:"与 Codex 对话安装"}),l.jsx("button",{id:"sandbox-project-upload-install-terminal-tab",type:"button",role:"tab","aria-controls":"sandbox-project-upload-install-panel","aria-selected":d==="terminal",tabIndex:d==="terminal"?0:-1,onClick:()=>f("terminal"),onKeyDown:F,children:"从终端安装"})]}),l.jsx("div",{id:"sandbox-project-upload-install-panel",className:`sandbox-project-upload-prompt${d==="terminal"?" is-command":""}`,role:"tabpanel","aria-labelledby":`sandbox-project-upload-install-${d}-tab`,children:l.jsx("pre",{tabIndex:0,children:l.jsx("code",{children:d==="conversation"?P:Q})})})]}),l.jsxs("section",{className:"sandbox-project-upload-stage",children:[l.jsxs("div",{className:"sandbox-project-upload-stage-head",children:[l.jsx("span",{className:"sandbox-project-upload-stage-number",children:"2"}),l.jsxs("div",{children:[l.jsx("h3",{children:"任务接力"}),l.jsx("p",{children:"插件安装完成后复制,Codex 会迁移当前项目并继续执行任务。"})]}),l.jsxs("button",{type:"button",onClick:()=>void $(D,"handoff"),disabled:!D||v||A!=="",children:[A==="handoff"?l.jsx(GI,{}):l.jsx(pW,{}),A==="handoff"?"已复制":"复制接力提示词"]})]}),l.jsxs("div",{className:"sandbox-project-upload-pairing-notice",role:"status",children:[l.jsx("span",{children:v?"正在生成新的配对码":M?"配对码已过期":l.jsxs(l.Fragment,{children:["配对码有效期剩余 ",l.jsx("time",{children:B})]})}),l.jsxs("button",{type:"button",disabled:v,onClick:()=>y(Y=>Y+1),children:[l.jsx(mW,{}),v?"刷新中":"刷新配对码"]})]}),l.jsx("div",{className:"sandbox-project-upload-prompt",children:v?l.jsxs("div",{className:"sandbox-project-upload-loading",role:"status",children:[l.jsx("i",{"aria-hidden":"true"}),"正在生成配对码"]}):D?l.jsx("pre",{tabIndex:0,children:l.jsx("code",{children:D})}):l.jsx("div",{className:"sandbox-project-upload-loading",children:"配对码尚未生成。"})}),h&&b?l.jsxs("section",{className:"sandbox-project-upload-progress","aria-live":"polite","aria-label":"端云接力状态",children:[l.jsxs("header",{children:[l.jsxs("div",{children:[l.jsx("span",{children:"接力状态"}),b.state!=="issued"?l.jsxs("p",{children:["已收到",b.agentName?`“${b.agentName}”`:b.projectName?`“${b.projectName}”`:"当前项目","的端云接力请求"]}):l.jsx("p",{children:"复制接力提示词后,Codex 的请求会显示在这里。"})]}),l.jsx("strong",{"data-state":b.state,children:f1t(b)})]}),l.jsx("ol",{children:c1t.map((Y,q)=>{const U=d1t(b,q);return l.jsxs("li",{"data-state":U,children:[l.jsxs("span",{className:"sandbox-project-upload-progress-marker",children:[U==="done"?l.jsx(GI,{}):null,U==="failed"?l.jsx(hW,{}):null]}),l.jsx("span",{children:Y.label})]},Y.id)})}),b.state==="failed"&&b.error?l.jsx("p",{className:"sandbox-project-upload-progress-error",role:"alert",children:b.error}):null]}):null]})]}),l.jsxs("footer",{className:"sandbox-project-upload-actions",children:[l.jsx("button",{type:"button",onClick:t,children:"关闭"}),((b==null?void 0:b.state)==="running"||(b==null?void 0:b.state)==="completed")&&b.sessionId?l.jsx("button",{type:"button",className:"is-primary",disabled:S,onClick:()=>void j(),children:S?"正在进入":"进入 Codex"}):null]})]})}),document.body)}function p1t({client:e=_i,allowSkillSelection:t=!0,allowThreadManagement:n=!0,session:i,conversationBusy:r,onInputChange:s,onSessionPatch:a,onSnapshot:o,onActivity:c,onError:u}){const d=m.useRef((i==null?void 0:i.id)??""),f=m.useRef(0);d.current=(i==null?void 0:i.id)??"";const[h,p]=m.useState(!1),[b,g]=m.useState([]),[O,y]=m.useState(!1),[v,x]=m.useState(!1),[w,E]=m.useState([]),[S,k]=m.useState(!1),[T,C]=m.useState(!1),[A,N]=m.useState([]),[P,Q]=m.useState(!1),[D,$]=m.useState([]),[j,I]=m.useState(!1),[F,B]=m.useState(""),[M,Y]=m.useState(""),[q,U]=m.useState("");m.useEffect(()=>{f.current+=1,p(!1),g([]),y(!1),x(!1),E([]),k(!1),C(!1),N([]),Q(!1),$([]),I(!1),B(""),Y(""),U("")},[i==null?void 0:i.id]);const V=m.useCallback(async()=>{const Se=d.current;if(!Se)return[];y(!0);try{const Oe=await e.listModels(Se);return d.current===Se&&(g(Oe),x(!0)),Oe}catch(Oe){return d.current===Se&&(x(!0),u(Oe instanceof Error?Oe.message:String(Oe))),[]}finally{d.current===Se&&y(!1)}},[e,u]),re=m.useCallback(async()=>{if(!t)return[];const Se=d.current;if(!Se)return[];k(!0);try{const Oe=await e.listSkills(Se);return d.current===Se&&(E(Oe),C(!0)),Oe}catch(Oe){return d.current===Se&&(C(!0),u(Oe instanceof Error?Oe.message:String(Oe))),[]}finally{d.current===Se&&k(!1)}},[t,e,u]),de=m.useCallback(async(Se="",Oe=!1)=>{const Le=d.current;if(!Le)return;const Fe=++f.current;I(!0),B("");try{const Te=await e.listThreads(Le,Se?{cursor:Se}:{});d.current===Le&&f.current===Fe&&($(Ue=>{if(!Oe)return Te.threads;const ot=new Map(Ue.map(Bt=>[Bt.id,Bt]));for(const Bt of Te.threads)ot.set(Bt.id,Bt);return[...ot.values()]}),Y(Te.nextCursor??""))}catch(Te){d.current===Le&&f.current===Fe&&B(Te instanceof Error?Te.message:String(Te))}finally{d.current===Le&&f.current===Fe&&I(!1)}},[e]),be=m.useCallback(()=>de("",!1),[de]),ce=m.useCallback(async()=>{!M||j||await de(M,!0)},[de,j,M]),K=m.useCallback(async()=>{Q(!0),await be()},[be]);m.useEffect(()=>{!n||!(i!=null&&i.id)||be()},[n,be,i==null?void 0:i.id]);function ee(Se){o(Se),$(Oe=>[Se.thread,...Oe.filter(Le=>Le.id!==Se.thread.id)]),N([]),E([]),C(!1),Q(!1)}async function me(Se){const Oe=await e.newThread(Se);d.current===Se&&(ee(Oe),c("已新建 Codex 对话",[{label:"Thread",value:Oe.threadId,code:!0}]))}async function ve(){const Se=d.current;if(!(!Se||h||r)){p(!0),B(""),u("");try{await me(Se)}catch(Oe){if(d.current===Se){const Le=Oe instanceof Error?Oe.message:String(Oe);B(Le),u(Le)}}finally{d.current===Se&&p(!1)}}}async function Ne(Se){const Oe=d.current;if(!(!Oe||h||r)){if(Se===(i==null?void 0:i.threadId)){Q(!1);return}p(!0),u("");try{const Le=await e.resumeThread(Oe,Se);if(d.current!==Oe)return;ee(Le),c("已恢复 Codex 对话",[{label:"Thread",value:Le.threadId,code:!0}])}catch(Le){d.current===Oe&&u(Le instanceof Error?Le.message:String(Le))}finally{d.current===Oe&&p(!1)}}}async function Ie(Se){const Oe=d.current;if(!Oe||h||r)return!1;f.current+=1,I(!1),p(!0),U(Se),B(""),u("");try{const Le=await e.deleteThread(Oe,Se);return d.current!==Oe?!1:(Le.snapshot&&ee(Le.snapshot),$(Fe=>Fe.filter(Te=>Te.id!==Se)),c("已删除 Codex 历史会话",[{label:"Thread",value:Se,code:!0}]),!0)}catch(Le){if(d.current===Oe){const Fe=Le instanceof Error?Le.message:String(Le);B(Fe),u(Fe)}return!1}finally{d.current===Oe&&(p(!1),U(""))}}async function De(Se){const Oe=i,Le=Se.trim();if(!Le.startsWith("/"))return!1;if(!Oe||r||h)return!0;const Fe=Kxt(Le),Te=Fe&&yC.find(Ue=>Ue.name===Fe.name);if(!Fe||!Te)return u(`未知快捷命令:${Le.split(/\s/,1)[0]}。输入 /help 查看可用命令。`),!0;if(u(""),N([]),Te.name==="model"&&!Fe.argument)return s("/model "),v||await V(),!0;if(Te.name==="skill"||Te.name==="skills")return t?(s("$"),T||(await re()).length===0&&s(""),!0):(u("智能开发模式会自动使用开发能力,无需手动选择 Skill。"),!0);if(Te.name==="resume"&&!Fe.argument)return s(""),await K(),!0;s(""),p(!0);try{if(Te.name==="model"){const Ue=await e.setModel(Oe.id,Fe.argument);if(d.current!==Oe.id)return!0;a({model:Ue}),c("已切换 Codex 模型",[{label:"模型",value:Ue,code:!0}])}else if(Te.name==="models"){const Ue=v?b:await V();if(d.current!==Oe.id)return!0;c(Ue.length>0?"Codex 可用模型":"当前没有可用模型",n1t(Ue,Oe.model))}else if(Te.name==="new"||Te.name==="clear")await me(Oe.id);else if(Te.name==="resume"){const Ue=await e.resumeThread(Oe.id,Fe.argument);if(d.current!==Oe.id)return!0;ee(Ue),c("已恢复 Codex 对话",[{label:"Thread",value:Ue.threadId,code:!0}])}else if(Te.name==="fork"){const Ue=await e.forkThread(Oe.id);if(d.current!==Oe.id)return!0;ee(Ue),c("已分叉 Codex 对话",[{label:"Thread",value:Ue.threadId,code:!0}])}else if(Te.name==="compact"){if(await e.compactThread(Oe.id),d.current!==Oe.id)return!0;c("已开始压缩当前 Codex 对话",[{label:"Thread",value:Oe.threadId,code:!0}])}else if(Te.name==="archive"){const Ue=Oe.threadId,ot=await e.archiveThread(Oe.id,Ue);if(d.current!==Oe.id)return!0;ot.snapshot&&ee(ot.snapshot),$(Bt=>Bt.filter(Ye=>Ye.id!==Ue)),c("已归档 Codex 对话",[{label:"Thread",value:Ue,code:!0}])}else if(Te.name==="status"){const Ue=await e.getStatus(Oe.id);if(d.current!==Oe.id)return!0;a(Ue),c("Codex 当前状态",i1t(Ue))}else Te.name==="help"&&c("Sandbox 支持的 Codex 快捷命令",t1t())}catch(Ue){d.current===Oe.id&&(s(Le),u(Ue instanceof Error?Ue.message:String(Ue)))}finally{d.current===Oe.id&&p(!1)}return!0}function pe(){E([]),C(!1),N([])}return{commandBusy:h,models:b,modelsLoading:O,modelsLoaded:v,loadModels:V,skills:w,skillsLoading:S,skillsLoaded:T,loadSkills:re,selectedSkills:A,setSelectedSkills:N,invalidateSkills:pe,threadsOpen:P,threads:D,threadsLoading:j,threadsError:F,threadsHasMore:!!M,threadActionId:q,openThreads:K,refreshThreads:be,loadMoreThreads:ce,closeThreads:()=>{h||(Q(!1),B(""))},newThread:ve,resumeThread:Ne,deleteThread:Ie,executeSlash:De}}const m1t={volcengine:"火山引擎 AgentKit 提供企业级 Agent 解决方案",byteplus:"BytePlus AgentKit 提供企业级 Agent 解决方案"},g1t={volcengine:"https://docs.volcengine.com/docs/86681/1925174?lang=zh",byteplus:"https://docs.byteplus.com/en/docs/legal"};function b1t(e){return e.toLowerCase()==="github"?l.jsx(cTe,{className:"icon"}):l.jsx(dTe,{className:"icon"})}function O1t({branding:e,cloudProvider:t,onUsername:n}){const[i,r]=m.useState(null),[s,a]=m.useState(""),[o,c]=m.useState(0),[u,d]=m.useState(""),f=m.useRef(null);m.useEffect(()=>{let O=!0;return r(null),a(""),Pte().then(y=>{O&&r(y)}).catch(y=>{O&&a(y instanceof Error?y.message:String(y))}),()=>{O=!1}},[o]);const h=i!==null&&i.length===0;m.useEffect(()=>{var O;h&&((O=f.current)==null||O.focus())},[h]);const p=NTe.test(u),b=t==="byteplus"?j$:N$,g=()=>{p&&n(u)};return l.jsxs("div",{className:"login",children:[l.jsx("header",{className:"login-top",children:l.jsxs("span",{className:"login-brand",children:[l.jsx("img",{className:"login-brand-logo",src:e.logoUrl||b,width:20,height:20,alt:"","aria-hidden":!0}),e.title]})}),l.jsx("main",{className:"login-main",children:l.jsxs("div",{className:"login-card",children:[l.jsx(Fn,{as:"h1",className:"login-title",duration:4.8,spread:22,children:e.title}),s?l.jsxs("div",{className:"login-provider-error",role:"alert",children:[l.jsx("p",{children:s}),l.jsx("button",{type:"button",onClick:()=>c(O=>O+1),children:"重试"})]}):i===null?null:i.length>0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"login-sub",children:"登录以继续使用"}),l.jsx("div",{className:"login-providers",children:i.map(O=>l.jsxs("button",{className:"login-btn",onClick:()=>RTe(O.loginUrl),children:[b1t(O.id),l.jsxs("span",{children:["使用 ",O.label," 登录"]})]},O.id))})]}):l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"login-sub",children:"输入一个用户名即可开始"}),l.jsxs("form",{className:"login-name",onSubmit:O=>{O.preventDefault(),g()},children:[l.jsx("input",{ref:f,className:"login-name-input",value:u,onChange:O=>d(O.target.value),placeholder:"用户名(字母 + 数字,最多 16 位)",maxLength:16}),l.jsx("button",{type:"submit",className:"login-name-go",disabled:!p,"aria-label":"进入",children:l.jsx(fx,{className:"icon"})})]}),l.jsx("p",{className:"login-hint","aria-live":"polite",children:u&&!p?"只能包含大小写字母和数字,最多 16 位。":""})]}),l.jsx("p",{className:"login-powered",children:m1t[t]}),l.jsxs("p",{className:"login-legal",children:["继续即表示你已阅读并同意 AgentKit"," ",l.jsx("a",{href:g1t[t],target:"_blank",rel:"noreferrer",children:"产品和服务条款"})]})]})}),l.jsx("footer",{className:"login-footer",children:"© 2026 VeADK. All rights reserved."})]})}function y1t({open:e,checking:t,error:n,onLogin:i}){const r=m.useRef(null);return m.useEffect(()=>{var a;if(!e)return;const s=document.body.style.overflow;return document.body.style.overflow="hidden",(a=r.current)==null||a.focus(),()=>{document.body.style.overflow=s}},[e]),e?Gi.createPortal(l.jsx("div",{className:"auth-expired-backdrop",children:l.jsxs("section",{className:"auth-expired-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-expired-title","aria-describedby":"auth-expired-description",children:[l.jsx("div",{className:"auth-expired-mark","aria-hidden":"true",children:l.jsx(Tte,{})}),l.jsxs("div",{className:"auth-expired-copy",children:[l.jsx("h2",{id:"auth-expired-title",children:"登录状态已过期"}),l.jsx("p",{id:"auth-expired-description",children:"当前编辑内容会保留。重新登录后,刚才的操作将自动继续。"}),n&&l.jsx("p",{className:"auth-expired-error",role:"alert",children:n})]}),l.jsx("footer",{className:"auth-expired-actions",children:l.jsx("button",{ref:r,type:"button",onClick:i,disabled:t,children:t?"等待登录完成…":"重新登录"})})]})}),document.body):null}const x1t=[{value:"slow",label:"执行速度慢"},{value:"crash",label:"运行崩溃"},{value:"incorrect",label:"结果不准确"},{value:"tool_error",label:"工具调用失败"},{value:"other",label:"其他问题"}];function v1t(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m7 7 10 10"}),l.jsx("path",{d:"m17 7-10 10"})]})}function w1t(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function S1t({onClose:e,onSubmit:t}){const n=m.useId(),i=m.useId(),r=m.useRef(null),s=m.useRef(null),a=m.useRef(!1),o=m.useRef(e),[c,u]=m.useState(()=>new Set),[d,f]=m.useState(""),[h,p]=m.useState(!1),[b,g]=m.useState(""),[O,y]=m.useState(!1);a.current=h,o.current=e,m.useEffect(()=>{var T;const E=document.body.style.overflow,S=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(T=s.current)==null||T.focus();const k=C=>{var Q;if(C.key==="Escape"&&!a.current){C.preventDefault(),o.current();return}if(C.key!=="Tab")return;const A=Array.from(((Q=r.current)==null?void 0:Q.querySelectorAll("button:not(:disabled), textarea:not(:disabled)"))??[]);if(A.length===0)return;const N=A[0],P=A[A.length-1];C.shiftKey&&document.activeElement===N?(C.preventDefault(),P.focus()):!C.shiftKey&&document.activeElement===P&&(C.preventDefault(),N.focus())};return window.addEventListener("keydown",k),()=>{document.body.style.overflow=E,window.removeEventListener("keydown",k),S!=null&&S.isConnected&&S.focus()}},[]);const v=E=>{u(S=>{const k=new Set(S);return k.has(E)?k.delete(E):k.add(E),k})},x=async()=>{if(!(h||O)){p(!0),g("");try{await t({issues:[...c],description:d.trim()}),y(!0)}catch(E){g(E instanceof Error?E.message:String(E))}finally{p(!1)}}},w=c.size>0||d.trim().length>0;return Gi.createPortal(l.jsx("div",{className:"issue-feedback-backdrop",onMouseDown:E=>{E.target===E.currentTarget&&!h&&e()},children:l.jsxs("section",{ref:r,className:"issue-feedback-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":O?`${i}-success`:i,"aria-busy":h||void 0,children:[l.jsxs("header",{className:"issue-feedback-head",children:[l.jsx("h2",{id:n,children:"问题反馈"}),l.jsx("button",{type:"button",className:"issue-feedback-close",onClick:e,disabled:h,"aria-label":"关闭问题反馈",children:l.jsx(v1t,{})})]}),O?l.jsxs("div",{className:"issue-feedback-success",role:"status","aria-live":"polite",children:[l.jsx("span",{className:"issue-feedback-success-mark","aria-hidden":"true",children:l.jsx(w1t,{})}),l.jsxs("div",{children:[l.jsx("h3",{children:"上报成功,感谢您的反馈"}),l.jsx("p",{id:`${i}-success`,children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):l.jsxs("div",{className:"issue-feedback-body",children:[l.jsx("p",{id:i,className:"issue-feedback-intro",children:"请选择遇到的问题,也可以补充具体表现。"}),l.jsx("p",{className:"issue-feedback-privacy",role:"alert",children:"您的对话数据将会上报到 AgentKit 团队,请注意隐私保护。"}),l.jsx("div",{className:"issue-feedback-chips","aria-label":"常见问题",children:x1t.map(E=>l.jsx("button",{type:"button",className:"issue-feedback-chip","aria-pressed":c.has(E.value),onClick:()=>v(E.value),disabled:h,children:E.label},E.value))}),l.jsxs("label",{className:"issue-feedback-field",children:[l.jsx("span",{children:"问题描述"}),l.jsx("textarea",{ref:s,value:d,onChange:E=>f(E.target.value),placeholder:"请描述问题发生时的表现(选填)",maxLength:4e3,rows:5,disabled:h})]}),b&&l.jsx("p",{className:"issue-feedback-error",role:"alert",children:b})]}),l.jsx("footer",{className:"issue-feedback-actions",children:O?l.jsx("button",{type:"button",className:"is-primary",onClick:e,children:"完成"}):l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",onClick:e,disabled:h,children:"取消"}),l.jsx("button",{type:"button",className:"is-primary",onClick:()=>void x(),disabled:!w||h,children:h?"正在上报…":"提交反馈"})]})})]})}),document.body)}function E1t(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),r=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(r),t&&(i.href=t),r.href=e,r.href}const k1t=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function hh(e){const t=[];for(let n=0,i=e.length;nLo||e.height>Lo)&&(e.width>Lo&&e.height>Lo?e.width>e.height?(e.height*=Lo/e.width,e.width=Lo):(e.width*=Lo/e.height,e.height=Lo):e.width>Lo?(e.height*=Lo/e.width,e.width=Lo):(e.width*=Lo/e.height,e.height=Lo))}function N1t(e,t={}){return e.toBlob?new Promise(n=>{e.toBlob(n,t.type?t.type:"image/png",t.quality?t.quality:1)}):new Promise(n=>{const i=window.atob(e.toDataURL(t.type?t.type:void 0,t.quality?t.quality:void 0).split(",")[1]),r=i.length,s=new Uint8Array(r);for(let a=0;a{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>t(i))})},i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function j1t(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function R1t(e,t,n){const i="http://www.w3.org/2000/svg",r=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return r.setAttribute("width",`${t}`),r.setAttribute("height",`${n}`),r.setAttribute("viewBox",`0 0 ${t} ${n}`),s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("x","0"),s.setAttribute("y","0"),s.setAttribute("externalResourcesRequired","true"),r.appendChild(s),s.appendChild(e),j1t(r)}const Oo=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||Oo(n,t)};function I1t(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function D1t(e,t){return K0e(t).map(n=>{const i=e.getPropertyValue(n),r=e.getPropertyPriority(n);return`${n}: ${i}${r?" !important":""};`}).join(" ")}function P1t(e,t,n,i){const r=`.${e}:${t}`,s=n.cssText?I1t(n):D1t(n,i);return document.createTextNode(`${r}{${s}}`)}function gW(e,t,n,i){const r=window.getComputedStyle(e,n),s=r.getPropertyValue("content");if(s===""||s==="none")return;const a=k1t();try{t.className=`${t.className} ${a}`}catch{return}const o=document.createElement("style");o.appendChild(P1t(a,n,r,i)),t.appendChild(o)}function M1t(e,t,n){gW(e,t,":before",n),gW(e,t,":after",n)}const bW="application/font-woff",OW="image/jpeg",L1t={woff:bW,woff2:bW,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:OW,jpeg:OW,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function $1t(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function fB(e){const t=$1t(e).toLowerCase();return L1t[t]||""}function Q1t(e){return e.split(/,/)[1]}function x5(e){return e.search(/^(data:)/)!==-1}function B1t(e,t){return`data:${t};base64,${e}`}async function ebe(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const r=await i.blob();return new Promise((s,a)=>{const o=new FileReader;o.onerror=a,o.onloadend=()=>{try{s(n({res:i,result:o.result}))}catch(c){a(c)}},o.readAsDataURL(r)})}const YI={};function F1t(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function hB(e,t,n){const i=F1t(e,t,n.includeQueryParams);if(YI[i]!=null)return YI[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let r;try{const s=await ebe(e,n.fetchRequestInit,({res:a,result:o})=>(t||(t=a.headers.get("Content-Type")||""),Q1t(o)));r=B1t(s,t)}catch(s){r=n.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;s&&(a=typeof s=="string"?s:s.message),a&&console.warn(a)}return YI[i]=r,r}async function U1t(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):W_(t)}async function z1t(e,t){if(e.currentSrc){const s=document.createElement("canvas"),a=s.getContext("2d");s.width=e.clientWidth,s.height=e.clientHeight,a==null||a.drawImage(e,0,0,s.width,s.height);const o=s.toDataURL();return W_(o)}const n=e.poster,i=fB(n),r=await hB(n,i,t);return W_(r)}async function V1t(e,t){var n;try{if(!((n=e==null?void 0:e.contentDocument)===null||n===void 0)&&n.body)return await xC(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function q1t(e,t){return Oo(e,HTMLCanvasElement)?U1t(e):Oo(e,HTMLVideoElement)?z1t(e,t):Oo(e,HTMLIFrameElement)?V1t(e,t):e.cloneNode(tbe(e))}const X1t=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",tbe=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function H1t(e,t,n){var i,r;if(tbe(t))return t;let s=[];return X1t(e)&&e.assignedNodes?s=hh(e.assignedNodes()):Oo(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?s=hh(e.contentDocument.body.childNodes):s=hh(((r=e.shadowRoot)!==null&&r!==void 0?r:e).childNodes),s.length===0||Oo(e,HTMLVideoElement)||await s.reduce((a,o)=>a.then(()=>xC(o,n)).then(c=>{c&&t.appendChild(c)}),Promise.resolve()),t}function G1t(e,t,n){const i=t.style;if(!i)return;const r=window.getComputedStyle(e);r.cssText?(i.cssText=r.cssText,i.transformOrigin=r.transformOrigin):K0e(n).forEach(s=>{let a=r.getPropertyValue(s);s==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),Oo(e,HTMLIFrameElement)&&s==="display"&&a==="inline"&&(a="block"),s==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),i.setProperty(s,a,r.getPropertyPriority(s))})}function Y1t(e,t){Oo(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),Oo(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function W1t(e,t){if(Oo(e,HTMLSelectElement)){const n=t,i=Array.from(n.children).find(r=>e.value===r.getAttribute("value"));i&&i.setAttribute("selected","")}}function Z1t(e,t,n){return Oo(t,Element)&&(G1t(e,t,n),M1t(e,t,n),Y1t(e,t),W1t(e,t)),t}async function K1t(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let s=0;sq1t(i,t)).then(i=>H1t(e,i,t)).then(i=>Z1t(e,i,t)).then(i=>K1t(i,t))}const nbe=/url\((['"]?)([^'"]+?)\1\)/g,J1t=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,evt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function tvt(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function nvt(e){const t=[];return e.replace(nbe,(n,i,r)=>(t.push(r),n)),t.filter(n=>!x5(n))}async function ivt(e,t,n,i,r){try{const s=n?E1t(t,n):t,a=fB(t);let o;return r||(o=await hB(s,a,i)),e.replace(tvt(t),`$1${o}$3`)}catch{}return e}function rvt(e,{preferredFontFormat:t}){return t?e.replace(evt,n=>{for(;;){const[i,,r]=J1t.exec(n)||[];if(!r)return"";if(r===t)return`src: ${i};`}}):e}function ibe(e){return e.search(nbe)!==-1}async function rbe(e,t,n){if(!ibe(e))return e;const i=rvt(e,n);return nvt(i).reduce((s,a)=>s.then(o=>ivt(o,a,t,n)),Promise.resolve(i))}async function Tg(e,t,n){var i;const r=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(r){const s=await rbe(r,null,n);return t.style.setProperty(e,s,t.style.getPropertyPriority(e)),!0}return!1}async function svt(e,t){await Tg("background",e,t)||await Tg("background-image",e,t),await Tg("mask",e,t)||await Tg("-webkit-mask",e,t)||await Tg("mask-image",e,t)||await Tg("-webkit-mask-image",e,t)}async function avt(e,t){const n=Oo(e,HTMLImageElement);if(!(n&&!x5(e.src))&&!(Oo(e,SVGImageElement)&&!x5(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,r=await hB(i,fB(i),t);await new Promise((s,a)=>{e.onload=s,e.onerror=t.onImageErrorHandler?(...c)=>{try{s(t.onImageErrorHandler(...c))}catch(u){a(u)}}:a;const o=e;o.decode&&(o.decode=s),o.loading==="lazy"&&(o.loading="eager"),n?(e.srcset="",e.src=r):e.href.baseVal=r})}async function ovt(e,t){const i=hh(e.childNodes).map(r=>sbe(r,t));await Promise.all(i).then(()=>e)}async function sbe(e,t){Oo(e,Element)&&(await svt(e,t),await avt(e,t),await ovt(e,t))}function lvt(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(r=>{n[r]=i[r]}),e}const yW={};async function xW(e){let t=yW[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},yW[e]=t,t}async function vW(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,s=(n.match(/url\([^)]+\)/g)||[]).map(async a=>{let o=a.replace(i,"$1");return o.startsWith("https://")||(o=new URL(o,e.url).href),ebe(o,t.fetchRequestInit,({result:c})=>(n=n.replace(a,`url(${c})`),[a,c]))});return Promise.all(s).then(()=>n)}function wW(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const r=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const c=r.exec(i);if(c===null)break;t.push(c[0])}i=i.replace(r,"");const s=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",o=new RegExp(a,"gi");for(;;){let c=s.exec(i);if(c===null){if(c=o.exec(i),c===null)break;s.lastIndex=o.lastIndex}else o.lastIndex=s.lastIndex;t.push(c[0])}return t}async function cvt(e,t){const n=[],i=[];return e.forEach(r=>{if("cssRules"in r)try{hh(r.cssRules||[]).forEach((s,a)=>{if(s.type===CSSRule.IMPORT_RULE){let o=a+1;const c=s.href,u=xW(c).then(d=>vW(d,t)).then(d=>wW(d).forEach(f=>{try{r.insertRule(f,f.startsWith("@import")?o+=1:r.cssRules.length)}catch(h){console.error("Error inserting rule from remote css",{rule:f,error:h})}})).catch(d=>{console.error("Error loading remote css",d.toString())});i.push(u)}})}catch(s){const a=e.find(o=>o.href==null)||document.styleSheets[0];r.href!=null&&i.push(xW(r.href).then(o=>vW(o,t)).then(o=>wW(o).forEach(c=>{a.insertRule(c,a.cssRules.length)})).catch(o=>{console.error("Error loading remote stylesheet",o)})),console.error("Error inlining remote css file",s)}}),Promise.all(i).then(()=>(e.forEach(r=>{if("cssRules"in r)try{hh(r.cssRules||[]).forEach(s=>{n.push(s)})}catch(s){console.error(`Error while reading CSS rules from ${r.href}`,s)}}),n))}function uvt(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>ibe(t.style.getPropertyValue("src")))}async function dvt(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=hh(e.ownerDocument.styleSheets),i=await cvt(n,t);return uvt(i)}function abe(e){return e.trim().replace(/["']/g,"")}function fvt(e){const t=new Set;function n(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(s=>{t.add(abe(s))}),Array.from(i.children).forEach(s=>{s instanceof HTMLElement&&n(s)})}return n(e),t}async function hvt(e,t){const n=await dvt(e,t),i=fvt(e);return(await Promise.all(n.filter(s=>i.has(abe(s.style.fontFamily))).map(s=>{const a=s.parentStyleSheet?s.parentStyleSheet.href:null;return rbe(s.cssText,a,t)}))).join(` +`)}async function pvt(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await hvt(e,t);if(n){const i=document.createElement("style"),r=document.createTextNode(n);i.appendChild(r),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function mvt(e,t={}){const{width:n,height:i}=J0e(e,t),r=await xC(e,t,!0);return await pvt(r,t),await sbe(r,t),lvt(r,t),await R1t(r,n,i)}async function gvt(e,t={}){const{width:n,height:i}=J0e(e,t),r=await mvt(e,t),s=await W_(r),a=document.createElement("canvas"),o=a.getContext("2d"),c=t.pixelRatio||A1t(),u=t.canvasWidth||n,d=t.canvasHeight||i;return a.width=u*c,a.height=d*c,t.skipAutoScale||C1t(a),a.style.width=`${u}`,a.style.height=`${d}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(s,0,0,a.width,a.height),a}async function bvt(e,t={}){const n=await gvt(e,t);return await N1t(n)}const Ovt=16384,yvt=32e6;function xvt(e){return l.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[l.jsx("path",{d:"m7 7 10 10"}),l.jsx("path",{d:"m17 7-10 10"})]})}function vvt(){const e=getComputedStyle(document.documentElement).getPropertyValue("--background").trim();return e?`hsl(${e})`:"white"}function wvt(e,t){const n=Math.min(Math.max(window.devicePixelRatio||1,1),2),i=Ovt/Math.max(e,t),r=Math.sqrt(yvt/Math.max(e*t,1));return Math.min(n,i,r)}function Svt(e){const t=e.closest(".transcript");if(!t)return[e];const n=Array.from(t.children).filter(r=>r instanceof HTMLElement&&r.matches(".turn--user, .turn--assistant")),i=n.indexOf(e);return i>=0?n.slice(0,i+1):[e]}function Evt(e){const t=document.createElement("section");t.className="share-message-export",t.setAttribute("aria-hidden","true");for(const i of Svt(e)){const r=i.cloneNode(!0);r.removeAttribute("data-share-message-source"),r.classList.remove("is-feedback-target"),r.style.opacity="1",r.style.transform="none",r.style.animation="none",r.querySelectorAll("[data-share-image-exclude]").forEach(s=>s.remove()),t.append(r)}const n=document.createElement("p");return n.className="share-message-export-note",n.textContent="上述会话由 AgentKit Studio 导出,仅供参考",t.append(n),document.body.append(t),t}async function kvt(e){var n;(n=document.fonts)!=null&&n.ready&&await document.fonts.ready;const t=Evt(e);try{const i=Math.ceil(t.scrollWidth),r=Math.ceil(t.scrollHeight),s=wvt(i,r);if(s<.2)throw new Error("当前会话过长,暂时无法生成单张图片。");const a=await bvt(t,{width:i,height:r,pixelRatio:s,backgroundColor:vvt(),cacheBust:!0,style:{position:"static",top:"auto",left:"auto",width:`${i}px`,height:`${r}px`,margin:"0",overflow:"visible",animation:"none"}});if(!a)throw new Error("图片生成失败,请重试。");return a}finally{t.remove()}}function Tvt(){return`agentkit-conversation-${new Date().toISOString().replace(/[:.]/g,"-")}.png`}function _vt({targetTurn:e,onClose:t}){const n=m.useId(),i=m.useId(),r=m.useRef(null),s=m.useRef(null),a=m.useRef(t),o=m.useRef(void 0),[c,u]=m.useState("generating"),[d,f]=m.useState(0),[h,p]=m.useState(null),[b,g]=m.useState(""),[O,y]=m.useState(""),[v,x]=m.useState("idle");a.current=t,m.useEffect(()=>{var C;const S=document.body.style.overflow,k=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(C=s.current)==null||C.focus();const T=A=>{var D;if(A.key==="Escape"){A.preventDefault(),a.current();return}if(A.key!=="Tab")return;const N=Array.from(((D=r.current)==null?void 0:D.querySelectorAll("button:not(:disabled)"))??[]);if(N.length===0)return;const P=N[0],Q=N[N.length-1];A.shiftKey&&document.activeElement===P?(A.preventDefault(),Q.focus()):!A.shiftKey&&document.activeElement===Q&&(A.preventDefault(),P.focus())};return window.addEventListener("keydown",T),()=>{document.body.style.overflow=S,window.removeEventListener("keydown",T),o.current!==void 0&&window.clearTimeout(o.current),k!=null&&k.isConnected&&k.focus()}},[]),m.useEffect(()=>{let S=!1,k="";return u("generating"),p(null),g(""),y(""),x("idle"),kvt(e).then(T=>{if(k=URL.createObjectURL(T),S){URL.revokeObjectURL(k);return}p(T),g(k),u("ready")}).catch(T=>{S||(u("error"),y(T instanceof Error?T.message:String(T)))}),()=>{S=!0,k&&URL.revokeObjectURL(k)}},[d,e]);const w=async()=>{var S;if(!(!h||v==="copying")){x("copying"),y("");try{if(!((S=navigator.clipboard)!=null&&S.write)||typeof ClipboardItem>"u")throw new Error("当前浏览器不支持复制图片,请下载后使用。");await navigator.clipboard.write([new ClipboardItem({"image/png":h})]),x("copied"),o.current=window.setTimeout(()=>x("idle"),1500)}catch(k){x("idle"),y(k instanceof Error?k.message:String(k))}}},E=()=>{if(!h)return;const S=URL.createObjectURL(h),k=document.createElement("a");k.href=S,k.download=Tvt(),k.style.display="none",document.body.append(k),k.click(),k.remove(),window.setTimeout(()=>URL.revokeObjectURL(S),1e3)};return Gi.createPortal(l.jsx("div",{className:"share-message-backdrop",onMouseDown:S=>{S.target===S.currentTarget&&t()},children:l.jsxs("section",{ref:r,className:"share-message-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,"aria-describedby":i,"aria-busy":c==="generating",children:[l.jsxs("header",{className:"share-message-head",children:[l.jsxs("div",{children:[l.jsx("h2",{id:n,children:"分享为图片"}),l.jsx("p",{id:i,children:"包含截至当前回复的全部输入与输出。"})]}),l.jsx("button",{ref:s,type:"button",className:"share-message-close","aria-label":"关闭",title:"关闭",onClick:t,children:l.jsx(xvt,{})})]}),l.jsxs("div",{className:"share-message-body",children:[c==="generating"?l.jsx("div",{className:"share-message-generating",role:"status",children:l.jsx(Fn,{children:"正在生成图片…"})}):c==="error"?l.jsxs("div",{className:"share-message-failure",children:[l.jsx("p",{role:"alert",children:O||"图片生成失败,请重试。"}),l.jsx("button",{type:"button",onClick:()=>f(S=>S+1),children:"重试生成"})]}):l.jsx("div",{className:"share-message-preview",children:l.jsx("img",{src:b,alt:"会话记录分享图片预览"})}),c!=="error"&&O&&l.jsx("p",{className:"share-message-error",role:"alert",children:O})]}),l.jsxs("footer",{className:"share-message-actions",children:[l.jsx("button",{type:"button",onClick:t,children:"取消"}),l.jsx("button",{type:"button",onClick:E,disabled:!h||c!=="ready",children:"下载 PNG"}),l.jsx("button",{type:"button",className:"is-primary",onClick:()=>void w(),disabled:!h||c!=="ready"||v==="copying",children:v==="copying"?"正在复制…":v==="copied"?"已复制":"复制图片"})]})]})}),document.body)}const Avt=(e,t)=>{const n=e.currentTarget,i={x:e.clientX,y:e.clientY},r=Cvt(i,n.getBoundingClientRect()),s=Nvt(i,r),a=jvt(t.getBoundingClientRect());return Ivt([...s,...a])};function Cvt(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,i,r,s)){case s:return"left";case r:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function Nvt(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}function jvt(e){const{top:t,right:n,bottom:i,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:i},{x:r,y:i}]}function Rvt(e,t){const{x:n,y:i}=e;let r=!1;for(let s=0,a=t.length-1;si!=h>i&&n<(f-u)*(i-d)/(h-d)+u&&(r=!r)}return r}function Ivt(e){const t=e.slice();return t.sort((n,i)=>n.xi.x?1:n.yi.y?1:0),Dvt(t)}function Dvt(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i=2;){const s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const r=e[i];for(;n.length>=2;){const s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(r.y-a.y)>=(s.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}const Pvt="_Transition_1wdpp_1",Mvt="_Popover_1wdpp_3",obe={Transition:Pvt,Popover:Mvt},lbe=m.createContext(null),vC=()=>{const e=m.use(lbe);if(!e)throw new Error("Popover components must be wrapped in ");return e},Ux=({open:e,onOpenChange:t,showOnHover:n=!1,hoverOpenDelay:i=150,children:r})=>{const[s,a]=m.useState(!1),[o,c]=m.useState(!1),u=m.useRef(null),d=m.useRef(null),f=m.useRef(void 0),h=m.useRef(!1),p=m.useRef(!1),b=e??s,[g,O]=m.useState(!1);o4(()=>O(!1),g?500:null);const y=OM(t),v=OM(k=>{var T,C;clearTimeout(f.current),b!==k&&(k||(c(!1),n&&h.current&&((T=u.current)==null||T.focus()),h.current=!1),(C=y.current)==null||C.call(y,k),a(k),n&&O(k))}),x=m.useCallback(k=>{v.current(k)},[v]),w=m.useCallback(()=>{f.current=setTimeout(()=>x(!0),i)},[x,i]),E=m.useCallback(()=>{clearTimeout(f.current)},[]);m.useEffect(()=>()=>{clearTimeout(f.current)},[]);const S=m.useMemo(()=>({open:b,setOpen:x,shake:o,setShake:c,showOnHover:n,temporarilyPreventClickToClose:g,onTriggerEnter:w,onTriggerLeave:E,isPointerInTransitRef:p,triggerRef:u,contentRef:d,hoverOpenFocusedWithTab:h}),[b,x,o,c,n,g,h,p,w,E]);return l.jsx(lbe,{value:S,children:l.jsx(q6e,{open:b,onOpenChange:x,modal:!1,children:r})})},Lvt=({children:e,onPointerDown:t,onClick:n})=>{const{setOpen:i,showOnHover:r,temporarilyPreventClickToClose:s,onTriggerEnter:a,onTriggerLeave:o,isPointerInTransitRef:c,triggerRef:u,contentRef:d}=vC(),f=m.useRef(!1),h=g=>{!(g.currentTarget.nodeName.toLocaleLowerCase()==="a")&&s&&(g.preventDefault(),g.stopPropagation())},p=g=>{g.pointerType!=="touch"&&!f.current&&!c.current&&(a(),f.current=!0)},b=()=>{f.current&&(o(),f.current=!1)};return l.jsx(X6e,{asChild:!0,ref:u,onPointerDown:g=>{h(g),t==null||t(g)},onClick:g=>{h(g),n==null||n(g)},onPointerMove:r?p:void 0,onPointerLeave:r?b:void 0,onFocus:r?()=>i(!0):void 0,onBlur:r?()=>{setTimeout(()=>{var g;(g=d.current)!=null&&g.contains(document.activeElement)||i(!1)},50)}:void 0,children:e})},cbe=({children:e,avoidCollisions:t,width:n,minWidth:i,maxWidth:r,side:s,sideOffset:a=8,align:o,alignOffset:c,translucent:u,className:d,autoFocus:f=!0})=>{const{showOnHover:h,shake:p,contentRef:b}=vC(),g=O=>{const y=b.current;if(y&&O.target===y&&O.key==="Tab"&&O.shiftKey){O.preventDefault(),O.stopPropagation();const v=Pse(y),x=v[v.length-1];x==null||x.focus()}};return m.useEffect(()=>{const O=b.current;!O||!f||O!=null&&O.contains(document.activeElement)||h||O.focus({preventScroll:!0})},[b,h,f]),l.jsx(G6e,{forceMount:!0,ref:b,className:la(obe.Popover,d),style:s4({"popover-width":n,"popover-min-width":i,"popover-max-width":r}),onCloseAutoFocus:h?ik:void 0,"data-animate":p?"shake":void 0,"data-translucent":u?"true":void 0,side:s,sideOffset:a,align:o,alignOffset:c??(o==="center"?0:-5),avoidCollisions:t??!0,hideWhenDetached:!0,collisionPadding:20,onOpenAutoFocus:ik,onEscapeKeyDown:ik,onKeyDown:g,children:e})},$vt=e=>{const{setOpen:t,triggerRef:n,contentRef:i,isPointerInTransitRef:r,hoverOpenFocusedWithTab:s}=vC(),[a,o]=m.useState(null),c=m.useCallback(()=>{o(null),r.current=!1},[r]),u=m.useCallback((d,f)=>{const h=Avt(d,f);o(h),r.current=!0},[r]);return m.useEffect(()=>()=>c(),[c]),m.useEffect(()=>{const d=n.current,f=i.current;if(!d||!f)return;const h=b=>u(b,f),p=b=>u(b,d);return d.addEventListener("pointerleave",h),f.addEventListener("pointerleave",p),()=>{d.removeEventListener("pointerleave",h),f.removeEventListener("pointerleave",p)}},[i,n,u,c]),m.useEffect(()=>{if(!a)return;const d=f=>{const h=n.current,p=i.current,b=f.target,g={x:f.clientX,y:f.clientY},O=(h==null?void 0:h.contains(b))||(p==null?void 0:p.contains(b)),y=!Rvt(g,a),v=b.hasAttribute("aria-haspopup");O?c():(y||v)&&(c(),t(!1))};return document.addEventListener("pointermove",d),()=>document.removeEventListener("pointermove",d)},[a,t,c,n,i]),m.useEffect(()=>{const d=f=>{if(i.current&&f.key==="Tab"&&!f.shiftKey){const[h]=Pse(i.current);h&&(f.preventDefault(),h.focus(),s.current=!0,document.removeEventListener("keydown",d))}};return document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}},[i,s]),l.jsx(cbe,{...e})},Qvt=e=>{const{open:t,showOnHover:n,setOpen:i}=vC();return joe(t,()=>{i(!1)}),l.jsx(H6e,{forceMount:!0,children:l.jsx($se,{enterDuration:600,exitDuration:300,className:obe.Transition,disableAnimations:!0,children:t&&(n?l.jsx($vt,{...e},"popover-hover"):l.jsx(cbe,{...e},"popover"))})})};Ux.Trigger=Lvt;Ux.Content=Qvt;const Bvt="_Container_13560_1",Fvt="_Textarea_13560_174",SW={Container:Bvt,Textarea:Fvt},Uvt=e=>{const t=m.useRef(null),i=`search-ui-input-${m.useId()}`,{id:r,name:s,variant:a="outline",size:o="md",gutterSize:c,className:u,autoComplete:d,disabled:f=!1,readOnly:h=!1,invalid:p=!1,allowAutofillExtensions:b=!!s,onFocus:g,onBlur:O,onAnimationStart:y,onAutofill:v,autoSelect:x,rows:w=3,maxRows:E,autoResize:S,ref:k,onChange:T,...C}=e,[A,N]=m.useState(!1),P=S?Math.max(E??10,w):w;m.useEffect(()=>{var $;x&&(($=t.current)==null||$.select())},[x]);const Q=$=>{y==null||y($),$.animationName==="native-autofill-in"&&(v==null||v())},D=m.useCallback(()=>{if(!S||!t.current||P===void 0)return;t.current.style.height="0px";const $=t.current.scrollHeight;t.current.style.height=$+"px"},[S,P]);return m.useEffect(()=>{D()},[e.value,w,D]),l.jsx("div",{className:la(SW.Container,u),"data-variant":a,"data-size":o,"data-gutter-size":c,"data-focused":A,"data-disabled":f?"":void 0,"data-readonly":h?"":void 0,"data-invalid":p?"":void 0,style:s4({"textarea-min-rows":`${w}`,"textarea-max-rows":`${P}`}),children:l.jsx("textarea",{...C,onChange:$=>{T==null||T($),D()},ref:Mse([t,k]),id:r||(b?void 0:i),className:SW.Textarea,name:s,readOnly:h,disabled:f,rows:w,onFocus:$=>{N(!0),g==null||g($)},onBlur:$=>{N(!1),O==null||O($)},onAnimationStart:Q,"data-lpignore":b?void 0:!0,"data-1p-ignore":b?void 0:!0})})},zvt=2e3,Vvt=700,ube=1200;function pB(e,t){const n=Array.from(e);return n.length<=t?e:`${n.slice(0,t-1).join("").trimEnd()}…`}function dbe(e){return pB(e.trim(),Vvt)}function fbe(e){return pB(e,ube)}function EW(e){return e.trim().length>0}function qvt(e,t){const n=dbe(e),i=fbe(t.trim());return pB(`选中片段:${n} -批注:${i}`,Ovt)}function hW(e){return e?e instanceof Element?e:e.parentElement:null}function vvt(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;const n=hW(t.anchorNode),i=hW(t.focusNode);if(!n||!i||!e.contains(n)||!e.contains(i)||!n.closest(".bubble")||!i.closest(".bubble"))return null;const r=t.toString().trim();if(!r)return null;const s=t.getRangeAt(0).getBoundingClientRect();return s.width<=0||s.height<=0?null:{text:r,anchor:{left:s.left+s.width/2,top:s.top,height:s.height}}}function wvt({anchor:e,selectedText:t,onClose:n,onSubmit:i}){const r=m.useRef(!1),[s,a]=m.useState(""),[o,c]=m.useState(!1),[u,d]=m.useState(""),[f,h]=m.useState(!1),p=X0e(t),b=m.useCallback(()=>{var O;(O=window.getSelection())==null||O.removeAllRanges(),n()},[n]);r.current=o,m.useEffect(()=>{const O=()=>{r.current||b()},y=v=>{const x=v.target;x instanceof Element&&x.closest(".response-annotation-popover")||r.current||b()};return window.addEventListener("resize",O),window.addEventListener("scroll",y,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",y,!0)}},[b]);const g=async()=>{if(!(o||f||!fW(s))){c(!0),d("");try{await i(s.trim()),h(!0)}catch(O){d(O instanceof Error?O.message:String(O))}finally{c(!1)}}};return l.jsxs(Ix,{open:!0,onOpenChange:O=>{!O&&!o&&b()},children:[l.jsx(Ix.Trigger,{children:l.jsx("span",{className:"response-annotation-anchor",style:{left:e.left,top:e.top,height:e.height},"aria-hidden":"true"})}),l.jsx(Ix.Content,{side:"top",sideOffset:8,align:"center",minWidth:"auto",className:"response-annotation-popover",children:f?l.jsxs("div",{className:"response-annotation-success",role:"status","aria-live":"polite",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"已加入 Bad case 评测集"}),l.jsx("p",{children:"这条批注已关联当前问题和完整模型回复。"})]}),l.jsx(kl,{type:"button",color:"secondary",size:"sm",pill:!1,onClick:b,children:"完成"})]}):l.jsxs("form",{className:"response-annotation-form","aria-label":"批注选中的模型回复","aria-busy":o||void 0,onSubmit:O=>{O.preventDefault(),g()},children:[l.jsx("div",{className:"response-annotation-header",children:l.jsx("h2",{children:"添加批注"})}),l.jsx("blockquote",{title:p,children:p}),l.jsxs("label",{className:"response-annotation-field",children:[l.jsx("span",{children:"批注内容"}),l.jsx(bvt,{value:s,rows:3,maxRows:6,autoResize:!0,maxLength:q0e,disabled:o,invalid:!!u,"aria-label":"批注内容",placeholder:"说明问题或期望的修改方式",onChange:O=>{a(H0e(O.target.value)),u&&d("")}})]}),u&&l.jsxs("p",{className:"response-annotation-error",role:"alert",children:[u,",请重试。"]}),l.jsxs("div",{className:"response-annotation-actions",children:[l.jsx(kl,{className:"response-annotation-action",type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:o,onClick:b,children:"取消"}),l.jsx(kl,{className:"response-annotation-action",type:"submit",color:"primary",size:"sm",pill:!1,loading:o,disabled:!fW(s),children:"加入 Bad Case"})]})]})})]})}const Svt=[{value:"conversation",label:"对话"},{value:"agents",label:"智能体"},{value:"applications",label:"自动化"},{value:"search",label:"搜索"},{value:"other",label:"其他"}],Evt=[{value:"page_slow",label:"页面加载慢"},{value:"feature_unavailable",label:"功能无法使用"},{value:"display_error",label:"页面显示异常"},{value:"no_response",label:"操作无响应"},{value:"other",label:"其他问题"}],kvt=["点击后没有反应","页面一直处于加载状态","部分内容显示不完整","操作后出现错误提示"];function Tvt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function _vt({initialModule:e,onSubmit:t}){const n=m.useRef(null),[i,r]=m.useState(()=>new Set),[s,a]=m.useState(e),[o,c]=m.useState(""),[u,d]=m.useState(!1),[f,h]=m.useState(""),[p,b]=m.useState(!1),g=x=>{r(w=>{const E=new Set(w);return E.has(x)?E.delete(x):E.add(x),E})},O=x=>{var w;c(E=>E.trim()?E.includes(x)?E:`${E.trimEnd()} -${x}`:x),(w=n.current)==null||w.focus()},y=async x=>{if(x.preventDefault(),!(u||p)){d(!0),h("");try{await t({module:s,issues:[...i],description:o.trim()}),b(!0)}catch(w){h(w instanceof Error?w.message:String(w))}finally{d(!1)}}},v=i.size>0||o.trim().length>0;return l.jsxs("div",{className:"platform-feedback-page",children:[l.jsxs("header",{className:"platform-feedback-header",children:[l.jsx("h1",{children:"问题反馈"}),l.jsx("p",{children:"告诉我们您在使用 AgentKit Studio 时遇到的问题。"})]}),l.jsx("div",{className:"platform-feedback-scroll",children:p?l.jsxs("section",{className:"platform-feedback-success","aria-labelledby":"feedback-success-title","aria-live":"polite",role:"status",children:[l.jsx("span",{className:"platform-feedback-success-icon","aria-hidden":"true",children:l.jsx(Tvt,{})}),l.jsxs("div",{children:[l.jsx("h2",{id:"feedback-success-title",children:"上报成功,感谢您的反馈"}),l.jsx("p",{children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):l.jsxs("form",{className:"platform-feedback-form",onSubmit:x=>void y(x),children:[l.jsxs("section",{className:"platform-feedback-section",children:[l.jsx("div",{className:"platform-feedback-section-heading",children:l.jsx("h2",{children:"所属模块"})}),l.jsx("div",{className:"platform-feedback-pills","aria-label":"所属模块",children:Svt.map(x=>l.jsx("button",{type:"button","aria-pressed":s===x.value,onClick:()=>a(x.value),disabled:u,children:x.label},x.value))})]}),l.jsx("section",{className:"platform-feedback-section",children:l.jsxs("div",{className:"platform-feedback-suggestions",children:[l.jsx("span",{children:"常见问题(可多选)"}),l.jsx("div",{className:"platform-feedback-pills","aria-label":"问题类型",children:Evt.map(x=>l.jsx("button",{type:"button","aria-pressed":i.has(x.value),onClick:()=>g(x.value),disabled:u,children:x.label},x.value))})]})}),l.jsxs("section",{className:"platform-feedback-section",children:[l.jsxs("label",{className:"platform-feedback-field",children:[l.jsx("span",{children:"问题描述"}),l.jsx("textarea",{ref:n,value:o,onChange:x=>c(x.target.value),placeholder:"请描述问题发生时的页面、操作和表现",maxLength:4e3,rows:6,disabled:u})]}),l.jsxs("div",{className:"platform-feedback-suggestions",children:[l.jsx("span",{children:"快捷补充"}),l.jsx("div",{className:"platform-feedback-pills","aria-label":"问题描述推荐",children:kvt.map(x=>l.jsx("button",{type:"button",onClick:()=>O(x),disabled:u,children:x},x))})]})]}),l.jsx("p",{className:"platform-feedback-privacy",role:"alert",children:"您的数据将会上报到 AgentKit 团队,请注意隐私保护。"}),f&&l.jsx("p",{className:"platform-feedback-error",role:"alert",children:f}),l.jsx("div",{className:"platform-feedback-actions",children:l.jsx("button",{type:"submit",disabled:!v||u,children:u?"正在上报…":"提交反馈"})})]})})]})}function Avt({node:e,ctx:t}){const n=e.variant??"default";return l.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)})}Pm("Button",Avt);function Cvt({node:e,ctx:t}){return l.jsx("div",{className:"a2ui-card","data-a2ui-id":e.id,"data-a2ui-component":e.component,children:t.render(e.child)})}Pm("Card",Cvt);const Nvt={start:"flex-start",center:"center",end:"flex-end",spaceBetween:"space-between",spaceAround:"space-around",spaceEvenly:"space-evenly",stretch:"stretch"},jvt={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"};function Y0e(e){return Nvt[e]??"flex-start"}function G0e(e){return jvt[e]??"stretch"}function Rvt({node:e,ctx:t}){const n=e.children??[];return l.jsx("div",{className:"a2ui-column","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"column",justifyContent:Y0e(e.justify),alignItems:G0e(e.align)},children:n.map(i=>t.render(i))})}Pm("Column",Rvt);function Dvt({node:e}){const t=e.axis==="vertical";return l.jsx("div",{className:`a2ui-divider ${t?"a2ui-divider--v":"a2ui-divider--h"}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component})}Pm("Divider",Dvt);const Ivt={send:"✈️",check:"✅",close:"✖️",star:"⭐",favorite:"❤️",info:"ℹ️",help:"❓",error:"⛔",calendarToday:"📅",event:"📅",schedule:"🕒",locationOn:"📍",accountCircle:"👤",mail:"✉️",call:"📞",home:"🏠",settings:"⚙️",search:"🔍"};function Pvt({node:e}){const t=e.name??"";return l.jsx("span",{className:"a2ui-icon",title:t,"aria-label":t,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:Ivt[t]??"•"})}Pm("Icon",Pvt);function Mvt({node:e,ctx:t}){const n=e.children??[];return l.jsx("div",{className:"a2ui-row","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"row",justifyContent:Y0e(e.justify),alignItems:G0e(e.align??"center")},children:n.map(i=>t.render(i))})}Pm("Row",Mvt);const Lvt=new Set(["h1","h2","h3","h4","h5"]);function $vt({node:e,ctx:t}){const n=e.variant??"body",i=t.resolveString(e.text),r=Lvt.has(n)?n:"p";return l.jsx(r,{className:`a2ui-text a2ui-text--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:i})}Pm("Text",$vt);function Qvt(e){return e==="agents"?"agents":e==="applications"?"applications":e==="search"?"search":["conversation","new-chat","sandbox"].includes(e)?"conversation":"other"}async function FD(e){const[t,n,i,r]=await Promise.allSettled([Yyt(),Gyt("deepseek-harness"),w2(),e?h$(e):Promise.resolve([])]);return{agentId:e,ready:!0,harnessEnabled:!!e&&r.status==="fulfilled",builtinTools:r.status==="fulfilled"?r.value:[],temporaryEnabled:t.status==="fulfilled"&&t.value.enabled,deepseekHarnessEnabled:n.status==="fulfilled"&&n.value.enabled,sandboxEndpointExportEnabled:t.status==="fulfilled"&&t.value.endpointExportEnabled===!0,skillCustomizationEnabled:i.status==="fulfilled"&&i.value.enabled}}async function pW(e,t){const n=await l$(e,t),i=await Promise.allSettled(n.map(s=>{var a;return(a=s.events)!=null&&a.length?Promise.resolve(s):kA(e,t,s.id)})),r=i.find(s=>s.status==="rejected"&&!/get session failed:\s*404\b/i.test(String(s.reason)));if((r==null?void 0:r.status)==="rejected")throw r.reason;return i.flatMap(s=>s.status==="fulfilled"?[s.value]:[])}const Gl={app:"veadk.appName",view:"veadk.view",session:"veadk.sessionId"},Bvt=600,Fvt=1e3,mW=5e3,Uvt=500,zvt=new Set,Vvt=[];function al(){return{skills:[]}}async function qvt(e){let t;if(e.threadId)try{const r=await Ei.readThread(e.id,e.threadId);if(r.messages.length>0)return r}catch(r){t=r}const n=await Ei.listThreads(e.id),i=n.threads.find(r=>r.id!==e.threadId)??n.threads[0];if(!i){if(t)throw t;return null}return Ei.resumeThread(e.id,i.id)}function gW(e,t){const n=uL(e),i=n[n.length-1];return!t||(i==null?void 0:i.role)!=="user"?n:[...n,{role:"assistant",blocks:[],meta:{localId:`sandbox-background-${e.threadId}`}}]}function UD(e){return`${fC(e)}.active`}function fL(e){return`veadk.agentOrder.${encodeURIComponent(e)}`}function Xvt(e){if(!e)return[];try{const t=JSON.parse(localStorage.getItem(fL(e))||"[]");return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function hL(e,t){if(e.name===t||e.id===t)return e;for(const n of e.children){const i=hL(n,t);if(i)return i}}function W0e(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(...W0e(n)));return t}function bW(){const e=typeof localStorage<"u"?localStorage.getItem(Gl.view):null;return e==="intelligent"?e:["menu","custom","template","workflow"].includes(e??"")?"custom":e==="package"||e==="migration"?e:null}function OW(e){const t=e.trim().toLowerCase();switch(t){case"creating":case"starting":case"initializing":case"pending":case"running":case"ready":case"failed":case"error":case"stopped":case"expired":case"deleting":case"deleted":return t;default:return"unknown"}}function yW({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("rect",{x:"3.75",y:"3.75",width:"16.5",height:"16.5",rx:"3.25"}),l.jsx("path",{d:"M12 8.5v7M8.5 12h7"}),l.jsx("path",{d:"M6.75 6.75h1M16.25 17.25h1",opacity:"0.6"})]})}function Hvt({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("rect",{x:"3.5",y:"5",width:"17",height:"14.75",rx:"2.25"}),l.jsx("path",{d:"M3.5 9h17M9.25 12.25 7.1 14.4l2.15 2.15M14.75 12.25l2.15 2.15-2.15 2.15M12.8 11.85l-1.6 5.1"})]})}function Yvt({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("rect",{x:"2.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),l.jsx("path",{d:"M5.25 8.5h1.5M5.25 11.5h1.5"}),l.jsx("rect",{x:"14.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),l.jsx("path",{d:"M17.25 15.5h1.5M17.25 12.5h1.5M8.75 12h6.5m-2.5-2.5 2.5 2.5-2.5 2.5"})]})}function Gvt(){return l.jsxs("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":!0,children:[l.jsx("rect",{x:"3",y:"4",width:"14",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none"}),l.jsx("rect",{x:"6",y:"10.4",width:"13",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.7"}),l.jsx("rect",{x:"9",y:"16.8",width:"9",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.45"})]})}function pL(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 Wvt(e){if(!e)return"";const t=[];return e.ts&&t.push(pL(e.ts)),e.tokens!=null&&t.push(`${e.tokens.toLocaleString()} tokens`),t.join(" · ")}function Sf(e){return e.blocks.map(t=>t.kind==="text"?t.text:"").join("").trim()}function zD(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].role==="user")return Sf(e[n]);return""}const Zvt="send_a2ui_json_to_client";function Kvt(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==="delivery"?!0:t.kind==="tool"?!(t.name===Zvt&&t.done):t.kind==="agent-transfer"?!1:t.kind==="a2ui"?fue(t.messages).some(n=>n.components[n.rootId]):t.kind==="auth")}function VD(e){return e.blocks.some(t=>t.kind==="auth"&&!t.done)}function Jvt(e){return new Promise((t,n)=>{let i="";try{i=new URL(e,window.location.href).protocol}catch{}if(i!=="http:"&&i!=="https:"){n(new Error("授权链接不是 http/https 地址,已阻止打开。"));return}const r=window.open(e,"veadk_oauth","width=520,height=720");if(!r){n(new Error("弹窗被拦截,请允许弹窗后重试。"));return}let s=!1;const a=()=>{clearInterval(u),window.removeEventListener("message",c)},o=d=>{if(!s){s=!0,a();try{r.close()}catch{}t(d)}},c=d=>{if(d.origin!==window.location.origin)return;const f=d.data;f&&f.veadkOAuth&&typeof f.url=="string"&&o(f.url)};window.addEventListener("message",c);const u=setInterval(()=>{if(!s){if(r.closed){a();const d=window.prompt("授权完成后,请粘贴回调页面(浏览器地址栏)的完整 URL:");d&&d.trim()?(s=!0,t(d.trim())):n(new Error("授权已取消。"));return}try{const d=r.location.href;d&&d!=="about:blank"&&new URL(d).origin===window.location.origin&&/[?&](code|state|error)=/.test(d)&&o(d)}catch{}}},500)})}function ewt(e,t){const n=JSON.parse(JSON.stringify(e??{})),i=n.exchangedAuthCredential??n.exchanged_auth_credential??{},r=i.oauth2??{};return r.authResponseUri=t,r.auth_response_uri=t,i.oauth2=r,n.exchangedAuthCredential=i,n}function xW({text:e}){const[t,n]=m.useState(!1);return l.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?l.jsx(yu,{className:"icon"}):l.jsx(OA,{className:"icon"})})}function twt({onClick:e}){return l.jsx("button",{type:"button",className:"icon-btn","aria-label":"分享为图片",title:"分享为图片",onClick:e,children:l.jsx(Cke,{className:"icon","aria-hidden":"true"})})}const vW=["今天想做点什么?","有什么可以帮你的?","需要我帮你查点什么吗?","有问题尽管问我","嗨,我们开始吧","开始一段新对话吧","今天想先解决哪件事?","把你的想法告诉我吧","我们从哪里开始?","有什么任务交给我?","准备好一起推进了吗?","说说你现在最关心的问题","今天也一起把事情做好","我在,随时可以开始"],wW=()=>vW[Math.floor(Math.random()*vW.length)];function qD(e){var t;for(const n of e)(t=n.previewUrl)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(n.previewUrl)}function SW(){return`draft-${Date.now()}-${Math.random().toString(36).slice(2)}`}function EW(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 nwt={"read-only":"只读","workspace-write":"工作区写入","danger-full-access":"完全访问"},iwt={untrusted:"仅不可信命令","on-request":"按需审批",never:"不审批"},rwt={user:"由我审批",auto_review:"自动审查"};function swt(e,t){const n=e.kind==="file"?"文件修改":"命令执行";return t==="accept"?`已允许本次${n}`:t==="acceptForSession"?`已在本会话中允许${n}`:t==="decline"?`已拒绝${n}`:`已取消${n}审批`}function awt(e){var n,i,r;const t=[];return(n=e.command)!=null&&n.trim()&&t.push({label:"命令",value:e.command.trim(),code:!0}),(i=e.grantRoot)!=null&&i.trim()&&t.push({label:"授权路径",value:e.grantRoot.trim(),code:!0}),(r=e.cwd)!=null&&r.trim()&&t.push({label:"执行目录",value:e.cwd.trim(),code:!0}),t}function kW(e){return e.flatMap(t=>t.apps.map(n=>fc(t.id,n)))}function owt(e,t){var n;return((n=e.find(i=>i.runtimeId&&i.apps.some(r=>fc(i.id,r)===t)))==null?void 0:n.runtimeId)??""}function TW(e,t){for(const n of e){const i=n.apps.find(r=>fc(n.id,r)===t);if(i&&n.runtimeId)return{runtimeId:n.runtimeId,region:n.region??"cn-beijing",appName:i}}return null}function _W(e){return e.taskMode==="text_to_video"?[]:(e.taskMode==="first_last_frame"?[e.firstFrame?{file:e.firstFrame,kind:"first_frame"}:null,e.lastFrame?{file:e.lastFrame,kind:"last_frame"}:null]:[e.referenceImage?{file:e.referenceImage,kind:"reference_image"}:null,e.referenceVideo?{file:e.referenceVideo,kind:"reference_video"}:null]).filter(n=>n!==null)}function lwt(e,t){return`video-${e.replace(/[^A-Za-z0-9_-]/g,"").slice(0,36)||"result"}.${t}`}function my(e,t){return`${e}${t}`}function cwt(e,t){const n={kind:"delivery",value:t};let i=-1,r=-1;for(let s=e.length-1;s>=0;s-=1){const a=e[s];if(r<0&&a.role==="assistant"&&(r=s),a.blocks.some(o=>o.kind==="delivery"&&o.value.sessionId===t.sessionId)){i=s;break}}return i>=0?e.map((s,a)=>a!==i?s:{...s,blocks:[...s.blocks.filter(o=>o.kind!=="delivery"),n]}):r>=0?e.map((s,a)=>a!==r?s:{...s,blocks:[...s.blocks,n]}):[...e,{role:"assistant",blocks:[n],meta:{localId:crypto.randomUUID(),ts:Date.now()/1e3}}]}function uwt(){var FB;const[e,t]=m.useState([]),[n,i]=m.useState(""),[r,s]=m.useState([]),[a,o]=m.useState(""),c=m.useRef(null),u=m.useRef(0),d=m.useRef(0),f=m.useRef(null),[h,p]=m.useState(!1),[b,g]=m.useState([]),[O,y]=m.useState(null),[v,x]=m.useState([]),[w,E]=m.useState(!1),[S,k]=m.useState(""),[T,C]=m.useState(""),[A,R]=m.useState([]),[P,B]=m.useState(!1),[I,$]=m.useState(!1),[j,D]=m.useState(""),[F,Q]=m.useState(!1),[M,G]=m.useState(!1),[H,U]=m.useState(null),[q,ie]=m.useState(null),[fe,me]=m.useState(!1),[ce,K]=m.useState(""),[ee,ye]=m.useState(null),[ve,Re]=m.useState(!1),[Pe,De]=m.useState(""),[he,Ee]=m.useState(!1),[Oe,Le]=m.useState("idle"),[Fe,_e]=m.useState(!1),[Ye,dt]=m.useState("confirm"),[It,Ge]=m.useState(""),[Z,ne]=m.useState("codex"),[ue,be]=m.useState(!1),[V,je]=m.useState(!1),[He,et]=m.useState(0),[qt,Ft]=m.useState("general"),[At,xt]=m.useState(null),[xe,Ue]=m.useState(null),[Qe,Ot]=m.useState(null),Et=m.useRef(null),Rt=m.useRef(null),Ce=m.useRef(null),We=m.useRef(null),mt=m.useRef(null),[tn,st]=m.useState(!1),[gn,ti]=m.useState(!1),[Pt,wt]=m.useState(null),Ae=m.useRef(null),it=m.useRef((O==null?void 0:O.id)??""),Nt=m.useRef(""),Yt=m.useRef(0),Jt=m.useRef(void 0),Sn=m.useRef(new Set);it.current=(O==null?void 0:O.id)??"",m.useEffect(()=>()=>{Jt.current!==void 0&&window.clearTimeout(Jt.current);for(const N of Sn.current)URL.revokeObjectURL(N);Sn.current.clear()},[]);function Ie(N){const L=URL.createObjectURL(N);return Sn.current.add(L),L}function ft(N){!N||!Sn.current.delete(N)||URL.revokeObjectURL(N)}function kt(){for(const N of Sn.current)URL.revokeObjectURL(N);Sn.current.clear()}const Xt=m.useCallback(()=>{Jt.current!==void 0&&(window.clearTimeout(Jt.current),Jt.current=void 0),Le("idle")},[]);m.useEffect(()=>{Xt()},[Xt,O==null?void 0:O.id]);const[fn,Cn]=m.useState({}),[mi,gi]=m.useState({}),xi=a?fn[a]??[]:b,ae=O?A:xi,Be=a?mi[my(n,a)]??VE:VE,lt=(N,L)=>Cn(X=>({...X,[N]:typeof L=="function"?L(X[N]??[]):L})),Tt=(N,L,X)=>{const te=my(N,L);gi(de=>{const pe=de[te]??VE,Se=Ene(pe,X);return Se===pe?de:{...de,[te]:Se}})};function ln(N,L,X=[],te=""){if(it.current!==N)return;const de=crypto.randomUUID(),pe={role:"system",blocks:[],activity:{id:de,title:L,...X.length>0?{details:X}:{}},meta:{localId:de,ts:Date.now()/1e3}};R(Se=>{if(!te)return[...Se,pe];const qe=Se.findIndex(nt=>{var Mt;return((Mt=nt.meta)==null?void 0:Mt.localId)===te});return qe<0?[...Se,pe]:[...Se.slice(0,qe),pe,...Se.slice(qe)]})}const[Zn,Nn]=m.useState(""),[bi,$n]=m.useState("agent"),[ri,Li]=m.useState("agent"),[Vi,qi]=m.useState("create"),[hn,Oi]=m.useState(null),[vi,ci]=m.useState(null),[yi,ds]=m.useState(null),[Bs,si]=m.useState(!0),[ws,Fs]=m.useState(""),[Kr,ni]=m.useState(null),[Us,el]=m.useState(null),Cr=m.useCallback(N=>{el(N);const L=new URL(window.location.href);if(N)L.searchParams.set("view","runtime-deploy"),L.searchParams.set("source","intelligent-development"),L.searchParams.set("sessionId",N.sessionId),L.searchParams.set("artifactSha256",N.artifactSha256),L.searchParams.set("validationReportSha256",N.validationReportSha256);else for(const X of["view","source","sessionId","artifactSha256","validationReportSha256"])L.searchParams.delete(X);window.history.replaceState(null,"",L)},[]),Ss=m.useCallback(N=>ZG(N.sessionId,N.artifactSha256,N.validationReportSha256),[]),xa=m.useCallback(async N=>{const L=Ege({agentId:N.agentName,deployAction:"create",deploySource:"intelligent_development",createMode:"intelligent",aiAssisted:1});try{const{blob:X,filename:te}=await Xyt(N),de=URL.createObjectURL(X),pe=document.createElement("a");pe.href=de,pe.download=te,pe.hidden=!0;try{document.body.appendChild(pe),pe.click()}finally{pe.remove(),window.setTimeout(()=>URL.revokeObjectURL(de),1e3)}L.succeed({fileCount:N.fileCount,zipSizeBytes:X.size})}catch(X){throw L.fail({fileCount:N.fileCount,...Ta(X)}),X}},[]),[Ml,Qa]=m.useState(null),[_c,ai]=m.useState(!1),Jr=m.useRef(null),Ba=m.useRef(null),[Xi,Br]=m.useState({}),Es=m.useRef(new Map),yr=Xi.ready===!0&&Xi.agentId===n,[xr,cr]=m.useState([]),[ks,vr]=m.useState(al),[Hn,Oo]=m.useState(null),[va,yo]=m.useState(0),[Ts,le]=m.useState(!1),[nn,yn]=m.useState(null),[Fa,xn]=m.useState(!1),[Qn,zs]=m.useState([]),[Ll,Hi]=m.useState(!1),Ua=m.useRef(new Set),[tl,er]=m.useState(()=>new Set),[za,wa]=m.useState(()=>new Set),[Au,sa]=m.useState(()=>new Set),fs=m.useRef(new Map),hs=m.useRef(new Map),ur=m.useRef(void 0),wr=m.useRef(()=>{}),xo=(N,L)=>er(X=>{const te=new Set(X);return L?te.add(N):te.delete(N),te}),z=N=>{const L=hs.current.get(N);L!==void 0&&window.clearTimeout(L),hs.current.delete(N),wa(X=>new Set(X).add(N))},se=N=>{const L=hs.current.get(N);L!==void 0&&window.clearTimeout(L),hs.current.delete(N),wa(X=>{if(!X.has(N))return X;const te=new Set(X);return te.delete(N),te})},Te=N=>{const L=hs.current.get(N);L!==void 0&&window.clearTimeout(L);const X=window.setTimeout(()=>{se(N)},2400);hs.current.set(N,X)},Ze=(N,L)=>{sa(X=>{if(X.has(N)===L)return X;const te=new Set(X);return te.delete(N),te})},Je=m.useRef(""),[bt,we]=m.useState("");function tt(N,L,X){const te=Jr.current;if(!te||te.localId!==N||te.runId!==L)return null;const de=cG(te,X);return Jr.current=de,Qa(de),de}async function $t(N,L,X){var pe;(pe=Ba.current)==null||pe.abort();const te=new AbortController;Ba.current=te;let de=X;try{let Se=Jr.current;if(!Se||Se.localId!==N||Se.runId!==L)return;if(de==="optimization"&&Se.assetIds.length===0){const nt=_W(Se.config);if(nt.length>0){const Mt=await Promise.all(nt.map(gt=>zmt(gt.file,gt.kind,te.signal)));if(te.signal.aborted||(Se=tt(N,L,{type:"assets_uploaded",assetIds:Mt.map(gt=>gt.assetId)}),!Se))return}}if(de==="optimization"){const nt=await Vmt({prompt:Se.requestedPrompt,taskMode:Se.requestedMode,assetIds:Se.assetIds,ratio:Se.config.aspectRatio,resolution:Se.config.resolution,durationSeconds:Se.config.durationSeconds},te.signal);if(te.signal.aborted||(Se=tt(N,L,{type:"optimization_succeeded",optimizedPrompt:nt.enhancedPrompt,resolvedMode:nt.resolvedTaskMode,enhancerModel:nt.enhancerModel}),!Se))return;de="generation"}if(!Se.optimizedPrompt||!Se.resolvedMode)throw new Error("提示词优化结果不完整,请重新优化后再试。");const qe=await qmt({enhancedPrompt:Se.optimizedPrompt,resolvedTaskMode:Se.resolvedMode,assetIds:Se.assetIds,ratio:Se.config.aspectRatio,resolution:Se.config.resolution,durationSeconds:Se.config.durationSeconds},te.signal);if(te.signal.aborted||(Se=tt(N,L,{type:"generation_started",remoteTaskId:qe.taskId,generationModel:qe.generationModel,startedAt:Date.now()}),!Se))return;for(;!te.signal.aborted;){const nt=await Xmt(qe.taskId,te.signal);if(te.signal.aborted)return;if((nt.status==="queued"||nt.status==="running")&&tt(N,L,{type:"generation_status_changed",providerStatus:nt.status}),nt.status==="failed")throw new Error(nt.error||"视频生成失败,请稍后重试。");if(nt.status==="succeeded"){if(!nt.videoUrl)throw new Error("视频任务已完成,但服务端未返回预览地址。");tt(N,L,{type:"generation_succeeded",output:{previewUrl:Ymt(nt.videoUrl),fileName:lwt(qe.taskId,nt.outputFormat),mimeType:nt.outputFormat==="mov"?"video/quicktime":"video/mp4"}});return}await new Promise(Mt=>window.setTimeout(Mt,1800))}}catch(Se){if(te.signal.aborted)return;tt(N,L,{type:"failed",stage:de,error:Se instanceof Error?Se.message:String(Se)})}}function Vt(N,L,X){if(Nge(Jr.current)){ai(!0);return}if(L.taskMode==="video_editing"&&!L.referenceVideo){we("视频编辑需要先添加待编辑视频。");return}if(L.taskMode==="video_extension"&&!L.referenceVideo){we("视频续写需要先添加基础视频。");return}if(L.taskMode==="reference_to_video"&&!L.referenceImage&&!L.referenceVideo){we("参考素材生视频需要至少添加一项参考图片或参考视频。");return}if(L.taskMode==="text_to_video"&&(L.referenceImage||L.referenceVideo||L.firstFrame||L.lastFrame)){we("文生视频不使用参考素材,请先移除已添加的图片或视频。");return}if(L.taskMode==="first_last_frame"&&!L.firstFrame){we("首尾帧生成需要先添加首帧图片。");return}if(X.supportedModes.length>0&&L.taskMode!=="auto"&&!X.supportedModes.includes(L.taskMode)){we("当前平台暂不支持所选视频任务模式。");return}const te=_W(L);if(te.length>0&&!X.assetStorageAvailable){we(X.assetStorageUnavailableReason||"管理员未配置持久化存储");return}const de=te.find(({file:Se})=>X.maxAssetBytes>0&&Se.size>X.maxAssetBytes);if(de){we(`${de.file.name} 超出当前平台允许的素材大小。`);return}const pe=Cgt({prompt:N,config:L,enhancerModel:X.enhancerModel,generationModel:X.generationModel});Jr.current=pe,Qa(pe),ai(!0),Nn(""),we(""),$t(pe.localId,pe.runId,"optimization")}function Ai(){const N=Jr.current;if(!N||N.status!=="error"||!N.errorStage)return;const L=N.errorStage,X=cG(N,{type:"retry",stage:L});Jr.current=X,Qa(X),ai(!0),$t(X.localId,X.runId,L)}async function Sr(){const N=Jr.current;if(!(!(N!=null&&N.remoteTaskId)||!N.output))try{const L=await Hmt(N.remoteTaskId),X=URL.createObjectURL(L),te=document.createElement("a");te.href=X,te.download=N.output.fileName,te.click(),window.setTimeout(()=>URL.revokeObjectURL(X),1e3)}catch(L){we(L instanceof Error?L.message:String(L))}}m.useEffect(()=>()=>{var N;(N=Ba.current)==null||N.abort()},[]);const[Sa,Gt]=m.useState(""),[aa,En]=m.useState(()=>new Set),[kn,$l]=m.useState(null),[Cu,Kd]=m.useState(null),[Jd,OO]=m.useState(null),[Ac,Nu]=m.useState(null);m.useEffect(()=>{OO(null)},[n,a]);const[ow,ju]=m.useState(!1),[$m,ef]=m.useState(),[yO,lw]=m.useState(wW),[Er,Qm]=m.useState(null),[gC,cw]=m.useState(!1),[bC,uw]=m.useState(!1),[dw,Fh]=m.useState(""),Uh=m.useRef(!1),[fw,xO]=m.useState(null),[ct,Bm]=m.useState(""),[vO,Fm]=m.useState(),[$i,tf]=m.useState(null),hw=($i==null?void 0:$i.capabilities.runtimeScope)??"mine",[wO,OC]=m.useState({newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0}),[Ru,yC]=m.useState("cloud"),[nf,pw]=m.useState(n1),[wn,mw]=m.useState("volcengine"),[gw,bw]=m.useState(""),[Ow,yw]=m.useState(""),[Y,ge]=m.useState(!1),[Ne,Ve]=m.useState(!1),[St,zt]=m.useState(!1),[tr,Du]=m.useState({}),[wi,Ql]=m.useState({}),[Z0e,Um]=m.useState({}),sB=tl.has(a),zm=za.has(a),xw=sB||h,K0e=!!a&&Fa,Cc=O?P:xw,J0e=Cc||!O&&zm,rf=(O==null?void 0:O.intelligentDevelopment)===!0?$c:Ei,jn=zxt({client:rf,allowSkillSelection:(O==null?void 0:O.intelligentDevelopment)!==!0,allowThreadManagement:(O==null?void 0:O.intelligentDevelopment)!==!0,session:O,conversationBusy:P,onInputChange:Nn,onSessionPatch:N=>{const L=it.current;y(X=>(X==null?void 0:X.id)===L?{...X,...N}:X)},onSnapshot:N=>{const L=it.current;kt(),R(uL(N)),y(X=>(X==null?void 0:X.id)===L?{...X,threadId:N.threadId,cwd:N.cwd??X.cwd,model:N.model??X.model,workspaceLocked:N.workspaceLocked,permissions:N.permissions,busy:!1}:X)},onActivity:(N,L=[])=>{const X=it.current;X&&ln(X,N,L)},onError:we});m.useEffect(()=>{const N=O;if(!N||!P||We.current)return;let L=!1,X;const te=new AbortController,de=async()=>{try{const pe=await Ei.getStatus(N.id,{signal:te.signal});if(L||it.current!==N.id)return;const Se=pe.threadId?await Ei.readThread(N.id,pe.threadId,{signal:te.signal}):null;if(L||it.current!==N.id)return;if(Se&&R(gW(Se,pe.busy)),y(qe=>(qe==null?void 0:qe.id)===N.id?{...qe,...pe,...Se?{threadId:Se.threadId,cwd:Se.cwd??pe.cwd,model:Se.model??pe.model,workspaceLocked:Se.workspaceLocked,permissions:Se.permissions}:{}}:qe),B(pe.busy),!pe.busy){const qe=Se==null?void 0:Se.messages[Se.messages.length-1];(qe==null?void 0:qe.role)==="user"&&we("云端 Codex 已结束,但没有生成回复,请重新发送任务。");return}}catch(pe){if((pe==null?void 0:pe.name)==="AbortError"||L)return;B(!1),y(Se=>(Se==null?void 0:Se.id)===N.id?{...Se,busy:!1}:Se),we(pe instanceof Error?pe.message:String(pe));return}X=window.setTimeout(de,1500)};return X=window.setTimeout(de,1500),()=>{L=!0,te.abort(),X!==void 0&&window.clearTimeout(X)}},[P,O==null?void 0:O.id]);const ebe=tr[a]??"",tbe=wi[a]??zvt,nbe=Z0e[a]??Vvt,Nr=Hn==null?void 0:Hn.graph,aB=[Hn==null?void 0:Hn.name,Nr==null?void 0:Nr.name,Nr==null?void 0:Nr.id].filter(N=>!!N),xC=ks.targetAgent&&Nr?hL(Nr,ks.targetAgent.name):Nr,ibe=(xC==null?void 0:xC.skills)??(ks.targetAgent?[]:(Hn==null?void 0:Hn.skills)??[]),rbe=Nr?W0e(Nr):[],oB=(Nr==null?void 0:Nr.instruction)??((FB=Hn==null?void 0:Hn.draft)==null?void 0:FB.instruction),sbe=Hn&&oB!==void 0?S_e({instruction:oB,tools:[...new Set([...(Nr==null?void 0:Nr.tools)??Hn.tools,...(nn==null?void 0:nn.tools.map(N=>N.name))??[],...Qn])],skills:(Nr==null?void 0:Nr.skills)??Hn.skills}):null;function vw(N){qD(N);for(const L of N)L.status==="uploading"?Ua.current.add(L.id):L.uri&&zE(n,L.uri).catch(X=>we(String(X)))}async function lB(N){try{await dP(n,ct,N),await uP(n,ct,N),s(L=>L.filter(X=>X.id!==N)),Cn(L=>{const{[N]:X,...te}=L;return te})}catch(L){we(String(L))}}function abe(N){const L=xr.find(de=>de.id===N);if(!L)return;const X=xr.filter(de=>de.id!==N);qD([L]),L.status==="uploading"&&Ua.current.add(N),cr(X),X.length===0&&!Zn.trim()&&!!a&&ae.length===0?(Je.current="",o(""),lB(a)):L.uri&&zE(n,L.uri).catch(de=>we(String(de)))}const cB=(N,L)=>{var pe,Se,qe,nt,Mt;const X=L.author&&L.author!=="user"?L.author:void 0;X&&(Du(gt=>({...gt,[N]:X})),Ql(gt=>({...gt,[N]:new Set(gt[N]??[]).add(X)})),Um(gt=>{var ut;return(ut=gt[N])!=null&&ut.length?gt:{...gt,[N]:[X]}}));const te=((pe=L.actions)==null?void 0:pe.transferToAgent)??((Se=L.actions)==null?void 0:Se.transfer_to_agent);te&&Um(gt=>{const ut=gt[N]??[];return ut[ut.length-1]===te?gt:{...gt,[N]:[...ut,te]}}),(((qe=L.actions)==null?void 0:qe.endOfAgent)??((nt=L.actions)==null?void 0:nt.end_of_agent)??((Mt=L.actions)==null?void 0:Mt.escalate))&&Um(gt=>{const ut=gt[N]??[];return ut.length<=1?gt:{...gt,[N]:ut.slice(0,-1)}})},[vo,Tn]=m.useState(bW),[uB,dB]=m.useState([]),[obe,vC]=m.useState({}),Vm=m.useCallback(N=>{dB(L=>{const X=L.findIndex(de=>de.id===N.id);if(X===-1)return[N,...L];const te=[...L];return te[X]={...te[X],...N},te})},[]),[lbe,cbe]=m.useState(!0),[qm,ps]=m.useState(!1),[ube,wC]=m.useState("skills"),[dbe,SC]=m.useState("技能库"),[fbe,ww]=m.useState(null),[Sw,Fr]=m.useState(!1),[Xm,oi]=m.useState(!1),[hbe,oa]=m.useState(null),[pbe,Ew]=m.useState("custom"),[fB,EC]=m.useState([]),sf=m.useRef([]),af=m.useRef(null),Hm=m.useRef(null),[hB,kw]=m.useState([]),[ms,nl]=m.useState(""),wo=m.useRef(null),[SO,gs]=m.useState(!1),[of,Yi]=m.useState(!1),[pB,kC]=m.useState(""),[mbe,gbe]=m.useState("good"),[bbe,Tw]=m.useState("basic"),[Obe,ybe]=m.useState("good"),[EO,_w]=m.useState(""),[xbe,vbe]=m.useState(null),[Bl,Gi]=m.useState(!1),[mB,il]=m.useState([]),Ym=mB[mB.length-1],kO=Ym==null?void 0:Ym.page,TC=kO==="system-info",_C=m.useCallback(N=>{il(L=>{var X;return((X=L[L.length-1])==null?void 0:X.page)===N.page?L:[...L,N]})},[]),zh=m.useCallback(N=>{il(L=>{var te;if(((te=L[L.length-1])==null?void 0:te.page)===N)return L.slice(0,-1);const X=L.findIndex(de=>de.page===N);return X===-1?L:L.filter((de,pe)=>pe!==X)})},[]),[Fl,So]=m.useState(null),AC=m.useRef(null),[Ul,TO]=m.useState(()=>{const N=nc();return mO(N),N}),[wbe,gB]=m.useState(!1),[Sbe,bB]=m.useState(""),[OB,Aw]=m.useState(null),[Ebe,yB]=m.useState({}),[kbe,xB]=m.useState(()=>new Set),[Nc,zl]=m.useState(null),[Gm,Cw]=m.useState(Ri(wn)),[vB,Vs]=m.useState(""),[wB,qs]=m.useState(""),[ii,Va]=m.useState(null),jc=m.useCallback(()=>{zh("agent-detail"),Va(null),Gi(!1),Yi(!1)},[zh]),[Tbe,CC]=m.useState(!1),Nw=m.useRef(!1),Wm=m.useRef(!1),Rc=m.useCallback(N=>{if(!ct)return!1;try{VG(localStorage,ct,N)}catch(L){return Gt(L instanceof Error?L.message:"浏览器拒绝保存草稿,请稍后重试。"),!1}return sf.current=N,EC(N),Gt(""),!0},[ct]),Dc=m.useCallback(N=>{var L;N&&((L=af.current)==null?void 0:L.id)!==N||(af.current=null,Hm.current!==null&&(window.clearTimeout(Hm.current),Hm.current=null))},[]),lf=m.useCallback(()=>{const N=af.current;if(!N)return!0;const L=Rc([N,...sf.current.filter(X=>X.id!==N.id)]);return L&&Dc(),L},[Dc,Rc]),_be=m.useCallback((N,L,X)=>{!N||!ct||(af.current&&af.current.id!==N&&lf(),af.current={id:N,draft:L,updatedAt:Date.now(),deploymentTarget:X},Hm.current!==null&&window.clearTimeout(Hm.current),Hm.current=window.setTimeout(lf,Bvt))},[lf,ct]),NC=m.useCallback(N=>{!N||!ct||(Dc(N),Rc(sf.current.filter(L=>L.id!==N)))},[Dc,Rc,ct]),SB=m.useCallback(N=>{if(!ct||N.length===0)return;const L=new Set(N.map(X=>X.id));af.current&&L.has(af.current.id)&&Dc(),Rc(sf.current.filter(X=>!L.has(X.id))),vC(X=>Object.fromEntries(Object.entries(X).filter(([te])=>!L.has(te)))),L.has(ms)&&(nl(""),oa(null),zl(null),wo.current=null,localStorage.removeItem(UD(ct)))},[Dc,Rc,ms,ct]),EB=m.useCallback(N=>{if(!N||!ct)return;Dc(N);const L=wo.current,X=sf.current.filter(te=>te.id!==N);Rc((L==null?void 0:L.id)===N?[L,...X]:X)},[Dc,Rc,ct]);m.useEffect(()=>(window.addEventListener("pagehide",lf),()=>{window.removeEventListener("pagehide",lf)}),[lf]),m.useEffect(()=>{if(!ct){Dc(),sf.current=[],EC([]),kw([]),nl(""),Gt(""),wo.current=null;return}let N=[],L="";try{N=Syt(localStorage,ct),localStorage.getItem(fC(ct))!==null&&VG(localStorage,ct,N),L=localStorage.getItem(UD(ct))||"",Gt("")}catch(te){Gt(te instanceof Error?te.message:"无法读取本机草稿,请稍后重试。")}sf.current=N,EC(N),kw(Xvt(ct));const X=N.find(te=>te.id===L);wo.current=X??null,vo==="custom"&&X&&(nl(X.id),oa(X.draft),zl(X.deploymentTarget??null))},[Dc,ct]),m.useEffect(()=>{if(!ct)return;const N=UD(ct);try{vo==="custom"&&ms?localStorage.setItem(N,ms):localStorage.removeItem(N)}catch{Gt("浏览器拒绝保存当前草稿位置,请检查站点存储权限后重试。")}},[vo,ms,ct]);const Abe=m.useCallback(N=>{if(!ct)return;const L=[...new Set(N.filter(Boolean))];kw(L),localStorage.setItem(fL(ct),JSON.stringify(L))},[ct]),Cbe=m.useCallback(async N=>{const L=N.filter(nt=>!!nt.runtimeId&&nt.canDelete===!0);if(L.length===0)return;const X=owt(Ul,n),te=new Set(L.map(nt=>nt.runtimeId));xB(nt=>{const Mt=new Set(nt);for(const gt of te)Mt.add(gt);return Mt}),pE(te);const de=new Set,pe=new Set,Se=new Set,qe=[];for(const nt of L)try{if(!nt.region)throw new Error("Runtime 缺少地域信息,无法删除");await mne(nt.runtimeId,nt.region),P_(nt.runtimeId),de.add(nt.runtimeId),pe.add(nt.id)}catch(Mt){const gt=Mt instanceof Error?Mt.message:String(Mt);Se.add(nt.runtimeId),qe.push(`${nt.label}: ${gt}`)}if(de.size>0&&(pE(de),TO(nc()),Aw(Mt=>{if(!Mt)return Mt;const gt=new Set(Mt);for(const ut of de)gt.delete(ut);return gt}),yB(Mt=>Object.fromEntries(Object.entries(Mt).filter(([gt])=>!de.has(gt)))),kw(Mt=>{const gt=Mt.filter(ut=>!pe.has(ut));return ct&&localStorage.setItem(fL(ct),JSON.stringify(gt)),gt}),Rc(sf.current.filter(Mt=>{var gt;return!((gt=Mt.deploymentTarget)!=null&>.runtimeId)||!de.has(Mt.deploymentTarget.runtimeId)})),(X?de.has(X):L.some(Mt=>Mt.id===n))&&(iOe(),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),Vs(""),qs(""),Gi(!0),we("")),ii!=null&&ii.runtime&&de.has(ii.runtime.runtimeId)&&(Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),jc(),Vs(""),qs(""),Gi(!0),we(""))),Se.size>0&&xB(nt=>{const Mt=new Set(nt);for(const gt of Se)Mt.delete(gt);return Mt}),qe.length>0){const nt=qe.slice(0,3).join(";"),Mt=qe.length>3?`;另有 ${qe.length-3} 个失败`:"";throw new Error(`${qe.length} 个 Agent 删除失败:${nt}${Mt}`)}},[ii,n,Rc,Ul,jc,ct]),jC=m.useCallback(async()=>{gB(!0),bB("");try{const N=[];let L="";do{const X=await _A({scope:hw,region:"all",pageSize:100,nextToken:L});N.push(...X.runtimes),L=X.nextToken}while(L&&N.length<2e3);Aw(new Set(N.map(X=>X.runtimeId))),yB(Object.fromEntries(N.map(X=>[X.runtimeId,{canDelete:X.canDelete}])))}catch(N){bB(N instanceof Error?N.message:String(N))}finally{gB(!1)}},[hw]);function Nbe(N){console.log("create agent draft:",N),Tn(null),df()}function RC(N,L){console.log("Agent added, navigating to:",N,L),TO(nc()),Aw(null),pE(),NC(ms),nl(""),wo.current=null,zl(null),Vs(""),qs(N),Tw("basic"),Tn(null),Yi(!0),i(N)}const DC=m.useCallback(N=>{Tn(null),oi(!1),jc(),Yi(!0),qs(""),Tw("basic"),Vs(N.id),we("")},[jc]),jw=m.useCallback(N=>{lf();const L=ms?{...N,draftId:ms}:N;ms&&vC(X=>({...X,[ms]:N.id})),Vm(L),DC(L)},[ms,lf,DC,Vm]),Rw=m.useCallback(async N=>{if(!N.runtimeId)throw new Error("部署完成,但未返回 Runtime ID。");const L=ms;L&&(NC(L),vC(pe=>{if(!pe[L])return pe;const Se={...pe};return delete Se[L],Se})),nl(""),wo.current=null,zl(null);const X=(Nc==null?void 0:Nc.region)??Gm,te=await kk(N.runtimeId,N.runtimeName,N.region??X,N.version,{waitForReady:!0,agentName:N.agentName});TO(nc()),yo(pe=>pe+1);const de=await FD(te);Es.current.set(te,de),Br(de),Aw(pe=>{const Se=new Set(pe??[]);return Se.add(N.runtimeId),Se}),pE(),qs(te),Tw("basic"),Vs(""),Tn(null),Yi(!0),i(te)},[ms,Gm,NC,Nc]),Zm=m.useRef(null),IC=m.useRef(new Map),jbe=m.useRef(0),kB=m.useRef(new Map),TB=Ul.some(N=>!!(N.runtimeId&&N.region)&&N.apps.some(L=>fc(N.id,L)===n));m.useLayoutEffect(()=>{const N=new Map;ae.forEach((L,X)=>{var Se;const te=((Se=L.meta)==null?void 0:Se.eventId)??"",de=!!(TB&&te&&Sf(L)),pe=X===ae.length-1&&(Cc||zm);N.set(X,{enabled:!!(de&&wn!=="byteplus"&&!pe&&!VD(L)),turn:L,input:de?zD(ae,X):""})}),kB.current=N},[Cc,wn,zm,TB,ae]);const _B=m.useCallback(()=>{var Se;const N=window.getSelection(),L=(N==null?void 0:N.anchorNode)instanceof Element?N.anchorNode:(Se=N==null?void 0:N.anchorNode)==null?void 0:Se.parentElement,X=L==null?void 0:L.closest(".turn--assistant");if(!X)return;const te=Number(X.dataset.responseAnnotationIndex);if(!Number.isInteger(te))return;const de=kB.current.get(te);if(!(de!=null&&de.enabled))return;const pe=vvt(X,N);pe&&OO({selectionId:++jbe.current,turn:de.turn,input:de.input,selectedText:pe.text,anchor:pe.anchor})},[]);m.useEffect(()=>{let N=null;const L=X=>{X.target instanceof Element&&X.target.closest(".response-annotation-popover")||(N!==null&&window.cancelAnimationFrame(N),N=window.requestAnimationFrame(()=>{N=null,_B()}))};return document.addEventListener("mouseup",L,!0),document.addEventListener("keyup",L,!0),()=>{N!==null&&window.cancelAnimationFrame(N),document.removeEventListener("mouseup",L,!0),document.removeEventListener("keyup",L,!0)}},[_B]);const cf=m.useRef(!0),uf=m.useRef(!1),Vh=m.useRef(null),AB=m.useRef({key:"",turnCount:0}),PC=(O==null?void 0:O.id)??a;m.useLayoutEffect(()=>{const N=Zm.current,L=AB.current,X=L.key!==PC,te=!X&&ae.length>L.turnCount;if(AB.current={key:PC,turnCount:ae.length},!N||ae.length===0||!X&&!te)return;cf.current=!0,uf.current=!1,Vh.current!==null&&(window.clearTimeout(Vh.current),Vh.current=null);const de=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(X||de){N.scrollTop=N.scrollHeight;return}uf.current=!0,N.scrollTo({top:N.scrollHeight,behavior:"smooth"}),Vh.current=window.setTimeout(()=>{uf.current=!1,Vh.current=null;const pe=Zm.current;pe&&cf.current&&(pe.scrollTop=pe.scrollHeight)},450)},[PC,ae.length]),m.useLayoutEffect(()=>{const N=Zm.current;!N||!cf.current||uf.current||(N.scrollTop=N.scrollHeight)},[Cc,ae]),m.useEffect(()=>{if(!EO||of||ae.length===0)return;const N=IC.current.get(EO);if(!N)return;cf.current=!1,N.scrollIntoView({behavior:"smooth",block:"center"});const L=window.setTimeout(()=>{_w("")},2600);return()=>window.clearTimeout(L)},[EO,of,ae]),m.useEffect(()=>()=>{Vh.current!==null&&window.clearTimeout(Vh.current)},[]);const Rbe=m.useCallback(()=>{const N=Zm.current;!N||uf.current||(cf.current=N.scrollHeight-N.scrollTop-N.clientHeight<32)},[]),Dbe=m.useCallback(N=>{N.deltaY<0&&(uf.current=!1,cf.current=!1)},[]),Ibe=m.useCallback(()=>{uf.current=!1,cf.current=!1},[]),Pbe=m.useCallback(()=>{const N=Zm.current;!N||!cf.current||uf.current||(N.scrollTop=N.scrollHeight)},[]),MC=m.useCallback(()=>{xO(null),aP().then(N=>{Bm(N.userId),Fm(N.info),Ve(!!N.local),Qm(N.status),N.status==="authenticated"&&(Nw.current=!0,Wm.current=!0,localStorage.removeItem(Gl.app),i(""),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Gi(!1))}).catch(N=>{xO(N instanceof Error?N.message:String(N))})},[]);m.useEffect(()=>{MC()},[MC]),m.useEffect(()=>{const N=()=>{Fh(""),cw(!0)};return window.addEventListener(oP,N),TTe()&&N(),()=>window.removeEventListener(oP,N)},[]);const Mbe=m.useCallback(async()=>{if(Uh.current)return;Uh.current=!0;const N=OTe();if(!N){Uh.current=!1,Fh("登录窗口被浏览器拦截,请允许弹出窗口后重试。");return}uw(!0),Fh("");try{for(;;){await new Promise(L=>window.setTimeout(L,1e3));try{const L=await aP();if(L.status==="authenticated"){Bm(L.userId),Fm(L.info),Ve(!!L.local),Qm(L.status),cw(!1),_Te(),N.close();return}}catch{}if(N.closed){Fh("登录窗口已关闭,请重新登录以继续当前操作。");return}}}finally{Uh.current=!1,uw(!1)}},[]);m.useEffect(()=>{Ne&&ct&&V7(ct)},[Ne,ct]),m.useEffect(()=>{if(Er!=="authenticated"||!ct){x([]),k(""),E(!1);return}const N=new AbortController;return E(!0),k(""),$c.listSessions({signal:N.signal}).then(L=>{if(N.signal.aborted)return;const X=Date.now();x(L.filter(te=>{if(te.resourceType!=="session")return!1;const de=Date.parse(te.expireAt);return te.intelligentDevelopment&&(!Number.isFinite(de)||de>X)&&te.status.toLowerCase()==="ready"}))}).catch(L=>{N.signal.aborted||k(L instanceof Error?L.message:String(L))}).finally(()=>{N.signal.aborted||E(!1)}),()=>N.abort()},[Er,ct]),m.useEffect(()=>{if(Er!=="authenticated"||!ct||Us)return;const N=new URLSearchParams(window.location.search);if(N.get("view")!=="runtime-deploy"||N.get("source")!=="intelligent-development")return;const L=N.get("sessionId")??"",X=N.get("artifactSha256")??"",te=N.get("validationReportSha256")??"";if(!L||!X||!te)return;const de=new AbortController;return ZG(L,X,te,de.signal).then(pe=>{if(!de.signal.aborted){if(!pe.deployable){Fs("该源码尚未准备好,请返回对话继续处理。");return}el({...pe,validatedAt:pe.validatedAt||"",gateSummary:pe.gateSummary||[]})}}).catch(pe=>{de.signal.aborted||Fs(pe instanceof Error?pe.message:String(pe))}),()=>de.abort()},[Er,Us,ct]),m.useEffect(()=>{if(!Xm&&vo!=="intelligent")return;if(Er!=="authenticated"||!ct){ds(null),Fs(""),si(!0);return}const N=new AbortController;return si(!0),Fs(""),fetch(lo("/web/intelligent-development/capabilities"),{headers:Ph({Accept:"application/json"}),signal:N.signal}).then(async L=>{if(!L.ok)throw new Error(`智能开发能力检查失败(HTTP ${L.status})`);return L.json()}).then(L=>{N.signal.aborted||ds({enabled:L.enabled===!0,reason:typeof L.reason=="string"?L.reason:""})}).catch(L=>{N.signal.aborted||Fs(L instanceof Error?L.message:String(L))}).finally(()=>{N.signal.aborted||si(!1)}),()=>N.abort()},[Xm,Er,vo,ct]),m.useEffect(()=>{if(Er!=="authenticated"||!ct){Br({});return}const N=f.current;if((N==null?void 0:N.agentId)===n&&N.userId===ct)return;const L=Es.current.get(n);if(L){Br(L);return}let X=!1;return Br({}),FD(n).then(te=>{X||(Es.current.set(n,te),Br(te))}),()=>{X=!0}},[n,Er,ct]),m.useLayoutEffect(()=>{!yr||Xi.skillCustomizationEnabled!==!1||ri!=="skill"||(Li("agent"),Oi(null),ci(null))},[Xi.skillCustomizationEnabled,yr,ri]),m.useEffect(()=>{if(Er!=="authenticated"||!ct){tf(null);return}let N=!1;return tf(null),cne().then(L=>{N||tf(L)}).catch(L=>{console.warn("[app] /web/access failed; using ordinary-user access:",L),N||tf(lne)}),()=>{N=!0}},[Er,ct]),m.useEffect(()=>{one().then(N=>{const L="prod";smt({enabled:N.telemetry.enabled,environment:L});const X=N.telemetry.studio;amt({userPoolId:(X==null?void 0:X.userPoolId)??"",studioDeployId:(X==null?void 0:X.deployId)??"",applicationId:(X==null?void 0:X.applicationId)??"",functionId:(X==null?void 0:X.functionId)??"",studioRegion:(X==null?void 0:X.region)??"",studioProject:(X==null?void 0:X.project)??"",studioVersion:(X==null?void 0:X.version)||N.version,environment:L,cloudProvider:N.provider,accountId:(X==null?void 0:X.accountId)??""}),lmt({authState:"anonymous"}),OC(N.features),yC(N.agentsSource),mw(N.provider),yw((X==null?void 0:X.region)||Ri(N.provider)),pw(N.branding),bw(N.version),ge(!0)})},[]),m.useEffect(()=>{if(Er!=="authenticated"||!vO||!$i||!Y)return;const N=String($i.telemetry.userId).trim();N&&(omt({userUniqueId:N,accountId:$i.telemetry.accountId??"",userRole:$i.role==="admin"?"admin":"member",userSource:Ne?"local":"sso"}),cmt({agentsSource:Ru}))},[$i,Ru,Er,Ne,Y,vO]),m.useEffect(()=>{Cw(N=>{const L=Ri(wn);return!N||wn==="byteplus"&&N.startsWith("cn-")||wn==="volcengine"&&N.startsWith("ap-")?L:N})},[wn]),m.useEffect(()=>{$i&&($i.capabilities.createAgents||(Tn(null),oa(null),Fr(!1),oi(!1),dB([])),$i.capabilities.manageAgents||Yi(!1))},[$i]);let qa={kind:"home"};if(Er==="authenticated"){if(Ac!==null)qa={kind:"page",title:"问题反馈"};else if(TC)qa={kind:"page",title:"系统信息"};else if(Fl)qa={kind:"page",title:Fl==="catalog"?"自动化":vge(Fl).name};else if(xe)qa={kind:"page",title:xe.session.displayName||"智能体"};else if(At)qa={kind:"page",title:At.displayName||"智能体"};else if(Bl||of)qa={kind:"page",title:(ii==null?void 0:ii.name)||"智能体"};else if(Xm)qa={kind:"page",title:"创建智能体"};else if(SO)qa={kind:"page",title:"搜索"};else if(Sw)qa={kind:"page",title:"添加智能体"};else if(qm)qa={kind:"page",title:dbe||"库"};else if(vo)qa={kind:"page",title:vo==="custom"?Nc!=null&&Nc.name?`更新 ${Nc.name}`:"创建智能体":vo==="package"?"从代码包添加":"迁移智能体"};else if(O){const N=jn.threads.find(L=>L.id===O.threadId);qa={kind:"conversation",title:(N==null?void 0:N.name)||(N==null?void 0:N.preview)||O.displayName}}else if(a){const N=r.find(X=>X.id===a),L=AA(N==null?void 0:N.events);qa=L==="新会话"?{kind:"home"}:{kind:"conversation",title:L}}}const CB=Qmt(nf.title,qa);m.useEffect(()=>{Er!=="authenticated"||Ru!=="cloud"||!Y||!of||ii||jC()},[ii,Ru,Er,of,jC,Y]),m.useEffect(()=>{document.title=CB;let N=document.querySelector('link[rel~="icon"]');N||(N=document.createElement("link"),N.rel="icon",document.head.appendChild(N)),N.removeAttribute("type"),N.href=nf.logoUrl||(wn==="byteplus"?v$:x$)},[wn,nf.logoUrl,CB]),m.useEffect(()=>{fetch("/web/runtime-config",{signal:AbortSignal.timeout(1e4)}).then(N=>N.ok?N.json():null).then(N=>{N&&cbe(!!N.credentials)}).catch(N=>{console.warn("[app] /web/runtime-config probe failed; workbench stays hidden:",N)})},[]);function Lbe(N){V7(N),Nw.current=!0,Wm.current=!0,localStorage.removeItem(Gl.app),tf(null),Tn(null),oa(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),df(),i(""),Gi(!1),Bm(N),Fm({name:N}),Ve(!0),Qm("authenticated")}function $be(){tf(null),Ne?(gTe(),Bm(""),Fm(void 0),Qm("unauthenticated")):xTe()}m.useEffect(()=>{if(Er==="authenticated"){if(Ru==="cloud"){const N=kW(Ul);i(L=>L&&N.includes(L)?L:(L&&(Wm.current=!0,localStorage.removeItem(Gl.app)),""));return}jte().then(N=>{t(N);const L=kW(Ul);i(X=>X&&(N.includes(X)||L.includes(X))?X:(X&&(Wm.current=!0,localStorage.removeItem(Gl.app)),""))}).catch(N=>we(String(N)))}},[Er,Ru,Ul]),m.useEffect(()=>{n?(Wm.current=!1,localStorage.setItem(Gl.app,n)):localStorage.removeItem(Gl.app)},[n]),m.useEffect(()=>{let N=!1;if(yn(null),zs([]),Bl||ii||!n||!ct||!a){xn(!1);return}return xn(!0),hP(n,ct,a).then(L=>{N||(yn(L),h$(n).then(X=>{N||zs(X)}).catch(()=>{N||zs([])}))}).catch(()=>{N||yn(null)}).finally(()=>{N||xn(!1)}),()=>{N=!0}},[ii,n,Bl,ct,a]),m.useEffect(()=>{const N=f.current;if((N==null?void 0:N.agentId)===n&&N.userId===ct){le(!1);return}let L=!1;if(Oo(null),vr(al()),Er!=="authenticated"||Bl||ii||!n){le(!1);return}return le(!0),mP(n).then(X=>{L||Oo(X)}).catch(()=>{L||Oo(null)}).finally(()=>{L||le(!1)}),()=>{L=!0}},[ii,n,va,Er,Bl]),m.useEffect(()=>{$i&&localStorage.setItem(Gl.view,$i.capabilities.createAgents?vo??"chat":"chat")},[$i,vo]),m.useEffect(()=>{localStorage.setItem(Gl.session,a),Je.current=a},[a]),m.useEffect(()=>{const N=TW(Ul,n);if(!N||!ct){wr.current=()=>{},sa(pn=>pn.size===0?pn:new Set);return}const{runtimeId:L,region:X,appName:te}=N;let de=!1,pe=0;function Se(){ur.current!==void 0&&(window.clearTimeout(ur.current),ur.current=void 0)}function qe(pn){Se(),ur.current=window.setTimeout(()=>void Mt(),pn)}function nt(pn){const Bn=new Set(pn.items.filter(Yn=>Yn.state==="running").map(Yn=>Yn.sessionId));if(sa(Yn=>Yn.size===Bn.size&&[...Bn].every(Ci=>Yn.has(Ci))?Yn:Bn),Bn.size>0){qe(Fvt);return}const Dt=pn.items.filter(Yn=>Yn.state==="pending").map(Yn=>Date.parse(Yn.dueAt)).filter(Number.isFinite);Dt.length>0&&qe(Math.max(Uvt,Math.min(...Dt)-Date.now()))}async function Mt(){const pn=++pe;try{const Bn=await cP({runtimeId:L,region:X,appName:te,userId:ct});if(de||pn!==pe)return;nt(Bn)}catch{!de&&pn===pe&&qe(mW)}}const gt=()=>{Se(),Mt()};wr.current=gt;const ut=f.current;return(ut==null?void 0:ut.agentId)===n&&ut.userId===ct?ut.automaticEvaluationStatuses?nt(ut.automaticEvaluationStatuses):qe(mW):gt(),()=>{de=!0,pe+=1,Se(),wr.current===gt&&(wr.current=()=>{})}},[n,Ul,ct]),m.useEffect(()=>()=>{d.current+=1,f.current=null},[]),m.useEffect(()=>()=>fs.current.forEach(N=>N.abort()),[]),m.useEffect(()=>()=>hs.current.forEach(N=>{window.clearTimeout(N)}),[]),m.useEffect(()=>()=>{var N,L,X,te;(N=Et.current)==null||N.abort(),(L=Rt.current)==null||L.abort(),(X=Ce.current)==null||X.abort(),(te=We.current)==null||te.abort()},[]),m.useEffect(()=>{if(Bl||ii||O||!n||!ct)return;const N=f.current;if((N==null?void 0:N.agentId)===n&&N.userId===ct){f.current=null;return}let L=!1;return(async()=>{const X=await _O(n);if(!L){if(!Nw.current){Nw.current=!0;const te=localStorage.getItem(Gl.session)||"";if(bW()===null&&te&&X.some(de=>de.id===te)){AO(te);return}}df()}})(),()=>{L=!0}},[ii,n,Bl,O,ct]),m.useEffect(()=>{const N=AC.current;N&&N.app===n&&(AC.current=null,AO(N.sid))},[n]);function NB(N,L){gs(!1),N===n?AO(L):(AC.current={app:N,sid:L},i(N))}function jB(N,L){gi(X=>{const te={...X};for(const de of L)te[my(N,de.id)]=Z7(de.events??[]);return te}),s(L)}async function _O(N){const L=u.current+1;u.current=L;try{const X=await pW(N,ct);return u.current!==L||jB(N,X),X}catch(X){return u.current===L&&we(String(X)),[]}}function LC(N="codex",L=!1){O||(we(""),Ge(""),dt("confirm"),ne(N),be(L),_e(!0))}function Qbe(){var N;(N=Et.current)==null||N.abort(),Et.current=null,_e(!1),dt("confirm"),Ge(""),!O&&bi!=="agent"&&!ue&&$n("agent")}async function Bbe(N,L){var de;(de=Et.current)==null||de.abort();const X=new AbortController;Et.current=X,dt("loading"),Ge("");const te=umt({sandboxKind:Z,sandboxSource:ue?"my_agents":"new_chat"});try{const pe=Z==="codex"?await Ei.startSession({displayName:N,persistent:L,signal:X.signal}):await Ei.startAgentSession(Z,{displayName:N,persistent:L,signal:X.signal});if(Et.current!==X){te.fail({errorKind:"abort"});return}if(te.succeed({sandboxId:String(pe.id)}),ue){et(qe=>qe+1),_e(!1),dt("confirm"),Gi(!0);return}if(Z!=="codex"){const qe=await Ei.openAgentSession(Z,pe.id,{signal:X.signal});if(Et.current!==X)return;Je.current="",o(""),g([]),Nn(""),vr(al()),$n(Z==="deepseek-harness"?"deepseek-harness":"agent"),vw(xr),cr([]),kt(),R([]),y(null),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),Gi(!1),xt(null),Ue(qe),_e(!1),dt("confirm");return}const Se=await Ei.connectSession(pe.id,{signal:X.signal});if(Et.current!==X)return;Je.current="",o(""),g([]),Nn(""),vr(al()),$n("temporary"),vw(xr),cr([]),kt(),R([]),y(Se),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),Gi(!1),xt(null),Ue(null),_e(!1),dt("confirm")}catch(pe){if(te.fail(Ta(pe)),(pe==null?void 0:pe.name)==="AbortError"||Et.current!==X)return;Ge(pe instanceof Error?pe.message:String(pe)),dt("error")}finally{Et.current===X&&(Et.current=null)}}function RB(N,L){Je.current="",o(""),g([]),Nn(""),vr(al()),vw(xr),cr([]),kt(),R(L),it.current=N.id,y(N),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),Gi(!1),il([]),So(null),xt(null),Ue(null)}async function Fbe(N){var X;if((O==null?void 0:O.id)===N.id)return;(X=Ce.current)==null||X.abort();const L=new AbortController;Ce.current=L,C(N.id),k(""),we("");try{O&&Vl();const te=await $c.connectSession(N.id,{signal:L.signal});if(L.signal.aborted)return;const de=te.restoredConversation?uL(te.restoredConversation):[];RB(te,de);try{const pe=await qyt(te.id,L.signal);pe&&it.current===te.id&&R(Se=>cwt(Se,pe))}catch(pe){!L.signal.aborted&&it.current===te.id&&we(pe instanceof Error?pe.message:String(pe))}}catch(te){L.signal.aborted||we(te instanceof Error?te.message:String(te))}finally{Ce.current===L&&(Ce.current=null,C(""))}}async function Ube(N){if(P&&(O==null?void 0:O.id)===N.id){we("当前构建仍在进行,请先停止后再删除会话。");return}C(N.id),we("");try{await $c.deleteSession(N.id),x(L=>L.filter(X=>X.id!==N.id)),(O==null?void 0:O.id)===N.id&&Vl(!1),wt(null)}catch(L){we(L instanceof Error?L.message:String(L))}finally{C(L=>L===N.id?"":L)}}async function Dw(N,L="my_agents"){we("");const X=hD({targetId:String(N.id),agentKind:N.toolName,connectSource:L});try{const te=N.resourceType==="snapshot"?await Ei.resumeSnapshot(N.toolName,N.snapshotId):N;if(N.resourceType==="snapshot"&&et(pe=>pe+1),te.toolName==="codex"){const pe=await Ei.connectSession(te.id),Se=await qvt(pe);X.succeed({sandboxStatus:OW(pe.status)}),Je.current="",o(""),g([]),Nn(""),vr(al()),kt(),Se?(R(gW(Se,pe.busy)),y({...pe,threadId:Se.threadId,cwd:Se.cwd??pe.cwd,workspaceLocked:Se.workspaceLocked,permissions:Se.permissions,...Se.model?{model:Se.model}:{}})):(R([]),y(pe)),B(pe.busy),zh("sandbox-agent-detail"),xt(null),Ue(null),Gi(!1),Yi(!1);return}const de=await Ei.openAgentSession(te.toolName,te.id);X.succeed({sandboxStatus:OW(de.session.status)}),zh("sandbox-agent-detail"),Ue(de),xt(null),Gi(!1),Yi(!1)}catch(te){throw X.fail(Ta(te)),we(te instanceof Error?te.message:String(te)),te}}async function zbe(N){const X=(await Ei.listSessions()).find(te=>te.resourceType==="session"&&te.toolName==="codex"&&te.id===N);if(!X)throw new Error("云端 Codex Session 暂未出现在列表中,请稍后重试。");await Dw(X,"my_agents"),je(!1)}function Vbe(N){Ft(N.toolName),_C({page:"sandbox-agent-detail",returnTo:"agents"}),xt(N),Ue(null),Gi(!0),Yi(!1),we("")}async function qbe(N){N.resourceType==="snapshot"?await Ei.deleteSnapshot(N.toolName,N.snapshotId):((O==null?void 0:O.id)===N.id&&Vl(),N.toolName==="codex"?await Ei.deleteSession(N.id):await Ei.deleteAgentSession(N.toolName,N.id)),Ft(N.toolName),zh("sandbox-agent-detail"),xt(null),Ue(null),et(L=>L+1),Gi(!0)}async function Xbe(){const N=Qe;if(!N)return;await jn.deleteThread(N.id)&&Ot(null)}function Vl(N=!0){var X;(X=We.current)==null||X.abort(),We.current=null,it.current="",Nt.current="",B(!1),kt(),R([]),cr([]),Nn(""),we(""),$n("agent"),$(!1),D(""),Q(!1),G(!1),U(null),ie(null),me(!1),K(""),ye(null),Re(!1),De(""),Xt(),Ot(null),Ee(!1),Yt.current+=1;const L=O;y(null),L&&N&&(L.intelligentDevelopment?$c:Ei).closeSession(L.id).catch(de=>we(String(de)))}async function $C(N){const L=O;if(L){U(N),ie(null),K(""),me(!0);try{const X=N==="terminal"?await rf.launchTerminal(L.id):await rf.launchBrowser(L.id);ie(X)}catch(X){K(X instanceof Error?X.message:String(X))}finally{me(!1)}}}async function Hbe(){var L;const N=O;if(!(!N||Oe==="copying")){Le("copying"),we("");try{if(!((L=navigator.clipboard)!=null&&L.writeText))throw new Error("当前浏览器不支持写入剪贴板。");const X=await Ei.getEndpoint(N.id);if(await navigator.clipboard.writeText(X.endpoint),it.current!==N.id)return;Le("copied"),Jt.current!==void 0&&window.clearTimeout(Jt.current),Jt.current=window.setTimeout(()=>{Le("idle"),Jt.current=void 0},1600)}catch(X){if(it.current!==N.id)return;Le("idle"),we(X instanceof Error?X.message:String(X))}}}async function Ybe(N){const L=O;if(!(!L||I)){$(!0),D("");try{const X=await rf.updatePermissions(L.id,N);y(te=>(te==null?void 0:te.id)===L.id?{...te,permissions:X}:te),ln(L.id,"已更新当前 Sandbox Session 的 Codex 权限",[{label:"沙箱模式",value:nwt[X.sandboxMode]},{label:"审批策略",value:iwt[X.approvalPolicy]},{label:"审批方式",value:rwt[X.approvalsReviewer]},{label:"网络访问",value:X.networkAccess?"允许":"关闭"}]),it.current===L.id&&Q(!1)}catch(X){D(X instanceof Error?X.message:String(X))}finally{$(!1)}}}const Gbe=m.useCallback(async N=>{const L=O==null?void 0:O.id;if(!L)throw new Error("当前没有已连接的 Sandbox。");return rf.listDirectories(L,N)},[O==null?void 0:O.id]);async function Wbe(N){const L=O;if(!(!L||L.workspaceLocked||I)){$(!0),D("");try{const X=await rf.updateWorkspace(L.id,N);y(te=>(te==null?void 0:te.id)===L.id?{...te,cwd:X}:te),jn.invalidateSkills(),ln(L.id,"已更新工作空间",[{label:"工作目录",value:X,code:!0}]),it.current===L.id&&G(!1)}catch(X){D(X instanceof Error?X.message:String(X))}finally{$(!1)}}}async function Zbe(N){const L=O,X=ee;if(!(!L||!X||ve)){Re(!0),De("");try{await rf.resolveApproval(L.id,X.id,N),ln(L.id,swt(X,N),awt(X),Nt.current),ye(te=>(te==null?void 0:te.id)===X.id?null:te)}catch(te){De(te instanceof Error?te.message:String(te))}finally{Re(!1)}}}async function Kbe(N){const L=O;if(!L||he)return;const X=++Yt.current;we(""),Ee(!0);const te=Array.from(N).map(de=>{const pe={id:SW(),mimeType:EW(de),name:de.name,sizeBytes:de.size,status:"uploading",previewUrl:Ie(de)};return{file:de,attachment:pe}});cr(de=>[...de,...te.map(({attachment:pe})=>pe)]);try{const pe=(await Promise.all(te.map(async({file:Se,attachment:qe})=>{try{const nt=await rf.uploadFile(L.id,Se);return Yt.current!==X?null:(cr(Mt=>Mt.map(gt=>gt.id===qe.id?{...gt,id:nt.id,uri:nt.path,name:nt.name,mimeType:nt.mimeType,sizeBytes:nt.sizeBytes,status:"ready"}:gt)),nt)}catch(nt){if(Yt.current!==X)return null;const Mt=nt instanceof Error?nt.message:String(nt);return cr(gt=>gt.map(ut=>ut.id===qe.id?{...ut,status:"error",error:Mt}:ut)),we(Mt),null}}))).filter(Se=>Se!==null);Yt.current===X&&pe.length>0&&ln(L.id,pe.length===1?"已上传文件到 Sandbox":`已上传 ${pe.length} 个文件到 Sandbox`,pe.map((Se,qe)=>({label:pe.length===1?"文件":`文件 ${qe+1}`,value:Se.path,code:!0})))}finally{if(Yt.current===X)Ee(!1);else for(const{attachment:de}of te)ft(de.previewUrl)}}function Jbe(N){const L=xr.find(X=>X.id===N);L&&(ft(L.previewUrl),cr(X=>X.filter(te=>te.id!==N)))}function eOe(){var X;const N=We.current,L=O;if(N){if(L!=null&&L.intelligentDevelopment){if(((X=Ae.current)==null?void 0:X.controller)===N)return;const te=$c.interruptSession(L.id).then(()=>{var de;return((de=Ae.current)==null?void 0:de.controller)===N&&N.abort(),!0}).catch(de=>{var pe;return((pe=Ae.current)==null?void 0:pe.controller)===N&&(Ae.current=null),it.current===L.id&&We.current===N&&we(de instanceof Error?de.message:String(de)),!1});Ae.current={controller:N,promise:te};return}N.abort(),L&&Ei.interruptSession(L.id).catch(te=>{it.current===L.id&&we(te instanceof Error?te.message:String(te))})}}function ql(N){var L;if(O!=null&&O.intelligentDevelopment&&P){mt.current=N,st(!0);return}(L=Ce.current)==null||L.abort(),N()}async function tOe(){var X,te;const N=O,L=mt.current;if(!(N!=null&&N.intelligentDevelopment)||!L){st(!1),mt.current=null;return}ti(!0),we("");try{await $c.interruptSession(N.id),(X=We.current)==null||X.abort(),mt.current=null,st(!1),(te=Ce.current)==null||te.abort(),L()}catch(de){we(de instanceof Error?de.message:String(de))}finally{ti(!1)}}async function QC(N,L=[],X=[],te){var bs;const de=te??O,pe=L.filter(Ct=>Ct.status==="ready"&&Ct.uri);if(!de||P||!N.trim()&&pe.length===0)return;we(""),ye(null),De("");const Se=HY({agentId:String(de.id),agentKind:de.toolName,messageSource:"composer",sessionState:"existing",sessionId:String(de.id)}),qe=new AbortController;(bs=We.current)==null||bs.abort(),We.current=qe;const nt=[];X.length>0&&nt.push({kind:"invocation",value:{skills:X.map(({name:Ct,description:Lt})=>({name:Ct,description:Lt}))}}),pe.length>0&&nt.push({kind:"attachment",files:pe.map(Ct=>({id:Ct.id,mimeType:Ct.mimeType,name:Ct.name,sizeBytes:Ct.sizeBytes,previewUrl:Ct.previewUrl}))}),N.trim()&&nt.push({kind:"text",text:N});const Mt=pe.map(Ct=>Ct.uri).filter(Ct=>!!Ct),ut=[X.map(Ct=>`$${Ct.name}`).join(" "),N.trim()].filter(Boolean).join(" "),pn=Mt.length>0?[ut,"以下文件已上传到当前 Sandbox 工作空间,请在任务中使用:",...Mt.map(Ct=>`- ${Ct}`)].filter(Boolean).join(` +批注:${i}`,zvt)}function kW(e){return e?e instanceof Element?e:e.parentElement:null}function Xvt(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;const n=kW(t.anchorNode),i=kW(t.focusNode);if(!n||!i||!e.contains(n)||!e.contains(i)||!n.closest(".bubble")||!i.closest(".bubble"))return null;const r=t.toString().trim();if(!r)return null;const s=t.getRangeAt(0).getBoundingClientRect();return s.width<=0||s.height<=0?null:{text:r,anchor:{left:s.left+s.width/2,top:s.top,height:s.height}}}function Hvt({anchor:e,selectedText:t,onClose:n,onSubmit:i}){const r=m.useRef(!1),[s,a]=m.useState(""),[o,c]=m.useState(!1),[u,d]=m.useState(""),[f,h]=m.useState(!1),p=dbe(t),b=m.useCallback(()=>{var O;(O=window.getSelection())==null||O.removeAllRanges(),n()},[n]);r.current=o,m.useEffect(()=>{const O=()=>{r.current||b()},y=v=>{const x=v.target;x instanceof Element&&x.closest(".response-annotation-popover")||r.current||b()};return window.addEventListener("resize",O),window.addEventListener("scroll",y,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",y,!0)}},[b]);const g=async()=>{if(!(o||f||!EW(s))){c(!0),d("");try{await i(s.trim()),h(!0)}catch(O){d(O instanceof Error?O.message:String(O))}finally{c(!1)}}};return l.jsxs(Ux,{open:!0,onOpenChange:O=>{!O&&!o&&b()},children:[l.jsx(Ux.Trigger,{children:l.jsx("span",{className:"response-annotation-anchor",style:{left:e.left,top:e.top,height:e.height},"aria-hidden":"true"})}),l.jsx(Ux.Content,{side:"top",sideOffset:8,align:"center",minWidth:"auto",className:"response-annotation-popover",children:f?l.jsxs("div",{className:"response-annotation-success",role:"status","aria-live":"polite",children:[l.jsxs("div",{children:[l.jsx("strong",{children:"已加入 Bad case 评测集"}),l.jsx("p",{children:"这条批注已关联当前问题和完整模型回复。"})]}),l.jsx(Pl,{type:"button",color:"secondary",size:"sm",pill:!1,onClick:b,children:"完成"})]}):l.jsxs("form",{className:"response-annotation-form","aria-label":"批注选中的模型回复","aria-busy":o||void 0,onSubmit:O=>{O.preventDefault(),g()},children:[l.jsx("div",{className:"response-annotation-header",children:l.jsx("h2",{children:"添加批注"})}),l.jsx("blockquote",{title:p,children:p}),l.jsxs("label",{className:"response-annotation-field",children:[l.jsx("span",{children:"批注内容"}),l.jsx(Uvt,{value:s,rows:3,maxRows:6,autoResize:!0,maxLength:ube,disabled:o,invalid:!!u,"aria-label":"批注内容",placeholder:"说明问题或期望的修改方式",onChange:O=>{a(fbe(O.target.value)),u&&d("")}})]}),u&&l.jsxs("p",{className:"response-annotation-error",role:"alert",children:[u,",请重试。"]}),l.jsxs("div",{className:"response-annotation-actions",children:[l.jsx(Pl,{className:"response-annotation-action",type:"button",color:"secondary",variant:"ghost",size:"sm",pill:!1,disabled:o,onClick:b,children:"取消"}),l.jsx(Pl,{className:"response-annotation-action",type:"submit",color:"primary",size:"sm",pill:!1,loading:o,disabled:!EW(s),children:"加入 Bad Case"})]})]})})]})}const Gvt=[{value:"conversation",label:"对话"},{value:"agents",label:"智能体"},{value:"applications",label:"自动化"},{value:"search",label:"搜索"},{value:"other",label:"其他"}],Yvt=[{value:"page_slow",label:"页面加载慢"},{value:"feature_unavailable",label:"功能无法使用"},{value:"display_error",label:"页面显示异常"},{value:"no_response",label:"操作无响应"},{value:"other",label:"其他问题"}],Wvt=["点击后没有反应","页面一直处于加载状态","部分内容显示不完整","操作后出现错误提示"];function Zvt(e){return l.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:l.jsx("path",{d:"m5 12.5 4.2 4.2L19 7"})})}function Kvt({initialModule:e,onSubmit:t}){const n=m.useRef(null),[i,r]=m.useState(()=>new Set),[s,a]=m.useState(e),[o,c]=m.useState(""),[u,d]=m.useState(!1),[f,h]=m.useState(""),[p,b]=m.useState(!1),g=x=>{r(w=>{const E=new Set(w);return E.has(x)?E.delete(x):E.add(x),E})},O=x=>{var w;c(E=>E.trim()?E.includes(x)?E:`${E.trimEnd()} +${x}`:x),(w=n.current)==null||w.focus()},y=async x=>{if(x.preventDefault(),!(u||p)){d(!0),h("");try{await t({module:s,issues:[...i],description:o.trim()}),b(!0)}catch(w){h(w instanceof Error?w.message:String(w))}finally{d(!1)}}},v=i.size>0||o.trim().length>0;return l.jsxs("div",{className:"platform-feedback-page",children:[l.jsxs("header",{className:"platform-feedback-header",children:[l.jsx("h1",{children:"问题反馈"}),l.jsx("p",{children:"告诉我们您在使用 AgentKit Studio 时遇到的问题。"})]}),l.jsx("div",{className:"platform-feedback-scroll",children:p?l.jsxs("section",{className:"platform-feedback-success","aria-labelledby":"feedback-success-title","aria-live":"polite",role:"status",children:[l.jsx("span",{className:"platform-feedback-success-icon","aria-hidden":"true",children:l.jsx(Zvt,{})}),l.jsxs("div",{children:[l.jsx("h2",{id:"feedback-success-title",children:"上报成功,感谢您的反馈"}),l.jsx("p",{children:"AgentKit 团队会尽快查看您提交的问题。"})]})]}):l.jsxs("form",{className:"platform-feedback-form",onSubmit:x=>void y(x),children:[l.jsxs("section",{className:"platform-feedback-section",children:[l.jsx("div",{className:"platform-feedback-section-heading",children:l.jsx("h2",{children:"所属模块"})}),l.jsx("div",{className:"platform-feedback-pills","aria-label":"所属模块",children:Gvt.map(x=>l.jsx("button",{type:"button","aria-pressed":s===x.value,onClick:()=>a(x.value),disabled:u,children:x.label},x.value))})]}),l.jsx("section",{className:"platform-feedback-section",children:l.jsxs("div",{className:"platform-feedback-suggestions",children:[l.jsx("span",{children:"常见问题(可多选)"}),l.jsx("div",{className:"platform-feedback-pills","aria-label":"问题类型",children:Yvt.map(x=>l.jsx("button",{type:"button","aria-pressed":i.has(x.value),onClick:()=>g(x.value),disabled:u,children:x.label},x.value))})]})}),l.jsxs("section",{className:"platform-feedback-section",children:[l.jsxs("label",{className:"platform-feedback-field",children:[l.jsx("span",{children:"问题描述"}),l.jsx("textarea",{ref:n,value:o,onChange:x=>c(x.target.value),placeholder:"请描述问题发生时的页面、操作和表现",maxLength:4e3,rows:6,disabled:u})]}),l.jsxs("div",{className:"platform-feedback-suggestions",children:[l.jsx("span",{children:"快捷补充"}),l.jsx("div",{className:"platform-feedback-pills","aria-label":"问题描述推荐",children:Wvt.map(x=>l.jsx("button",{type:"button",onClick:()=>O(x),disabled:u,children:x},x))})]})]}),l.jsx("p",{className:"platform-feedback-privacy",role:"alert",children:"您的数据将会上报到 AgentKit 团队,请注意隐私保护。"}),f&&l.jsx("p",{className:"platform-feedback-error",role:"alert",children:f}),l.jsx("div",{className:"platform-feedback-actions",children:l.jsx("button",{type:"submit",disabled:!v||u,children:u?"正在上报…":"提交反馈"})})]})})]})}function Jvt({node:e,ctx:t}){const n=e.variant??"default";return l.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)})}Vm("Button",Jvt);function ewt({node:e,ctx:t}){return l.jsx("div",{className:"a2ui-card","data-a2ui-id":e.id,"data-a2ui-component":e.component,children:t.render(e.child)})}Vm("Card",ewt);const twt={start:"flex-start",center:"center",end:"flex-end",spaceBetween:"space-between",spaceAround:"space-around",spaceEvenly:"space-evenly",stretch:"stretch"},nwt={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"};function hbe(e){return twt[e]??"flex-start"}function pbe(e){return nwt[e]??"stretch"}function iwt({node:e,ctx:t}){const n=e.children??[];return l.jsx("div",{className:"a2ui-column","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"column",justifyContent:hbe(e.justify),alignItems:pbe(e.align)},children:n.map(i=>t.render(i))})}Vm("Column",iwt);function rwt({node:e}){const t=e.axis==="vertical";return l.jsx("div",{className:`a2ui-divider ${t?"a2ui-divider--v":"a2ui-divider--h"}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component})}Vm("Divider",rwt);const swt={send:"✈️",check:"✅",close:"✖️",star:"⭐",favorite:"❤️",info:"ℹ️",help:"❓",error:"⛔",calendarToday:"📅",event:"📅",schedule:"🕒",locationOn:"📍",accountCircle:"👤",mail:"✉️",call:"📞",home:"🏠",settings:"⚙️",search:"🔍"};function awt({node:e}){const t=e.name??"";return l.jsx("span",{className:"a2ui-icon",title:t,"aria-label":t,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:swt[t]??"•"})}Vm("Icon",awt);function owt({node:e,ctx:t}){const n=e.children??[];return l.jsx("div",{className:"a2ui-row","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"row",justifyContent:hbe(e.justify),alignItems:pbe(e.align??"center")},children:n.map(i=>t.render(i))})}Vm("Row",owt);const lwt=new Set(["h1","h2","h3","h4","h5"]);function cwt({node:e,ctx:t}){const n=e.variant??"body",i=t.resolveString(e.text),r=lwt.has(n)?n:"p";return l.jsx(r,{className:`a2ui-text a2ui-text--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:i})}Vm("Text",cwt);function uwt(e){return e==="agents"?"agents":e==="applications"?"applications":e==="search"?"search":["conversation","new-chat","sandbox"].includes(e)?"conversation":"other"}async function WI(e){const[t,n,i,r]=await Promise.allSettled([yxt(),xxt("deepseek-harness"),A2(),e?w$(e):Promise.resolve([])]);return{agentId:e,ready:!0,harnessEnabled:!!e&&r.status==="fulfilled",builtinTools:r.status==="fulfilled"?r.value:[],temporaryEnabled:t.status==="fulfilled"&&t.value.enabled,deepseekHarnessEnabled:n.status==="fulfilled"&&n.value.enabled,sandboxEndpointExportEnabled:t.status==="fulfilled"&&t.value.endpointExportEnabled===!0,skillCustomizationEnabled:i.status==="fulfilled"&&i.value.enabled}}async function TW(e,t){const n=await b$(e,t),i=await Promise.allSettled(n.map(s=>{var a;return(a=s.events)!=null&&a.length?Promise.resolve(s):jA(e,t,s.id)})),r=i.find(s=>s.status==="rejected"&&!/get session failed:\s*404\b/i.test(String(s.reason)));if((r==null?void 0:r.status)==="rejected")throw r.reason;return i.flatMap(s=>s.status==="fulfilled"?[s.value]:[])}const sc={app:"veadk.appName",view:"veadk.view",session:"veadk.sessionId"},dwt=600,fwt=1e3,_W=5e3,hwt=500,pwt=new Set,mwt=[];function gl(){return{skills:[]}}async function gwt(e){let t;if(e.threadId)try{const r=await _i.readThread(e.id,e.threadId);if(r.messages.length>0)return r}catch(r){t=r}const n=await _i.listThreads(e.id),i=n.threads.find(r=>r.id!==e.threadId)??n.threads[0];if(!i){if(t)throw t;return null}return _i.resumeThread(e.id,i.id)}function AW(e,t){const n=y5(e),i=n[n.length-1];return!t||(i==null?void 0:i.role)!=="user"?n:[...n,{role:"assistant",blocks:[],meta:{localId:`sandbox-background-${e.threadId}`}}]}function ZI(e){return`${OC(e)}.active`}function v5(e){return`veadk.agentOrder.${encodeURIComponent(e)}`}function bwt(e){if(!e)return[];try{const t=JSON.parse(localStorage.getItem(v5(e))||"[]");return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function w5(e,t){if(e.name===t||e.id===t)return e;for(const n of e.children){const i=w5(n,t);if(i)return i}}function mbe(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(...mbe(n)));return t}function CW(){const e=typeof localStorage<"u"?localStorage.getItem(sc.view):null;return e==="intelligent"?e:["menu","custom","template","workflow"].includes(e??"")?"custom":e==="package"||e==="migration"?e:null}function NW(e){const t=e.trim().toLowerCase();switch(t){case"creating":case"starting":case"initializing":case"pending":case"running":case"ready":case"failed":case"error":case"stopped":case"expired":case"deleting":case"deleted":return t;default:return"unknown"}}function jW({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("rect",{x:"3.75",y:"3.75",width:"16.5",height:"16.5",rx:"3.25"}),l.jsx("path",{d:"M12 8.5v7M8.5 12h7"}),l.jsx("path",{d:"M6.75 6.75h1M16.25 17.25h1",opacity:"0.6"})]})}function Owt({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("rect",{x:"3.5",y:"5",width:"17",height:"14.75",rx:"2.25"}),l.jsx("path",{d:"M3.5 9h17M9.25 12.25 7.1 14.4l2.15 2.15M14.75 12.25l2.15 2.15-2.15 2.15M12.8 11.85l-1.6 5.1"})]})}function ywt({className:e}){return l.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.45",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[l.jsx("rect",{x:"2.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),l.jsx("path",{d:"M5.25 8.5h1.5M5.25 11.5h1.5"}),l.jsx("rect",{x:"14.75",y:"5",width:"6.5",height:"14",rx:"1.6"}),l.jsx("path",{d:"M17.25 15.5h1.5M17.25 12.5h1.5M8.75 12h6.5m-2.5-2.5 2.5 2.5-2.5 2.5"})]})}function xwt(){return l.jsxs("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":!0,children:[l.jsx("rect",{x:"3",y:"4",width:"14",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none"}),l.jsx("rect",{x:"6",y:"10.4",width:"13",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.7"}),l.jsx("rect",{x:"9",y:"16.8",width:"9",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.45"})]})}function S5(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 vwt(e){if(!e)return"";const t=[];return e.ts&&t.push(S5(e.ts)),e.tokens!=null&&t.push(`${e.tokens.toLocaleString()} tokens`),t.join(" · ")}function Af(e){return e.blocks.map(t=>t.kind==="text"?t.text:"").join("").trim()}function KI(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].role==="user")return Af(e[n]);return""}const wwt="send_a2ui_json_to_client";function Swt(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==="delivery"?!0:t.kind==="tool"?!(t.name===wwt&&t.done):t.kind==="agent-transfer"?!1:t.kind==="a2ui"?Nue(t.messages).some(n=>n.components[n.rootId]):t.kind==="auth")}function JI(e){return e.blocks.some(t=>t.kind==="auth"&&!t.done)}function Ewt(e){return new Promise((t,n)=>{let i="";try{i=new URL(e,window.location.href).protocol}catch{}if(i!=="http:"&&i!=="https:"){n(new Error("授权链接不是 http/https 地址,已阻止打开。"));return}const r=window.open(e,"veadk_oauth","width=520,height=720");if(!r){n(new Error("弹窗被拦截,请允许弹窗后重试。"));return}let s=!1;const a=()=>{clearInterval(u),window.removeEventListener("message",c)},o=d=>{if(!s){s=!0,a();try{r.close()}catch{}t(d)}},c=d=>{if(d.origin!==window.location.origin)return;const f=d.data;f&&f.veadkOAuth&&typeof f.url=="string"&&o(f.url)};window.addEventListener("message",c);const u=setInterval(()=>{if(!s){if(r.closed){a();const d=window.prompt("授权完成后,请粘贴回调页面(浏览器地址栏)的完整 URL:");d&&d.trim()?(s=!0,t(d.trim())):n(new Error("授权已取消。"));return}try{const d=r.location.href;d&&d!=="about:blank"&&new URL(d).origin===window.location.origin&&/[?&](code|state|error)=/.test(d)&&o(d)}catch{}}},500)})}function kwt(e,t){const n=JSON.parse(JSON.stringify(e??{})),i=n.exchangedAuthCredential??n.exchanged_auth_credential??{},r=i.oauth2??{};return r.authResponseUri=t,r.auth_response_uri=t,i.oauth2=r,n.exchangedAuthCredential=i,n}function RW({text:e}){const[t,n]=m.useState(!1);return l.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?l.jsx(Nu,{className:"icon"}):l.jsx(EA,{className:"icon"})})}function Twt({onClick:e}){return l.jsx("button",{type:"button",className:"icon-btn","aria-label":"分享为图片",title:"分享为图片",onClick:e,children:l.jsx(Vke,{className:"icon","aria-hidden":"true"})})}const IW=["今天想做点什么?","有什么可以帮你的?","需要我帮你查点什么吗?","有问题尽管问我","嗨,我们开始吧","开始一段新对话吧","今天想先解决哪件事?","把你的想法告诉我吧","我们从哪里开始?","有什么任务交给我?","准备好一起推进了吗?","说说你现在最关心的问题","今天也一起把事情做好","我在,随时可以开始"],DW=()=>IW[Math.floor(Math.random()*IW.length)];function eD(e){var t;for(const n of e)(t=n.previewUrl)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(n.previewUrl)}function PW(){return`draft-${Date.now()}-${Math.random().toString(36).slice(2)}`}function MW(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 _wt={"read-only":"只读","workspace-write":"工作区写入","danger-full-access":"完全访问"},Awt={untrusted:"仅不可信命令","on-request":"按需审批",never:"不审批"},Cwt={user:"由我审批",auto_review:"自动审查"};function Nwt(e,t){const n=e.kind==="file"?"文件修改":"命令执行";return t==="accept"?`已允许本次${n}`:t==="acceptForSession"?`已在本会话中允许${n}`:t==="decline"?`已拒绝${n}`:`已取消${n}审批`}function jwt(e){var n,i,r;const t=[];return(n=e.command)!=null&&n.trim()&&t.push({label:"命令",value:e.command.trim(),code:!0}),(i=e.grantRoot)!=null&&i.trim()&&t.push({label:"授权路径",value:e.grantRoot.trim(),code:!0}),(r=e.cwd)!=null&&r.trim()&&t.push({label:"执行目录",value:e.cwd.trim(),code:!0}),t}function LW(e){return e.flatMap(t=>t.apps.map(n=>wc(t.id,n)))}function Rwt(e,t){var n;return((n=e.find(i=>i.runtimeId&&i.apps.some(r=>wc(i.id,r)===t)))==null?void 0:n.runtimeId)??""}function $W(e,t){for(const n of e){const i=n.apps.find(r=>wc(n.id,r)===t);if(i&&n.runtimeId)return{runtimeId:n.runtimeId,region:n.region??"cn-beijing",appName:i}}return null}function QW(e){return e.taskMode==="text_to_video"?[]:(e.taskMode==="first_last_frame"?[e.firstFrame?{file:e.firstFrame,kind:"first_frame"}:null,e.lastFrame?{file:e.lastFrame,kind:"last_frame"}:null]:[e.referenceImage?{file:e.referenceImage,kind:"reference_image"}:null,e.referenceVideo?{file:e.referenceVideo,kind:"reference_video"}:null]).filter(n=>n!==null)}function Iwt(e,t){return`video-${e.replace(/[^A-Za-z0-9_-]/g,"").slice(0,36)||"result"}.${t}`}function Sy(e,t){return`${e}${t}`}function Dwt(e,t){const n={kind:"delivery",value:t};let i=-1,r=-1;for(let s=e.length-1;s>=0;s-=1){const a=e[s];if(r<0&&a.role==="assistant"&&(r=s),a.blocks.some(o=>o.kind==="delivery"&&o.value.sessionId===t.sessionId)){i=s;break}}return i>=0?e.map((s,a)=>a!==i?s:{...s,blocks:[...s.blocks.filter(o=>o.kind!=="delivery"),n]}):r>=0?e.map((s,a)=>a!==r?s:{...s,blocks:[...s.blocks,n]}):[...e,{role:"assistant",blocks:[n],meta:{localId:crypto.randomUUID(),ts:Date.now()/1e3}}]}function Pwt(){var WB;const[e,t]=m.useState([]),[n,i]=m.useState(""),[r,s]=m.useState([]),[a,o]=m.useState(""),c=m.useRef(null),u=m.useRef(0),d=m.useRef(0),f=m.useRef(null),[h,p]=m.useState(!1),[b,g]=m.useState([]),[O,y]=m.useState(null),[v,x]=m.useState([]),[w,E]=m.useState(!1),[S,k]=m.useState(""),[T,C]=m.useState(""),[A,N]=m.useState([]),[P,Q]=m.useState(!1),[D,$]=m.useState(!1),[j,I]=m.useState(""),[F,B]=m.useState(!1),[M,Y]=m.useState(!1),[q,U]=m.useState(null),[V,re]=m.useState(null),[de,be]=m.useState(!1),[ce,K]=m.useState(""),[ee,me]=m.useState(null),[ve,Ne]=m.useState(!1),[Ie,De]=m.useState(""),[pe,Se]=m.useState(!1),[Oe,Le]=m.useState("idle"),[Fe,Te]=m.useState(!1),[Ue,ot]=m.useState("confirm"),[Bt,Ye]=m.useState(""),[Z,ie]=m.useState("codex"),[ue,ye]=m.useState(!1),[z,je]=m.useState(!1),[We,et]=m.useState(0),[Jt,Xt]=m.useState("general"),[Tt,vt]=m.useState(null),[xe,ze]=m.useState(null),[Be,bt]=m.useState(null),mt=m.useRef(null),At=m.useRef(null),_e=m.useRef(null),Ze=m.useRef(null),Ct=m.useRef(null),[an,tt]=m.useState(!1),[pn,Yn]=m.useState(!1),[zt,Vt]=m.useState(null),Ae=m.useRef(null),Ge=m.useRef((O==null?void 0:O.id)??""),Ft=m.useRef(""),mn=m.useRef(0),en=m.useRef(void 0),ui=m.useRef(new Set);Ge.current=(O==null?void 0:O.id)??"",m.useEffect(()=>()=>{en.current!==void 0&&window.clearTimeout(en.current);for(const R of ui.current)URL.revokeObjectURL(R);ui.current.clear()},[]);function Re(R){const L=URL.createObjectURL(R);return ui.current.add(L),L}function rt(R){!R||!ui.current.delete(R)||URL.revokeObjectURL(R)}function Dt(){for(const R of ui.current)URL.revokeObjectURL(R);ui.current.clear()}const Yt=m.useCallback(()=>{en.current!==void 0&&(window.clearTimeout(en.current),en.current=void 0),Le("idle")},[]);m.useEffect(()=>{Yt()},[Yt,O==null?void 0:O.id]);const[cn,Zt]=m.useState({}),[ni,oi]=m.useState({}),Ui=a?cn[a]??[]:b,le=O?A:Ui,Qe=a?ni[Sy(n,a)]??YE:YE,lt=(R,L)=>Zt(X=>({...X,[R]:typeof L=="function"?L(X[R]??[]):L})),Ot=(R,L,X)=>{const ne=Sy(R,L);oi(fe=>{const ge=fe[ne]??YE,we=Une(ge,X);return we===ge?fe:{...fe,[ne]:we}})};function En(R,L,X=[],ne=""){if(Ge.current!==R)return;const fe=crypto.randomUUID(),ge={role:"system",blocks:[],activity:{id:fe,title:L,...X.length>0?{details:X}:{}},meta:{localId:fe,ts:Date.now()/1e3}};N(we=>{if(!ne)return[...we,ge];const Xe=we.findIndex(nt=>{var $t;return(($t=nt.meta)==null?void 0:$t.localId)===ne});return Xe<0?[...we,ge]:[...we.slice(0,Xe),ge,...we.slice(Xe)]})}const[li,Wn]=m.useState(""),[di,Pn]=m.useState("agent"),[fi,Yi]=m.useState("agent"),[Wi,gr]=m.useState("create"),[vn,Zi]=m.useState(null),[ji,Si]=m.useState(null),[zi,qr]=m.useState(null),[ua,Ir]=m.useState(!0),[Os,Ar]=m.useState(""),[Ns,ii]=m.useState(null),[Xs,Lc]=m.useState(null),Xa=m.useCallback(R=>{Lc(R);const L=new URL(window.location.href);if(R)L.searchParams.set("view","runtime-deploy"),L.searchParams.set("source","intelligent-development"),L.searchParams.set("sessionId",R.sessionId),L.searchParams.set("artifactSha256",R.artifactSha256),L.searchParams.set("validationReportSha256",R.validationReportSha256);else for(const X of["view","source","sessionId","artifactSha256","validationReportSha256"])L.searchParams.delete(X);window.history.replaceState(null,"",L)},[]),Ki=m.useCallback(R=>cW(R.sessionId,R.artifactSha256,R.validationReportSha256),[]),Xl=m.useCallback(async R=>{const L=zge({agentId:R.agentName,deployAction:"create",deploySource:"intelligent_development",createMode:"intelligent",aiAssisted:1});try{const{blob:X,filename:ne}=await bxt(R),fe=URL.createObjectURL(X),ge=document.createElement("a");ge.href=fe,ge.download=ne,ge.hidden=!0;try{document.body.appendChild(ge),ge.click()}finally{ge.remove(),window.setTimeout(()=>URL.revokeObjectURL(fe),1e3)}L.succeed({fileCount:R.fileCount,zipSizeBytes:X.size})}catch(X){throw L.fail({fileCount:R.fileCount,...Ia(X)}),X}},[]),[Eo,da]=m.useState(null),[Ha,Ca]=m.useState(!1),Xr=m.useRef(null),Hs=m.useRef(null),[Ji,Gs]=m.useState({}),hi=m.useRef(new Map),ss=Ji.ready===!0&&Ji.agentId===n,[Dr,br]=m.useState([]),[fa,Hr]=m.useState(gl),[bn,ys]=m.useState(null),[ko,Na]=m.useState(0),[as,ll]=m.useState(!1),[or,js]=m.useState(null),[Ga,cl]=m.useState(!1),[Ys,ul]=m.useState([]),[$c,ae]=m.useState(!1),kn=m.useRef(new Set),[Zn,To]=m.useState(()=>new Set),[Cn,Kn]=m.useState(()=>new Set),[ha,_o]=m.useState(()=>new Set),Ei=m.useRef(new Map),xs=m.useRef(new Map),Ya=m.useRef(void 0),bi=m.useRef(()=>{}),Rs=(R,L)=>To(X=>{const ne=new Set(X);return L?ne.add(R):ne.delete(R),ne}),te=R=>{const L=xs.current.get(R);L!==void 0&&window.clearTimeout(L),xs.current.delete(R),Kn(X=>new Set(X).add(R))},Pe=R=>{const L=xs.current.get(R);L!==void 0&&window.clearTimeout(L),xs.current.delete(R),Kn(X=>{if(!X.has(R))return X;const ne=new Set(X);return ne.delete(R),ne})},st=R=>{const L=xs.current.get(R);L!==void 0&&window.clearTimeout(L);const X=window.setTimeout(()=>{Pe(R)},2400);xs.current.set(R,X)},Ut=(R,L)=>{_o(X=>{if(X.has(R)===L)return X;const ne=new Set(X);return ne.delete(R),ne})},Wt=m.useRef(""),[gn,G]=m.useState("");function Ce(R,L,X){const ne=Xr.current;if(!ne||ne.localId!==R||ne.runId!==L)return null;const fe=yY(ne,X);return Xr.current=fe,da(fe),fe}async function Ke(R,L,X){var ge;(ge=Hs.current)==null||ge.abort();const ne=new AbortController;Hs.current=ne;let fe=X;try{let we=Xr.current;if(!we||we.localId!==R||we.runId!==L)return;if(fe==="optimization"&&we.assetIds.length===0){const nt=QW(we.config);if(nt.length>0){const $t=await Promise.all(nt.map(gt=>cgt(gt.file,gt.kind,ne.signal)));if(ne.signal.aborted||(we=Ce(R,L,{type:"assets_uploaded",assetIds:$t.map(gt=>gt.assetId)}),!we))return}}if(fe==="optimization"){const nt=await ugt({prompt:we.requestedPrompt,taskMode:we.requestedMode,assetIds:we.assetIds,ratio:we.config.aspectRatio,resolution:we.config.resolution,durationSeconds:we.config.durationSeconds},ne.signal);if(ne.signal.aborted||(we=Ce(R,L,{type:"optimization_succeeded",optimizedPrompt:nt.enhancedPrompt,resolvedMode:nt.resolvedTaskMode,enhancerModel:nt.enhancerModel}),!we))return;fe="generation"}if(!we.optimizedPrompt||!we.resolvedMode)throw new Error("提示词优化结果不完整,请重新优化后再试。");const Xe=await dgt({enhancedPrompt:we.optimizedPrompt,resolvedTaskMode:we.resolvedMode,assetIds:we.assetIds,ratio:we.config.aspectRatio,resolution:we.config.resolution,durationSeconds:we.config.durationSeconds},ne.signal);if(ne.signal.aborted||(we=Ce(R,L,{type:"generation_started",remoteTaskId:Xe.taskId,generationModel:Xe.generationModel,startedAt:Date.now()}),!we))return;for(;!ne.signal.aborted;){const nt=await fgt(Xe.taskId,ne.signal);if(ne.signal.aborted)return;if((nt.status==="queued"||nt.status==="running")&&Ce(R,L,{type:"generation_status_changed",providerStatus:nt.status}),nt.status==="failed")throw new Error(nt.error||"视频生成失败,请稍后重试。");if(nt.status==="succeeded"){if(!nt.videoUrl)throw new Error("视频任务已完成,但服务端未返回预览地址。");Ce(R,L,{type:"generation_succeeded",output:{previewUrl:pgt(nt.videoUrl),fileName:Iwt(Xe.taskId,nt.outputFormat),mimeType:nt.outputFormat==="mov"?"video/quicktime":"video/mp4"}});return}await new Promise($t=>window.setTimeout($t,1800))}}catch(we){if(ne.signal.aborted)return;Ce(R,L,{type:"failed",stage:fe,error:we instanceof Error?we.message:String(we)})}}function Nt(R,L,X){if(Yge(Xr.current)){Ca(!0);return}if(L.taskMode==="video_editing"&&!L.referenceVideo){G("视频编辑需要先添加待编辑视频。");return}if(L.taskMode==="video_extension"&&!L.referenceVideo){G("视频续写需要先添加基础视频。");return}if(L.taskMode==="reference_to_video"&&!L.referenceImage&&!L.referenceVideo){G("参考素材生视频需要至少添加一项参考图片或参考视频。");return}if(L.taskMode==="text_to_video"&&(L.referenceImage||L.referenceVideo||L.firstFrame||L.lastFrame)){G("文生视频不使用参考素材,请先移除已添加的图片或视频。");return}if(L.taskMode==="first_last_frame"&&!L.firstFrame){G("首尾帧生成需要先添加首帧图片。");return}if(X.supportedModes.length>0&&L.taskMode!=="auto"&&!X.supportedModes.includes(L.taskMode)){G("当前平台暂不支持所选视频任务模式。");return}const ne=QW(L);if(ne.length>0&&!X.assetStorageAvailable){G(X.assetStorageUnavailableReason||"管理员未配置持久化存储");return}const fe=ne.find(({file:we})=>X.maxAssetBytes>0&&we.size>X.maxAssetBytes);if(fe){G(`${fe.file.name} 超出当前平台允许的素材大小。`);return}const ge=Ygt({prompt:R,config:L,enhancerModel:X.enhancerModel,generationModel:X.generationModel});Xr.current=ge,da(ge),Ca(!0),Wn(""),G(""),Ke(ge.localId,ge.runId,"optimization")}function yt(){const R=Xr.current;if(!R||R.status!=="error"||!R.errorStage)return;const L=R.errorStage,X=yY(R,{type:"retry",stage:L});Xr.current=X,da(X),Ca(!0),Ke(X.localId,X.runId,L)}async function jt(){const R=Xr.current;if(!(!(R!=null&&R.remoteTaskId)||!R.output))try{const L=await hgt(R.remoteTaskId),X=URL.createObjectURL(L),ne=document.createElement("a");ne.href=X,ne.download=R.output.fileName,ne.click(),window.setTimeout(()=>URL.revokeObjectURL(X),1e3)}catch(L){G(L instanceof Error?L.message:String(L))}}m.useEffect(()=>()=>{var R;(R=Hs.current)==null||R.abort()},[]);const[Gt,ft]=m.useState(""),[Pt,on]=m.useState(()=>new Set),[Ri,vs]=m.useState(null),[Hl,Xh]=m.useState(null),[pa,pi]=m.useState(null),[dl,Gl]=m.useState(null);m.useEffect(()=>{pi(null)},[n,a]);const[ki,tn]=m.useState(!1),[Nn,Or]=m.useState(),[er,Yl]=m.useState(DW),[yr,Hh]=m.useState(null),[mw,gw]=m.useState(!1),[af,Gh]=m.useState(!1),[of,lf]=m.useState(""),Yh=m.useRef(!1),[bw,Ow]=m.useState(null),[dt,Hm]=m.useState(""),[TO,Gm]=m.useState(),[Ii,Qu]=m.useState(null),_O=(Ii==null?void 0:Ii.capabilities.runtimeScope)??"mine",[AO,yw]=m.useState({newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,agentUsage:!1,addAgentkit:!0}),[Qc,wC]=m.useState("cloud"),[Wh,SC]=m.useState(u1),[jn,EC]=m.useState("volcengine"),[kC,TC]=m.useState(""),[_C,AC]=m.useState(""),[Ym,xw]=m.useState(!1),[cf,Wm]=m.useState(!1),[vw,CO]=m.useState(!1),[ww,Zh]=m.useState({}),[Sw,NO]=m.useState({}),[Ew,H]=m.useState({}),he=Zn.has(a),Ee=Cn.has(a),Ve=he||h,wt=!!a&&Ga,Rt=O?P:Ve,lr=Rt||!O&&Ee,Ao=(O==null?void 0:O.intelligentDevelopment)===!0?Yc:_i,Mt=p1t({client:Ao,allowSkillSelection:(O==null?void 0:O.intelligentDevelopment)!==!0,allowThreadManagement:(O==null?void 0:O.intelligentDevelopment)!==!0,session:O,conversationBusy:P,onInputChange:Wn,onSessionPatch:R=>{const L=Ge.current;y(X=>(X==null?void 0:X.id)===L?{...X,...R}:X)},onSnapshot:R=>{const L=Ge.current;Dt(),N(y5(R)),y(X=>(X==null?void 0:X.id)===L?{...X,threadId:R.threadId,cwd:R.cwd??X.cwd,model:R.model??X.model,workspaceLocked:R.workspaceLocked,permissions:R.permissions,busy:!1}:X)},onActivity:(R,L=[])=>{const X=Ge.current;X&&En(X,R,L)},onError:G});m.useEffect(()=>{const R=O;if(!R||!P||Ze.current)return;let L=!1,X;const ne=new AbortController,fe=async()=>{try{const ge=await _i.getStatus(R.id,{signal:ne.signal});if(L||Ge.current!==R.id)return;const we=ge.threadId?await _i.readThread(R.id,ge.threadId,{signal:ne.signal}):null;if(L||Ge.current!==R.id)return;if(we&&N(AW(we,ge.busy)),y(Xe=>(Xe==null?void 0:Xe.id)===R.id?{...Xe,...ge,...we?{threadId:we.threadId,cwd:we.cwd??ge.cwd,model:we.model??ge.model,workspaceLocked:we.workspaceLocked,permissions:we.permissions}:{}}:Xe),Q(ge.busy),!ge.busy){const Xe=we==null?void 0:we.messages[we.messages.length-1];(Xe==null?void 0:Xe.role)==="user"&&G("云端 Codex 已结束,但没有生成回复,请重新发送任务。");return}}catch(ge){if((ge==null?void 0:ge.name)==="AbortError"||L)return;Q(!1),y(we=>(we==null?void 0:we.id)===R.id?{...we,busy:!1}:we),G(ge instanceof Error?ge.message:String(ge));return}X=window.setTimeout(fe,1500)};return X=window.setTimeout(fe,1500),()=>{L=!0,ne.abort(),X!==void 0&&window.clearTimeout(X)}},[P,O==null?void 0:O.id]);const Bc=ww[a]??"",gbe=Sw[a]??pwt,bbe=Ew[a]??mwt,Pr=bn==null?void 0:bn.graph,mB=[bn==null?void 0:bn.name,Pr==null?void 0:Pr.name,Pr==null?void 0:Pr.id].filter(R=>!!R),CC=fa.targetAgent&&Pr?w5(Pr,fa.targetAgent.name):Pr,Obe=(CC==null?void 0:CC.skills)??(fa.targetAgent?[]:(bn==null?void 0:bn.skills)??[]),ybe=Pr?mbe(Pr):[],gB=(Pr==null?void 0:Pr.instruction)??((WB=bn==null?void 0:bn.draft)==null?void 0:WB.instruction),xbe=bn&&gB!==void 0?B_e({instruction:gB,tools:[...new Set([...(Pr==null?void 0:Pr.tools)??bn.tools,...(or==null?void 0:or.tools.map(R=>R.name))??[],...Ys])],skills:(Pr==null?void 0:Pr.skills)??bn.skills}):null;function kw(R){eD(R);for(const L of R)L.status==="uploading"?kn.current.add(L.id):L.uri&&HE(n,L.uri).catch(X=>G(String(X)))}async function bB(R){try{await xP(n,dt,R),await yP(n,dt,R),s(L=>L.filter(X=>X.id!==R)),Zt(L=>{const{[R]:X,...ne}=L;return ne})}catch(L){G(String(L))}}function vbe(R){const L=Dr.find(fe=>fe.id===R);if(!L)return;const X=Dr.filter(fe=>fe.id!==R);eD([L]),L.status==="uploading"&&kn.current.add(R),br(X),X.length===0&&!li.trim()&&!!a&&le.length===0?(Wt.current="",o(""),bB(a)):L.uri&&HE(n,L.uri).catch(fe=>G(String(fe)))}const OB=(R,L)=>{var ge,we,Xe,nt,$t;const X=L.author&&L.author!=="user"?L.author:void 0;X&&(Zh(gt=>({...gt,[R]:X})),NO(gt=>({...gt,[R]:new Set(gt[R]??[]).add(X)})),H(gt=>{var ut;return(ut=gt[R])!=null&&ut.length?gt:{...gt,[R]:[X]}}));const ne=((ge=L.actions)==null?void 0:ge.transferToAgent)??((we=L.actions)==null?void 0:we.transfer_to_agent);ne&&H(gt=>{const ut=gt[R]??[];return ut[ut.length-1]===ne?gt:{...gt,[R]:[...ut,ne]}}),(((Xe=L.actions)==null?void 0:Xe.endOfAgent)??((nt=L.actions)==null?void 0:nt.end_of_agent)??(($t=L.actions)==null?void 0:$t.escalate))&&H(gt=>{const ut=gt[R]??[];return ut.length<=1?gt:{...gt,[R]:ut.slice(0,-1)}})},[Co,Rn]=m.useState(CW),[yB,xB]=m.useState([]),[wbe,NC]=m.useState({}),Zm=m.useCallback(R=>{xB(L=>{const X=L.findIndex(fe=>fe.id===R.id);if(X===-1)return[R,...L];const ne=[...L];return ne[X]={...ne[X],...R},ne})},[]),[Sbe,Ebe]=m.useState(!0),[Km,ws]=m.useState(!1),[kbe,jC]=m.useState("skills"),[Tbe,RC]=m.useState("技能库"),[_be,Tw]=m.useState(null),[_w,Gr]=m.useState(!1),[Jm,mi]=m.useState(!1),[Abe,ma]=m.useState(null),[Cbe,Aw]=m.useState("custom"),[vB,IC]=m.useState([]),uf=m.useRef([]),df=m.useRef(null),eg=m.useRef(null),[wB,Cw]=m.useState([]),[Ss,fl]=m.useState(""),No=m.useRef(null),[jO,Es]=m.useState(!1),[ff,tr]=m.useState(!1),[SB,DC]=m.useState(""),[Nbe,jbe]=m.useState("good"),[Rbe,Nw]=m.useState("basic"),[Ibe,Dbe]=m.useState("good"),[RO,jw]=m.useState(""),[Pbe,Mbe]=m.useState(null),[Wl,nr]=m.useState(!1),[EB,hl]=m.useState([]),tg=EB[EB.length-1],IO=tg==null?void 0:tg.page,PC=IO==="system-info",MC=m.useCallback(R=>{hl(L=>{var X;return((X=L[L.length-1])==null?void 0:X.page)===R.page?L:[...L,R]})},[]),Kh=m.useCallback(R=>{hl(L=>{var ne;if(((ne=L[L.length-1])==null?void 0:ne.page)===R)return L.slice(0,-1);const X=L.findIndex(fe=>fe.page===R);return X===-1?L:L.filter((fe,ge)=>ge!==X)})},[]),[Zl,jo]=m.useState(null),LC=m.useRef(null),[Kl,DO]=m.useState(()=>{const R=fc();return SO(R),R}),[Lbe,kB]=m.useState(!1),[$be,TB]=m.useState(""),[_B,Rw]=m.useState(null),[Qbe,AB]=m.useState({}),[Bbe,CB]=m.useState(()=>new Set),[Fc,Jl]=m.useState(null),[ng,Iw]=m.useState(Li(jn)),[NB,Ws]=m.useState(""),[jB,Zs]=m.useState(""),[ci,Wa]=m.useState(null),Uc=m.useCallback(()=>{Kh("agent-detail"),Wa(null),nr(!1),tr(!1)},[Kh]),[Fbe,$C]=m.useState(!1),Dw=m.useRef(!1),ig=m.useRef(!1),zc=m.useCallback(R=>{if(!dt)return!1;try{nW(localStorage,dt,R)}catch(L){return ft(L instanceof Error?L.message:"浏览器拒绝保存草稿,请稍后重试。"),!1}return uf.current=R,IC(R),ft(""),!0},[dt]),Vc=m.useCallback(R=>{var L;R&&((L=df.current)==null?void 0:L.id)!==R||(df.current=null,eg.current!==null&&(window.clearTimeout(eg.current),eg.current=null))},[]),hf=m.useCallback(()=>{const R=df.current;if(!R)return!0;const L=zc([R,...uf.current.filter(X=>X.id!==R.id)]);return L&&Vc(),L},[Vc,zc]),Ube=m.useCallback((R,L,X)=>{!R||!dt||(df.current&&df.current.id!==R&&hf(),df.current={id:R,draft:L,updatedAt:Date.now(),deploymentTarget:X},eg.current!==null&&window.clearTimeout(eg.current),eg.current=window.setTimeout(hf,dwt))},[hf,dt]),QC=m.useCallback(R=>{!R||!dt||(Vc(R),zc(uf.current.filter(L=>L.id!==R)))},[Vc,zc,dt]),RB=m.useCallback(R=>{if(!dt||R.length===0)return;const L=new Set(R.map(X=>X.id));df.current&&L.has(df.current.id)&&Vc(),zc(uf.current.filter(X=>!L.has(X.id))),NC(X=>Object.fromEntries(Object.entries(X).filter(([ne])=>!L.has(ne)))),L.has(Ss)&&(fl(""),ma(null),Jl(null),No.current=null,localStorage.removeItem(ZI(dt)))},[Vc,zc,Ss,dt]),IB=m.useCallback(R=>{if(!R||!dt)return;Vc(R);const L=No.current,X=uf.current.filter(ne=>ne.id!==R);zc((L==null?void 0:L.id)===R?[L,...X]:X)},[Vc,zc,dt]);m.useEffect(()=>(window.addEventListener("pagehide",hf),()=>{window.removeEventListener("pagehide",hf)}),[hf]),m.useEffect(()=>{if(!dt){Vc(),uf.current=[],IC([]),Cw([]),fl(""),ft(""),No.current=null;return}let R=[],L="";try{R=Gyt(localStorage,dt),localStorage.getItem(OC(dt))!==null&&nW(localStorage,dt,R),L=localStorage.getItem(ZI(dt))||"",ft("")}catch(ne){ft(ne instanceof Error?ne.message:"无法读取本机草稿,请稍后重试。")}uf.current=R,IC(R),Cw(bwt(dt));const X=R.find(ne=>ne.id===L);No.current=X??null,Co==="custom"&&X&&(fl(X.id),ma(X.draft),Jl(X.deploymentTarget??null))},[Vc,dt]),m.useEffect(()=>{if(!dt)return;const R=ZI(dt);try{Co==="custom"&&Ss?localStorage.setItem(R,Ss):localStorage.removeItem(R)}catch{ft("浏览器拒绝保存当前草稿位置,请检查站点存储权限后重试。")}},[Co,Ss,dt]);const zbe=m.useCallback(R=>{if(!dt)return;const L=[...new Set(R.filter(Boolean))];Cw(L),localStorage.setItem(v5(dt),JSON.stringify(L))},[dt]),Vbe=m.useCallback(async R=>{const L=R.filter(nt=>!!nt.runtimeId&&nt.canDelete===!0);if(L.length===0)return;const X=Rwt(Kl,n),ne=new Set(L.map(nt=>nt.runtimeId));CB(nt=>{const $t=new Set(nt);for(const gt of ne)$t.add(gt);return $t}),OE(ne);const fe=new Set,ge=new Set,we=new Set,Xe=[];for(const nt of L)try{if(!nt.region)throw new Error("Runtime 缺少地域信息,无法删除");await Ine(nt.runtimeId,nt.region),F_(nt.runtimeId),fe.add(nt.runtimeId),ge.add(nt.id)}catch($t){const gt=$t instanceof Error?$t.message:String($t);we.add(nt.runtimeId),Xe.push(`${nt.label}: ${gt}`)}if(fe.size>0&&(OE(fe),DO(fc()),Rw($t=>{if(!$t)return $t;const gt=new Set($t);for(const ut of fe)gt.delete(ut);return gt}),AB($t=>Object.fromEntries(Object.entries($t).filter(([gt])=>!fe.has(gt)))),Cw($t=>{const gt=$t.filter(ut=>!ge.has(ut));return dt&&localStorage.setItem(v5(dt),JSON.stringify(gt)),gt}),zc(uf.current.filter($t=>{var gt;return!((gt=$t.deploymentTarget)!=null&>.runtimeId)||!fe.has($t.deploymentTarget.runtimeId)})),(X?fe.has(X):L.some($t=>$t.id===n))&&(OOe(),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),Ws(""),Zs(""),nr(!0),G("")),ci!=null&&ci.runtime&&fe.has(ci.runtime.runtimeId)&&(Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),Uc(),Ws(""),Zs(""),nr(!0),G(""))),we.size>0&&CB(nt=>{const $t=new Set(nt);for(const gt of we)$t.delete(gt);return $t}),Xe.length>0){const nt=Xe.slice(0,3).join(";"),$t=Xe.length>3?`;另有 ${Xe.length-3} 个失败`:"";throw new Error(`${Xe.length} 个 Agent 删除失败:${nt}${$t}`)}},[ci,n,zc,Kl,Uc,dt]),BC=m.useCallback(async()=>{kB(!0),TB("");try{const R=[];let L="";do{const X=await IA({scope:_O,region:"all",pageSize:100,nextToken:L});R.push(...X.runtimes),L=X.nextToken}while(L&&R.length<2e3);Rw(new Set(R.map(X=>X.runtimeId))),AB(Object.fromEntries(R.map(X=>[X.runtimeId,{canDelete:X.canDelete}])))}catch(R){TB(R instanceof Error?R.message:String(R))}finally{kB(!1)}},[_O]);function qbe(R){console.log("create agent draft:",R),Rn(null),gf()}function FC(R,L){console.log("Agent added, navigating to:",R,L),DO(fc()),Rw(null),OE(),QC(Ss),fl(""),No.current=null,Jl(null),Ws(""),Zs(R),Nw("basic"),Rn(null),tr(!0),i(R)}const UC=m.useCallback(R=>{Rn(null),mi(!1),Uc(),tr(!0),Zs(""),Nw("basic"),Ws(R.id),G("")},[Uc]),Pw=m.useCallback(R=>{hf();const L=Ss?{...R,draftId:Ss}:R;Ss&&NC(X=>({...X,[Ss]:R.id})),Zm(L),UC(L)},[Ss,hf,UC,Zm]),Mw=m.useCallback(async R=>{if(!R.runtimeId)throw new Error("部署完成,但未返回 Runtime ID。");const L=Ss;L&&(QC(L),NC(ge=>{if(!ge[L])return ge;const we={...ge};return delete we[L],we})),fl(""),No.current=null,Jl(null);const X=(Fc==null?void 0:Fc.region)??ng,ne=await Nk(R.runtimeId,R.runtimeName,R.region??X,R.version,{waitForReady:!0,agentName:R.agentName});DO(fc()),Na(ge=>ge+1);const fe=await WI(ne);hi.current.set(ne,fe),Gs(fe),Rw(ge=>{const we=new Set(ge??[]);return we.add(R.runtimeId),we}),OE(),Zs(ne),Nw("basic"),Ws(""),Rn(null),tr(!0),i(ne)},[Ss,ng,QC,Fc]),rg=m.useRef(null),zC=m.useRef(new Map),Xbe=m.useRef(0),DB=m.useRef(new Map),PB=Kl.some(R=>!!(R.runtimeId&&R.region)&&R.apps.some(L=>wc(R.id,L)===n));m.useLayoutEffect(()=>{const R=new Map;le.forEach((L,X)=>{var we;const ne=((we=L.meta)==null?void 0:we.eventId)??"",fe=!!(PB&&ne&&Af(L)),ge=X===le.length-1&&(Rt||Ee);R.set(X,{enabled:!!(fe&&jn!=="byteplus"&&!ge&&!JI(L)),turn:L,input:fe?KI(le,X):""})}),DB.current=R},[Rt,jn,Ee,PB,le]);const MB=m.useCallback(()=>{var we;const R=window.getSelection(),L=(R==null?void 0:R.anchorNode)instanceof Element?R.anchorNode:(we=R==null?void 0:R.anchorNode)==null?void 0:we.parentElement,X=L==null?void 0:L.closest(".turn--assistant");if(!X)return;const ne=Number(X.dataset.responseAnnotationIndex);if(!Number.isInteger(ne))return;const fe=DB.current.get(ne);if(!(fe!=null&&fe.enabled))return;const ge=Xvt(X,R);ge&&pi({selectionId:++Xbe.current,turn:fe.turn,input:fe.input,selectedText:ge.text,anchor:ge.anchor})},[]);m.useEffect(()=>{let R=null;const L=X=>{X.target instanceof Element&&X.target.closest(".response-annotation-popover")||(R!==null&&window.cancelAnimationFrame(R),R=window.requestAnimationFrame(()=>{R=null,MB()}))};return document.addEventListener("mouseup",L,!0),document.addEventListener("keyup",L,!0),()=>{R!==null&&window.cancelAnimationFrame(R),document.removeEventListener("mouseup",L,!0),document.removeEventListener("keyup",L,!0)}},[MB]);const pf=m.useRef(!0),mf=m.useRef(!1),Jh=m.useRef(null),LB=m.useRef({key:"",turnCount:0}),VC=(O==null?void 0:O.id)??a;m.useLayoutEffect(()=>{const R=rg.current,L=LB.current,X=L.key!==VC,ne=!X&&le.length>L.turnCount;if(LB.current={key:VC,turnCount:le.length},!R||le.length===0||!X&&!ne)return;pf.current=!0,mf.current=!1,Jh.current!==null&&(window.clearTimeout(Jh.current),Jh.current=null);const fe=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(X||fe){R.scrollTop=R.scrollHeight;return}mf.current=!0,R.scrollTo({top:R.scrollHeight,behavior:"smooth"}),Jh.current=window.setTimeout(()=>{mf.current=!1,Jh.current=null;const ge=rg.current;ge&&pf.current&&(ge.scrollTop=ge.scrollHeight)},450)},[VC,le.length]),m.useLayoutEffect(()=>{const R=rg.current;!R||!pf.current||mf.current||(R.scrollTop=R.scrollHeight)},[Rt,le]),m.useEffect(()=>{if(!RO||ff||le.length===0)return;const R=zC.current.get(RO);if(!R)return;pf.current=!1,R.scrollIntoView({behavior:"smooth",block:"center"});const L=window.setTimeout(()=>{jw("")},2600);return()=>window.clearTimeout(L)},[RO,ff,le]),m.useEffect(()=>()=>{Jh.current!==null&&window.clearTimeout(Jh.current)},[]);const Hbe=m.useCallback(()=>{const R=rg.current;!R||mf.current||(pf.current=R.scrollHeight-R.scrollTop-R.clientHeight<32)},[]),Gbe=m.useCallback(R=>{R.deltaY<0&&(mf.current=!1,pf.current=!1)},[]),Ybe=m.useCallback(()=>{mf.current=!1,pf.current=!1},[]),Wbe=m.useCallback(()=>{const R=rg.current;!R||!pf.current||mf.current||(R.scrollTop=R.scrollHeight)},[]),qC=m.useCallback(()=>{Ow(null),mP().then(R=>{Hm(R.userId),Gm(R.info),Wm(!!R.local),Hh(R.status),R.status==="authenticated"&&(Dw.current=!0,ig.current=!0,localStorage.removeItem(sc.app),i(""),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),nr(!1))}).catch(R=>{Ow(R instanceof Error?R.message:String(R))})},[]);m.useEffect(()=>{qC()},[qC]),m.useEffect(()=>{const R=()=>{lf(""),gw(!0)};return window.addEventListener(gP,R),FTe()&&R(),()=>window.removeEventListener(gP,R)},[]);const Zbe=m.useCallback(async()=>{if(Yh.current)return;Yh.current=!0;const R=ITe();if(!R){Yh.current=!1,lf("登录窗口被浏览器拦截,请允许弹出窗口后重试。");return}Gh(!0),lf("");try{for(;;){await new Promise(L=>window.setTimeout(L,1e3));try{const L=await mP();if(L.status==="authenticated"){Hm(L.userId),Gm(L.info),Wm(!!L.local),Hh(L.status),gw(!1),UTe(),R.close();return}}catch{}if(R.closed){lf("登录窗口已关闭,请重新登录以继续当前操作。");return}}}finally{Yh.current=!1,Gh(!1)}},[]);m.useEffect(()=>{cf&&dt&&J7(dt)},[cf,dt]),m.useEffect(()=>{if(yr!=="authenticated"||!dt){x([]),k(""),E(!1);return}const R=new AbortController;return E(!0),k(""),Yc.listSessions({signal:R.signal}).then(L=>{if(R.signal.aborted)return;const X=Date.now();x(L.filter(ne=>{if(ne.resourceType!=="session")return!1;const fe=Date.parse(ne.expireAt);return ne.intelligentDevelopment&&(!Number.isFinite(fe)||fe>X)&&ne.status.toLowerCase()==="ready"}))}).catch(L=>{R.signal.aborted||k(L instanceof Error?L.message:String(L))}).finally(()=>{R.signal.aborted||E(!1)}),()=>R.abort()},[yr,dt]),m.useEffect(()=>{if(yr!=="authenticated"||!dt||Xs)return;const R=new URLSearchParams(window.location.search);if(R.get("view")!=="runtime-deploy"||R.get("source")!=="intelligent-development")return;const L=R.get("sessionId")??"",X=R.get("artifactSha256")??"",ne=R.get("validationReportSha256")??"";if(!L||!X||!ne)return;const fe=new AbortController;return cW(L,X,ne,fe.signal).then(ge=>{if(!fe.signal.aborted){if(!ge.deployable){Ar("该源码尚未准备好,请返回对话继续处理。");return}Lc({...ge,validatedAt:ge.validatedAt||"",gateSummary:ge.gateSummary||[]})}}).catch(ge=>{fe.signal.aborted||Ar(ge instanceof Error?ge.message:String(ge))}),()=>fe.abort()},[yr,Xs,dt]),m.useEffect(()=>{if(!Jm&&Co!=="intelligent")return;if(yr!=="authenticated"||!dt){qr(null),Ar(""),Ir(!0);return}const R=new AbortController;return Ir(!0),Ar(""),fetch(mo("/web/intelligent-development/capabilities"),{headers:Bh({Accept:"application/json"}),signal:R.signal}).then(async L=>{if(!L.ok)throw new Error(`智能开发能力检查失败(HTTP ${L.status})`);return L.json()}).then(L=>{R.signal.aborted||qr({enabled:L.enabled===!0,reason:typeof L.reason=="string"?L.reason:""})}).catch(L=>{R.signal.aborted||Ar(L instanceof Error?L.message:String(L))}).finally(()=>{R.signal.aborted||Ir(!1)}),()=>R.abort()},[Jm,yr,Co,dt]),m.useEffect(()=>{if(yr!=="authenticated"||!dt){Gs({});return}const R=f.current;if((R==null?void 0:R.agentId)===n&&R.userId===dt)return;const L=hi.current.get(n);if(L){Gs(L);return}let X=!1;return Gs({}),WI(n).then(ne=>{X||(hi.current.set(n,ne),Gs(ne))}),()=>{X=!0}},[n,yr,dt]),m.useLayoutEffect(()=>{!ss||Ji.skillCustomizationEnabled!==!1||fi!=="skill"||(Yi("agent"),Zi(null),Si(null))},[Ji.skillCustomizationEnabled,ss,fi]),m.useEffect(()=>{if(yr!=="authenticated"||!dt){Qu(null);return}let R=!1;return Qu(null),_ne().then(L=>{R||Qu(L)}).catch(L=>{console.warn("[app] /web/access failed; using ordinary-user access:",L),R||Qu(Tne)}),()=>{R=!0}},[yr,dt]),m.useEffect(()=>{kne().then(R=>{const L="prod";kmt({enabled:R.telemetry.enabled,environment:L});const X=R.telemetry.studio;Tmt({userPoolId:(X==null?void 0:X.userPoolId)??"",studioDeployId:(X==null?void 0:X.deployId)??"",applicationId:(X==null?void 0:X.applicationId)??"",functionId:(X==null?void 0:X.functionId)??"",studioRegion:(X==null?void 0:X.region)??"",studioProject:(X==null?void 0:X.project)??"",studioVersion:(X==null?void 0:X.version)||R.version,environment:L,cloudProvider:R.provider,accountId:(X==null?void 0:X.accountId)??""}),Amt({authState:"anonymous"}),yw(R.features),wC(R.agentsSource),EC(R.provider),AC((X==null?void 0:X.region)||Li(R.provider)),SC(R.branding),TC(R.version),xw(!0)})},[]),m.useEffect(()=>{if(yr!=="authenticated"||!TO||!Ii||!Ym)return;const R=String(Ii.telemetry.userId).trim();R&&(_mt({userUniqueId:R,accountId:Ii.telemetry.accountId??"",userRole:Ii.role==="admin"?"admin":"member",userSource:cf?"local":"sso"}),Cmt({agentsSource:Qc}))},[Ii,Qc,yr,cf,Ym,TO]),m.useEffect(()=>{Iw(R=>{const L=Li(jn);return!R||jn==="byteplus"&&R.startsWith("cn-")||jn==="volcengine"&&R.startsWith("ap-")?L:R})},[jn]),m.useEffect(()=>{Ii&&(Ii.capabilities.createAgents||(Rn(null),ma(null),Gr(!1),mi(!1),xB([])),Ii.capabilities.manageAgents||tr(!1))},[Ii]);let Za={kind:"home"};if(yr==="authenticated"){if(dl!==null)Za={kind:"page",title:"问题反馈"};else if(PC)Za={kind:"page",title:"系统信息"};else if(Zl)Za={kind:"page",title:Zl==="catalog"?"自动化":Bge(Zl).name};else if(xe)Za={kind:"page",title:xe.session.displayName||"智能体"};else if(Tt)Za={kind:"page",title:Tt.displayName||"智能体"};else if(Wl||ff)Za={kind:"page",title:(ci==null?void 0:ci.name)||"智能体"};else if(Jm)Za={kind:"page",title:"创建智能体"};else if(jO)Za={kind:"page",title:"搜索"};else if(_w)Za={kind:"page",title:"添加智能体"};else if(Km)Za={kind:"page",title:Tbe||"库"};else if(Co)Za={kind:"page",title:Co==="custom"?Fc!=null&&Fc.name?`更新 ${Fc.name}`:"创建智能体":Co==="package"?"从代码包添加":"迁移智能体"};else if(O){const R=Mt.threads.find(L=>L.id===O.threadId);Za={kind:"conversation",title:(R==null?void 0:R.name)||(R==null?void 0:R.preview)||O.displayName}}else if(a){const R=r.find(X=>X.id===a),L=DA(R==null?void 0:R.events);Za=L==="新会话"?{kind:"home"}:{kind:"conversation",title:L}}}const $B=sgt(Wh.title,Za);m.useEffect(()=>{yr!=="authenticated"||Qc!=="cloud"||!Ym||!ff||ci||BC()},[ci,Qc,yr,ff,BC,Ym]),m.useEffect(()=>{document.title=$B;let R=document.querySelector('link[rel~="icon"]');R||(R=document.createElement("link"),R.rel="icon",document.head.appendChild(R)),R.removeAttribute("type"),R.href=Wh.logoUrl||(jn==="byteplus"?j$:N$)},[jn,Wh.logoUrl,$B]),m.useEffect(()=>{fetch("/web/runtime-config",{signal:AbortSignal.timeout(1e4)}).then(R=>R.ok?R.json():null).then(R=>{R&&Ebe(!!R.credentials)}).catch(R=>{console.warn("[app] /web/runtime-config probe failed; workbench stays hidden:",R)})},[]);function Kbe(R){J7(R),Dw.current=!0,ig.current=!0,localStorage.removeItem(sc.app),Qu(null),Rn(null),ma(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),gf(),i(""),nr(!1),Hm(R),Gm({name:R}),Wm(!0),Hh("authenticated")}function Jbe(){Qu(null),cf?(jTe(),Hm(""),Gm(void 0),Hh("unauthenticated")):PTe()}m.useEffect(()=>{if(yr==="authenticated"){if(Qc==="cloud"){const R=LW(Kl);i(L=>L&&R.includes(L)?L:(L&&(ig.current=!0,localStorage.removeItem(sc.app)),""));return}zte().then(R=>{t(R);const L=LW(Kl);i(X=>X&&(R.includes(X)||L.includes(X))?X:(X&&(ig.current=!0,localStorage.removeItem(sc.app)),""))}).catch(R=>G(String(R)))}},[yr,Qc,Kl]),m.useEffect(()=>{n?(ig.current=!1,localStorage.setItem(sc.app,n)):localStorage.removeItem(sc.app)},[n]),m.useEffect(()=>{let R=!1;if(js(null),ul([]),Wl||ci||!n||!dt||!a){cl(!1);return}return cl(!0),wP(n,dt,a).then(L=>{R||(js(L),w$(n).then(X=>{R||ul(X)}).catch(()=>{R||ul([])}))}).catch(()=>{R||js(null)}).finally(()=>{R||cl(!1)}),()=>{R=!0}},[ci,n,Wl,dt,a]),m.useEffect(()=>{const R=f.current;if((R==null?void 0:R.agentId)===n&&R.userId===dt){ll(!1);return}let L=!1;if(ys(null),Hr(gl()),yr!=="authenticated"||Wl||ci||!n){ll(!1);return}return ll(!0),EP(n).then(X=>{L||ys(X)}).catch(()=>{L||ys(null)}).finally(()=>{L||ll(!1)}),()=>{L=!0}},[ci,n,ko,yr,Wl]),m.useEffect(()=>{Ii&&localStorage.setItem(sc.view,Ii.capabilities.createAgents?Co??"chat":"chat")},[Ii,Co]),m.useEffect(()=>{localStorage.setItem(sc.session,a),Wt.current=a},[a]),m.useEffect(()=>{const R=$W(Kl,n);if(!R||!dt){bi.current=()=>{},_o(wn=>wn.size===0?wn:new Set);return}const{runtimeId:L,region:X,appName:ne}=R;let fe=!1,ge=0;function we(){Ya.current!==void 0&&(window.clearTimeout(Ya.current),Ya.current=void 0)}function Xe(wn){we(),Ya.current=window.setTimeout(()=>void $t(),wn)}function nt(wn){const Un=new Set(wn.items.filter(Jn=>Jn.state==="running").map(Jn=>Jn.sessionId));if(_o(Jn=>Jn.size===Un.size&&[...Un].every(Di=>Jn.has(Di))?Jn:Un),Un.size>0){Xe(fwt);return}const Lt=wn.items.filter(Jn=>Jn.state==="pending").map(Jn=>Date.parse(Jn.dueAt)).filter(Number.isFinite);Lt.length>0&&Xe(Math.max(hwt,Math.min(...Lt)-Date.now()))}async function $t(){const wn=++ge;try{const Un=await OP({runtimeId:L,region:X,appName:ne,userId:dt});if(fe||wn!==ge)return;nt(Un)}catch{!fe&&wn===ge&&Xe(_W)}}const gt=()=>{we(),$t()};bi.current=gt;const ut=f.current;return(ut==null?void 0:ut.agentId)===n&&ut.userId===dt?ut.automaticEvaluationStatuses?nt(ut.automaticEvaluationStatuses):Xe(_W):gt(),()=>{fe=!0,ge+=1,we(),bi.current===gt&&(bi.current=()=>{})}},[n,Kl,dt]),m.useEffect(()=>()=>{d.current+=1,f.current=null},[]),m.useEffect(()=>()=>Ei.current.forEach(R=>R.abort()),[]),m.useEffect(()=>()=>xs.current.forEach(R=>{window.clearTimeout(R)}),[]),m.useEffect(()=>()=>{var R,L,X,ne;(R=mt.current)==null||R.abort(),(L=At.current)==null||L.abort(),(X=_e.current)==null||X.abort(),(ne=Ze.current)==null||ne.abort()},[]),m.useEffect(()=>{if(Wl||ci||O||!n||!dt)return;const R=f.current;if((R==null?void 0:R.agentId)===n&&R.userId===dt){f.current=null;return}let L=!1;return(async()=>{const X=await PO(n);if(!L){if(!Dw.current){Dw.current=!0;const ne=localStorage.getItem(sc.session)||"";if(CW()===null&&ne&&X.some(fe=>fe.id===ne)){MO(ne);return}}gf()}})(),()=>{L=!0}},[ci,n,Wl,O,dt]),m.useEffect(()=>{const R=LC.current;R&&R.app===n&&(LC.current=null,MO(R.sid))},[n]);function QB(R,L){Es(!1),R===n?MO(L):(LC.current={app:R,sid:L},i(R))}function BB(R,L){oi(X=>{const ne={...X};for(const fe of L)ne[Sy(R,fe.id)]=aF(fe.events??[]);return ne}),s(L)}async function PO(R){const L=u.current+1;u.current=L;try{const X=await TW(R,dt);return u.current!==L||BB(R,X),X}catch(X){return u.current===L&&G(String(X)),[]}}function XC(R="codex",L=!1){O||(G(""),Ye(""),ot("confirm"),ie(R),ye(L),Te(!0))}function eOe(){var R;(R=mt.current)==null||R.abort(),mt.current=null,Te(!1),ot("confirm"),Ye(""),!O&&di!=="agent"&&!ue&&Pn("agent")}async function tOe(R,L){var fe;(fe=mt.current)==null||fe.abort();const X=new AbortController;mt.current=X,ot("loading"),Ye("");const ne=Nmt({sandboxKind:Z,sandboxSource:ue?"my_agents":"new_chat"});try{const ge=Z==="codex"?await _i.startSession({displayName:R,persistent:L,signal:X.signal}):await _i.startAgentSession(Z,{displayName:R,persistent:L,signal:X.signal});if(mt.current!==X){ne.fail({errorKind:"abort"});return}if(ne.succeed({sandboxId:String(ge.id)}),ue){et(Xe=>Xe+1),Te(!1),ot("confirm"),nr(!0);return}if(Z!=="codex"){const Xe=await _i.openAgentSession(Z,ge.id,{signal:X.signal});if(mt.current!==X)return;Wt.current="",o(""),g([]),Wn(""),Hr(gl()),Pn(Z==="deepseek-harness"?"deepseek-harness":"agent"),kw(Dr),br([]),Dt(),N([]),y(null),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),nr(!1),vt(null),ze(Xe),Te(!1),ot("confirm");return}const we=await _i.connectSession(ge.id,{signal:X.signal});if(mt.current!==X)return;Wt.current="",o(""),g([]),Wn(""),Hr(gl()),Pn("temporary"),kw(Dr),br([]),Dt(),N([]),y(we),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),nr(!1),vt(null),ze(null),Te(!1),ot("confirm")}catch(ge){if(ne.fail(Ia(ge)),(ge==null?void 0:ge.name)==="AbortError"||mt.current!==X)return;Ye(ge instanceof Error?ge.message:String(ge)),ot("error")}finally{mt.current===X&&(mt.current=null)}}function FB(R,L){Wt.current="",o(""),g([]),Wn(""),Hr(gl()),kw(Dr),br([]),Dt(),N(L),Ge.current=R.id,y(R),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),nr(!1),hl([]),jo(null),vt(null),ze(null)}async function nOe(R){var X;if((O==null?void 0:O.id)===R.id)return;(X=_e.current)==null||X.abort();const L=new AbortController;_e.current=L,C(R.id),k(""),G("");try{O&&ec();const ne=await Yc.connectSession(R.id,{signal:L.signal});if(L.signal.aborted)return;const fe=ne.restoredConversation?y5(ne.restoredConversation):[];FB(ne,fe);try{const ge=await gxt(ne.id,L.signal);ge&&Ge.current===ne.id&&N(we=>Dwt(we,ge))}catch(ge){!L.signal.aborted&&Ge.current===ne.id&&G(ge instanceof Error?ge.message:String(ge))}}catch(ne){L.signal.aborted||G(ne instanceof Error?ne.message:String(ne))}finally{_e.current===L&&(_e.current=null,C(""))}}async function iOe(R){if(P&&(O==null?void 0:O.id)===R.id){G("当前构建仍在进行,请先停止后再删除会话。");return}C(R.id),G("");try{await Yc.deleteSession(R.id),x(L=>L.filter(X=>X.id!==R.id)),(O==null?void 0:O.id)===R.id&&ec(!1),Vt(null)}catch(L){G(L instanceof Error?L.message:String(L))}finally{C(L=>L===R.id?"":L)}}async function Lw(R,L="my_agents"){G("");const X=wI({targetId:String(R.id),agentKind:R.toolName,connectSource:L});try{const ne=R.resourceType==="snapshot"?await _i.resumeSnapshot(R.toolName,R.snapshotId):R;if(R.resourceType==="snapshot"&&et(ge=>ge+1),ne.toolName==="codex"){const ge=await _i.connectSession(ne.id),we=await gwt(ge);X.succeed({sandboxStatus:NW(ge.status)}),Wt.current="",o(""),g([]),Wn(""),Hr(gl()),Dt(),we?(N(AW(we,ge.busy)),y({...ge,threadId:we.threadId,cwd:we.cwd??ge.cwd,workspaceLocked:we.workspaceLocked,permissions:we.permissions,...we.model?{model:we.model}:{}})):(N([]),y(ge)),Q(ge.busy),Kh("sandbox-agent-detail"),vt(null),ze(null),nr(!1),tr(!1);return}const fe=await _i.openAgentSession(ne.toolName,ne.id);X.succeed({sandboxStatus:NW(fe.session.status)}),Kh("sandbox-agent-detail"),ze(fe),vt(null),nr(!1),tr(!1)}catch(ne){throw X.fail(Ia(ne)),G(ne instanceof Error?ne.message:String(ne)),ne}}async function rOe(R){const X=(await _i.listSessions()).find(ne=>ne.resourceType==="session"&&ne.toolName==="codex"&&ne.id===R);if(!X)throw new Error("云端 Codex Session 暂未出现在列表中,请稍后重试。");await Lw(X,"my_agents"),je(!1)}function sOe(R){Xt(R.toolName),MC({page:"sandbox-agent-detail",returnTo:"agents"}),vt(R),ze(null),nr(!0),tr(!1),G("")}async function aOe(R){R.resourceType==="snapshot"?await _i.deleteSnapshot(R.toolName,R.snapshotId):((O==null?void 0:O.id)===R.id&&ec(),R.toolName==="codex"?await _i.deleteSession(R.id):await _i.deleteAgentSession(R.toolName,R.id)),Xt(R.toolName),Kh("sandbox-agent-detail"),vt(null),ze(null),et(L=>L+1),nr(!0)}async function oOe(){const R=Be;if(!R)return;await Mt.deleteThread(R.id)&&bt(null)}function ec(R=!0){var X;(X=Ze.current)==null||X.abort(),Ze.current=null,Ge.current="",Ft.current="",Q(!1),Dt(),N([]),br([]),Wn(""),G(""),Pn("agent"),$(!1),I(""),B(!1),Y(!1),U(null),re(null),be(!1),K(""),me(null),Ne(!1),De(""),Yt(),bt(null),Se(!1),mn.current+=1;const L=O;y(null),L&&R&&(L.intelligentDevelopment?Yc:_i).closeSession(L.id).catch(fe=>G(String(fe)))}async function HC(R){const L=O;if(L){U(R),re(null),K(""),be(!0);try{const X=R==="terminal"?await Ao.launchTerminal(L.id):await Ao.launchBrowser(L.id);re(X)}catch(X){K(X instanceof Error?X.message:String(X))}finally{be(!1)}}}async function lOe(){var L;const R=O;if(!(!R||Oe==="copying")){Le("copying"),G("");try{if(!((L=navigator.clipboard)!=null&&L.writeText))throw new Error("当前浏览器不支持写入剪贴板。");const X=await _i.getEndpoint(R.id);if(await navigator.clipboard.writeText(X.endpoint),Ge.current!==R.id)return;Le("copied"),en.current!==void 0&&window.clearTimeout(en.current),en.current=window.setTimeout(()=>{Le("idle"),en.current=void 0},1600)}catch(X){if(Ge.current!==R.id)return;Le("idle"),G(X instanceof Error?X.message:String(X))}}}async function cOe(R){const L=O;if(!(!L||D)){$(!0),I("");try{const X=await Ao.updatePermissions(L.id,R);y(ne=>(ne==null?void 0:ne.id)===L.id?{...ne,permissions:X}:ne),En(L.id,"已更新当前 Sandbox Session 的 Codex 权限",[{label:"沙箱模式",value:_wt[X.sandboxMode]},{label:"审批策略",value:Awt[X.approvalPolicy]},{label:"审批方式",value:Cwt[X.approvalsReviewer]},{label:"网络访问",value:X.networkAccess?"允许":"关闭"}]),Ge.current===L.id&&B(!1)}catch(X){I(X instanceof Error?X.message:String(X))}finally{$(!1)}}}const uOe=m.useCallback(async R=>{const L=O==null?void 0:O.id;if(!L)throw new Error("当前没有已连接的 Sandbox。");return Ao.listDirectories(L,R)},[O==null?void 0:O.id]);async function dOe(R){const L=O;if(!(!L||L.workspaceLocked||D)){$(!0),I("");try{const X=await Ao.updateWorkspace(L.id,R);y(ne=>(ne==null?void 0:ne.id)===L.id?{...ne,cwd:X}:ne),Mt.invalidateSkills(),En(L.id,"已更新工作空间",[{label:"工作目录",value:X,code:!0}]),Ge.current===L.id&&Y(!1)}catch(X){I(X instanceof Error?X.message:String(X))}finally{$(!1)}}}async function fOe(R){const L=O,X=ee;if(!(!L||!X||ve)){Ne(!0),De("");try{await Ao.resolveApproval(L.id,X.id,R),En(L.id,Nwt(X,R),jwt(X),Ft.current),me(ne=>(ne==null?void 0:ne.id)===X.id?null:ne)}catch(ne){De(ne instanceof Error?ne.message:String(ne))}finally{Ne(!1)}}}async function hOe(R){const L=O;if(!L||pe)return;const X=++mn.current;G(""),Se(!0);const ne=Array.from(R).map(fe=>{const ge={id:PW(),mimeType:MW(fe),name:fe.name,sizeBytes:fe.size,status:"uploading",previewUrl:Re(fe)};return{file:fe,attachment:ge}});br(fe=>[...fe,...ne.map(({attachment:ge})=>ge)]);try{const ge=(await Promise.all(ne.map(async({file:we,attachment:Xe})=>{try{const nt=await Ao.uploadFile(L.id,we);return mn.current!==X?null:(br($t=>$t.map(gt=>gt.id===Xe.id?{...gt,id:nt.id,uri:nt.path,name:nt.name,mimeType:nt.mimeType,sizeBytes:nt.sizeBytes,status:"ready"}:gt)),nt)}catch(nt){if(mn.current!==X)return null;const $t=nt instanceof Error?nt.message:String(nt);return br(gt=>gt.map(ut=>ut.id===Xe.id?{...ut,status:"error",error:$t}:ut)),G($t),null}}))).filter(we=>we!==null);mn.current===X&&ge.length>0&&En(L.id,ge.length===1?"已上传文件到 Sandbox":`已上传 ${ge.length} 个文件到 Sandbox`,ge.map((we,Xe)=>({label:ge.length===1?"文件":`文件 ${Xe+1}`,value:we.path,code:!0})))}finally{if(mn.current===X)Se(!1);else for(const{attachment:fe}of ne)rt(fe.previewUrl)}}function pOe(R){const L=Dr.find(X=>X.id===R);L&&(rt(L.previewUrl),br(X=>X.filter(ne=>ne.id!==R)))}function mOe(){var X;const R=Ze.current,L=O;if(R){if(L!=null&&L.intelligentDevelopment){if(((X=Ae.current)==null?void 0:X.controller)===R)return;const ne=Yc.interruptSession(L.id).then(()=>{var fe;return((fe=Ae.current)==null?void 0:fe.controller)===R&&R.abort(),!0}).catch(fe=>{var ge;return((ge=Ae.current)==null?void 0:ge.controller)===R&&(Ae.current=null),Ge.current===L.id&&Ze.current===R&&G(fe instanceof Error?fe.message:String(fe)),!1});Ae.current={controller:R,promise:ne};return}R.abort(),L&&_i.interruptSession(L.id).catch(ne=>{Ge.current===L.id&&G(ne instanceof Error?ne.message:String(ne))})}}function tc(R){var L;if(O!=null&&O.intelligentDevelopment&&P){Ct.current=R,tt(!0);return}(L=_e.current)==null||L.abort(),R()}async function gOe(){var X,ne;const R=O,L=Ct.current;if(!(R!=null&&R.intelligentDevelopment)||!L){tt(!1),Ct.current=null;return}Yn(!0),G("");try{await Yc.interruptSession(R.id),(X=Ze.current)==null||X.abort(),Ct.current=null,tt(!1),(ne=_e.current)==null||ne.abort(),L()}catch(fe){G(fe instanceof Error?fe.message:String(fe))}finally{Yn(!1)}}async function GC(R,L=[],X=[],ne){var ks;const fe=ne??O,ge=L.filter(_t=>_t.status==="ready"&&_t.uri);if(!fe||P||!R.trim()&&ge.length===0)return;G(""),me(null),De("");const we=iY({agentId:String(fe.id),agentKind:fe.toolName,messageSource:"composer",sessionState:"existing",sessionId:String(fe.id)}),Xe=new AbortController;(ks=Ze.current)==null||ks.abort(),Ze.current=Xe;const nt=[];X.length>0&&nt.push({kind:"invocation",value:{skills:X.map(({name:_t,description:Qt})=>({name:_t,description:Qt}))}}),ge.length>0&&nt.push({kind:"attachment",files:ge.map(_t=>({id:_t.id,mimeType:_t.mimeType,name:_t.name,sizeBytes:_t.sizeBytes,previewUrl:_t.previewUrl}))}),R.trim()&&nt.push({kind:"text",text:R});const $t=ge.map(_t=>_t.uri).filter(_t=>!!_t),ut=[X.map(_t=>`$${_t.name}`).join(" "),R.trim()].filter(Boolean).join(" "),wn=$t.length>0?[ut,"以下文件已上传到当前 Sandbox 工作空间,请在任务中使用:",...$t.map(_t=>`- ${_t}`)].filter(Boolean).join(` -`):ut,Bn=crypto.randomUUID(),Dt=crypto.randomUUID(),Yn=[{role:"user",blocks:nt,meta:{localId:Bn,ts:Date.now()/1e3}},{role:"assistant",blocks:[],meta:{localId:Dt}}];Nt.current=Dt,R(Ct=>[...Ct,...Yn]),B(!0),y(Ct=>(Ct==null?void 0:Ct.id)===de.id?{...Ct,busy:!0,workspaceLocked:!0}:Ct);const Ci=de.intelligentDevelopment?$c:Ei;try{const Ct=await Ci.sendMessage({sessionId:de.id,text:pn,skillIds:X.map(Lt=>Lt.id)},{signal:qe.signal,onApproval:Lt=>{qe.signal.aborted||We.current!==qe||(De(""),ye(Lt))},onApprovalResolved:Lt=>{qe.signal.aborted||We.current!==qe||ye(Wt=>(Wt==null?void 0:Wt.id)===Lt?null:Wt)},onBlocks:Lt=>{qe.signal.aborted||We.current!==qe||R(Wt=>{const Fn=Wt.slice(),sn=Fn.findIndex(ui=>{var jr;return((jr=ui.meta)==null?void 0:jr.localId)===Dt}),kr=Fn[sn];return(kr==null?void 0:kr.role)==="assistant"&&(Fn[sn]={...kr,blocks:Lt}),Fn})},onUsage:Lt=>{qe.signal.aborted||We.current!==qe||R(Wt=>{const Fn=Wt.slice(),sn=Fn.findIndex(ui=>{var jr;return((jr=ui.meta)==null?void 0:jr.localId)===Dt}),kr=Fn[sn];return(kr==null?void 0:kr.role)==="assistant"&&(Fn[sn]={...kr,meta:{...kr.meta,sandboxUsage:Lt.usage}}),Fn})}});if(qe.signal.aborted||We.current!==qe){Se.fail({sessionId:String(de.id),failedPhase:"sandbox_send",errorKind:"abort"});return}Se.succeed({sessionId:String(de.id)}),R(Lt=>{const Wt=Lt.slice(),Fn=Wt.findIndex(kr=>{var ui;return((ui=kr.meta)==null?void 0:ui.localId)===Dt}),sn=Wt[Fn];return(sn==null?void 0:sn.role)==="assistant"&&(Wt[Fn]={...sn,blocks:Ct.blocks,meta:{...sn.meta,ts:Date.now()/1e3,...Ct.usage?{sandboxUsage:Ct.usage.usage}:{}}}),Wt}),de.intelligentDevelopment||jn.refreshThreads()}catch(Ct){if(Se.fail({sessionId:String(de.id),failedPhase:"sandbox_send",...Ta(Ct)}),(Ct==null?void 0:Ct.name)==="AbortError"||We.current!==qe)return;R(Lt=>Lt.filter(Wt=>{var Fn,sn;return((Fn=Wt.meta)==null?void 0:Fn.localId)!==Bn&&((sn=Wt.meta)==null?void 0:sn.localId)!==Dt})),Nn(N),cr(L),jn.setSelectedSkills(X),we(`内置智能体发送失败:${Ct instanceof Error?Ct.message:String(Ct)}`);try{const Lt=await Ci.getSettings(de.id);y(Wt=>(Wt==null?void 0:Wt.id)===de.id?{...Wt,...Lt}:Wt)}catch{}}finally{if(We.current===qe){const Ct=Ae.current;if((Ct==null?void 0:Ct.controller)===qe){const Lt=await Ct.promise;Ae.current===Ct&&(Ae.current=null),Lt&&(R(Wt=>Wt.filter(Fn=>{var sn;return((sn=Fn.meta)==null?void 0:sn.localId)!==Dt||Fn.blocks.length>0})),ln(de.id,"已停止,可继续输入"))}We.current=null,Nt.current===Dt&&(Nt.current=""),B(!1),ye(null),y(Lt=>(Lt==null?void 0:Lt.id)===de.id?{...Lt,busy:!1}:Lt)}}}async function nOe(N){if(!(O!=null&&O.intelligentDevelopment)&&await jn.executeSlash(N)||!O||P||jn.commandBusy)return;const L=xr,X=jn.selectedSkills;Nn(""),cr([]),jn.setSelectedSkills([]),await QC(N.trim(),L,X)}function df(){Vl(),we(""),lw(wW()),$n("agent"),ci(null),Oi(null);const N=a&&xi.length===0&&xr.length>0?a:"";Je.current="",o(""),yn(null),zs([]),p(!1),g([]),vr(al()),vw(xr),cr([]),N&&lB(N)}function iOe(){var N;Wm.current=!0,localStorage.removeItem(Gl.app),a&&((N=fs.current.get(a))==null||N.abort()),c.current=null,df(),i(""),Br({}),Oo(null)}function rOe(){BC(),Cr(null),Nu(null),Tn(null),ps(!1),ww(null),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So(null),df()}function BC(){var N;(N=Rt.current)==null||N.abort(),Rt.current=null,ni(null)}async function sOe(N){var L;try{(L=fs.current.get(N))==null||L.abort(),Ze(N,!1),await dP(n,ct,N),await uP(n,ct,N);const X=hs.current.get(N);X!==void 0&&window.clearTimeout(X),hs.current.delete(N),wa(te=>{if(!te.has(N))return te;const de=new Set(te);return de.delete(N),de}),Cn(te=>{const{[N]:de,...pe}=te;return pe}),gi(te=>{const de=my(n,N);if(!(de in te))return te;const{[de]:pe,...Se}=te;return Se}),N===a&&df(),await _O(n)}catch(X){we(String(X))}}async function AO(N){if(O&&Vl(),N!==a&&(Je.current=N,we(""),p(!1),g([]),$n("agent"),ci(null),vr(al()),yn(null),zs([]),o(N),fn[N]===void 0)){zt(!0);try{const L=await kA(n,ct,N);lt(N,Q_e(L.events??[],L.state)),gi(X=>({...X,[my(n,N)]:Z7(L.events??[])}))}catch(L){we(String(L))}finally{zt(!1)}}}async function aOe(N){if(!N.sessionId||!N.messageId){we("这条案例缺少会话定位信息,无法跳转。");return}gs(!1),Tn(null),Fr(!1),oi(!1),ps(!1),jc(),kC(n),gbe(N.kind),_w(N.messageId),await AO(N.sessionId)}function oOe(){const N=pB||n;gs(!1),Tn(null),Fr(!1),oi(!1),ps(!1),Vs(""),qs(N),Tw("evaluations"),ybe(mbe),Yi(!0),kC(""),_w("")}function lOe(N){const L=new Map,X=new Map;for(const te of N){if(!te.sessionId||!te.messageId)continue;const de=L.get(te.sessionId)??new Set;if(de.add(te.messageId),L.set(te.sessionId,de),te.runtimeId&&te.userId){const pe=[te.runtimeId,n,te.userId,te.sessionId].join(":"),Se=X.get(pe)??{runtimeId:te.runtimeId,appName:n,userId:te.userId,sessionId:te.sessionId,eventIds:new Set};Se.eventIds.add(te.messageId),X.set(pe,Se)}}if(L.size!==0){Cn(te=>{const de={...te};for(const[pe,Se]of L){const qe=de[pe];qe&&(de[pe]=qe.map(nt=>{var Mt;return(Mt=nt.meta)!=null&&Mt.eventId&&Se.has(nt.meta.eventId)?{...nt,meta:{...nt.meta,feedback:void 0}}:nt}))}return de}),s(te=>te.map(de=>{const pe=L.get(de.id);if(!pe||!de.state)return de;const Se={...de.state};for(const qe of pe)delete Se[`veadk_feedback:${qe}`];return{...de,state:Se}})),En(te=>{const de=new Set(te);for(const pe of L.values())for(const Se of pe)de.delete(Se);return de});for(const te of X.values())Tte({runtimeId:te.runtimeId,appName:te.appName,userId:te.userId,sessionId:te.sessionId,eventIds:[...te.eventIds]});vbe(te=>te&&(N.some(de=>de.id===te.id||de.messageId===te.messageId)?null:te))}}async function DB(N=!0){if(a)return a;c.current||(c.current=Qte(n,ct));const L=c.current;try{const X=await L;N&&o(X);const te=Date.now()/1e3,de={id:X,lastUpdateTime:te,events:[]};return s(pe=>[de,...pe.filter(Se=>Se.id!==X)]),X}finally{c.current===L&&(c.current=null)}}async function cOe(N){if(!n||!ct||!a||!nn)return!1;Hi(!0),we("");try{const L=await pP(n,ct,a,N,nn.revision);return yn(L),!0}catch(L){return we(String(L)),!1}finally{Hi(!1)}}async function uOe(N){if(!(!n||!ct||!a||!nn)){Hi(!0),we("");try{const L=await Zte(n,ct,a,N,nn.revision);yn(L)}catch(L){we(String(L))}finally{Hi(!1)}}}async function dOe(N){we("");let L;try{L=await DB()}catch(te){we(String(te));return}const X=Array.from(N).map(te=>({file:te,attachment:{id:SW(),mimeType:EW(te),name:te.name,sizeBytes:te.size,status:"uploading"}}));cr(te=>[...te,...X.map(de=>de.attachment)]),await Promise.all(X.map(async({file:te,attachment:de})=>{try{const pe=await Hte(n,ct,L,te);if(Ua.current.delete(de.id)){pe.uri&&await zE(n,pe.uri);return}cr(Se=>Se.map(qe=>qe.id===de.id?pe:qe))}catch(pe){if(Ua.current.delete(de.id))return;const Se=pe instanceof Error?pe.message:String(pe);cr(qe=>qe.map(nt=>nt.id===de.id?{...nt,status:"error",error:Se}:nt)),we(Se)}}))}async function IB(N,L=[],X=al(),te="composer"){if(!N.trim()&&L.length===0||xw||K0e||!n||!ct)return;we("");const de=!a,pe=de?"new":"existing",Se=!!la,qe=la?HY({agentId:String(n),agentKind:"runtime",messageSource:te,sessionState:pe,...a?{sessionId:String(a)}:{}}):null,nt=[];(X.skills.length>0||X.targetAgent)&&nt.push({kind:"invocation",value:X}),L.length&&nt.push({kind:"attachment",files:L.map(Dt=>({id:Dt.id,mimeType:Dt.mimeType,data:Dt.data,uri:Dt.uri,name:Dt.name,sizeBytes:Dt.sizeBytes}))}),N.trim()&&nt.push({kind:"text",text:N});const Mt=[{role:"user",blocks:nt,meta:{ts:Date.now()/1e3}},{role:"assistant",blocks:[]}];de&&(g(Mt),p(!0));const gt=vi;let ut;try{ut=await DB(!de)}catch(Dt){de&&(g([]),p(!1),Nn(N),vr(X)),Se&&(qe==null||qe.fail({failedPhase:"create_session",...Ta(Dt)})),we(String(Dt));return}let pn=HN(nn);if(gt)try{let Dt=await hP(n,ct,ut);const Yn=Rgt[gt].filter(Ci=>{var bs;return(bs=Xi.builtinTools)==null?void 0:bs.includes(Ci)});for(const Ci of[...jge[gt],...Yn])Dt.tools.some(bs=>bs.name===Ci)||(Dt=await pP(n,ct,ut,{kind:"tool",name:Ci},Dt.revision));yn(Dt),pn=HN(Dt)}catch(Dt){de&&(g([]),p(!1),Nn(N),vr(X)),Se&&(qe==null||qe.fail({sessionId:String(ut),failedPhase:"mount_task_capabilities",...Ta(Dt)})),we(`任务能力挂载失败:${String(Dt)}`);return}lt(ut,Dt=>de?Mt:[...Dt,...Mt]),de&&(Je.current=ut,o(ut),g([]),p(!1));const Bn=new AbortController;fs.current.set(ut,Bn),xo(ut,!0),z(ut),Je.current=ut,Du(Dt=>({...Dt,[ut]:""})),Ql(Dt=>({...Dt,[ut]:new Set})),Um(Dt=>({...Dt,[ut]:[]}));try{let Dt=cd(),Yn="",Ci=0,bs=Date.now()/1e3,Ct="",Lt="",Wt=!1,Fn=null;for await(const sn of gP({appName:n,userId:ct,sessionId:ut,text:N,attachments:L,invocation:X,signal:Bn.signal,sessionCapabilities:pn})){if(Bn.signal.aborted)break;const kr=sn.error??sn.errorMessage??sn.error_message;if(typeof kr=="string"&&kr){Wt=!0,Fn=kr,Je.current===ut&&we(kr);break}cB(ut,sn);const ui=sn.author&&sn.author!=="user"?sn.author:"";ui&&ui!==Yn&&(Yn=ui,Dt=cd()),Dt=OT(Dt,sn);const jr=sn.usageMetadata??sn.usage_metadata;Tt(n,ut,sn),jr!=null&&jr.totalTokenCount&&(Ci=jr.totalTokenCount),sn.timestamp&&(bs=sn.timestamp),sn.id&&(Ct=sn.id);const Xa=sn.invocationId??sn.invocation_id;Xa&&(Lt=Xa);const Si=Dt.blocks,RO={author:Yn||void 0,tokens:Ci||void 0,ts:bs,eventId:Ct||void 0,invocationId:Lt||void 0};lt(ut,Iw=>{var DO;const Pu=Iw.slice(),Mu=Pu[Pu.length-1];return(Mu==null?void 0:Mu.role)==="assistant"&&(!((DO=Mu.meta)!=null&&DO.author)||Mu.meta.author===Yn)?Pu[Pu.length-1]={...Mu,blocks:Si,meta:RO}:Pu.push({role:"assistant",blocks:Si,meta:RO}),Pu})}_O(n),Se&&Bn.signal.aborted?qe==null||qe.fail({sessionId:String(ut),failedPhase:"run_sse",errorKind:"abort"}):Se&&(Wt?qe==null||qe.fail({sessionId:String(ut),failedPhase:"run_sse",...Ta(Fn??"run_sse failed")}):qe==null||qe.succeed({sessionId:String(ut)})),!Bn.signal.aborted&&!Wt&&Ct&&wr.current()}catch(Dt){Se&&(qe==null||qe.fail({sessionId:String(ut),failedPhase:"run_sse",...Ta(Dt)})),(Dt==null?void 0:Dt.name)!=="AbortError"&&!Bn.signal.aborted&&Je.current===ut&&we(String(Dt))}finally{fs.current.get(ut)===Bn&&fs.current.delete(ut),xo(ut,!1),Te(ut),Du(Dt=>({...Dt,[ut]:""})),Um(Dt=>({...Dt,[ut]:[]}))}}function fOe(){var N;a&&((N=fs.current.get(a))==null||N.abort())}function hOe(N,L){var de,pe;const X=((de=N==null?void 0:N.event)==null?void 0:de.name)??L.id,te=((pe=N==null?void 0:N.event)==null?void 0:pe.context)??{};IB(`[ui-action] ${X}: ${JSON.stringify(te)}`,[],al(),"a2ui_action")}async function pOe(N){var nt,Mt,gt;if(!N.authUri)throw new Error("事件中没有授权地址。");if(!n||!ct||!a)throw new Error("会话尚未就绪。");const L=a,X=await Jvt(N.authUri),te=ewt(N.authConfig,X),de=ut=>ut.map(pn=>pn.kind==="auth"&&!pn.done?{...pn,done:!0}:pn);lt(L,ut=>{const pn=ut.slice(),Bn=pn[pn.length-1];return(Bn==null?void 0:Bn.role)==="assistant"&&(pn[pn.length-1]={...Bn,blocks:de(Bn.blocks)}),pn});const pe=ae[ae.length-1],Se=de(pe&&pe.role==="assistant"?pe.blocks:[]),qe=new AbortController;fs.current.set(L,qe),xo(L,!0),z(L);try{let ut=cd(),pn=((nt=pe==null?void 0:pe.meta)==null?void 0:nt.author)??"",Bn=Se,Dt=0,Yn=Date.now()/1e3,Ci=((Mt=pe==null?void 0:pe.meta)==null?void 0:Mt.eventId)??"",bs=((gt=pe==null?void 0:pe.meta)==null?void 0:gt.invocationId)??"",Ct=!1;for await(const Lt of gP({appName:n,userId:ct,sessionId:a,text:"",functionResponses:[{id:N.callId,name:"adk_request_credential",response:te}],signal:qe.signal,sessionCapabilities:HN(nn)})){if(qe.signal.aborted)break;const Wt=Lt.error??Lt.errorMessage??Lt.error_message;if(typeof Wt=="string"&&Wt){Ct=!0,Je.current===L&&we(Wt);break}cB(L,Lt);const Fn=Lt.author&&Lt.author!=="user"?Lt.author:"";Fn&&Fn!==pn&&(pn=Fn,Bn=[],ut=cd()),ut=OT(ut,Lt);const sn=Lt.usageMetadata??Lt.usage_metadata;Tt(n,L,Lt),sn!=null&&sn.totalTokenCount&&(Dt=sn.totalTokenCount),Lt.timestamp&&(Yn=Lt.timestamp),Lt.id&&(Ci=Lt.id);const kr=Lt.invocationId??Lt.invocation_id;kr&&(bs=kr);const ui=[...Bn,...ut.blocks];lt(L,jr=>{var Iw,Pu,Mu,DO,UB;const Xa=jr.slice(),Si=Xa[Xa.length-1],RO={author:pn||((Iw=Si==null?void 0:Si.meta)==null?void 0:Iw.author),tokens:Dt||((Pu=Si==null?void 0:Si.meta)==null?void 0:Pu.tokens),ts:Yn,eventId:Ci||((Mu=Si==null?void 0:Si.meta)==null?void 0:Mu.eventId),invocationId:bs||((DO=Si==null?void 0:Si.meta)==null?void 0:DO.invocationId)};return(Si==null?void 0:Si.role)==="assistant"&&(!((UB=Si.meta)!=null&&UB.author)||Si.meta.author===pn)?Xa[Xa.length-1]={...Si,blocks:ui,meta:RO}:Xa.push({role:"assistant",blocks:ui,meta:RO}),Xa})}_O(n),!qe.signal.aborted&&!Ct&&Ci&&wr.current()}catch(ut){(ut==null?void 0:ut.name)!=="AbortError"&&!qe.signal.aborted&&Je.current===L&&we(String(ut))}finally{fs.current.get(L)===qe&&fs.current.delete(L),xo(L,!1),Te(L),Du(ut=>({...ut,[L]:""})),Um(ut=>({...ut,[L]:[]}))}}if(fw)return l.jsxs("div",{className:"boot boot-error",children:[l.jsx("p",{children:fw}),l.jsx("button",{type:"button",onClick:MC,children:"重试"})]});if(Er===null)return l.jsx("div",{className:"boot"});if(Er==="unauthenticated")return l.jsx(Hxt,{branding:nf,cloudProvider:wn,onUsername:Lbe});if(!$i)return l.jsx("div",{className:"boot"});const rl=$i.capabilities.createAgents,FC=$i.capabilities.manageAgents,mOe=wO.agentUsage&&FC,qh=rl?vo:null,PB=rl&&Xm,MB=rl&&Sw,UC=of&&!!(ii||vB||wB),LB=tge(e,Ul),CO=LB.filter(N=>N.runtimeId&&(OB===null||OB.has(N.runtimeId))).map(N=>{var L;return{...N,canDelete:N.runtimeId?((L=Ebe[N.runtimeId])==null?void 0:L.canDelete)===!0:!1}}),gOe=(()=>{if(CO.length===0)return CO;const N=new Map(hB.map((L,X)=>[L,X]));return[...CO].sort((L,X)=>{const te=N.get(L.id),de=N.get(X.id);return te!=null&&de!=null?te-de:te!=null?-1:de!=null?1:CO.indexOf(L)-CO.indexOf(X)})})(),zC=N=>{var L;return((L=LB.find(X=>X.id===N))==null?void 0:L.label)??N},Rn=Ul.find(N=>N.runtimeId&&N.apps.some(L=>fc(N.id,L)===n)),la=Rn&&Rn.runtimeId&&Rn.region?{runtimeId:Rn.runtimeId,name:Rn.name,region:Rn.region}:void 0,NO=(la==null?void 0:la.runtimeId)??"",Iu=Rn?Rn.apps.find(N=>fc(Rn.id,N)===n)??(Hn==null?void 0:Hn.appName)??Rn.apps[0]??Rn.name:"",bOe=async N=>{var pe,Se,qe;const L=kn,X=a;if(!L||!X)throw new Error("当前会话不可用,请关闭后重试。");const te=((pe=L.turn.meta)==null?void 0:pe.invocationId)??"",de=NO?[]:await bT(n,X).catch(()=>[]);await fP({source:"agent_exec",module:"conversation",issues:N.issues,problem:"",description:N.description,page:"conversation",appName:Iu||n,runtimeId:NO,region:(la==null?void 0:la.region)??"cn-beijing",sessionId:X,eventId:((Se=L.turn.meta)==null?void 0:Se.eventId)??((qe=L.turn.meta)==null?void 0:qe.localId)??"",invocationId:te,input:L.input,output:Sf(L.turn),toolCalls:K7(L.turn),trace:C_e(de,te)})},OOe=async N=>{const L=O?"":a,X=O||L?ae:[],te=L&&n&&!NO?await bT(n,L).catch(()=>[]):[];await fP({source:"platform",module:N.module,issues:N.issues,problem:"",description:N.description,page:Ac??"unknown",appName:Iu||n,runtimeId:NO,region:(la==null?void 0:la.region)??"cn-beijing",sessionId:L,eventId:"",invocationId:"",input:X.filter(de=>de.role==="user").map(Sf).filter(Boolean).join(` +`):ut,Un=crypto.randomUUID(),Lt=crypto.randomUUID(),Jn=[{role:"user",blocks:nt,meta:{localId:Un,ts:Date.now()/1e3}},{role:"assistant",blocks:[],meta:{localId:Lt}}];Ft.current=Lt,N(_t=>[..._t,...Jn]),Q(!0),y(_t=>(_t==null?void 0:_t.id)===fe.id?{..._t,busy:!0,workspaceLocked:!0}:_t);const Di=fe.intelligentDevelopment?Yc:_i;try{const _t=await Di.sendMessage({sessionId:fe.id,text:wn,skillIds:X.map(Qt=>Qt.id)},{signal:Xe.signal,onApproval:Qt=>{Xe.signal.aborted||Ze.current!==Xe||(De(""),me(Qt))},onApprovalResolved:Qt=>{Xe.signal.aborted||Ze.current!==Xe||me(nn=>(nn==null?void 0:nn.id)===Qt?null:nn)},onBlocks:Qt=>{Xe.signal.aborted||Ze.current!==Xe||N(nn=>{const zn=nn.slice(),dn=zn.findIndex(Oi=>{var Mr;return((Mr=Oi.meta)==null?void 0:Mr.localId)===Lt}),Cr=zn[dn];return(Cr==null?void 0:Cr.role)==="assistant"&&(zn[dn]={...Cr,blocks:Qt}),zn})},onUsage:Qt=>{Xe.signal.aborted||Ze.current!==Xe||N(nn=>{const zn=nn.slice(),dn=zn.findIndex(Oi=>{var Mr;return((Mr=Oi.meta)==null?void 0:Mr.localId)===Lt}),Cr=zn[dn];return(Cr==null?void 0:Cr.role)==="assistant"&&(zn[dn]={...Cr,meta:{...Cr.meta,sandboxUsage:Qt.usage}}),zn})}});if(Xe.signal.aborted||Ze.current!==Xe){we.fail({sessionId:String(fe.id),failedPhase:"sandbox_send",errorKind:"abort"});return}we.succeed({sessionId:String(fe.id)}),N(Qt=>{const nn=Qt.slice(),zn=nn.findIndex(Cr=>{var Oi;return((Oi=Cr.meta)==null?void 0:Oi.localId)===Lt}),dn=nn[zn];return(dn==null?void 0:dn.role)==="assistant"&&(nn[zn]={...dn,blocks:_t.blocks,meta:{...dn.meta,ts:Date.now()/1e3,..._t.usage?{sandboxUsage:_t.usage.usage}:{}}}),nn}),fe.intelligentDevelopment||Mt.refreshThreads()}catch(_t){if(we.fail({sessionId:String(fe.id),failedPhase:"sandbox_send",...Ia(_t)}),(_t==null?void 0:_t.name)==="AbortError"||Ze.current!==Xe)return;N(Qt=>Qt.filter(nn=>{var zn,dn;return((zn=nn.meta)==null?void 0:zn.localId)!==Un&&((dn=nn.meta)==null?void 0:dn.localId)!==Lt})),Wn(R),br(L),Mt.setSelectedSkills(X),G(`内置智能体发送失败:${_t instanceof Error?_t.message:String(_t)}`);try{const Qt=await Di.getSettings(fe.id);y(nn=>(nn==null?void 0:nn.id)===fe.id?{...nn,...Qt}:nn)}catch{}}finally{if(Ze.current===Xe){const _t=Ae.current;if((_t==null?void 0:_t.controller)===Xe){const Qt=await _t.promise;Ae.current===_t&&(Ae.current=null),Qt&&(N(nn=>nn.filter(zn=>{var dn;return((dn=zn.meta)==null?void 0:dn.localId)!==Lt||zn.blocks.length>0})),En(fe.id,"已停止,可继续输入"))}Ze.current=null,Ft.current===Lt&&(Ft.current=""),Q(!1),me(null),y(Qt=>(Qt==null?void 0:Qt.id)===fe.id?{...Qt,busy:!1}:Qt)}}}async function bOe(R){if(!(O!=null&&O.intelligentDevelopment)&&await Mt.executeSlash(R)||!O||P||Mt.commandBusy)return;const L=Dr,X=Mt.selectedSkills;Wn(""),br([]),Mt.setSelectedSkills([]),await GC(R.trim(),L,X)}function gf(){ec(),G(""),Yl(DW()),Pn("agent"),Si(null),Zi(null);const R=a&&Ui.length===0&&Dr.length>0?a:"";Wt.current="",o(""),js(null),ul([]),p(!1),g([]),Hr(gl()),kw(Dr),br([]),R&&bB(R)}function OOe(){var R;ig.current=!0,localStorage.removeItem(sc.app),a&&((R=Ei.current.get(a))==null||R.abort()),c.current=null,gf(),i(""),Gs({}),ys(null)}function yOe(){YC(),Xa(null),Gl(null),Rn(null),ws(!1),Tw(null),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo(null),gf()}function YC(){var R;(R=At.current)==null||R.abort(),At.current=null,ii(null)}async function xOe(R){var L;try{(L=Ei.current.get(R))==null||L.abort(),Ut(R,!1),await xP(n,dt,R),await yP(n,dt,R);const X=xs.current.get(R);X!==void 0&&window.clearTimeout(X),xs.current.delete(R),Kn(ne=>{if(!ne.has(R))return ne;const fe=new Set(ne);return fe.delete(R),fe}),Zt(ne=>{const{[R]:fe,...ge}=ne;return ge}),oi(ne=>{const fe=Sy(n,R);if(!(fe in ne))return ne;const{[fe]:ge,...we}=ne;return we}),R===a&&gf(),await PO(n)}catch(X){G(String(X))}}async function MO(R){if(O&&ec(),R!==a&&(Wt.current=R,G(""),p(!1),g([]),Pn("agent"),Si(null),Hr(gl()),js(null),ul([]),o(R),cn[R]===void 0)){CO(!0);try{const L=await jA(n,dt,R);lt(R,nAe(L.events??[],L.state)),oi(X=>({...X,[Sy(n,R)]:aF(L.events??[])}))}catch(L){G(String(L))}finally{CO(!1)}}}async function vOe(R){if(!R.sessionId||!R.messageId){G("这条案例缺少会话定位信息,无法跳转。");return}Es(!1),Rn(null),Gr(!1),mi(!1),ws(!1),Uc(),DC(n),jbe(R.kind),jw(R.messageId),await MO(R.sessionId)}function wOe(){const R=SB||n;Es(!1),Rn(null),Gr(!1),mi(!1),ws(!1),Ws(""),Zs(R),Nw("evaluations"),Dbe(Nbe),tr(!0),DC(""),jw("")}function SOe(R){const L=new Map,X=new Map;for(const ne of R){if(!ne.sessionId||!ne.messageId)continue;const fe=L.get(ne.sessionId)??new Set;if(fe.add(ne.messageId),L.set(ne.sessionId,fe),ne.runtimeId&&ne.userId){const ge=[ne.runtimeId,n,ne.userId,ne.sessionId].join(":"),we=X.get(ge)??{runtimeId:ne.runtimeId,appName:n,userId:ne.userId,sessionId:ne.sessionId,eventIds:new Set};we.eventIds.add(ne.messageId),X.set(ge,we)}}if(L.size!==0){Zt(ne=>{const fe={...ne};for(const[ge,we]of L){const Xe=fe[ge];Xe&&(fe[ge]=Xe.map(nt=>{var $t;return($t=nt.meta)!=null&&$t.eventId&&we.has(nt.meta.eventId)?{...nt,meta:{...nt.meta,feedback:void 0}}:nt}))}return fe}),s(ne=>ne.map(fe=>{const ge=L.get(fe.id);if(!ge||!fe.state)return fe;const we={...fe.state};for(const Xe of ge)delete we[`veadk_feedback:${Xe}`];return{...fe,state:we}})),on(ne=>{const fe=new Set(ne);for(const ge of L.values())for(const we of ge)fe.delete(we);return fe});for(const ne of X.values())$te({runtimeId:ne.runtimeId,appName:ne.appName,userId:ne.userId,sessionId:ne.sessionId,eventIds:[...ne.eventIds]});Mbe(ne=>ne&&(R.some(fe=>fe.id===ne.id||fe.messageId===ne.messageId)?null:ne))}}async function UB(R=!0){if(a)return a;c.current||(c.current=Zte(n,dt));const L=c.current;try{const X=await L;R&&o(X);const ne=Date.now()/1e3,fe={id:X,lastUpdateTime:ne,events:[]};return s(ge=>[fe,...ge.filter(we=>we.id!==X)]),X}finally{c.current===L&&(c.current=null)}}async function EOe(R){if(!n||!dt||!a||!or)return!1;ae(!0),G("");try{const L=await SP(n,dt,a,R,or.revision);return js(L),!0}catch(L){return G(String(L)),!1}finally{ae(!1)}}async function kOe(R){if(!(!n||!dt||!a||!or)){ae(!0),G("");try{const L=await cne(n,dt,a,R,or.revision);js(L)}catch(L){G(String(L))}finally{ae(!1)}}}async function TOe(R){G("");let L;try{L=await UB()}catch(ne){G(String(ne));return}const X=Array.from(R).map(ne=>({file:ne,attachment:{id:PW(),mimeType:MW(ne),name:ne.name,sizeBytes:ne.size,status:"uploading"}}));br(ne=>[...ne,...X.map(fe=>fe.attachment)]),await Promise.all(X.map(async({file:ne,attachment:fe})=>{try{const ge=await sne(n,dt,L,ne);if(kn.current.delete(fe.id)){ge.uri&&await HE(n,ge.uri);return}br(we=>we.map(Xe=>Xe.id===fe.id?ge:Xe))}catch(ge){if(kn.current.delete(fe.id))return;const we=ge instanceof Error?ge.message:String(ge);br(Xe=>Xe.map(nt=>nt.id===fe.id?{...nt,status:"error",error:we}:nt)),G(we)}}))}async function zB(R,L=[],X=gl(),ne="composer"){if(!R.trim()&&L.length===0||Ve||wt||!n||!dt)return;G("");const fe=!a,ge=fe?"new":"existing",we=!!ga,Xe=ga?iY({agentId:String(n),agentKind:"runtime",messageSource:ne,sessionState:ge,...a?{sessionId:String(a)}:{}}):null,nt=[];(X.skills.length>0||X.targetAgent)&&nt.push({kind:"invocation",value:X}),L.length&&nt.push({kind:"attachment",files:L.map(Lt=>({id:Lt.id,mimeType:Lt.mimeType,data:Lt.data,uri:Lt.uri,name:Lt.name,sizeBytes:Lt.sizeBytes}))}),R.trim()&&nt.push({kind:"text",text:R});const $t=[{role:"user",blocks:nt,meta:{ts:Date.now()/1e3}},{role:"assistant",blocks:[]}];fe&&(g($t),p(!0));const gt=ji;let ut;try{ut=await UB(!fe)}catch(Lt){fe&&(g([]),p(!1),Wn(R),Hr(X)),we&&(Xe==null||Xe.fail({failedPhase:"create_session",...Ia(Lt)})),G(String(Lt));return}let wn=nj(or);if(gt)try{let Lt=await wP(n,dt,ut);const Jn=Kgt[gt].filter(Di=>{var ks;return(ks=Ji.builtinTools)==null?void 0:ks.includes(Di)});for(const Di of[...Wge[gt],...Jn])Lt.tools.some(ks=>ks.name===Di)||(Lt=await SP(n,dt,ut,{kind:"tool",name:Di},Lt.revision));js(Lt),wn=nj(Lt)}catch(Lt){fe&&(g([]),p(!1),Wn(R),Hr(X)),we&&(Xe==null||Xe.fail({sessionId:String(ut),failedPhase:"mount_task_capabilities",...Ia(Lt)})),G(`任务能力挂载失败:${String(Lt)}`);return}lt(ut,Lt=>fe?$t:[...Lt,...$t]),fe&&(Wt.current=ut,o(ut),g([]),p(!1));const Un=new AbortController;Ei.current.set(ut,Un),Rs(ut,!0),te(ut),Wt.current=ut,Zh(Lt=>({...Lt,[ut]:""})),NO(Lt=>({...Lt,[ut]:new Set})),H(Lt=>({...Lt,[ut]:[]}));try{let Lt=md(),Jn="",Di=0,ks=Date.now()/1e3,_t="",Qt="",nn=!1,zn=null;for await(const dn of kP({appName:n,userId:dt,sessionId:ut,text:R,attachments:L,invocation:X,signal:Un.signal,sessionCapabilities:wn})){if(Un.signal.aborted)break;const Cr=dn.error??dn.errorMessage??dn.error_message;if(typeof Cr=="string"&&Cr){nn=!0,zn=Cr,Wt.current===ut&&G(Cr);break}OB(ut,dn);const Oi=dn.author&&dn.author!=="user"?dn.author:"";Oi&&Oi!==Jn&&(Jn=Oi,Lt=md()),Lt=ET(Lt,dn);const Mr=dn.usageMetadata??dn.usage_metadata;Ot(n,ut,dn),Mr!=null&&Mr.totalTokenCount&&(Di=Mr.totalTokenCount),dn.timestamp&&(ks=dn.timestamp),dn.id&&(_t=dn.id);const Ka=dn.invocationId??dn.invocation_id;Ka&&(Qt=Ka);const Ti=Lt.blocks,BO={author:Jn||void 0,tokens:Di||void 0,ts:ks,eventId:_t||void 0,invocationId:Qt||void 0};lt(ut,$w=>{var FO;const Fu=$w.slice(),Uu=Fu[Fu.length-1];return(Uu==null?void 0:Uu.role)==="assistant"&&(!((FO=Uu.meta)!=null&&FO.author)||Uu.meta.author===Jn)?Fu[Fu.length-1]={...Uu,blocks:Ti,meta:BO}:Fu.push({role:"assistant",blocks:Ti,meta:BO}),Fu})}PO(n),we&&Un.signal.aborted?Xe==null||Xe.fail({sessionId:String(ut),failedPhase:"run_sse",errorKind:"abort"}):we&&(nn?Xe==null||Xe.fail({sessionId:String(ut),failedPhase:"run_sse",...Ia(zn??"run_sse failed")}):Xe==null||Xe.succeed({sessionId:String(ut)})),!Un.signal.aborted&&!nn&&_t&&bi.current()}catch(Lt){we&&(Xe==null||Xe.fail({sessionId:String(ut),failedPhase:"run_sse",...Ia(Lt)})),(Lt==null?void 0:Lt.name)!=="AbortError"&&!Un.signal.aborted&&Wt.current===ut&&G(String(Lt))}finally{Ei.current.get(ut)===Un&&Ei.current.delete(ut),Rs(ut,!1),st(ut),Zh(Lt=>({...Lt,[ut]:""})),H(Lt=>({...Lt,[ut]:[]}))}}function _Oe(){var R;a&&((R=Ei.current.get(a))==null||R.abort())}function AOe(R,L){var fe,ge;const X=((fe=R==null?void 0:R.event)==null?void 0:fe.name)??L.id,ne=((ge=R==null?void 0:R.event)==null?void 0:ge.context)??{};zB(`[ui-action] ${X}: ${JSON.stringify(ne)}`,[],gl(),"a2ui_action")}async function COe(R){var nt,$t,gt;if(!R.authUri)throw new Error("事件中没有授权地址。");if(!n||!dt||!a)throw new Error("会话尚未就绪。");const L=a,X=await Ewt(R.authUri),ne=kwt(R.authConfig,X),fe=ut=>ut.map(wn=>wn.kind==="auth"&&!wn.done?{...wn,done:!0}:wn);lt(L,ut=>{const wn=ut.slice(),Un=wn[wn.length-1];return(Un==null?void 0:Un.role)==="assistant"&&(wn[wn.length-1]={...Un,blocks:fe(Un.blocks)}),wn});const ge=le[le.length-1],we=fe(ge&&ge.role==="assistant"?ge.blocks:[]),Xe=new AbortController;Ei.current.set(L,Xe),Rs(L,!0),te(L);try{let ut=md(),wn=((nt=ge==null?void 0:ge.meta)==null?void 0:nt.author)??"",Un=we,Lt=0,Jn=Date.now()/1e3,Di=(($t=ge==null?void 0:ge.meta)==null?void 0:$t.eventId)??"",ks=((gt=ge==null?void 0:ge.meta)==null?void 0:gt.invocationId)??"",_t=!1;for await(const Qt of kP({appName:n,userId:dt,sessionId:a,text:"",functionResponses:[{id:R.callId,name:"adk_request_credential",response:ne}],signal:Xe.signal,sessionCapabilities:nj(or)})){if(Xe.signal.aborted)break;const nn=Qt.error??Qt.errorMessage??Qt.error_message;if(typeof nn=="string"&&nn){_t=!0,Wt.current===L&&G(nn);break}OB(L,Qt);const zn=Qt.author&&Qt.author!=="user"?Qt.author:"";zn&&zn!==wn&&(wn=zn,Un=[],ut=md()),ut=ET(ut,Qt);const dn=Qt.usageMetadata??Qt.usage_metadata;Ot(n,L,Qt),dn!=null&&dn.totalTokenCount&&(Lt=dn.totalTokenCount),Qt.timestamp&&(Jn=Qt.timestamp),Qt.id&&(Di=Qt.id);const Cr=Qt.invocationId??Qt.invocation_id;Cr&&(ks=Cr);const Oi=[...Un,...ut.blocks];lt(L,Mr=>{var $w,Fu,Uu,FO,ZB;const Ka=Mr.slice(),Ti=Ka[Ka.length-1],BO={author:wn||(($w=Ti==null?void 0:Ti.meta)==null?void 0:$w.author),tokens:Lt||((Fu=Ti==null?void 0:Ti.meta)==null?void 0:Fu.tokens),ts:Jn,eventId:Di||((Uu=Ti==null?void 0:Ti.meta)==null?void 0:Uu.eventId),invocationId:ks||((FO=Ti==null?void 0:Ti.meta)==null?void 0:FO.invocationId)};return(Ti==null?void 0:Ti.role)==="assistant"&&(!((ZB=Ti.meta)!=null&&ZB.author)||Ti.meta.author===wn)?Ka[Ka.length-1]={...Ti,blocks:Oi,meta:BO}:Ka.push({role:"assistant",blocks:Oi,meta:BO}),Ka})}PO(n),!Xe.signal.aborted&&!_t&&Di&&bi.current()}catch(ut){(ut==null?void 0:ut.name)!=="AbortError"&&!Xe.signal.aborted&&Wt.current===L&&G(String(ut))}finally{Ei.current.get(L)===Xe&&Ei.current.delete(L),Rs(L,!1),st(L),Zh(ut=>({...ut,[L]:""})),H(ut=>({...ut,[L]:[]}))}}if(bw)return l.jsxs("div",{className:"boot boot-error",children:[l.jsx("p",{children:bw}),l.jsx("button",{type:"button",onClick:qC,children:"重试"})]});if(yr===null)return l.jsx("div",{className:"boot"});if(yr==="unauthenticated")return l.jsx(O1t,{branding:Wh,cloudProvider:jn,onUsername:Kbe});if(!Ii)return l.jsx("div",{className:"boot"});const pl=Ii.capabilities.createAgents,WC=Ii.capabilities.manageAgents,NOe=AO.agentUsage&&WC,ep=pl?Co:null,VB=pl&&Jm,qB=pl&&_w,ZC=ff&&!!(ci||NB||jB),XB=yge(e,Kl),LO=XB.filter(R=>R.runtimeId&&(_B===null||_B.has(R.runtimeId))).map(R=>{var L;return{...R,canDelete:R.runtimeId?((L=Qbe[R.runtimeId])==null?void 0:L.canDelete)===!0:!1}}),jOe=(()=>{if(LO.length===0)return LO;const R=new Map(wB.map((L,X)=>[L,X]));return[...LO].sort((L,X)=>{const ne=R.get(L.id),fe=R.get(X.id);return ne!=null&&fe!=null?ne-fe:ne!=null?-1:fe!=null?1:LO.indexOf(L)-LO.indexOf(X)})})(),KC=R=>{var L;return((L=XB.find(X=>X.id===R))==null?void 0:L.label)??R},Mn=Kl.find(R=>R.runtimeId&&R.apps.some(L=>wc(R.id,L)===n)),ga=Mn&&Mn.runtimeId&&Mn.region?{runtimeId:Mn.runtimeId,name:Mn.name,region:Mn.region}:void 0,$O=(ga==null?void 0:ga.runtimeId)??"",Bu=Mn?Mn.apps.find(R=>wc(Mn.id,R)===n)??(bn==null?void 0:bn.appName)??Mn.apps[0]??Mn.name:"",ROe=async R=>{var ge,we,Xe;const L=Ri,X=a;if(!L||!X)throw new Error("当前会话不可用,请关闭后重试。");const ne=((ge=L.turn.meta)==null?void 0:ge.invocationId)??"",fe=$O?[]:await ST(n,X).catch(()=>[]);await vP({source:"agent_exec",module:"conversation",issues:R.issues,problem:"",description:R.description,page:"conversation",appName:Bu||n,runtimeId:$O,region:(ga==null?void 0:ga.region)??"cn-beijing",sessionId:X,eventId:((we=L.turn.meta)==null?void 0:we.eventId)??((Xe=L.turn.meta)==null?void 0:Xe.localId)??"",invocationId:ne,input:L.input,output:Af(L.turn),toolCalls:oF(L.turn),trace:X_e(fe,ne)})},IOe=async R=>{const L=O?"":a,X=O||L?le:[],ne=L&&n&&!$O?await ST(n,L).catch(()=>[]):[];await vP({source:"platform",module:R.module,issues:R.issues,problem:"",description:R.description,page:dl??"unknown",appName:Bu||n,runtimeId:$O,region:(ga==null?void 0:ga.region)??"cn-beijing",sessionId:L,eventId:"",invocationId:"",input:X.filter(fe=>fe.role==="user").map(Af).filter(Boolean).join(` -`),output:X.filter(de=>de.role==="assistant").map(Sf).filter(Boolean).join(` +`),output:X.filter(fe=>fe.role==="assistant").map(Af).filter(Boolean).join(` -`),toolCalls:X.flatMap(K7),trace:te})},VC=async(N,L,X="",te="",de=!0)=>{var gt,ut,pn,Bn,Dt,Yn,Ci,bs;const pe=(gt=N.meta)==null?void 0:gt.eventId,Se=a;if(!pe||!Se||!la)return"当前回复暂不支持加入评测集";if(wn==="byteplus")return"BytePlus 暂不支持 AgentKit 评测集";const qe=Sf(N),nt=(ut=N.meta)==null?void 0:ut.feedback,Mt={...nt,rating:L,comment:te,syncStatus:"syncing",updatedAt:Date.now()/1e3};lt(Se,Ct=>Ct.map(Lt=>{var Wt;return((Wt=Lt.meta)==null?void 0:Wt.eventId)===pe?{...Lt,meta:{...Lt.meta,feedback:Mt}}:Lt})),En(Ct=>new Set(Ct).add(pe)),Rn!=null&&Rn.runtimeId&&Iu&&UE({runtimeId:Rn.runtimeId,region:Rn.region??Ri(wn),appName:Iu,userId:ct,sessionId:Se,messageId:pe,invocationId:(pn=N.meta)==null?void 0:pn.invocationId,rating:L,input:X,output:qe,comment:te,createdAt:(Bn=N.meta)!=null&&Bn.ts?new Date(N.meta.ts*1e3).toISOString():void 0});try{const Ct=await Bte({appName:n,userId:ct,sessionId:Se,eventId:pe,rating:L,comment:te});lt(Se,Lt=>Lt.map(Wt=>{var Fn;return((Fn=Wt.meta)==null?void 0:Fn.eventId)===pe?{...Wt,meta:{...Wt.meta,feedback:Ct}}:Wt})),s(Lt=>Lt.map(Wt=>Wt.id===Se?{...Wt,state:{...Wt.state??{},[`veadk_feedback:${pe}`]:Ct}}:Wt)),Rn!=null&&Rn.runtimeId&&Iu&&(UE({runtimeId:Rn.runtimeId,region:Rn.region??Ri(wn),appName:Iu,userId:ct,sessionId:Se,messageId:pe,invocationId:(Dt=N.meta)==null?void 0:Dt.invocationId,rating:Ct.rating,input:X,output:qe,comment:te,createdAt:(Yn=N.meta)!=null&&Yn.ts?new Date(N.meta.ts*1e3).toISOString():void 0}),zte({runtimeId:Rn.runtimeId,region:Rn.region??Ri(wn),appName:Iu,pageSize:100}))}catch(Ct){const Lt=Ct instanceof Error?Ct.message:String(Ct);return lt(Se,Wt=>Wt.map(Fn=>{var sn;return((sn=Fn.meta)==null?void 0:sn.eventId)===pe?{...Fn,meta:{...Fn.meta,feedback:nt}}:Fn})),Rn!=null&&Rn.runtimeId&&Iu&&UE({runtimeId:Rn.runtimeId,region:Rn.region??Ri(wn),appName:Iu,userId:ct,sessionId:Se,messageId:pe,invocationId:(Ci=N.meta)==null?void 0:Ci.invocationId,rating:(nt==null?void 0:nt.rating)??null,input:X,output:qe,comment:(nt==null?void 0:nt.comment)??"",createdAt:(bs=N.meta)!=null&&bs.ts?new Date(N.meta.ts*1e3).toISOString():void 0}),de&&Je.current===Se&&we(Lt),Lt}finally{En(Ct=>{const Lt=new Set(Ct);return Lt.delete(pe),Lt})}return null},yOe=async N=>{const L=Jd;if(!L)return;const X=await VC(L.turn,"bad",L.input,xvt(L.selectedText,N),!1);if(X)throw new Error(X)},jO=async N=>{const L=d.current+1;d.current=L;const X=nc(),te=Es.current.get(N),de=TW(X,N),[pe,Se,qe,nt]=await Promise.all([te?Promise.resolve(te):FD(N),pW(N,ct),mP(N).catch(()=>null),de?cP({runtimeId:de.runtimeId,region:de.region,appName:de.appName,userId:ct}).catch(()=>{}):Promise.resolve(void 0)]);if(d.current!==L)return;const Mt=N!==n||Bl||ii!==null||O!==null;f.current=Mt?{agentId:N,userId:ct,automaticEvaluationStatuses:nt}:null,u.current+=1,Es.current.set(N,pe),TO(X),Br(pe),jB(N,Se),Oo(qe),le(!1),sa(new Set((nt==null?void 0:nt.items.filter(gt=>gt.state==="running").map(gt=>gt.sessionId))??[])),i(N),jc(),Vs(""),qs(""),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Cr(null),df()},xOe=async N=>{await jO(N)},vOe=async N=>{await jO(N)},wOe=N=>{if(!rl){we("当前账号没有添加 Agent 的权限。");return}Gi(!1),Yi(!1),Cw(N),oa(null),Tn(null),oi(!0),we("")},SOe=async(N,L)=>{if(!N.runtime)throw new Error("缺少 Runtime 信息,无法连接智能体。");const X=hD({targetId:String(N.runtime.runtimeId),agentKind:"runtime",connectSource:L});try{const te=await kk(N.runtime.runtimeId,N.name,N.runtime.region,N.runtime.currentVersion);return X.succeed({runtimeRegion:N.runtime.region,runtimeIsMine:N.isMine?1:0}),te}catch(te){throw X.fail(Ta(te)),te}},$B=async(N,L={})=>{if(N.runtime)try{const X=await SOe(N,L.source??"my_agents");await jO(X)}catch(X){const te=X instanceof Error?X.message:String(X);if(we(te),L.rethrow)throw new Error(te)}},EOe=N=>{N.runtime&&(_C({page:"agent-detail",returnTo:"agents"}),Va(N),Vs(""),qs(""),Gi(!0),Yi(!0),we(""))},kOe=()=>{jc(),Vs(""),qs(""),Gi(!0),we("")},TOe=()=>{zh("sandbox-agent-detail"),xt(null),Ue(null),Gi(!0),we("")},_Oe=()=>{zh("system-info"),we("")},AOe=N=>{if(!rl){we("当前账号没有创建智能体的权限。");return}LC(N,!0)},QB=()=>{Nu(null),O&&Vl(),Je.current="",o(""),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Vs(""),qs(""),Gi(!0),il([]),So(null),we("")},COe=()=>{Nu(null),O&&Vl(),Je.current="",o(""),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So("catalog"),we("")},NOe=async N=>{if(kC(""),_w(""),N.runtimeId&&N.id.startsWith("detail:")){const L=hD({targetId:String(N.runtimeId),agentKind:"runtime",connectSource:"agent_workspace"});try{const X=await kk(N.runtimeId,N.label,N.region??Ri(wn),N.currentVersion);L.succeed({runtimeRegion:N.region}),await jO(X)}catch(X){L.fail(Ta(X)),we(X instanceof Error?X.message:String(X))}return}await jO(N.id)},qC=ii!=null&&ii.runtime?Ul.find(N=>{var L;return N.runtimeId===((L=ii.runtime)==null?void 0:L.runtimeId)}):void 0,ff=ii!=null&&ii.runtime?{id:`detail:${ii.runtime.runtimeId}`,label:ii.name,app:ii.appName??ii.name,remote:!0,runtimeApp:qC==null?void 0:qC.apps[0],runtimeId:ii.runtime.runtimeId,region:ii.runtime.region,currentVersion:ii.runtime.currentVersion,canDelete:ii.runtime.canDelete}:null,jOe=kO==="system-info"?(Ym==null?void 0:Ym.returnTo)??"new-chat":kO==="agent-detail"||kO==="sandbox-agent-detail"?kO:Ac!==null?"feedback":qm?"library":Fl?"applications":SO?"search":xe?"sandbox-agent-workspace":Bl||of?"agents":O?"sandbox":a?"conversation":vo||Sw||Xm?"create":"new-chat",BB=TC?null:Ac!==null?"feedback":qm?"library":Fl?"applications":SO?"search":Bl||of||At||xe?"agents":a||O||vo||qm||Sw||Xm?null:"new-chat";return l.jsxs("div",{className:"layout",children:[l.jsx(lAe,{branding:nf,cloudProvider:wn,access:$i,features:wO,sessions:r,currentSessionId:a,activePage:BB,streamingSids:tl,evaluatingSids:Au,sandboxHistory:O&&!O.intelligentDevelopment?{threads:jn.threads,currentThreadId:O.threadId,loading:jn.threadsLoading,error:jn.threadsError,hasMore:jn.threadsHasMore,busyThreadId:jn.threadActionId,newDisabled:P||jn.commandBusy,onNew:()=>void jn.newThread(),onSelect:N=>void jn.resumeThread(N),onLoadMore:()=>void jn.loadMoreThreads(),onDelete:Ot}:void 0,intelligentHistory:{sessions:v,currentSessionId:O!=null&&O.intelligentDevelopment?O.id:"",loading:w,error:S,busySessionId:O!=null&&O.intelligentDevelopment&&P?O.id:"",openingSessionId:T,onSelect:N=>ql(()=>void Fbe(N)),onDelete:wt},onNewChat:()=>ql(rOe),onSearch:()=>ql(()=>{Nu(null),O&&Vl(),Tn(null),ps(!1),Fr(!1),oi(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So(null),gs(!0),we("")}),onQuickCreate:()=>ql(()=>{if(!rl){we("当前账号没有添加 Agent 的权限。");return}O&&Vl(),Je.current="",o(""),ps(!1),Fr(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So(null),Tn(null),oa(null),Cw(Ri(wn)),oi(!0),we("")}),onLibrary:()=>ql(()=>{O&&Vl(),Tn(null),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So(null),ww(null),wC("skills"),SC("技能库"),ps(!0),we("")}),onAddAgent:()=>ql(()=>{if(!rl){we("当前账号没有添加 Agent 的权限。");return}O&&Vl(),Je.current="",Tn(null),ps(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So(null),o(""),oi(!1),Fr(!0),we("")}),onMyAgents:()=>ql(QB),onApplications:()=>ql(COe),onSystemInfo:()=>ql(()=>{_C({page:"system-info",returnTo:jOe}),we("")}),onIssueFeedback:()=>{Ac===null&&(il([]),Nu(BB??(O?"sandbox":a?"conversation":"workspace")),we(""))},onPickSession:N=>ql(()=>{Nu(null),Tn(null),ps(!1),Fr(!1),oi(!1),gs(!1),Yi(!1),Va(null),xt(null),Ue(null),Gi(!1),il([]),So(null),we(""),AO(N)}),onDeleteSession:sOe,userInfo:vO,onLogout:$be}),(()=>{const N=l.jsxs("div",{className:`composer-slot${O?" sandbox-composer-wrap":""}`,children:[O&&l.jsx(txt,{agentName:O.intelligentDevelopment?"智能开发":O.toolName==="codex"?"Codex":O.toolName==="deepseek-harness"?"DeepSeek Harness":O.toolName==="openclaw"?"OpenClaw":"Hermes",expireAt:O.intelligentDevelopment?O.expireAt:void 0,exitLabel:O.intelligentDevelopment?"退出开发环境":void 0,onExit:()=>ql(df)}),O?l.jsx(Dxt,{appName:n,value:Zn,onChange:Nn,onSubmit:L=>void nOe(L),onStop:P?eOe:void 0,disabled:!1,busy:P||jn.commandBusy,attachments:xr,onAddFiles:Kbe,onRemoveAttachment:Jbe,actions:{onOpenTerminal:()=>void $C("terminal"),onOpenBrowser:()=>void $C("browser"),onOpenPermissions:()=>{D(""),Q(!0)},onOpenWorkspace:()=>{D(""),G(!0)},onCopyEndpoint:Hbe,endpointCopyEnabled:Xi.sandboxEndpointExportEnabled===!0,endpointCopyState:Oe,workspaceLocked:O.workspaceLocked,settingsBusy:I,uploadBusy:he||P},models:jn.models,modelsLoading:jn.modelsLoading,modelsLoaded:jn.modelsLoaded,currentModel:O.model,onRequestModels:()=>void jn.loadModels(),skills:jn.skills,skillsLoading:jn.skillsLoading,skillsLoaded:jn.skillsLoaded,selectedSkills:jn.selectedSkills,onRequestSkills:()=>void jn.loadSkills(),onSelectedSkillsChange:jn.setSelectedSkills,textOnly:O.intelligentDevelopment}):l.jsx(Qgt,{cloudProvider:wn,sessionId:a,sessionInitializing:h,appName:n,agentName:n?zC(n):"Agent",value:Zn,onChange:Nn,videoTask:Ml,onOpenVideoTask:()=>{Jr.current&&ai(!0)},onVideoSubmit:Vt,onSubmit:()=>{var de;const L=Zn;if(!O&&ae.length===0&&ri==="skill"){if(!L.trim())return;let pe;if(Vi==="create")pe={operation:"create",initialIntent:L.trim(),selectPublishSpace:!0};else{const Se=hn;if(!Se){we("请先选择需要优化的 Skill。");return}pe={operation:"optimize",initialIntent:L.trim(),space:Se.space,source:{kind:"skill-center",skillId:Se.skill.skillId,version:Se.skill.version,region:Se.space.region||Ri(wn),projectName:Se.space.projectName,skillSpaceId:Se.space.id,skillSpaceName:Se.space.name,name:Se.skill.skillName||Se.skill.skillId,description:Se.skill.skillDescription}}}Nn(""),we(""),ww(pe),wC("skills"),SC(pe.operation==="create"?"创建技能":`优化 ${((de=pe.source)==null?void 0:de.name)||"技能"}`),ps(!0);return}if(Nn(""),O){QC(L);return}const X=xr,te=ks;cr([]),vr(al()),IB(L,X,te),qD(X)},onStop:sB?fOe:void 0,disabled:O?!1:!ct||bi==="temporary"||bi==="deepseek-harness"||ri==="agent"&&bi==="agent"&&!n||ri==="skill"&&Vi==="optimize"&&!hn,busy:O?P:xw,showMeta:ae.length>0&&!O,attachments:O?[]:xr,skills:O?[]:ibe,agents:O?[]:rbe,invocation:O?al():ks,capabilitiesLoading:!O&&Ts,modelName:q$(Hn==null?void 0:Hn.model)||Be.modelName,tokenUsage:Be,systemTokenEstimate:sbe,allowAttachments:!O,onInvocationChange:vr,onAddFiles:dOe,onRemoveAttachment:abe,newChatMode:O?"agent":bi,newChatWorkspaceMode:O?"agent":ri,newChatSkillAction:Vi,newChatSkillTarget:hn,skillCustomizationEnabled:yr&&Xi.skillCustomizationEnabled===!0,newChatTask:O?null:vi,newChatLayout:!O&&ae.length===0,showWorkspaceTabs:!O&&ae.length===0,showAgentPicker:!O&&ae.length===0&&ri==="agent"&&bi==="agent",agentPickerDisabled:!ct||xw,selectedRuntimeId:la==null?void 0:la.runtimeId,runtimeScope:$i.capabilities.runtimeScope,onSelectRuntime:async L=>{var X;await $B({id:L.runtimeId,name:L.name,description:((X=L.description)==null?void 0:X.trim())||"暂无描述",createdAt:L.createdAt??"",specificationLabel:"地域",specification:du(L.region,wn),isMine:L.isMine,runtime:{runtimeId:L.runtimeId,region:L.region,currentVersion:L.currentVersion,canDelete:L.canDelete}},{rethrow:!0,source:"new_chat_picker"})},onSelectSandboxSession:L=>Dw(L,"new_chat_picker"),showModeSelector:!1,onWorkspaceModeChange:L=>{Li(L),L!=="agent"&&ci(null),we("")},onSkillActionChange:qi,onSkillTargetChange:Oi,temporaryEnabled:yr&&Xi.temporaryEnabled,deepseekHarnessEnabled:yr&&Xi.deepseekHarnessEnabled,harnessEnabled:yr&&Xi.harnessEnabled,builtinTools:yr?Xi.builtinTools:[],onModeChange:L=>{if(!(L==="temporary"&&!Xi.temporaryEnabled)){if(L==="temporary"){ci(null),$n(L),LC();return}if(!(L==="deepseek-harness"&&!Xi.deepseekHarnessEnabled)){if(L==="deepseek-harness"){ci(null),$n(L),LC("deepseek-harness");return}$n(L),L!=="agent"&&ci(null),we("")}}},onTaskChange:ci})]});return l.jsx("section",{className:"main-shell",children:l.jsxs("main",{className:`main${O?" is-sandbox-session":""}${O!=null&&O.intelligentDevelopment?" is-intelligent-development":""}`,children:[bt&&l.jsx("div",{className:"error",role:"alert",children:bt}),Sa&&l.jsx("div",{className:"error",role:"alert",children:Sa}),St&&l.jsxs("div",{className:"session-loading",children:[l.jsx(qn,{className:"icon spin"})," 加载会话…"]}),pB&&!UC&&!PB&&!MB&&!SO&&!qm&&qh===null&&l.jsx("div",{className:"case-return-bar",children:l.jsxs("button",{type:"button",onClick:oOe,children:[l.jsx(dte,{"aria-hidden":!0}),l.jsx("span",{children:"返回评测案例"})]})}),TC?l.jsx(zpt,{version:gw,localMode:Ru==="local",role:($i==null?void 0:$i.role)??"user",provider:wn,region:Ow||Ri(wn),onBack:_Oe}):Ac!==null?l.jsx(_vt,{initialModule:Qvt(Ac),onSubmit:OOe}):Fl==="coding-agents"?l.jsx($mt,{onBack:()=>So("catalog")}):Fl==="feishu"?l.jsx(xmt,{onBack:()=>So("catalog")}):Fl&&Fl!=="catalog"?l.jsx(Ypt,{automation:Fl,onBack:()=>So("catalog")}):Fl==="catalog"?l.jsx(Mpt,{onOpen:So}):xe?l.jsx(Txt,{workspace:xe,onBack:QB}):At?l.jsx(kxt,{session:At,onBack:TOe,onOpen:()=>Dw(At,"sandbox_detail"),onDelete:()=>qbe(At)}):Bl&&!UC?l.jsx(lpt,{cloudProvider:wn,canCreate:rl,runtimeScope:$i.capabilities.runtimeScope,onCreateAgent:wOe,onOpenCodexProjectUpload:()=>je(!0),onUseAgent:L=>$B(L,{source:"my_agents"}),onViewAgentDetails:EOe,onCreateSandboxAgent:AOe,onUseSandboxAgent:L=>Dw(L,"my_agents"),onViewSandboxAgentDetails:Vbe,activeType:qt,onActiveTypeChange:Ft,sandboxRefreshKey:He,connectedRuntimeId:NO,hiddenRuntimeIds:kbe,drafts:fB,deploymentTasks:uB,draftDeploymentTaskIds:obe,onViewDeploymentTask:DC,onEditDraft:L=>{Gi(!1),oa(L.draft),Ew("custom"),nl(L.id),wo.current=L,zl(L.deploymentTarget??null),Vs(""),qs(""),Tn("custom"),we("")},onDeleteDraft:L=>SB([L])}):UC?l.jsx(Rht,{agents:ff?[ff]:gOe,drafts:fB,agentOrder:hB,selectedAgentId:n,agentInfo:Hn,agentInfoAgentId:n,loadingAgentInfo:Ts,canCreate:rl,canUpdate:rl||FC,canViewUsage:mOe,loadingAgents:wbe,agentsError:Sbe,deploymentTasks:uB,focusedDeploymentTaskId:vB,focusedAgentId:(ff==null?void 0:ff.id)??wB,focusedAgentSection:bbe,focusedCaseKind:Obe,feedbackCasePreview:xbe,detailOnly:!0,onBack:kOe,onRetryAgents:()=>void jC(),onAgentOrderChange:Abe,onDeleteAgents:Cbe,onDeleteDrafts:SB,onSelectAgent:vOe,onTalkAgent:NOe,onOpenFeedbackCase:L=>void aOe(L),onFeedbackCasesDeleted:lOe,onCreateAgent:()=>{if(!rl){we("当前账号没有添加 Agent 的权限。");return}jc(),oi(!0),Tn(null),oa(null),zl(null),Cw(Ri(wn)),nl(""),wo.current=null,Vs(""),qs(""),we("")},onUpdateAgent:async L=>{var pn,Bn,Dt;if(!FC&&!rl){we("当前账号没有管理 Agent 的权限。");return}if(!L.canUpdate){we(L.reason||"当前 Runtime 不支持原地更新。");return}if(!L.runtime.runtimeId){we("仅支持更新已部署的云端智能体。");return}if(!L.runtime.region){we("Runtime 缺少地域信息,无法更新。");return}if(!((pn=L.agent)!=null&&pn.appName)){we("Runtime 缺少智能体名称,无法更新。");return}const X=L.agent,te=Object.fromEntries(L.runtime.envs.filter(({key:Yn})=>!qgt(Yn)).map(({key:Yn,value:Ci})=>[Yn,Ci])),de=new Map(L.runtime.envs.map(({key:Yn,value:Ci})=>[Yn,Ci.trim()])),pe=X$(X,wn),Se=Am(X.model),qe=Xgt({...pe,modelProvider:Se.modelProvider||de.get("MODEL_AGENT_PROVIDER")||pe.modelProvider,modelApiBase:de.get("MODEL_AGENT_API_BASE")||pe.modelApiBase,deployment:{...pe.deployment??{feishuEnabled:!1},network:L.runtime.network,envValues:te}},L.runtime.envs),nt=(Dt=(Bn=qe.deployment)==null?void 0:Bn.modelApiKeyId)==null?void 0:Dt.trim();let Mt=new Set;try{const Yn=await a$({apiKeyId:nt});Mt=new Set(Yn.models.map(Ci=>Ci.id.trim()))}catch{}const gt=T5e(qe,Mt);jc(),oa(gt),Ew("custom");const ut=`runtime-${L.runtime.runtimeId}`;nl(ut),wo.current=null,Vs(""),qs(""),zl({runtimeId:L.runtime.runtimeId,name:L.runtime.name||X.name||pe.name,region:L.runtime.region,appName:L.agent.appName,currentVersion:L.runtime.currentVersion}),Tn("custom"),we("")},onEditDraft:L=>{jc(),oa(L.draft),Ew("custom"),nl(L.id),wo.current=L,zl(L.deploymentTarget??null),Vs(""),qs(""),Tn("custom"),we("")}},(ff==null?void 0:ff.id)??"workspace"):PB?l.jsx(Bgt,{title:"您想以哪种方式添加 Agent 来运行?",sub:"选择最适合你的方式,下一步即可开始",cards:[{key:"scratch",icon:yW,title:"从 0 快速创建",desc:"用智能 / 自定义 / 模板 / 工作流的方式从零创建一个 Agent。",onClick:()=>{oi(!1),oa(null),Ew("custom"),zl(null),Vs(""),qs(""),nl(`draft-${Date.now().toString(36)}`),wo.current=null,Tn("custom")}},{key:"intelligent",icon:yW,title:"智能模式",desc:ws||(yi==null?void 0:yi.reason)||"描述目标,按你的意图构建、调试并验证 Agent。",status:Bs?"能力检查中":yi!=null&&yi.enabled?void 0:"暂不可用",disabled:Bs||(yi==null?void 0:yi.enabled)!==!0,onClick:()=>{oi(!1),oa(null),zl(null),Vs(""),qs(""),nl(""),wo.current=null,Tn("intelligent")}},{key:"package",icon:Hvt,title:"从代码包添加和部署",desc:"上传 Agent 项目压缩包,查看代码并直接部署到 AgentKit Runtime。",onClick:()=>{oi(!1),oa(null),Tn("package")}},{key:"migration",icon:Yvt,title:"从存量迁移",desc:"从您的 LangChain / Dify 等存量项目迁移至 AgentKit Runtime",onClick:()=>{oi(!1),oa(null),Tn("migration")}}]}):SO?l.jsx(Z_e,{userId:ct,appId:n,agentInfo:Hn,capabilitiesLoading:Ts,agentLabel:zC,onOpenSession:NB}):MB?l.jsx(Jft,{onAdded:L=>{TO(nc()),Fr(!1),i(L)},onCancel:()=>Fr(!1)}):qm?l.jsx(Yft,{cloudProvider:wn,activeTab:ube,onTabChange:wC,onPageTitleChange:SC,skillInitialWorkspace:fbe,onSkillInitialWorkspaceConsumed:()=>ww(null),artifactSources:n?[{appName:n,agentId:(Rn==null?void 0:Rn.runtimeId)??n,agentName:zC(n),runtimeId:Rn==null?void 0:Rn.runtimeId,region:Rn==null?void 0:Rn.region,sessions:r}]:[],artifactUserId:ct,onArtifactActivate:()=>{n&&ct&&_O(n)},onArtifactSourceOpen:NB}):qh!==null&&!["menu","intelligent"].includes(qh)&&!lbe?l.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:[l.jsxs("div",{style:{fontSize:18,fontWeight:600},children:["需要配置",wn==="byteplus"?"BytePlus":"火山引擎"," AK/SK"]}),l.jsxs("div",{style:{maxWidth:420,lineHeight:1.6},children:["智能体工作台需要",wn==="byteplus"?" BytePlus ":" Volcengine ","凭据才能使用。请在运行环境中设置"," ",l.jsx("code",{children:wn==="byteplus"?"BYTEPLUS_ACCESS_KEY":"VOLCENGINE_ACCESS_KEY"})," ","与"," ",l.jsx("code",{children:wn==="byteplus"?"BYTEPLUS_SECRET_KEY":"VOLCENGINE_SECRET_KEY"})," ","后重试。"]})]}):Us?l.jsx(A0t,{delivery:Us,cloudProvider:wn,initialDeployRegion:Gm,onBack:()=>Cr(null),onAgentAdded:xOe,onDeploymentTaskChange:Vm,onDeploymentStarted:jw,onDeploymentComplete:Rw}):qh==="intelligent"?l.jsx(zgt,{capabilities:yi,loading:Bs,preparationStage:Kr,error:ws,onCancel:BC,onBack:()=>{BC(),Tn(null),oi(!0)},onCreate:async L=>{var te;if(Kr)return;(te=Rt.current)==null||te.abort();const X=new AbortController;Rt.current=X,ni("preparing"),Fs("");try{const de=await $c.startSession({displayName:L.slice(0,40),signal:X.signal});if(X.signal.aborted||Rt.current!==X)return;x(Se=>[de,...Se.filter(qe=>qe.id!==de.id)]),ni("starting");const pe=await $c.connectSession(de.id,{signal:X.signal});if(X.signal.aborted||Rt.current!==X)return;x(Se=>[pe,...Se.filter(qe=>qe.id!==pe.id)]),RB(pe,[]),Rt.current=null,ni(null),await QC(L,[],[],pe)}catch(de){(de==null?void 0:de.name)!=="AbortError"&&Fs(de instanceof Error?de.message:"智能开发会话创建失败")}finally{Rt.current===X&&(Rt.current=null,ni(null))}}}):qh==="custom"?l.jsx(xOt,{cloudProvider:wn,initialDraft:hbe??void 0,onBack:()=>{Tn(null),oi(!0)},onCreate:Nbe,onAgentAdded:RC,features:wO,onDeploymentTaskChange:Vm,createMode:pbe,deploymentTarget:Nc??void 0,initialDeployRegion:Gm,onDraftChange:(L,X)=>{ms&&(X?_be(ms,L,Nc??void 0):EB(ms))},onDiscard:ms?()=>{EB(ms),nl(""),wo.current=null,oa(null),zl(null),Vs(""),qs(n),Tn(null),oi(!1),Yi(!0),we("")}:void 0,onDeploymentStarted:jw,onDeploymentComplete:Rw},ms||"custom"):qh==="package"?l.jsx(kOt,{cloudProvider:wn,onBack:()=>{Tn(null),oi(!0)},onAgentAdded:RC,onDeploymentTaskChange:Vm,onDeploymentStarted:jw,onDeploymentComplete:Rw,initialDeployRegion:Gm}):qh==="migration"?l.jsx(Oyt,{cloudProvider:wn,onBack:()=>{Tn(null),oi(!0)},onAgentAdded:RC,onDeploymentTaskChange:Vm,onDeploymentStarted:jw,onDeploymentComplete:Rw,initialDeployRegion:Gm}):ae.length===0&&!yr?l.jsxs("div",{className:"session-loading",children:[l.jsx(qn,{className:"icon spin"})," 正在检查 Agent 能力…"]}):ae.length===0?l.jsx("div",{className:"welcome",children:l.jsxs("div",{className:"welcome-primary",children:[l.jsxs("div",{className:"welcome-heading",children:[l.jsx(zyt,{canUpdate:$i.role==="admin"}),l.jsx("h1",{className:"welcome-title",children:O?"让灵感自由生长":yO})]}),N]})},`welcome-${Xi.agentId??n}`):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:`transcript${J0e?" is-streaming":""}`,ref:Zm,onScroll:Rbe,onWheel:Dbe,onTouchMove:Ibe,children:ae.map((L,X)=>{var bs,Ct,Lt,Wt,Fn,sn,kr;const te=X===ae.length-1;if(L.role==="system")return L.activity?l.jsx("div",{className:"turn turn--system",children:l.jsx(nxt,{activity:L.activity,time:pL((bs=L.meta)==null?void 0:bs.ts)})},L.activity.id):null;if(L.role==="user"){const ui=L.blocks.map(Si=>Si.kind==="text"?Si.text:"").join(""),jr=L.blocks.flatMap(Si=>Si.kind==="attachment"?Si.files:[]),Xa=L.blocks.find(Si=>Si.kind==="invocation");return l.jsxs(Mr.div,{className:"turn turn--user",initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[(Xa==null?void 0:Xa.kind)==="invocation"&&l.jsx(S2,{value:Xa.value}),jr.length>0&&l.jsx(E2,{appName:n,items:jr}),ui&&l.jsx("div",{className:"bubble",children:l.jsx(pu,{text:ui})}),l.jsxs("div",{className:"turn-actions turn-actions--right","data-share-image-exclude":"true",children:[((Ct=L.meta)==null?void 0:Ct.ts)&&l.jsx("span",{className:"meta-text",children:pL(L.meta.ts)}),l.jsx(xW,{text:ui})]})]},X)}const de=((Lt=L.meta)==null?void 0:Lt.author)??"",pe=de&&Nr?hL(Nr,de):void 0,Se=!!(de&&aB.length>0&&!aB.includes(de)),qe=(pe==null?void 0:pe.name)||de,nt=(pe==null?void 0:pe.description)||(Se?"正在执行主 Agent 移交的任务。":"");if(L.blocks.length>0&&L.blocks.every(ui=>ui.kind==="agent-transfer"))return null;const Mt=L.blocks.length===0,gt=((Fn=(Wt=L.meta)==null?void 0:Wt.feedback)==null?void 0:Fn.rating)??null,ut=((sn=L.meta)==null?void 0:sn.eventId)??"",pn=aa.has(ut),Bn=!!(la&&ut&&Sf(L)),Dt=Bn?zD(ae,X):"",Ci=!!(Bn&&wn!=="byteplus"&&!(te&&(Cc||zm))&&!VD(L));return l.jsxs(Mr.div,{"data-share-message-source":"true","data-response-annotation-index":X,ref:ui=>{ut&&(ui?IC.current.set(ut,ui):IC.current.delete(ut))},className:["turn turn--assistant",Se?"turn--subagent":"",EO&&EO===ut?"is-feedback-target":""].filter(Boolean).join(" "),tabIndex:Ci?0:void 0,"aria-label":Ci?"模型回复;选中文字后可添加批注":void 0,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[Se&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"subagent-run-label",children:[l.jsxs("span",{className:"subagent-run-handoff",children:[l.jsx(Qke,{}),l.jsx("span",{children:"智能体移交"})]}),l.jsx("span",{className:"subagent-run-title",children:qe})]}),l.jsx("p",{className:"subagent-run-description",title:nt,children:nt})]}),Mt?te&&Cc?l.jsx(vue,{}):null:l.jsxs(l.Fragment,{children:[l.jsx(k2,{appName:n,blocks:L.blocks,streaming:te&&(Cc||zm),onStreamFrame:te?Pbe:void 0,onStreamComplete:te&&!Cc&&zm?()=>se(a):void 0,onAction:hOe,onAuth:pOe,onArtifactDownload:(ui,jr)=>c$(n,ct,a,ui,jr),onArtifactPreview:(ui,jr)=>u$(n,ct,a,ui,jr),onResolveDelivery:Ss,onDownloadDelivery:xa,onDeployDelivery:Cr}),!(te&&Cc)&&!Kvt(L)&&l.jsx("div",{className:"turn-empty",children:"本次没有返回可显示的内容。"}),!(te&&Cc)&&!VD(L)&&l.jsxs("div",{className:"turn-meta","data-share-image-exclude":"true",children:[O&&((kr=L.meta)!=null&&kr.sandboxUsage)?l.jsx(rxt,{usage:L.meta.sandboxUsage}):null,l.jsxs("div",{className:"turn-actions",children:[Bn&&l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:`icon-btn feedback-btn${gt==="good"?" feedback-btn--good":""}`,"aria-label":"赞","aria-pressed":gt==="good","aria-busy":pn,title:gt==="good"?"取消点赞":"赞",disabled:pn,onClick:()=>void VC(L,gt==="good"?null:"good",Dt),children:l.jsx(nAe,{className:"icon",filled:gt==="good"})}),l.jsx("button",{type:"button",className:`icon-btn feedback-btn${gt==="bad"?" feedback-btn--bad":""}`,"aria-label":"踩","aria-pressed":gt==="bad","aria-busy":pn,title:gt==="bad"?"取消点踩":"踩",disabled:pn,onClick:()=>void VC(L,gt==="bad"?null:"bad",Dt),children:l.jsx(iAe,{className:"icon",filled:gt==="bad"})})]}),!O&&l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"icon-btn","aria-label":"问题反馈",title:"问题反馈",onClick:()=>$l({turn:L,input:zD(ae,X)}),children:l.jsx(_ne,{className:"icon"})}),l.jsx("button",{type:"button",className:"icon-btn",title:"Tracing 火焰图",onClick:()=>{var ui;ef((ui=L.meta)!=null&&ui.ts?L.meta.ts*1e3:Date.now()),ju(!0)},children:l.jsx(Gvt,{})})]}),l.jsx(xW,{text:Sf(L)}),l.jsx(twt,{onClick:ui=>{const jr=ui.currentTarget.closest("[data-share-message-source]");jr&&Kd({targetTurn:jr})}})]}),L.meta&&l.jsx("span",{className:"meta-text",children:Wvt(L.meta)})]})]})]},X)})}),!O&&l.jsx(W5e,{appName:n,info:Hn,loading:Ts,activeAgent:ebe,seenAgents:tbe,execPath:nbe,capabilities:nn,capabilityLoading:Fa,capabilityMutating:Ll,builtinTools:Qn,onAddCapability:cOe,onRemoveCapability:L=>void uOe(L)}),l.jsx("div",{className:"conversation-composer-slot",children:N})]})]})})})(),kn&&a&&l.jsx(Kxt,{onClose:()=>$l(null),onSubmit:bOe}),Cu&&l.jsx(nvt,{targetTurn:Cu.targetTurn,onClose:()=>Kd(null)}),Jd&&a&&l.jsx(wvt,{anchor:Jd.anchor,selectedText:Jd.selectedText,onClose:()=>OO(N=>(N==null?void 0:N.selectionId)===Jd.selectionId?null:N),onSubmit:yOe},Jd.selectionId),ow&&a&&l.jsx(f0e,{appName:n,sessionId:a,endTimeMs:$m,onClose:()=>ju(!1)}),l.jsx(ext,{open:Fe,state:Ye,agentKind:Z,error:It,onCancel:Qbe,onConfirm:(N,L)=>void Bbe(N,L)}),l.jsx(Uxt,{open:V,onClose:()=>je(!1),onRefreshAgents:()=>et(N=>N+1),onOpenSession:zbe}),tn?l.jsx(cc,{title:"当前构建仍在进行",description:"离开将停止本轮构建;当前会话仍会保留,可稍后从历史会话重新进入。",confirmLabel:"停止并离开",variant:"warning",busy:gn,onCancel:()=>{gn||(mt.current=null,st(!1))},onConfirm:()=>void tOe()}):null,Pt?l.jsx(cc,{title:"删除构建会话",description:`将删除“${Pt.displayName||"智能构建"}”及其中的对话和文件,删除后无法恢复。`,confirmLabel:"确认删除",variant:"danger",busy:T===Pt.id,onCancel:()=>{T||wt(null)},onConfirm:()=>void Ube(Pt)}):null,Qe?l.jsx(cc,{title:"删除 Codex 历史会话",description:`将删除“${Qe.name||Qe.preview||`Thread ${Qe.id.slice(0,8)}`}”,并从历史会话中移除。`,confirmLabel:"确认删除",variant:"danger",busy:jn.threadActionId===Qe.id,onCancel:()=>{jn.threadActionId||Ot(null)},onConfirm:()=>void Xbe()}):null,O?l.jsxs(l.Fragment,{children:[l.jsx(gxt,{open:!O.intelligentDevelopment&&H!==null,kind:H??"terminal",launch:q,loading:fe,error:ce,onReload:()=>{H&&$C(H)},onClose:()=>{U(null),ie(null),me(!1),K("")}}),l.jsx(vxt,{open:!O.intelligentDevelopment&&F,value:O.permissions,busy:I||P,error:j,onSave:N=>void Ybe(N),onClose:()=>{I||(Q(!1),D(""))}}),l.jsx(wxt,{open:!O.intelligentDevelopment&&M,cwd:O.cwd,locked:O.workspaceLocked,busy:I,error:j,browse:Gbe,onSave:N=>void Wbe(N),onClose:()=>{I||(G(!1),D(""))}}),l.jsx(bxt,{open:!O.intelligentDevelopment&&jn.threadsOpen,threads:jn.threads,currentThreadId:O.threadId,loading:jn.threadsLoading,error:jn.threadsError,onSelect:N=>void jn.resumeThread(N),onClose:jn.closeThreads}),l.jsx(Sxt,{approval:ee,busy:ve,error:Pe,onDecision:N=>void Zbe(N)})]}):null,l.jsx(Yxt,{open:gC,checking:bC,error:dw,onLogin:()=>void Mbe()}),l.jsx(Kyt,{open:_c,task:Ml,onClose:()=>ai(!1),onRetry:Ai,onDownload:()=>void Sr()}),Tbe&&l.jsx("div",{className:"confirm-scrim",onClick:()=>CC(!1),children:l.jsxs("div",{className:"confirm-box",onClick:N=>N.stopPropagation(),children:[l.jsx("div",{className:"confirm-title",children:"返回创建首页?"}),l.jsx("div",{className:"confirm-text",children:"返回后当前填写的内容将会丢失,确定要返回吗?"}),l.jsxs("div",{className:"confirm-actions",children:[l.jsx("button",{className:"confirm-btn",onClick:()=>CC(!1),children:"取消"}),l.jsx("button",{className:"confirm-btn confirm-btn--danger",onClick:()=>{oa(null),Tn(null),oi(!0),CC(!1)},children:"确定返回"})]})]})})]})}const AW="veadk.preloadRecoveryAt";window.addEventListener("vite:preloadError",e=>{const t=Date.now();let n=0;try{n=Number(sessionStorage.getItem(AW)||"0")}catch{}if(!(t-n<1e4)){e.preventDefault();try{sessionStorage.setItem(AW,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})()||j1e.createRoot(document.getElementById("root")).render(l.jsx(On.StrictMode,{children:l.jsx(U1e,{reducedMotion:"user",children:l.jsx(vke,{maskOpacity:.9,children:l.jsx(uwt,{})})})}));export{hwt as $,jae as A,o7e as B,Sv as C,Hse as D,E$ as E,F3e as F,w1 as G,zne as H,Uae as I,ei as J,EUe as K,jUe as L,c7e as M,_b as N,jze as O,nae as P,fUe as Q,uae as R,hUe as S,iQe as T,Qze as U,ba as V,sze as W,aze as X,xle as Y,j$e as Z,xd as _,Rae as a,lx as a0,Uc as a1,l as a2,Ht as a3,Ui as a4,Mn as a5,Xne as a6,vwt as a7,wUe as a8,zi as a9,m as aa,p2 as ab,sCe as ac,$o as ad,Go as ae,wwt as af,dx as ag,um as ah,Oh as ai,Lr as aj,qd as ak,GA as al,i4 as am,YA as an,Tl as ao,cle as ap,TQe as b,kQe as c,Yb as d,os as e,SQe as f,On as g,io as h,Fae as i,Nae as j,EQe as k,lQe as l,doe as m,d3e as n,rV as o,ub as p,Lf as q,Pi as r,Swt as s,jse as t,xc as u,i2 as v,a2 as w,bh as x,ywt as y,N4 as z}; +`),toolCalls:X.flatMap(oF),trace:ne})},JC=async(R,L,X="",ne="",fe=!0)=>{var gt,ut,wn,Un,Lt,Jn,Di,ks;const ge=(gt=R.meta)==null?void 0:gt.eventId,we=a;if(!ge||!we||!ga)return"当前回复暂不支持加入评测集";if(jn==="byteplus")return"BytePlus 暂不支持 AgentKit 评测集";const Xe=Af(R),nt=(ut=R.meta)==null?void 0:ut.feedback,$t={...nt,rating:L,comment:ne,syncStatus:"syncing",updatedAt:Date.now()/1e3};lt(we,_t=>_t.map(Qt=>{var nn;return((nn=Qt.meta)==null?void 0:nn.eventId)===ge?{...Qt,meta:{...Qt.meta,feedback:$t}}:Qt})),on(_t=>new Set(_t).add(ge)),Mn!=null&&Mn.runtimeId&&Bu&&XE({runtimeId:Mn.runtimeId,region:Mn.region??Li(jn),appName:Bu,userId:dt,sessionId:we,messageId:ge,invocationId:(wn=R.meta)==null?void 0:wn.invocationId,rating:L,input:X,output:Xe,comment:ne,createdAt:(Un=R.meta)!=null&&Un.ts?new Date(R.meta.ts*1e3).toISOString():void 0});try{const _t=await Kte({appName:n,userId:dt,sessionId:we,eventId:ge,rating:L,comment:ne});lt(we,Qt=>Qt.map(nn=>{var zn;return((zn=nn.meta)==null?void 0:zn.eventId)===ge?{...nn,meta:{...nn.meta,feedback:_t}}:nn})),s(Qt=>Qt.map(nn=>nn.id===we?{...nn,state:{...nn.state??{},[`veadk_feedback:${ge}`]:_t}}:nn)),Mn!=null&&Mn.runtimeId&&Bu&&(XE({runtimeId:Mn.runtimeId,region:Mn.region??Li(jn),appName:Bu,userId:dt,sessionId:we,messageId:ge,invocationId:(Lt=R.meta)==null?void 0:Lt.invocationId,rating:_t.rating,input:X,output:Xe,comment:ne,createdAt:(Jn=R.meta)!=null&&Jn.ts?new Date(R.meta.ts*1e3).toISOString():void 0}),tne({runtimeId:Mn.runtimeId,region:Mn.region??Li(jn),appName:Bu,pageSize:100}))}catch(_t){const Qt=_t instanceof Error?_t.message:String(_t);return lt(we,nn=>nn.map(zn=>{var dn;return((dn=zn.meta)==null?void 0:dn.eventId)===ge?{...zn,meta:{...zn.meta,feedback:nt}}:zn})),Mn!=null&&Mn.runtimeId&&Bu&&XE({runtimeId:Mn.runtimeId,region:Mn.region??Li(jn),appName:Bu,userId:dt,sessionId:we,messageId:ge,invocationId:(Di=R.meta)==null?void 0:Di.invocationId,rating:(nt==null?void 0:nt.rating)??null,input:X,output:Xe,comment:(nt==null?void 0:nt.comment)??"",createdAt:(ks=R.meta)!=null&&ks.ts?new Date(R.meta.ts*1e3).toISOString():void 0}),fe&&Wt.current===we&&G(Qt),Qt}finally{on(_t=>{const Qt=new Set(_t);return Qt.delete(ge),Qt})}return null},DOe=async R=>{const L=pa;if(!L)return;const X=await JC(L.turn,"bad",L.input,qvt(L.selectedText,R),!1);if(X)throw new Error(X)},QO=async R=>{const L=d.current+1;d.current=L;const X=fc(),ne=hi.current.get(R),fe=$W(X,R),[ge,we,Xe,nt]=await Promise.all([ne?Promise.resolve(ne):WI(R),TW(R,dt),EP(R).catch(()=>null),fe?OP({runtimeId:fe.runtimeId,region:fe.region,appName:fe.appName,userId:dt}).catch(()=>{}):Promise.resolve(void 0)]);if(d.current!==L)return;const $t=R!==n||Wl||ci!==null||O!==null;f.current=$t?{agentId:R,userId:dt,automaticEvaluationStatuses:nt}:null,u.current+=1,hi.current.set(R,ge),DO(X),Gs(ge),BB(R,we),ys(Xe),ll(!1),_o(new Set((nt==null?void 0:nt.items.filter(gt=>gt.state==="running").map(gt=>gt.sessionId))??[])),i(R),Uc(),Ws(""),Zs(""),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),Xa(null),gf()},POe=async R=>{await QO(R)},MOe=async R=>{await QO(R)},LOe=R=>{if(!pl){G("当前账号没有添加 Agent 的权限。");return}nr(!1),tr(!1),Iw(R),ma(null),Rn(null),mi(!0),G("")},$Oe=async(R,L)=>{if(!R.runtime)throw new Error("缺少 Runtime 信息,无法连接智能体。");const X=wI({targetId:String(R.runtime.runtimeId),agentKind:"runtime",connectSource:L});try{const ne=await Nk(R.runtime.runtimeId,R.name,R.runtime.region,R.runtime.currentVersion);return X.succeed({runtimeRegion:R.runtime.region,runtimeIsMine:R.isMine?1:0}),ne}catch(ne){throw X.fail(Ia(ne)),ne}},HB=async(R,L={})=>{if(R.runtime)try{const X=await $Oe(R,L.source??"my_agents");await QO(X)}catch(X){const ne=X instanceof Error?X.message:String(X);if(G(ne),L.rethrow)throw new Error(ne)}},QOe=R=>{R.runtime&&(MC({page:"agent-detail",returnTo:"agents"}),Wa(R),Ws(""),Zs(""),nr(!0),tr(!0),G(""))},BOe=()=>{Uc(),Ws(""),Zs(""),nr(!0),G("")},FOe=()=>{Kh("sandbox-agent-detail"),vt(null),ze(null),nr(!0),G("")},UOe=()=>{Kh("system-info"),G("")},zOe=R=>{if(!pl){G("当前账号没有创建智能体的权限。");return}XC(R,!0)},GB=()=>{Gl(null),O&&ec(),Wt.current="",o(""),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),Ws(""),Zs(""),nr(!0),hl([]),jo(null),G("")},VOe=()=>{Gl(null),O&&ec(),Wt.current="",o(""),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo("catalog"),G("")},qOe=async R=>{if(DC(""),jw(""),R.runtimeId&&R.id.startsWith("detail:")){const L=wI({targetId:String(R.runtimeId),agentKind:"runtime",connectSource:"agent_workspace"});try{const X=await Nk(R.runtimeId,R.label,R.region??Li(jn),R.currentVersion);L.succeed({runtimeRegion:R.region}),await QO(X)}catch(X){L.fail(Ia(X)),G(X instanceof Error?X.message:String(X))}return}await QO(R.id)},eN=ci!=null&&ci.runtime?Kl.find(R=>{var L;return R.runtimeId===((L=ci.runtime)==null?void 0:L.runtimeId)}):void 0,bf=ci!=null&&ci.runtime?{id:`detail:${ci.runtime.runtimeId}`,label:ci.name,app:ci.appName??ci.name,remote:!0,runtimeApp:eN==null?void 0:eN.apps[0],runtimeId:ci.runtime.runtimeId,region:ci.runtime.region,currentVersion:ci.runtime.currentVersion,canDelete:ci.runtime.canDelete}:null,XOe=IO==="system-info"?(tg==null?void 0:tg.returnTo)??"new-chat":IO==="agent-detail"||IO==="sandbox-agent-detail"?IO:dl!==null?"feedback":Km?"library":Zl?"applications":jO?"search":xe?"sandbox-agent-workspace":Wl||ff?"agents":O?"sandbox":a?"conversation":Co||_w||Jm?"create":"new-chat",YB=PC?null:dl!==null?"feedback":Km?"library":Zl?"applications":jO?"search":Wl||ff||Tt||xe?"agents":a||O||Co||Km||_w||Jm?null:"new-chat";return l.jsxs("div",{className:"layout",children:[l.jsx(kAe,{branding:Wh,cloudProvider:jn,access:Ii,features:AO,sessions:r,currentSessionId:a,activePage:YB,streamingSids:Zn,evaluatingSids:ha,sandboxHistory:O&&!O.intelligentDevelopment?{threads:Mt.threads,currentThreadId:O.threadId,loading:Mt.threadsLoading,error:Mt.threadsError,hasMore:Mt.threadsHasMore,busyThreadId:Mt.threadActionId,newDisabled:P||Mt.commandBusy,onNew:()=>void Mt.newThread(),onSelect:R=>void Mt.resumeThread(R),onLoadMore:()=>void Mt.loadMoreThreads(),onDelete:bt}:void 0,intelligentHistory:{sessions:v,currentSessionId:O!=null&&O.intelligentDevelopment?O.id:"",loading:w,error:S,busySessionId:O!=null&&O.intelligentDevelopment&&P?O.id:"",openingSessionId:T,onSelect:R=>tc(()=>void nOe(R)),onDelete:Vt},onNewChat:()=>tc(yOe),onSearch:()=>tc(()=>{Gl(null),O&&ec(),Rn(null),ws(!1),Gr(!1),mi(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo(null),Es(!0),G("")}),onQuickCreate:()=>tc(()=>{if(!pl){G("当前账号没有添加 Agent 的权限。");return}O&&ec(),Wt.current="",o(""),ws(!1),Gr(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo(null),Rn(null),ma(null),Iw(Li(jn)),mi(!0),G("")}),onLibrary:()=>tc(()=>{O&&ec(),Rn(null),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo(null),Tw(null),jC("skills"),RC("技能库"),ws(!0),G("")}),onAddAgent:()=>tc(()=>{if(!pl){G("当前账号没有添加 Agent 的权限。");return}O&&ec(),Wt.current="",Rn(null),ws(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo(null),o(""),mi(!1),Gr(!0),G("")}),onMyAgents:()=>tc(GB),onApplications:()=>tc(VOe),onSystemInfo:()=>tc(()=>{MC({page:"system-info",returnTo:XOe}),G("")}),onIssueFeedback:()=>{dl===null&&(hl([]),Gl(YB??(O?"sandbox":a?"conversation":"workspace")),G(""))},onPickSession:R=>tc(()=>{Gl(null),Rn(null),ws(!1),Gr(!1),mi(!1),Es(!1),tr(!1),Wa(null),vt(null),ze(null),nr(!1),hl([]),jo(null),G(""),MO(R)}),onDeleteSession:xOe,userInfo:TO,onLogout:Jbe}),(()=>{const R=l.jsxs("div",{className:`composer-slot${O?" sandbox-composer-wrap":""}`,children:[O&&l.jsx(Txt,{agentName:O.intelligentDevelopment?"智能开发":O.toolName==="codex"?"Codex":O.toolName==="deepseek-harness"?"DeepSeek Harness":O.toolName==="openclaw"?"OpenClaw":"Hermes",expireAt:O.intelligentDevelopment?O.expireAt:void 0,exitLabel:O.intelligentDevelopment?"退出开发环境":void 0,onExit:()=>tc(gf)}),O?l.jsx(r1t,{appName:n,value:li,onChange:Wn,onSubmit:L=>void bOe(L),onStop:P?mOe:void 0,disabled:!1,busy:P||Mt.commandBusy,attachments:Dr,onAddFiles:hOe,onRemoveAttachment:pOe,actions:{onOpenTerminal:()=>void HC("terminal"),onOpenBrowser:()=>void HC("browser"),onOpenPermissions:()=>{I(""),B(!0)},onOpenWorkspace:()=>{I(""),Y(!0)},onCopyEndpoint:lOe,endpointCopyEnabled:Ji.sandboxEndpointExportEnabled===!0,endpointCopyState:Oe,workspaceLocked:O.workspaceLocked,settingsBusy:D,uploadBusy:pe||P},models:Mt.models,modelsLoading:Mt.modelsLoading,modelsLoaded:Mt.modelsLoaded,currentModel:O.model,onRequestModels:()=>void Mt.loadModels(),skills:Mt.skills,skillsLoading:Mt.skillsLoading,skillsLoaded:Mt.skillsLoaded,selectedSkills:Mt.selectedSkills,onRequestSkills:()=>void Mt.loadSkills(),onSelectedSkillsChange:Mt.setSelectedSkills,textOnly:O.intelligentDevelopment}):l.jsx(s0t,{cloudProvider:jn,sessionId:a,sessionInitializing:h,appName:n,agentName:n?KC(n):"Agent",value:li,onChange:Wn,videoTask:Eo,onOpenVideoTask:()=>{Xr.current&&Ca(!0)},onVideoSubmit:Nt,onSubmit:()=>{var fe;const L=li;if(!O&&le.length===0&&fi==="skill"){if(!L.trim())return;let ge;if(Wi==="create")ge={operation:"create",initialIntent:L.trim(),selectPublishSpace:!0};else{const we=vn;if(!we){G("请先选择需要优化的 Skill。");return}ge={operation:"optimize",initialIntent:L.trim(),space:we.space,source:{kind:"skill-center",skillId:we.skill.skillId,version:we.skill.version,region:we.space.region||Li(jn),projectName:we.space.projectName,skillSpaceId:we.space.id,skillSpaceName:we.space.name,name:we.skill.skillName||we.skill.skillId,description:we.skill.skillDescription}}}Wn(""),G(""),Tw(ge),jC("skills"),RC(ge.operation==="create"?"创建技能":`优化 ${((fe=ge.source)==null?void 0:fe.name)||"技能"}`),ws(!0);return}if(Wn(""),O){GC(L);return}const X=Dr,ne=fa;br([]),Hr(gl()),zB(L,X,ne),eD(X)},onStop:he?_Oe:void 0,disabled:O?!1:!dt||di==="temporary"||di==="deepseek-harness"||fi==="agent"&&di==="agent"&&!n||fi==="skill"&&Wi==="optimize"&&!vn,busy:O?P:Ve,showMeta:le.length>0&&!O,attachments:O?[]:Dr,skills:O?[]:Obe,agents:O?[]:ybe,invocation:O?gl():fa,capabilitiesLoading:!O&&as,modelName:t4(bn==null?void 0:bn.model)||Qe.modelName,tokenUsage:Qe,systemTokenEstimate:xbe,allowAttachments:!O,onInvocationChange:Hr,onAddFiles:TOe,onRemoveAttachment:vbe,newChatMode:O?"agent":di,newChatWorkspaceMode:O?"agent":fi,newChatSkillAction:Wi,newChatSkillTarget:vn,skillCustomizationEnabled:ss&&Ji.skillCustomizationEnabled===!0,newChatTask:O?null:ji,newChatLayout:!O&&le.length===0,showWorkspaceTabs:!O&&le.length===0,showAgentPicker:!O&&le.length===0&&fi==="agent"&&di==="agent",agentPickerDisabled:!dt||Ve,selectedRuntimeId:ga==null?void 0:ga.runtimeId,runtimeScope:Ii.capabilities.runtimeScope,onSelectRuntime:async L=>{var X;await HB({id:L.runtimeId,name:L.name,description:((X=L.description)==null?void 0:X.trim())||"暂无描述",createdAt:L.createdAt??"",specificationLabel:"地域",specification:wu(L.region,jn),isMine:L.isMine,runtime:{runtimeId:L.runtimeId,region:L.region,currentVersion:L.currentVersion,canDelete:L.canDelete}},{rethrow:!0,source:"new_chat_picker"})},onSelectSandboxSession:L=>Lw(L,"new_chat_picker"),showModeSelector:!1,onWorkspaceModeChange:L=>{Yi(L),L!=="agent"&&Si(null),G("")},onSkillActionChange:gr,onSkillTargetChange:Zi,temporaryEnabled:ss&&Ji.temporaryEnabled,deepseekHarnessEnabled:ss&&Ji.deepseekHarnessEnabled,harnessEnabled:ss&&Ji.harnessEnabled,builtinTools:ss?Ji.builtinTools:[],onModeChange:L=>{if(!(L==="temporary"&&!Ji.temporaryEnabled)){if(L==="temporary"){Si(null),Pn(L),XC();return}if(!(L==="deepseek-harness"&&!Ji.deepseekHarnessEnabled)){if(L==="deepseek-harness"){Si(null),Pn(L),XC("deepseek-harness");return}Pn(L),L!=="agent"&&Si(null),G("")}}},onTaskChange:Si})]});return l.jsx("section",{className:"main-shell",children:l.jsxs("main",{className:`main${O?" is-sandbox-session":""}${O!=null&&O.intelligentDevelopment?" is-intelligent-development":""}`,children:[gn&&l.jsx("div",{className:"error",role:"alert",children:gn}),Gt&&l.jsx("div",{className:"error",role:"alert",children:Gt}),vw&&l.jsxs("div",{className:"session-loading",children:[l.jsx(Hn,{className:"icon spin"})," 加载会话…"]}),SB&&!ZC&&!VB&&!qB&&!jO&&!Km&&ep===null&&l.jsx("div",{className:"case-return-bar",children:l.jsxs("button",{type:"button",onClick:wOe,children:[l.jsx(Ste,{"aria-hidden":!0}),l.jsx("span",{children:"返回评测案例"})]})}),PC?l.jsx(cmt,{version:kC,localMode:Qc==="local",role:(Ii==null?void 0:Ii.role)??"user",provider:jn,region:_C||Li(jn),onBack:UOe}):dl!==null?l.jsx(Kvt,{initialModule:uwt(dl),onSubmit:IOe}):Zl==="coding-agents"?l.jsx(rgt,{onBack:()=>jo("catalog")}):Zl==="feishu"?l.jsx(Bmt,{onBack:()=>jo("catalog")}):Zl&&Zl!=="catalog"?l.jsx(pmt,{automation:Zl,onBack:()=>jo("catalog")}):Zl==="catalog"?l.jsx(nmt,{onOpen:jo}):xe?l.jsx(Zxt,{workspace:xe,onBack:GB}):Tt?l.jsx(Wxt,{session:Tt,onBack:FOe,onOpen:()=>Lw(Tt,"sandbox_detail"),onDelete:()=>aOe(Tt)}):Wl&&!ZC?l.jsx(Apt,{cloudProvider:jn,canCreate:pl,runtimeScope:Ii.capabilities.runtimeScope,onCreateAgent:LOe,onOpenCodexProjectUpload:()=>je(!0),onUseAgent:L=>HB(L,{source:"my_agents"}),onViewAgentDetails:QOe,onCreateSandboxAgent:zOe,onUseSandboxAgent:L=>Lw(L,"my_agents"),onViewSandboxAgentDetails:sOe,activeType:Jt,onActiveTypeChange:Xt,sandboxRefreshKey:We,connectedRuntimeId:$O,hiddenRuntimeIds:Bbe,drafts:vB,deploymentTasks:yB,draftDeploymentTaskIds:wbe,onViewDeploymentTask:UC,onEditDraft:L=>{nr(!1),ma(L.draft),Aw("custom"),fl(L.id),No.current=L,Jl(L.deploymentTarget??null),Ws(""),Zs(""),Rn("custom"),G("")},onDeleteDraft:L=>RB([L])}):ZC?l.jsx(Kht,{agents:bf?[bf]:jOe,drafts:vB,agentOrder:wB,selectedAgentId:n,agentInfo:bn,agentInfoAgentId:n,loadingAgentInfo:as,canCreate:pl,canUpdate:pl||WC,canViewUsage:NOe,loadingAgents:Lbe,agentsError:$be,deploymentTasks:yB,focusedDeploymentTaskId:NB,focusedAgentId:(bf==null?void 0:bf.id)??jB,focusedAgentSection:Rbe,focusedCaseKind:Ibe,feedbackCasePreview:Pbe,detailOnly:!0,onBack:BOe,onRetryAgents:()=>void BC(),onAgentOrderChange:zbe,onDeleteAgents:Vbe,onDeleteDrafts:RB,onSelectAgent:MOe,onTalkAgent:qOe,onOpenFeedbackCase:L=>void vOe(L),onFeedbackCasesDeleted:SOe,onCreateAgent:()=>{if(!pl){G("当前账号没有添加 Agent 的权限。");return}Uc(),mi(!0),Rn(null),ma(null),Jl(null),Iw(Li(jn)),fl(""),No.current=null,Ws(""),Zs(""),G("")},onUpdateAgent:async L=>{var wn,Un,Lt;if(!WC&&!pl){G("当前账号没有管理 Agent 的权限。");return}if(!L.canUpdate){G(L.reason||"当前 Runtime 不支持原地更新。");return}if(!L.runtime.runtimeId){G("仅支持更新已部署的云端智能体。");return}if(!L.runtime.region){G("Runtime 缺少地域信息,无法更新。");return}if(!((wn=L.agent)!=null&&wn.appName)){G("Runtime 缺少智能体名称,无法更新。");return}const X=L.agent,ne=Object.fromEntries(L.runtime.envs.filter(({key:Jn})=>!d0t(Jn)).map(({key:Jn,value:Di})=>[Jn,Di])),fe=new Map(L.runtime.envs.map(({key:Jn,value:Di})=>[Jn,Di.trim()])),ge=n4(X,jn),we=Lm(X.model),Xe=f0t({...ge,modelProvider:we.modelProvider||fe.get("MODEL_AGENT_PROVIDER")||ge.modelProvider,modelApiBase:fe.get("MODEL_AGENT_API_BASE")||ge.modelApiBase,deployment:{...ge.deployment??{feishuEnabled:!1},network:L.runtime.network,envValues:ne}},L.runtime.envs),nt=(Lt=(Un=Xe.deployment)==null?void 0:Un.modelApiKeyId)==null?void 0:Lt.trim();let $t=new Set;try{const Jn=await m$({apiKeyId:nt});$t=new Set(Jn.models.map(Di=>Di.id.trim()))}catch{}const gt=zLe(Xe,$t);Uc(),ma(gt),Aw("custom");const ut=`runtime-${L.runtime.runtimeId}`;fl(ut),No.current=null,Ws(""),Zs(""),Jl({runtimeId:L.runtime.runtimeId,name:L.runtime.name||X.name||ge.name,region:L.runtime.region,appName:L.agent.appName,currentVersion:L.runtime.currentVersion}),Rn("custom"),G("")},onEditDraft:L=>{Uc(),ma(L.draft),Aw("custom"),fl(L.id),No.current=L,Jl(L.deploymentTarget??null),Ws(""),Zs(""),Rn("custom"),G("")}},(bf==null?void 0:bf.id)??"workspace"):VB?l.jsx(a0t,{title:"您想以哪种方式添加 Agent 来运行?",sub:"选择最适合你的方式,下一步即可开始",cards:[{key:"scratch",icon:jW,title:"从 0 快速创建",desc:"用智能 / 自定义 / 模板 / 工作流的方式从零创建一个 Agent。",onClick:()=>{mi(!1),ma(null),Aw("custom"),Jl(null),Ws(""),Zs(""),fl(`draft-${Date.now().toString(36)}`),No.current=null,Rn("custom")}},{key:"intelligent",icon:jW,title:"智能模式",desc:Os||(zi==null?void 0:zi.reason)||"描述目标,按你的意图构建、调试并验证 Agent。",status:ua?"能力检查中":zi!=null&&zi.enabled?void 0:"暂不可用",disabled:ua||(zi==null?void 0:zi.enabled)!==!0,onClick:()=>{mi(!1),ma(null),Jl(null),Ws(""),Zs(""),fl(""),No.current=null,Rn("intelligent")}},{key:"package",icon:Owt,title:"从代码包添加和部署",desc:"上传 Agent 项目压缩包,查看代码并直接部署到 AgentKit Runtime。",onClick:()=>{mi(!1),ma(null),Rn("package")}},{key:"migration",icon:ywt,title:"从存量迁移",desc:"从您的 LangChain / Dify 等存量项目迁移至 AgentKit Runtime",onClick:()=>{mi(!1),ma(null),Rn("migration")}}]}):jO?l.jsx(pAe,{userId:dt,appId:n,agentInfo:bn,capabilitiesLoading:as,agentLabel:KC,onOpenSession:QB}):qB?l.jsx(ght,{onAdded:L=>{DO(fc()),Gr(!1),i(L)},onCancel:()=>Gr(!1)}):Km?l.jsx(dht,{cloudProvider:jn,activeTab:kbe,onTabChange:jC,onPageTitleChange:RC,skillInitialWorkspace:_be,onSkillInitialWorkspaceConsumed:()=>Tw(null),artifactSources:n?[{appName:n,agentId:(Mn==null?void 0:Mn.runtimeId)??n,agentName:KC(n),runtimeId:Mn==null?void 0:Mn.runtimeId,region:Mn==null?void 0:Mn.region,sessions:r}]:[],artifactUserId:dt,onArtifactActivate:()=>{n&&dt&&PO(n)},onArtifactSourceOpen:QB}):ep!==null&&!["menu","intelligent"].includes(ep)&&!Sbe?l.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:[l.jsxs("div",{style:{fontSize:18,fontWeight:600},children:["需要配置",jn==="byteplus"?"BytePlus":"火山引擎"," AK/SK"]}),l.jsxs("div",{style:{maxWidth:420,lineHeight:1.6},children:["智能体工作台需要",jn==="byteplus"?" BytePlus ":" Volcengine ","凭据才能使用。请在运行环境中设置"," ",l.jsx("code",{children:jn==="byteplus"?"BYTEPLUS_ACCESS_KEY":"VOLCENGINE_ACCESS_KEY"})," ","与"," ",l.jsx("code",{children:jn==="byteplus"?"BYTEPLUS_SECRET_KEY":"VOLCENGINE_SECRET_KEY"})," ","后重试。"]})]}):Xs?l.jsx(J0t,{delivery:Xs,cloudProvider:jn,initialDeployRegion:ng,onBack:()=>Xa(null),onAgentAdded:POe,onDeploymentTaskChange:Zm,onDeploymentStarted:Pw,onDeploymentComplete:Mw}):ep==="intelligent"?l.jsx(c0t,{capabilities:zi,loading:ua,preparationStage:Ns,error:Os,onCancel:YC,onBack:()=>{YC(),Rn(null),mi(!0)},onCreate:async L=>{var ne;if(Ns)return;(ne=At.current)==null||ne.abort();const X=new AbortController;At.current=X,ii("preparing"),Ar("");try{const fe=await Yc.startSession({displayName:L.slice(0,40),signal:X.signal});if(X.signal.aborted||At.current!==X)return;x(we=>[fe,...we.filter(Xe=>Xe.id!==fe.id)]),ii("starting");const ge=await Yc.connectSession(fe.id,{signal:X.signal});if(X.signal.aborted||At.current!==X)return;x(we=>[ge,...we.filter(Xe=>Xe.id!==ge.id)]),FB(ge,[]),At.current=null,ii(null),await GC(L,[],[],ge)}catch(fe){(fe==null?void 0:fe.name)!=="AbortError"&&Ar(fe instanceof Error?fe.message:"智能开发会话创建失败")}finally{At.current===X&&(At.current=null,ii(null))}}}):ep==="custom"?l.jsx(qOt,{cloudProvider:jn,initialDraft:Abe??void 0,onBack:()=>{Rn(null),mi(!0)},onCreate:qbe,onAgentAdded:FC,features:AO,onDeploymentTaskChange:Zm,createMode:Cbe,deploymentTarget:Fc??void 0,initialDeployRegion:ng,onDraftChange:(L,X)=>{Ss&&(X?Ube(Ss,L,Fc??void 0):IB(Ss))},onDiscard:Ss?()=>{IB(Ss),fl(""),No.current=null,ma(null),Jl(null),Ws(""),Zs(n),Rn(null),mi(!1),tr(!0),G("")}:void 0,onDeploymentStarted:Pw,onDeploymentComplete:Mw},Ss||"custom"):ep==="package"?l.jsx(WOt,{cloudProvider:jn,onBack:()=>{Rn(null),mi(!0)},onAgentAdded:FC,onDeploymentTaskChange:Zm,onDeploymentStarted:Pw,onDeploymentComplete:Mw,initialDeployRegion:ng}):ep==="migration"?l.jsx(zyt,{cloudProvider:jn,onBack:()=>{Rn(null),mi(!0)},onAgentAdded:FC,onDeploymentTaskChange:Zm,onDeploymentStarted:Pw,onDeploymentComplete:Mw,initialDeployRegion:ng}):le.length===0&&!ss?l.jsxs("div",{className:"session-loading",children:[l.jsx(Hn,{className:"icon spin"})," 正在检查 Agent 能力…"]}):le.length===0?l.jsx("div",{className:"welcome",children:l.jsxs("div",{className:"welcome-primary",children:[l.jsxs("div",{className:"welcome-heading",children:[l.jsx(pxt,{canUpdate:Ii.role==="admin"}),l.jsx("h1",{className:"welcome-title",children:O?"让灵感自由生长":er})]}),R]})},`welcome-${Ji.agentId??n}`):l.jsxs(l.Fragment,{children:[l.jsx("div",{className:`transcript${lr?" is-streaming":""}`,ref:rg,onScroll:Hbe,onWheel:Gbe,onTouchMove:Ybe,children:le.map((L,X)=>{var ks,_t,Qt,nn,zn,dn,Cr;const ne=X===le.length-1;if(L.role==="system")return L.activity?l.jsx("div",{className:"turn turn--system",children:l.jsx(_xt,{activity:L.activity,time:S5((ks=L.meta)==null?void 0:ks.ts)})},L.activity.id):null;if(L.role==="user"){const Oi=L.blocks.map(Ti=>Ti.kind==="text"?Ti.text:"").join(""),Mr=L.blocks.flatMap(Ti=>Ti.kind==="attachment"?Ti.files:[]),Ka=L.blocks.find(Ti=>Ti.kind==="invocation");return l.jsxs(Fr.div,{className:"turn turn--user",initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[(Ka==null?void 0:Ka.kind)==="invocation"&&l.jsx(C2,{value:Ka.value}),Mr.length>0&&l.jsx(N2,{appName:n,items:Mr}),Oi&&l.jsx("div",{className:"bubble",children:l.jsx(ku,{text:Oi})}),l.jsxs("div",{className:"turn-actions turn-actions--right","data-share-image-exclude":"true",children:[((_t=L.meta)==null?void 0:_t.ts)&&l.jsx("span",{className:"meta-text",children:S5(L.meta.ts)}),l.jsx(RW,{text:Oi})]})]},X)}const fe=((Qt=L.meta)==null?void 0:Qt.author)??"",ge=fe&&Pr?w5(Pr,fe):void 0,we=!!(fe&&mB.length>0&&!mB.includes(fe)),Xe=(ge==null?void 0:ge.name)||fe,nt=(ge==null?void 0:ge.description)||(we?"正在执行主 Agent 移交的任务。":"");if(L.blocks.length>0&&L.blocks.every(Oi=>Oi.kind==="agent-transfer"))return null;const $t=L.blocks.length===0,gt=((zn=(nn=L.meta)==null?void 0:nn.feedback)==null?void 0:zn.rating)??null,ut=((dn=L.meta)==null?void 0:dn.eventId)??"",wn=Pt.has(ut),Un=!!(ga&&ut&&Af(L)),Lt=Un?KI(le,X):"",Di=!!(Un&&jn!=="byteplus"&&!(ne&&(Rt||Ee))&&!JI(L));return l.jsxs(Fr.div,{"data-share-message-source":"true","data-response-annotation-index":X,ref:Oi=>{ut&&(Oi?zC.current.set(ut,Oi):zC.current.delete(ut))},className:["turn turn--assistant",we?"turn--subagent":"",RO&&RO===ut?"is-feedback-target":""].filter(Boolean).join(" "),tabIndex:Di?0:void 0,"aria-label":Di?"模型回复;选中文字后可添加批注":void 0,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[we&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"subagent-run-label",children:[l.jsxs("span",{className:"subagent-run-handoff",children:[l.jsx(eTe,{}),l.jsx("span",{children:"智能体移交"})]}),l.jsx("span",{className:"subagent-run-title",children:Xe})]}),l.jsx("p",{className:"subagent-run-description",title:nt,children:nt})]}),$t?ne&&Rt?l.jsx(Que,{}):null:l.jsxs(l.Fragment,{children:[l.jsx(j2,{appName:n,blocks:L.blocks,streaming:ne&&(Rt||Ee),onStreamFrame:ne?Wbe:void 0,onStreamComplete:ne&&!Rt&&Ee?()=>Pe(a):void 0,onAction:AOe,onAuth:COe,onArtifactDownload:(Oi,Mr)=>O$(n,dt,a,Oi,Mr),onArtifactPreview:(Oi,Mr)=>y$(n,dt,a,Oi,Mr),onResolveDelivery:Ki,onDownloadDelivery:Xl,onDeployDelivery:Xa}),!(ne&&Rt)&&!Swt(L)&&l.jsx("div",{className:"turn-empty",children:"本次没有返回可显示的内容。"}),!(ne&&Rt)&&!JI(L)&&l.jsxs("div",{className:"turn-meta","data-share-image-exclude":"true",children:[O&&((Cr=L.meta)!=null&&Cr.sandboxUsage)?l.jsx(Cxt,{usage:L.meta.sandboxUsage}):null,l.jsxs("div",{className:"turn-actions",children:[Un&&l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:`icon-btn feedback-btn${gt==="good"?" feedback-btn--good":""}`,"aria-label":"赞","aria-pressed":gt==="good","aria-busy":wn,title:gt==="good"?"取消点赞":"赞",disabled:wn,onClick:()=>void JC(L,gt==="good"?null:"good",Lt),children:l.jsx(yAe,{className:"icon",filled:gt==="good"})}),l.jsx("button",{type:"button",className:`icon-btn feedback-btn${gt==="bad"?" feedback-btn--bad":""}`,"aria-label":"踩","aria-pressed":gt==="bad","aria-busy":wn,title:gt==="bad"?"取消点踩":"踩",disabled:wn,onClick:()=>void JC(L,gt==="bad"?null:"bad",Lt),children:l.jsx(xAe,{className:"icon",filled:gt==="bad"})})]}),!O&&l.jsxs(l.Fragment,{children:[l.jsx("button",{type:"button",className:"icon-btn","aria-label":"问题反馈",title:"问题反馈",onClick:()=>vs({turn:L,input:KI(le,X)}),children:l.jsx(qne,{className:"icon"})}),l.jsx("button",{type:"button",className:"icon-btn",title:"Tracing 火焰图",onClick:()=>{var Oi;Or((Oi=L.meta)!=null&&Oi.ts?L.meta.ts*1e3:Date.now()),tn(!0)},children:l.jsx(xwt,{})})]}),l.jsx(RW,{text:Af(L)}),l.jsx(Twt,{onClick:Oi=>{const Mr=Oi.currentTarget.closest("[data-share-message-source]");Mr&&Xh({targetTurn:Mr})}})]}),L.meta&&l.jsx("span",{className:"meta-text",children:vwt(L.meta)})]})]})]},X)})}),!O&&l.jsx(h5e,{appName:n,info:bn,loading:as,activeAgent:Bc,seenAgents:gbe,execPath:bbe,capabilities:or,capabilityLoading:Ga,capabilityMutating:$c,builtinTools:Ys,onAddCapability:EOe,onRemoveCapability:L=>void kOe(L)}),l.jsx("div",{className:"conversation-composer-slot",children:R})]})]})})})(),Ri&&a&&l.jsx(S1t,{onClose:()=>vs(null),onSubmit:ROe}),Hl&&l.jsx(_vt,{targetTurn:Hl.targetTurn,onClose:()=>Xh(null)}),pa&&a&&l.jsx(Hvt,{anchor:pa.anchor,selectedText:pa.selectedText,onClose:()=>pi(R=>(R==null?void 0:R.selectionId)===pa.selectionId?null:R),onSubmit:DOe},pa.selectionId),ki&&a&&l.jsx(j0e,{appName:n,sessionId:a,endTimeMs:Nn,onClose:()=>tn(!1)}),l.jsx(kxt,{open:Fe,state:Ue,agentKind:Z,error:Bt,onCancel:eOe,onConfirm:(R,L)=>void tOe(R,L)}),l.jsx(h1t,{open:z,onClose:()=>je(!1),onRefreshAgents:()=>et(R=>R+1),onOpenSession:rOe}),an?l.jsx(yc,{title:"当前构建仍在进行",description:"离开将停止本轮构建;当前会话仍会保留,可稍后从历史会话重新进入。",confirmLabel:"停止并离开",variant:"warning",busy:pn,onCancel:()=>{pn||(Ct.current=null,tt(!1))},onConfirm:()=>void gOe()}):null,zt?l.jsx(yc,{title:"删除构建会话",description:`将删除“${zt.displayName||"智能构建"}”及其中的对话和文件,删除后无法恢复。`,confirmLabel:"确认删除",variant:"danger",busy:T===zt.id,onCancel:()=>{T||Vt(null)},onConfirm:()=>void iOe(zt)}):null,Be?l.jsx(yc,{title:"删除 Codex 历史会话",description:`将删除“${Be.name||Be.preview||`Thread ${Be.id.slice(0,8)}`}”,并从历史会话中移除。`,confirmLabel:"确认删除",variant:"danger",busy:Mt.threadActionId===Be.id,onCancel:()=>{Mt.threadActionId||bt(null)},onConfirm:()=>void oOe()}):null,O?l.jsxs(l.Fragment,{children:[l.jsx(Fxt,{open:!O.intelligentDevelopment&&q!==null,kind:q??"terminal",launch:V,loading:de,error:ce,onReload:()=>{q&&HC(q)},onClose:()=>{U(null),re(null),be(!1),K("")}}),l.jsx(Xxt,{open:!O.intelligentDevelopment&&F,value:O.permissions,busy:D||P,error:j,onSave:R=>void cOe(R),onClose:()=>{D||(B(!1),I(""))}}),l.jsx(Hxt,{open:!O.intelligentDevelopment&&M,cwd:O.cwd,locked:O.workspaceLocked,busy:D,error:j,browse:uOe,onSave:R=>void dOe(R),onClose:()=>{D||(Y(!1),I(""))}}),l.jsx(Uxt,{open:!O.intelligentDevelopment&&Mt.threadsOpen,threads:Mt.threads,currentThreadId:O.threadId,loading:Mt.threadsLoading,error:Mt.threadsError,onSelect:R=>void Mt.resumeThread(R),onClose:Mt.closeThreads}),l.jsx(Gxt,{approval:ee,busy:ve,error:Ie,onDecision:R=>void fOe(R)})]}):null,l.jsx(y1t,{open:mw,checking:af,error:of,onLogin:()=>void Zbe()}),l.jsx(Sxt,{open:Ha,task:Eo,onClose:()=>Ca(!1),onRetry:yt,onDownload:()=>void jt()}),Fbe&&l.jsx("div",{className:"confirm-scrim",onClick:()=>$C(!1),children:l.jsxs("div",{className:"confirm-box",onClick:R=>R.stopPropagation(),children:[l.jsx("div",{className:"confirm-title",children:"返回创建首页?"}),l.jsx("div",{className:"confirm-text",children:"返回后当前填写的内容将会丢失,确定要返回吗?"}),l.jsxs("div",{className:"confirm-actions",children:[l.jsx("button",{className:"confirm-btn",onClick:()=>$C(!1),children:"取消"}),l.jsx("button",{className:"confirm-btn confirm-btn--danger",onClick:()=>{ma(null),Rn(null),mi(!0),$C(!1)},children:"确定返回"})]})]})})]})}const BW="veadk.preloadRecoveryAt";window.addEventListener("vite:preloadError",e=>{const t=Date.now();let n=0;try{n=Number(sessionStorage.getItem(BW)||"0")}catch{}if(!(t-n<1e4)){e.preventDefault();try{sessionStorage.setItem(BW,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})()||X1e.createRoot(document.getElementById("root")).render(l.jsx(_n.StrictMode,{children:l.jsx(ive,{reducedMotion:"user",children:l.jsx(Mke,{maskOpacity:.9,children:l.jsx(Pwt,{})})})}));export{$wt as $,Yae as A,E7e as B,jv as C,dae as D,D$ as E,r$e as F,N1 as G,oie as H,aoe as I,ai as J,FUe as K,GUe as L,T7e as M,Pb as N,Gze as O,xae as P,CUe as Q,Aae as R,NUe as S,xQe as T,nVe as U,Ta as V,wze as W,Sze as X,$le as Y,G$e as Z,Td as _,Wae as a,gx as a0,Jc as a1,l as a2,Kt as a3,Hi as a4,Bn as a5,uie as a6,Xwt as a7,QUe as a8,Gi as a9,m as aa,x2 as ab,wCe as ac,Xo as ad,il as ae,Hwt as af,yx as ag,ym as ah,Sh as ai,Ur as aj,Kd as ak,t2 as al,h4 as am,e2 as an,Ml as ao,_le as ap,zQe as b,UQe as c,nO as d,ps as e,BQe as f,_n as g,co as h,soe as i,Gae as j,FQe as k,kQe as l,Coe as m,A3e as n,hV as o,Ob as p,Uf as q,Bi as r,Gwt as s,Yse as t,Nc as u,c2 as v,f2 as w,wh as x,Vwt as y,B4 as z}; diff --git a/veadk/webui/assets/chunks/MarkdownPromptEditor-CVe_5Dre.js b/veadk/webui/assets/chunks/MarkdownPromptEditor-9wo3f6ga.js similarity index 99% rename from veadk/webui/assets/chunks/MarkdownPromptEditor-CVe_5Dre.js rename to veadk/webui/assets/chunks/MarkdownPromptEditor-9wo3f6ga.js index 9a10117a3..7c3d30932 100644 --- a/veadk/webui/assets/chunks/MarkdownPromptEditor-CVe_5Dre.js +++ b/veadk/webui/assets/chunks/MarkdownPromptEditor-9wo3f6ga.js @@ -1,4 +1,4 @@ -var T0=Object.defineProperty;var E0=(n,e,t)=>e in n?T0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var $=(n,e,t)=>E0(n,typeof e!="symbol"?e+"":e,t);import{aa as I,aj as Rn,a2 as F,A as k0,e as Kt,r as at,ao as jo,P as N0,d as M0,ai as hc,an as Fh,a9 as Uo,v as Rh,t as $0,Z as L0,am as O0,R as A0,F as I0,D as P0,u as Hh,x as D0,a as F0,n as R0,al as Vh,ak as Fu,j as H0,I as V0,l as B0,w as Bh,y as zh,i as z0,T as J0,K as Ru,L as K0,B as W0,G as aa,a8 as j0,ap as U0,Y as Z0,g as T,z as Hu,o as Vu,V as Qe,a7 as nn,ag as Di,ae as $l,ab as q0,p as Bu,a3 as jt,a5 as hs,J as gc,a4 as Wn,ah as En,af as Pt,s as So,M as G0,S as Y0,O as X0,Q as Q0,N as e5,X as t5,U as n5,W as r5,f as o5,k as i5,m as s5,c as l5,b as a5}from"../app/index-Bj9lylJf.js";var c5=Object.defineProperty,u5=(n,e)=>c5(n,"name",{value:e,configurable:!0});function Jh(n){const e=I.useRef({value:n,previous:n});return I.useMemo(()=>(e.current.value!==n&&(e.current.previous=e.current.value,e.current.value=n),e.current.previous),[n])}u5(Jh,"usePrevious");var f5=Object.defineProperty,d5=(n,e)=>f5(n,"name",{value:e,configurable:!0});function ca(n,[e,t]){return Math.min(t,Math.max(e,n))}d5(ca,"clamp");var h5=Object.defineProperty,be=(n,e)=>h5(n,"name",{value:e,configurable:!0}),g5=[" ","Enter","ArrowUp","ArrowDown"],p5=[" ","Enter"],oo="Select",[Us,pc,m5]=$0(oo),[vr,gv]=Hh(oo,[m5,Rh]),mc=Rh(),[_5,Hn]=vr(oo),[x5,y5]=vr(oo);function Kh(n){const{__scopeSelect:e,children:t,open:r,defaultOpen:o,onOpenChange:i,value:s,defaultValue:l,onValueChange:a,dir:c,name:u,autoComplete:f,disabled:d,required:g,form:h,internal_do_not_use_render:_}=n,m=mc(e),[p,y]=I.useState(null),[C,x]=I.useState(null),[w,k]=I.useState(!1),b=Vh(c),[v,E]=Fu({prop:r,defaultProp:o??!1,onChange:i,caller:oo}),[M,L]=Fu({prop:s,defaultProp:l,onChange:a,caller:oo}),H=I.useRef(null),R=I.useRef(M);I.useEffect(()=>{const Te=h?p==null?void 0:p.ownerDocument.getElementById(h):p==null?void 0:p.form;if(Te instanceof HTMLFormElement){const Se=be(()=>L(R.current),"reset");return Te.addEventListener("reset",Se),()=>Te.removeEventListener("reset",Se)}},[h,p,L]);const V=p?!!h||!!p.closest("form"):!0,[Z,G]=I.useState(new Set),z=Fh(),re=Array.from(Z).map(Te=>Te.props.value).join(";"),ee=I.useCallback(Te=>{G(Se=>new Set(Se).add(Te))},[]),ne=I.useCallback(Te=>{G(Se=>{const Ke=new Set(Se);return Ke.delete(Te),Ke})},[]),ae={required:g,trigger:p,onTriggerChange:y,valueNode:C,onValueNodeChange:x,valueNodeHasChildren:w,onValueNodeHasChildrenChange:k,contentId:z,value:M,onValueChange:L,open:v,onOpenChange:E,dir:b,triggerPointerDownPosRef:H,disabled:d,name:u,autoComplete:f,form:h,nativeOptions:Z,nativeSelectKey:re,isFormControl:V};return F.jsx(H0,{...m,children:F.jsx(_5,{scope:e,...ae,children:F.jsx(Us.Provider,{scope:e,children:F.jsx(x5,{scope:e,onNativeOptionAdd:ee,onNativeOptionRemove:ne,children:jh(_)?_(ae):t})})})})}be(Kh,"SelectProvider");var C5=be(n=>{const{__scopeSelect:e,children:t,...r}=n;return F.jsx(Kh,{__scopeSelect:e,...r,internal_do_not_use_render:({isFormControl:o})=>F.jsxs(F.Fragment,{children:[t,o?F.jsx(W5,{__scopeSelect:e}):null]})})},"Select"),v5="SelectTrigger",b5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,disabled:o=!1,...i}=e,s=mc(r),l=Hn(v5,r),a=l.disabled||o,c=Rn(t,l.onTriggerChange),u=pc(r),f=I.useRef("touch"),[d,g,h]=_c(m=>{const p=u().filter(x=>!x.disabled),y=p.find(x=>x.value===l.value),C=xc(p,m,y);C!==void 0&&l.onValueChange(C.value)}),_=be(m=>{a||(l.onOpenChange(!0),h()),m&&(l.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})},"handleOpen");return F.jsx(k0,{asChild:!0,...s,children:F.jsx(Kt.button,{type:"button",role:"combobox","aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":yi(l.value)?"":void 0,...i,ref:c,onClick:at(i.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&_(m)}),onPointerDown:at(i.onPointerDown,m=>{f.current=m.pointerType;const p=m.target;p.hasPointerCapture(m.pointerId)&&p.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(_(m),m.preventDefault())}),onKeyDown:at(i.onKeyDown,m=>{const p=d.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&g(m.key),!(p&&m.key===" ")&&g5.includes(m.key)&&(_(),m.preventDefault())})})})},"SelectTrigger")),S5="SelectValue",w5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,children:s,placeholder:l="",...a}=e,c=Hn(S5,r),{onValueNodeHasChildrenChange:u}=c,f=s!==void 0,d=Rn(t,c.onValueNodeChange);jo(()=>{u(f)},[u,f]);const g=yi(c.value);return F.jsx(Kt.span,{...a,asChild:g?!1:a.asChild,ref:d,style:{pointerEvents:"none"},children:F.jsx(I.Fragment,{children:g?l:s},g?"placeholder":"value")})},"SelectValue")),T5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,...i}=e;return F.jsx(Kt.span,{"aria-hidden":!0,...i,ref:t,children:o||"▼"})},"SelectIcon")),E5="SelectPortal",[k5,N5]=vr(E5,{forceMount:void 0}),M5=be(n=>{const{__scopeSelect:e,forceMount:t,...r}=n;return F.jsx(k5,{scope:n.__scopeSelect,forceMount:t,children:F.jsx(N0,{asChild:!0,...r})})},"SelectPortal"),sr="SelectContent",$5=I.forwardRef(be(function(e,t){const r=N5(sr,e.__scopeSelect),{forceMount:o=r.forceMount,...i}=e,s=Hn(sr,e.__scopeSelect),[l,a]=I.useState();return jo(()=>{a(new DocumentFragment)},[]),F.jsx(M0,{present:o||s.open,children:({present:c})=>c?F.jsx(A5,{...i,ref:t}):F.jsx(L5,{...i,fragment:l})})},"SelectContent")),L5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,fragment:i}=e;return i?Uo.createPortal(F.jsx(Wh,{scope:r,children:F.jsx(Us.Slot,{scope:r,children:F.jsx("div",{ref:t,children:o})})}),i):null},"SelectContentFragment")),Ft=10,[Wh,Zs]=vr(sr),O5=D0("SelectContent.RemoveScroll"),A5=I.forwardRef(be(function(e,t){const{__scopeSelect:r}=e,{position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:s,onPointerDownOutside:l,side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p,...y}=e,C=Hn(sr,r),[x,w]=I.useState(null),[k,b]=I.useState(null),v=Rn(t,w),[E,M]=I.useState(null),[L,H]=I.useState(null),R=pc(r),[V,Z]=I.useState(!1),G=I.useRef(!1);I.useEffect(()=>{if(x)return L0(x)},[x]),O0();const z=I.useCallback(W=>{const[ce,...Ie]=R().map(xe=>xe.ref.current),[ue]=Ie.slice(-1),de=document.activeElement;for(const xe of W)if(xe===de||(xe==null||xe.scrollIntoView({block:"nearest"}),xe===ce&&k&&(k.scrollTop=0),xe===ue&&k&&(k.scrollTop=k.scrollHeight),xe==null||xe.focus(),document.activeElement!==de))return},[R,k]),re=I.useCallback(()=>z([E,x]),[z,E,x]);I.useEffect(()=>{V&&re()},[V,re]);const{onOpenChange:ee,triggerPointerDownPosRef:ne}=C;I.useEffect(()=>{if(x){let W={x:0,y:0};const ce=be(ue=>{var de,xe;W={x:Math.abs(Math.round(ue.pageX)-(((de=ne.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(ue.pageY)-(((xe=ne.current)==null?void 0:xe.y)??0))}},"handlePointerMove"),Ie=be(ue=>{W.x<=10&&W.y<=10?ue.preventDefault():ue.composedPath().includes(x)||ee(!1),document.removeEventListener("pointermove",ce),ne.current=null},"handlePointerUp");return ne.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",Ie,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",Ie,{capture:!0})}}},[x,ee,ne]),I.useEffect(()=>{const W=be(()=>ee(!1),"close");return window.addEventListener("blur",W),window.addEventListener("resize",W),()=>{window.removeEventListener("blur",W),window.removeEventListener("resize",W)}},[ee]);const[ae,Te]=_c(W=>{const ce=R().filter(de=>!de.disabled),Ie=ce.find(de=>de.ref.current===document.activeElement),ue=xc(ce,W,Ie);ue&&setTimeout(()=>{var de;return(de=ue.ref.current)==null?void 0:de.focus()})}),Se=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&(M(W),ue&&(G.current=!0))},[C.value]),Ke=I.useCallback(()=>x==null?void 0:x.focus(),[x]),Ye=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&H(W)},[C.value]),ie=o==="popper"?zu:I5,_e=ie===zu?{side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p}:{};return F.jsx(Wh,{scope:r,content:x,viewport:k,onViewportChange:b,itemRefCallback:Se,selectedItem:E,onItemLeave:Ke,itemTextRefCallback:Ye,focusSelectedItem:re,selectedItemText:L,position:o,isPositioned:V,searchRef:ae,children:F.jsx(A0,{as:O5,allowPinchZoom:!0,children:F.jsx(I0,{asChild:!0,trapped:C.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:at(i,W=>{var ce;(ce=C.trigger)==null||ce.focus({preventScroll:!0}),W.preventDefault()}),children:F.jsx(P0,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:F.jsx(ie,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:W=>W.preventDefault(),...y,..._e,onPlaced:()=>Z(!0),ref:v,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:at(y.onKeyDown,W=>{const ce=W.ctrlKey||W.altKey||W.metaKey;if(W.key==="Tab"&&W.preventDefault(),!ce&&W.key.length===1&&Te(W.key),["ArrowUp","ArrowDown","Home","End"].includes(W.key)){let ue=R().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(W.key)&&(ue=ue.slice().reverse()),["ArrowUp","ArrowDown"].includes(W.key)){const de=W.target,xe=ue.indexOf(de);ue=ue.slice(xe+1)}setTimeout(()=>z(ue)),W.preventDefault()}})})})})})})},"SelectContentImpl")),I5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,onPlaced:o,...i}=e,s=Hn(sr,r),l=Zs(sr,r),[a,c]=I.useState(null),[u,f]=I.useState(null),d=Rn(t,f),g=pc(r),h=I.useRef(!1),_=I.useRef(!0),{viewport:m,selectedItem:p,selectedItemText:y,focusSelectedItem:C}=l,x=I.useCallback(()=>{if(s.trigger&&s.valueNode&&a&&u&&m&&p&&y){const v=s.trigger.getBoundingClientRect(),E=u.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),L=y.getBoundingClientRect();if(s.dir!=="rtl"){const de=L.left-E.left,xe=M.left-de,en=v.left-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.left=Pr+"px"}else{const de=E.right-L.right,xe=window.innerWidth-M.right-de,en=window.innerWidth-v.right-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.right=Pr+"px"}const H=g(),R=window.innerHeight-Ft*2,V=m.scrollHeight,Z=window.getComputedStyle(u),G=parseInt(Z.borderTopWidth,10),z=parseInt(Z.paddingTop,10),re=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),ne=G+z+V+ee+re,ae=Math.min(p.offsetHeight*5,ne),Te=window.getComputedStyle(m),Se=parseInt(Te.paddingTop,10),Ke=parseInt(Te.paddingBottom,10),Ye=v.top+v.height/2-Ft,ie=R-Ye,_e=p.offsetHeight/2,W=p.offsetTop+_e,ce=G+z+W,Ie=ne-ce;if(ce<=Ye){const de=H.length>0&&p===H[H.length-1].ref.current;a.style.bottom="0px";const xe=u.clientHeight-m.offsetTop-m.offsetHeight,en=Math.max(ie,_e+(de?Ke:0)+xe+re),tn=ce+en;a.style.height=tn+"px"}else{const de=H.length>0&&p===H[0].ref.current;a.style.top="0px";const en=Math.max(Ye,G+m.offsetTop+(de?Se:0)+_e)+Ie;a.style.height=en+"px",m.scrollTop=ce-Ye+m.offsetTop}a.style.margin=`${Ft}px 0`,a.style.minHeight=ae+"px",a.style.maxHeight=R+"px",o==null||o(),requestAnimationFrame(()=>h.current=!0)}},[g,s.trigger,s.valueNode,a,u,m,p,y,s.dir,o]);jo(()=>x(),[x]);const[w,k]=I.useState();jo(()=>{u&&k(window.getComputedStyle(u).zIndex)},[u]);const b=I.useCallback(v=>{v&&_.current===!0&&(x(),C==null||C(),_.current=!1)},[x,C]);return F.jsx(P5,{scope:r,contentWrapper:a,shouldExpandOnScrollRef:h,onScrollButtonChange:b,children:F.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:F.jsx(Kt.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})},"SelectItemAlignedPosition")),zu=I.forwardRef(be(function(e,t){const{__scopeSelect:r,align:o="start",collisionPadding:i=Ft,...s}=e,l=mc(r);return F.jsx(F0,{...l,...s,ref:t,align:o,collisionPadding:i,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[P5,D5]=vr(sr,{}),Ju="SelectViewport",F5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,nonce:o,...i}=e,s=Zs(Ju,r),l=D5(Ju,r),a=Rn(t,s.onViewportChange),c=I.useRef(0);return F.jsxs(F.Fragment,{children:[F.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),F.jsx(Us.Slot,{scope:r,children:F.jsx(Kt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:at(i.onScroll,u=>{const f=u.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:g}=l;if(g!=null&&g.current&&d){const h=Math.abs(c.current-f.scrollTop);if(h>0){const _=window.innerHeight-Ft*2,m=parseFloat(d.style.minHeight),p=parseFloat(d.style.height),y=Math.max(m,p);if(y<_){const C=y+h,x=Math.min(_,C),w=C-x;d.style.height=x+"px",d.style.bottom==="0px"&&(f.scrollTop=w>0?w:0,d.style.justifyContent="flex-end")}}}c.current=f.scrollTop})})})]})},"SelectViewport")),R5="SelectGroup",[pv,mv]=vr(R5),ua="SelectItem",[H5,V5]=vr(ua),B5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,value:o,disabled:i=!1,textValue:s,...l}=e,a=Hn(ua,r),c=Zs(ua,r),u=a.value===o,[f,d]=I.useState(s??""),[g,h]=I.useState(!1),_=hc(x=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,x,o,i)}),m=Rn(t,_),p=Fh(),y=I.useRef("touch"),C=be(()=>{i||(a.onValueChange(o),a.onOpenChange(!1))},"handleSelect");return F.jsx(H5,{scope:r,value:o,disabled:i,textId:p,isSelected:u,onItemTextChange:I.useCallback(x=>{d(w=>w||((x==null?void 0:x.textContent)??"").trim())},[]),children:F.jsx(Us.ItemSlot,{scope:r,value:o,disabled:i,textValue:f,children:F.jsx(Kt.div,{role:"option","aria-labelledby":p,"data-highlighted":g?"":void 0,"aria-selected":u&&g,"data-state":u?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:m,onFocus:at(l.onFocus,()=>h(!0)),onBlur:at(l.onBlur,()=>h(!1)),onClick:at(l.onClick,()=>{y.current!=="mouse"&&C()}),onPointerUp:at(l.onPointerUp,()=>{y.current==="mouse"&&C()}),onPointerDown:at(l.onPointerDown,x=>{y.current=x.pointerType}),onPointerMove:at(l.onPointerMove,x=>{var w;y.current=x.pointerType,i?(w=c.onItemLeave)==null||w.call(c):y.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:at(l.onPointerLeave,x=>{var w;x.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:at(l.onKeyDown,x=>{var k;i||x.target!==x.currentTarget||((k=c.searchRef)==null?void 0:k.current)!==""&&x.key===" "||(p5.includes(x.key)&&C(),x.key===" "&&x.preventDefault())})})})})},"SelectItem")),Fi="SelectItemText",z5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,...s}=e,l=Hn(Fi,r),a=Zs(Fi,r),c=V5(Fi,r),u=y5(Fi,r),[f,d]=I.useState(null),g=hc(C=>{var x;return(x=a.itemTextRefCallback)==null?void 0:x.call(a,C,c.value,c.disabled)}),h=Rn(t,d,c.onItemTextChange,g),_=f==null?void 0:f.textContent,m=I.useMemo(()=>F.jsx("option",{value:c.value,disabled:c.disabled,children:_},c.value),[c.disabled,c.value,_]),{onNativeOptionAdd:p,onNativeOptionRemove:y}=u;return jo(()=>(p(m),()=>y(m)),[p,y,m]),F.jsxs(F.Fragment,{children:[F.jsx(Kt.span,{id:c.textId,...s,ref:h}),c.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!yi(l.value)?Uo.createPortal(s.children,l.valueNode):null]})},"SelectItemText")),J5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,...o}=e;return F.jsx(Kt.div,{"aria-hidden":!0,...o,ref:t})},"SelectSeparator")),K5="SelectBubbleInput",W5=I.forwardRef(be(function({__scopeSelect:e,...t},r){const o=Hn(K5,e),{value:i,onValueChange:s,required:l,disabled:a,name:c,autoComplete:u,form:f}=o,{nativeOptions:d,nativeSelectKey:g}=o,h=I.useRef(null),_=Rn(r,h),m=i??"",p=Jh(m),y=Array.from(d).some(C=>(C.props.value??"")==="");return I.useEffect(()=>{const C=h.current;if(!C)return;const x=window.HTMLSelectElement.prototype,k=Object.getOwnPropertyDescriptor(x,"value").set;if(p!==m&&k){const b=new Event("change",{bubbles:!0});k.call(C,m),C.dispatchEvent(b)}},[p,m]),F.jsxs(Kt.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:c,autoComplete:u,disabled:a,form:f,onChange:C=>s(C.target.value),...t,style:{...R0,...t.style},ref:_,defaultValue:m,children:[yi(i)&&!y?F.jsx("option",{value:""}):null,Array.from(d)]},g)},"SelectBubbleInput"));function jh(n){return typeof n=="function"}be(jh,"isFunction");function yi(n){return n===""||n===void 0}be(yi,"shouldShowPlaceholder");function _c(n){const e=hc(n),t=I.useRef(""),r=I.useRef(0),o=I.useCallback(s=>{const l=t.current+s;e(l),be(function a(c){t.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>a(""),1e3))},"updateSearch")(l)},[e]),i=I.useCallback(()=>{t.current="",window.clearTimeout(r.current)},[]);return I.useEffect(()=>()=>window.clearTimeout(r.current),[]),[t,o,i]}be(_c,"useTypeaheadSearch");function xc(n,e,t){const o=e.length>1&&Array.from(e).every(c=>c===e[0])?e[0]:e,i=t?n.indexOf(t):-1;let s=Uh(n,Math.max(i,0));o.length===1&&(s=s.filter(c=>c!==t));const a=s.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==t?a:void 0}be(xc,"findNextItem");function Uh(n,e){return n.map((t,r)=>n[(e+r)%n.length])}be(Uh,"wrapArray");var j5=Object.defineProperty,qs=(n,e)=>j5(n,"name",{value:e,configurable:!0}),Zh="Toolbar",[U5,_v]=Hh(Zh,[Bh,zh]),qh=Bh(),Gh=zh(),[Z5,q5]=U5(Zh),G5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,orientation:o="horizontal",dir:i,loop:s=!0,...l}=e,a=qh(r),c=Vh(i);return F.jsx(Z5,{scope:r,orientation:o,dir:c,children:F.jsx(z0,{asChild:!0,...a,orientation:o,dir:c,loop:s,children:F.jsx(Kt.div,{role:"toolbar","aria-orientation":o,dir:c,...l,ref:t})})})},"Toolbar")),Yh=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=qh(r);return F.jsx(V0,{asChild:!0,...i,focusable:!e.disabled,children:F.jsx(Kt.button,{type:"button",...o,ref:t})})},"ToolbarButton")),Y5="ToolbarToggleGroup",X5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=q5(Y5,r),s=Gh(r);return F.jsx(J0,{"data-orientation":i.orientation,dir:i.dir,...s,...o,ref:t,rovingFocus:!1})},"ToolbarToggleGroup")),Q5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=Gh(r),s={__scopeToolbar:e.__scopeToolbar};return F.jsx(Yh,{asChild:!0,...s,children:F.jsx(B0,{...i,...o,ref:t})})},"ToolbarToggleItem")),e2=G5,t2=Yh,yc=X5,n2=Q5;const r2={}.hasOwnProperty;function Xh(n,e){let t=-1,r;if(e.extensions)for(;++te in n?T0(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var $=(n,e,t)=>E0(n,typeof e!="symbol"?e+"":e,t);import{aa as I,aj as Rn,a2 as F,A as k0,e as Kt,r as at,ao as jo,P as N0,d as M0,ai as hc,an as Fh,a9 as Uo,v as Rh,t as $0,Z as L0,am as O0,R as A0,F as I0,D as P0,u as Hh,x as D0,a as F0,n as R0,al as Vh,ak as Fu,j as H0,I as V0,l as B0,w as Bh,y as zh,i as z0,T as J0,K as Ru,L as K0,B as W0,G as aa,a8 as j0,ap as U0,Y as Z0,g as T,z as Hu,o as Vu,V as Qe,a7 as nn,ag as Di,ae as $l,ab as q0,p as Bu,a3 as jt,a5 as hs,J as gc,a4 as Wn,ah as En,af as Pt,s as So,M as G0,S as Y0,O as X0,Q as Q0,N as e5,X as t5,U as n5,W as r5,f as o5,k as i5,m as s5,c as l5,b as a5}from"../app/index-sh8QRNzm.js";var c5=Object.defineProperty,u5=(n,e)=>c5(n,"name",{value:e,configurable:!0});function Jh(n){const e=I.useRef({value:n,previous:n});return I.useMemo(()=>(e.current.value!==n&&(e.current.previous=e.current.value,e.current.value=n),e.current.previous),[n])}u5(Jh,"usePrevious");var f5=Object.defineProperty,d5=(n,e)=>f5(n,"name",{value:e,configurable:!0});function ca(n,[e,t]){return Math.min(t,Math.max(e,n))}d5(ca,"clamp");var h5=Object.defineProperty,be=(n,e)=>h5(n,"name",{value:e,configurable:!0}),g5=[" ","Enter","ArrowUp","ArrowDown"],p5=[" ","Enter"],oo="Select",[Us,pc,m5]=$0(oo),[vr,gv]=Hh(oo,[m5,Rh]),mc=Rh(),[_5,Hn]=vr(oo),[x5,y5]=vr(oo);function Kh(n){const{__scopeSelect:e,children:t,open:r,defaultOpen:o,onOpenChange:i,value:s,defaultValue:l,onValueChange:a,dir:c,name:u,autoComplete:f,disabled:d,required:g,form:h,internal_do_not_use_render:_}=n,m=mc(e),[p,y]=I.useState(null),[C,x]=I.useState(null),[w,k]=I.useState(!1),b=Vh(c),[v,E]=Fu({prop:r,defaultProp:o??!1,onChange:i,caller:oo}),[M,L]=Fu({prop:s,defaultProp:l,onChange:a,caller:oo}),H=I.useRef(null),R=I.useRef(M);I.useEffect(()=>{const Te=h?p==null?void 0:p.ownerDocument.getElementById(h):p==null?void 0:p.form;if(Te instanceof HTMLFormElement){const Se=be(()=>L(R.current),"reset");return Te.addEventListener("reset",Se),()=>Te.removeEventListener("reset",Se)}},[h,p,L]);const V=p?!!h||!!p.closest("form"):!0,[Z,G]=I.useState(new Set),z=Fh(),re=Array.from(Z).map(Te=>Te.props.value).join(";"),ee=I.useCallback(Te=>{G(Se=>new Set(Se).add(Te))},[]),ne=I.useCallback(Te=>{G(Se=>{const Ke=new Set(Se);return Ke.delete(Te),Ke})},[]),ae={required:g,trigger:p,onTriggerChange:y,valueNode:C,onValueNodeChange:x,valueNodeHasChildren:w,onValueNodeHasChildrenChange:k,contentId:z,value:M,onValueChange:L,open:v,onOpenChange:E,dir:b,triggerPointerDownPosRef:H,disabled:d,name:u,autoComplete:f,form:h,nativeOptions:Z,nativeSelectKey:re,isFormControl:V};return F.jsx(H0,{...m,children:F.jsx(_5,{scope:e,...ae,children:F.jsx(Us.Provider,{scope:e,children:F.jsx(x5,{scope:e,onNativeOptionAdd:ee,onNativeOptionRemove:ne,children:jh(_)?_(ae):t})})})})}be(Kh,"SelectProvider");var C5=be(n=>{const{__scopeSelect:e,children:t,...r}=n;return F.jsx(Kh,{__scopeSelect:e,...r,internal_do_not_use_render:({isFormControl:o})=>F.jsxs(F.Fragment,{children:[t,o?F.jsx(W5,{__scopeSelect:e}):null]})})},"Select"),v5="SelectTrigger",b5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,disabled:o=!1,...i}=e,s=mc(r),l=Hn(v5,r),a=l.disabled||o,c=Rn(t,l.onTriggerChange),u=pc(r),f=I.useRef("touch"),[d,g,h]=_c(m=>{const p=u().filter(x=>!x.disabled),y=p.find(x=>x.value===l.value),C=xc(p,m,y);C!==void 0&&l.onValueChange(C.value)}),_=be(m=>{a||(l.onOpenChange(!0),h()),m&&(l.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})},"handleOpen");return F.jsx(k0,{asChild:!0,...s,children:F.jsx(Kt.button,{type:"button",role:"combobox","aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":yi(l.value)?"":void 0,...i,ref:c,onClick:at(i.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&_(m)}),onPointerDown:at(i.onPointerDown,m=>{f.current=m.pointerType;const p=m.target;p.hasPointerCapture(m.pointerId)&&p.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(_(m),m.preventDefault())}),onKeyDown:at(i.onKeyDown,m=>{const p=d.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&g(m.key),!(p&&m.key===" ")&&g5.includes(m.key)&&(_(),m.preventDefault())})})})},"SelectTrigger")),S5="SelectValue",w5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,children:s,placeholder:l="",...a}=e,c=Hn(S5,r),{onValueNodeHasChildrenChange:u}=c,f=s!==void 0,d=Rn(t,c.onValueNodeChange);jo(()=>{u(f)},[u,f]);const g=yi(c.value);return F.jsx(Kt.span,{...a,asChild:g?!1:a.asChild,ref:d,style:{pointerEvents:"none"},children:F.jsx(I.Fragment,{children:g?l:s},g?"placeholder":"value")})},"SelectValue")),T5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,...i}=e;return F.jsx(Kt.span,{"aria-hidden":!0,...i,ref:t,children:o||"▼"})},"SelectIcon")),E5="SelectPortal",[k5,N5]=vr(E5,{forceMount:void 0}),M5=be(n=>{const{__scopeSelect:e,forceMount:t,...r}=n;return F.jsx(k5,{scope:n.__scopeSelect,forceMount:t,children:F.jsx(N0,{asChild:!0,...r})})},"SelectPortal"),sr="SelectContent",$5=I.forwardRef(be(function(e,t){const r=N5(sr,e.__scopeSelect),{forceMount:o=r.forceMount,...i}=e,s=Hn(sr,e.__scopeSelect),[l,a]=I.useState();return jo(()=>{a(new DocumentFragment)},[]),F.jsx(M0,{present:o||s.open,children:({present:c})=>c?F.jsx(A5,{...i,ref:t}):F.jsx(L5,{...i,fragment:l})})},"SelectContent")),L5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,children:o,fragment:i}=e;return i?Uo.createPortal(F.jsx(Wh,{scope:r,children:F.jsx(Us.Slot,{scope:r,children:F.jsx("div",{ref:t,children:o})})}),i):null},"SelectContentFragment")),Ft=10,[Wh,Zs]=vr(sr),O5=D0("SelectContent.RemoveScroll"),A5=I.forwardRef(be(function(e,t){const{__scopeSelect:r}=e,{position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:s,onPointerDownOutside:l,side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p,...y}=e,C=Hn(sr,r),[x,w]=I.useState(null),[k,b]=I.useState(null),v=Rn(t,w),[E,M]=I.useState(null),[L,H]=I.useState(null),R=pc(r),[V,Z]=I.useState(!1),G=I.useRef(!1);I.useEffect(()=>{if(x)return L0(x)},[x]),O0();const z=I.useCallback(W=>{const[ce,...Ie]=R().map(xe=>xe.ref.current),[ue]=Ie.slice(-1),de=document.activeElement;for(const xe of W)if(xe===de||(xe==null||xe.scrollIntoView({block:"nearest"}),xe===ce&&k&&(k.scrollTop=0),xe===ue&&k&&(k.scrollTop=k.scrollHeight),xe==null||xe.focus(),document.activeElement!==de))return},[R,k]),re=I.useCallback(()=>z([E,x]),[z,E,x]);I.useEffect(()=>{V&&re()},[V,re]);const{onOpenChange:ee,triggerPointerDownPosRef:ne}=C;I.useEffect(()=>{if(x){let W={x:0,y:0};const ce=be(ue=>{var de,xe;W={x:Math.abs(Math.round(ue.pageX)-(((de=ne.current)==null?void 0:de.x)??0)),y:Math.abs(Math.round(ue.pageY)-(((xe=ne.current)==null?void 0:xe.y)??0))}},"handlePointerMove"),Ie=be(ue=>{W.x<=10&&W.y<=10?ue.preventDefault():ue.composedPath().includes(x)||ee(!1),document.removeEventListener("pointermove",ce),ne.current=null},"handlePointerUp");return ne.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",Ie,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",Ie,{capture:!0})}}},[x,ee,ne]),I.useEffect(()=>{const W=be(()=>ee(!1),"close");return window.addEventListener("blur",W),window.addEventListener("resize",W),()=>{window.removeEventListener("blur",W),window.removeEventListener("resize",W)}},[ee]);const[ae,Te]=_c(W=>{const ce=R().filter(de=>!de.disabled),Ie=ce.find(de=>de.ref.current===document.activeElement),ue=xc(ce,W,Ie);ue&&setTimeout(()=>{var de;return(de=ue.ref.current)==null?void 0:de.focus()})}),Se=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&(M(W),ue&&(G.current=!0))},[C.value]),Ke=I.useCallback(()=>x==null?void 0:x.focus(),[x]),Ye=I.useCallback((W,ce,Ie)=>{const ue=!G.current&&!Ie;(C.value!==void 0&&C.value===ce||ue)&&H(W)},[C.value]),ie=o==="popper"?zu:I5,_e=ie===zu?{side:a,sideOffset:c,align:u,alignOffset:f,arrowPadding:d,collisionBoundary:g,collisionPadding:h,sticky:_,hideWhenDetached:m,avoidCollisions:p}:{};return F.jsx(Wh,{scope:r,content:x,viewport:k,onViewportChange:b,itemRefCallback:Se,selectedItem:E,onItemLeave:Ke,itemTextRefCallback:Ye,focusSelectedItem:re,selectedItemText:L,position:o,isPositioned:V,searchRef:ae,children:F.jsx(A0,{as:O5,allowPinchZoom:!0,children:F.jsx(I0,{asChild:!0,trapped:C.open,onMountAutoFocus:W=>{W.preventDefault()},onUnmountAutoFocus:at(i,W=>{var ce;(ce=C.trigger)==null||ce.focus({preventScroll:!0}),W.preventDefault()}),children:F.jsx(P0,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:W=>W.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:F.jsx(ie,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:W=>W.preventDefault(),...y,..._e,onPlaced:()=>Z(!0),ref:v,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:at(y.onKeyDown,W=>{const ce=W.ctrlKey||W.altKey||W.metaKey;if(W.key==="Tab"&&W.preventDefault(),!ce&&W.key.length===1&&Te(W.key),["ArrowUp","ArrowDown","Home","End"].includes(W.key)){let ue=R().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(W.key)&&(ue=ue.slice().reverse()),["ArrowUp","ArrowDown"].includes(W.key)){const de=W.target,xe=ue.indexOf(de);ue=ue.slice(xe+1)}setTimeout(()=>z(ue)),W.preventDefault()}})})})})})})},"SelectContentImpl")),I5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,onPlaced:o,...i}=e,s=Hn(sr,r),l=Zs(sr,r),[a,c]=I.useState(null),[u,f]=I.useState(null),d=Rn(t,f),g=pc(r),h=I.useRef(!1),_=I.useRef(!0),{viewport:m,selectedItem:p,selectedItemText:y,focusSelectedItem:C}=l,x=I.useCallback(()=>{if(s.trigger&&s.valueNode&&a&&u&&m&&p&&y){const v=s.trigger.getBoundingClientRect(),E=u.getBoundingClientRect(),M=s.valueNode.getBoundingClientRect(),L=y.getBoundingClientRect();if(s.dir!=="rtl"){const de=L.left-E.left,xe=M.left-de,en=v.left-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.left=Pr+"px"}else{const de=E.right-L.right,xe=window.innerWidth-M.right-de,en=window.innerWidth-v.right-xe,tn=v.width+en,Ir=Math.max(tn,E.width),bo=window.innerWidth-Ft,Pr=ca(xe,[Ft,Math.max(Ft,bo-Ir)]);a.style.minWidth=tn+"px",a.style.right=Pr+"px"}const H=g(),R=window.innerHeight-Ft*2,V=m.scrollHeight,Z=window.getComputedStyle(u),G=parseInt(Z.borderTopWidth,10),z=parseInt(Z.paddingTop,10),re=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),ne=G+z+V+ee+re,ae=Math.min(p.offsetHeight*5,ne),Te=window.getComputedStyle(m),Se=parseInt(Te.paddingTop,10),Ke=parseInt(Te.paddingBottom,10),Ye=v.top+v.height/2-Ft,ie=R-Ye,_e=p.offsetHeight/2,W=p.offsetTop+_e,ce=G+z+W,Ie=ne-ce;if(ce<=Ye){const de=H.length>0&&p===H[H.length-1].ref.current;a.style.bottom="0px";const xe=u.clientHeight-m.offsetTop-m.offsetHeight,en=Math.max(ie,_e+(de?Ke:0)+xe+re),tn=ce+en;a.style.height=tn+"px"}else{const de=H.length>0&&p===H[0].ref.current;a.style.top="0px";const en=Math.max(Ye,G+m.offsetTop+(de?Se:0)+_e)+Ie;a.style.height=en+"px",m.scrollTop=ce-Ye+m.offsetTop}a.style.margin=`${Ft}px 0`,a.style.minHeight=ae+"px",a.style.maxHeight=R+"px",o==null||o(),requestAnimationFrame(()=>h.current=!0)}},[g,s.trigger,s.valueNode,a,u,m,p,y,s.dir,o]);jo(()=>x(),[x]);const[w,k]=I.useState();jo(()=>{u&&k(window.getComputedStyle(u).zIndex)},[u]);const b=I.useCallback(v=>{v&&_.current===!0&&(x(),C==null||C(),_.current=!1)},[x,C]);return F.jsx(P5,{scope:r,contentWrapper:a,shouldExpandOnScrollRef:h,onScrollButtonChange:b,children:F.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:F.jsx(Kt.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})},"SelectItemAlignedPosition")),zu=I.forwardRef(be(function(e,t){const{__scopeSelect:r,align:o="start",collisionPadding:i=Ft,...s}=e,l=mc(r);return F.jsx(F0,{...l,...s,ref:t,align:o,collisionPadding:i,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[P5,D5]=vr(sr,{}),Ju="SelectViewport",F5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,nonce:o,...i}=e,s=Zs(Ju,r),l=D5(Ju,r),a=Rn(t,s.onViewportChange),c=I.useRef(0);return F.jsxs(F.Fragment,{children:[F.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),F.jsx(Us.Slot,{scope:r,children:F.jsx(Kt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:at(i.onScroll,u=>{const f=u.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:g}=l;if(g!=null&&g.current&&d){const h=Math.abs(c.current-f.scrollTop);if(h>0){const _=window.innerHeight-Ft*2,m=parseFloat(d.style.minHeight),p=parseFloat(d.style.height),y=Math.max(m,p);if(y<_){const C=y+h,x=Math.min(_,C),w=C-x;d.style.height=x+"px",d.style.bottom==="0px"&&(f.scrollTop=w>0?w:0,d.style.justifyContent="flex-end")}}}c.current=f.scrollTop})})})]})},"SelectViewport")),R5="SelectGroup",[pv,mv]=vr(R5),ua="SelectItem",[H5,V5]=vr(ua),B5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,value:o,disabled:i=!1,textValue:s,...l}=e,a=Hn(ua,r),c=Zs(ua,r),u=a.value===o,[f,d]=I.useState(s??""),[g,h]=I.useState(!1),_=hc(x=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,x,o,i)}),m=Rn(t,_),p=Fh(),y=I.useRef("touch"),C=be(()=>{i||(a.onValueChange(o),a.onOpenChange(!1))},"handleSelect");return F.jsx(H5,{scope:r,value:o,disabled:i,textId:p,isSelected:u,onItemTextChange:I.useCallback(x=>{d(w=>w||((x==null?void 0:x.textContent)??"").trim())},[]),children:F.jsx(Us.ItemSlot,{scope:r,value:o,disabled:i,textValue:f,children:F.jsx(Kt.div,{role:"option","aria-labelledby":p,"data-highlighted":g?"":void 0,"aria-selected":u&&g,"data-state":u?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:m,onFocus:at(l.onFocus,()=>h(!0)),onBlur:at(l.onBlur,()=>h(!1)),onClick:at(l.onClick,()=>{y.current!=="mouse"&&C()}),onPointerUp:at(l.onPointerUp,()=>{y.current==="mouse"&&C()}),onPointerDown:at(l.onPointerDown,x=>{y.current=x.pointerType}),onPointerMove:at(l.onPointerMove,x=>{var w;y.current=x.pointerType,i?(w=c.onItemLeave)==null||w.call(c):y.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:at(l.onPointerLeave,x=>{var w;x.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:at(l.onKeyDown,x=>{var k;i||x.target!==x.currentTarget||((k=c.searchRef)==null?void 0:k.current)!==""&&x.key===" "||(p5.includes(x.key)&&C(),x.key===" "&&x.preventDefault())})})})})},"SelectItem")),Fi="SelectItemText",z5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,className:o,style:i,...s}=e,l=Hn(Fi,r),a=Zs(Fi,r),c=V5(Fi,r),u=y5(Fi,r),[f,d]=I.useState(null),g=hc(C=>{var x;return(x=a.itemTextRefCallback)==null?void 0:x.call(a,C,c.value,c.disabled)}),h=Rn(t,d,c.onItemTextChange,g),_=f==null?void 0:f.textContent,m=I.useMemo(()=>F.jsx("option",{value:c.value,disabled:c.disabled,children:_},c.value),[c.disabled,c.value,_]),{onNativeOptionAdd:p,onNativeOptionRemove:y}=u;return jo(()=>(p(m),()=>y(m)),[p,y,m]),F.jsxs(F.Fragment,{children:[F.jsx(Kt.span,{id:c.textId,...s,ref:h}),c.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!yi(l.value)?Uo.createPortal(s.children,l.valueNode):null]})},"SelectItemText")),J5=I.forwardRef(be(function(e,t){const{__scopeSelect:r,...o}=e;return F.jsx(Kt.div,{"aria-hidden":!0,...o,ref:t})},"SelectSeparator")),K5="SelectBubbleInput",W5=I.forwardRef(be(function({__scopeSelect:e,...t},r){const o=Hn(K5,e),{value:i,onValueChange:s,required:l,disabled:a,name:c,autoComplete:u,form:f}=o,{nativeOptions:d,nativeSelectKey:g}=o,h=I.useRef(null),_=Rn(r,h),m=i??"",p=Jh(m),y=Array.from(d).some(C=>(C.props.value??"")==="");return I.useEffect(()=>{const C=h.current;if(!C)return;const x=window.HTMLSelectElement.prototype,k=Object.getOwnPropertyDescriptor(x,"value").set;if(p!==m&&k){const b=new Event("change",{bubbles:!0});k.call(C,m),C.dispatchEvent(b)}},[p,m]),F.jsxs(Kt.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:c,autoComplete:u,disabled:a,form:f,onChange:C=>s(C.target.value),...t,style:{...R0,...t.style},ref:_,defaultValue:m,children:[yi(i)&&!y?F.jsx("option",{value:""}):null,Array.from(d)]},g)},"SelectBubbleInput"));function jh(n){return typeof n=="function"}be(jh,"isFunction");function yi(n){return n===""||n===void 0}be(yi,"shouldShowPlaceholder");function _c(n){const e=hc(n),t=I.useRef(""),r=I.useRef(0),o=I.useCallback(s=>{const l=t.current+s;e(l),be(function a(c){t.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>a(""),1e3))},"updateSearch")(l)},[e]),i=I.useCallback(()=>{t.current="",window.clearTimeout(r.current)},[]);return I.useEffect(()=>()=>window.clearTimeout(r.current),[]),[t,o,i]}be(_c,"useTypeaheadSearch");function xc(n,e,t){const o=e.length>1&&Array.from(e).every(c=>c===e[0])?e[0]:e,i=t?n.indexOf(t):-1;let s=Uh(n,Math.max(i,0));o.length===1&&(s=s.filter(c=>c!==t));const a=s.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==t?a:void 0}be(xc,"findNextItem");function Uh(n,e){return n.map((t,r)=>n[(e+r)%n.length])}be(Uh,"wrapArray");var j5=Object.defineProperty,qs=(n,e)=>j5(n,"name",{value:e,configurable:!0}),Zh="Toolbar",[U5,_v]=Hh(Zh,[Bh,zh]),qh=Bh(),Gh=zh(),[Z5,q5]=U5(Zh),G5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,orientation:o="horizontal",dir:i,loop:s=!0,...l}=e,a=qh(r),c=Vh(i);return F.jsx(Z5,{scope:r,orientation:o,dir:c,children:F.jsx(z0,{asChild:!0,...a,orientation:o,dir:c,loop:s,children:F.jsx(Kt.div,{role:"toolbar","aria-orientation":o,dir:c,...l,ref:t})})})},"Toolbar")),Yh=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=qh(r);return F.jsx(V0,{asChild:!0,...i,focusable:!e.disabled,children:F.jsx(Kt.button,{type:"button",...o,ref:t})})},"ToolbarButton")),Y5="ToolbarToggleGroup",X5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=q5(Y5,r),s=Gh(r);return F.jsx(J0,{"data-orientation":i.orientation,dir:i.dir,...s,...o,ref:t,rovingFocus:!1})},"ToolbarToggleGroup")),Q5=I.forwardRef(qs(function(e,t){const{__scopeToolbar:r,...o}=e,i=Gh(r),s={__scopeToolbar:e.__scopeToolbar};return F.jsx(Yh,{asChild:!0,...s,children:F.jsx(B0,{...i,...o,ref:t})})},"ToolbarToggleItem")),e2=G5,t2=Yh,yc=X5,n2=Q5;const r2={}.hasOwnProperty;function Xh(n,e){let t=-1,r;if(e.extensions)for(;++tr*r+B*B&&(O=b,Q=p),{cx:O,cy:Q,x01:-n,y01:-d,x11:O*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,q=S(0),w=null,v=gn,A=dn,Z=mn,a=null,z=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,j=rn(c-f),t=c>f;if(a||(a=n=z()),sy))a.moveTo(0,0);else if(j>tn-y)a.moveTo(s*C(f),s*E(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*C(c),u*E(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=j,I=j,O=Z.apply(this,arguments)/2,Q=O>y&&(w?+w.apply(this,arguments):H(u*u+s*s)),b=_(rn(s-u)/2,+q.apply(this,arguments)),p=b,x=b,e,r;if(Q>y){var B=sn(Q/u*E(O)),J=sn(Q/s*E(O));(P-=B*2)>y?(B*=t?1:-1,R+=B,T-=B):(P=0,R=T=(f+c)/2),(I-=J*2)>y?(J*=t?1:-1,m+=J,g-=J):(I=0,m=g=(f+c)/2)}var F=s*C(m),G=s*E(m),K=u*C(T),L=u*E(T);if(b>y){var M=s*C(g),N=s*E(g),V=u*C(R),W=u*E(R),D;if(jy?x>y?(e=U(V,W,F,G,s,x,t),r=U(M,N,K,L,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(K,L):p>y?(e=U(K,L,M,N,u,-p,t),r=U(F,G,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),pr*r+B*B&&(O=b,Q=p),{cx:O,cy:Q,x01:-n,y01:-d,x11:O*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,q=S(0),w=null,v=gn,A=dn,Z=mn,a=null,z=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,j=rn(c-f),t=c>f;if(a||(a=n=z()),sy))a.moveTo(0,0);else if(j>tn-y)a.moveTo(s*C(f),s*E(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*C(c),u*E(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=j,I=j,O=Z.apply(this,arguments)/2,Q=O>y&&(w?+w.apply(this,arguments):H(u*u+s*s)),b=_(rn(s-u)/2,+q.apply(this,arguments)),p=b,x=b,e,r;if(Q>y){var B=sn(Q/u*E(O)),J=sn(Q/s*E(O));(P-=B*2)>y?(B*=t?1:-1,R+=B,T-=B):(P=0,R=T=(f+c)/2),(I-=J*2)>y?(J*=t?1:-1,m+=J,g-=J):(I=0,m=g=(f+c)/2)}var F=s*C(m),G=s*E(m),K=u*C(T),L=u*E(T);if(b>y){var M=s*C(g),N=s*E(g),V=u*C(R),W=u*E(R),D;if(jy?x>y?(e=U(V,W,F,G,s,x,t),r=U(M,N,K,L,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(K,L):p>y?(e=U(K,L,M,N,u,-p,t),r=U(F,G,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),pa.lang.round(n.parse(r)[o]);export{t as c}; +import{U as a,C as n}from"../visualizations/mermaid/mermaid.core-DAX2QfGO.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c}; diff --git a/veadk/webui/assets/chunks/linear-Dil5wD59.js b/veadk/webui/assets/chunks/linear-BmzcZuEF.js similarity index 98% rename from veadk/webui/assets/chunks/linear-Dil5wD59.js rename to veadk/webui/assets/chunks/linear-BmzcZuEF.js index 3c830e7cd..1bc81fe1a 100644 --- a/veadk/webui/assets/chunks/linear-Dil5wD59.js +++ b/veadk/webui/assets/chunks/linear-BmzcZuEF.js @@ -1 +1 @@ -import{a1 as y,a0 as b}from"../app/index-Bj9lylJf.js";import{i as A}from"./init-Gi6I4Gst.js";import{e as M,b as R,a as q,f as F}from"./defaultLocale-CrowFXzY.js";function S(n,r){return n=+n,r=+r,function(i){return Math.round(n*(1-i)+r*i)}}function g(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function z(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function w(n){let r,i,t;n.length!==2?(r=g,i=(u,o)=>g(n(u),o),t=(u,o)=>n(u)-o):(r=n===g||n===z?n:I,i=n,t=n);function f(u,o,e=0,m=u.length){if(e>>1;i(u[l],o)<0?e=l+1:m=l}while(e>>1;i(u[l],o)<=0?e=l+1:m=l}while(ee&&t(u[l-1],o)>-t(u[l],o)?l-1:l}return{left:f,center:a,right:c}}function I(){return 0}function P(n){return n===null?NaN:+n}const $=w(g),j=$.right;w(P).center;const x=Math.sqrt(50),B=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,i){const t=(r-n)/Math.max(0,i),f=Math.floor(Math.log10(t)),c=t/Math.pow(10,f),a=c>=x?10:c>=B?5:c>=C?2:1;let u,o,e;return f<0?(e=Math.pow(10,-f)/a,u=Math.round(n*e),o=Math.round(r*e),u/er&&--o,e=-e):(e=Math.pow(10,f)*a,u=Math.round(n/e),o=Math.round(r/e),u*er&&--o),o0))return[];if(n===r)return[n];const t=r=f))return[];const u=c-f+1,o=new Array(u);if(t)if(a<0)for(let e=0;er&&(i=n,n=r,r=i),function(t){return Math.max(n,Math.min(r,t))}}function Q(n,r,i){var t=n[0],f=n[1],c=r[0],a=r[1];return f2?T:Q,o=e=null,l}function l(h){return h==null||isNaN(h=+h)?c:(o||(o=u(n.map(t),r,i)))(t(a(h)))}return l.invert=function(h){return a(f((e||(e=u(r,n.map(t),y)))(h)))},l.domain=function(h){return arguments.length?(n=Array.from(h,L),m()):n.slice()},l.range=function(h){return arguments.length?(r=Array.from(h),m()):r.slice()},l.rangeRound=function(h){return r=Array.from(h),i=S,m()},l.clamp=function(h){return arguments.length?(a=h?!0:s,m()):a!==s},l.interpolate=function(h){return arguments.length?(i=h,m()):i},l.unknown=function(h){return arguments.length?(c=h,l):c},function(h,k){return t=h,f=k,m()}}function W(){return V()(s,s)}function X(n,r,i,t){var f=E(n,r,i),c;switch(t=R(t??",f"),t.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return t.precision==null&&!isNaN(c=H(f,a))&&(t.precision=c),q(t,a)}case"":case"e":case"g":case"p":case"r":{t.precision==null&&!isNaN(c=J(f,Math.max(Math.abs(n),Math.abs(r))))&&(t.precision=c-(t.type==="e"));break}case"f":case"%":{t.precision==null&&!isNaN(c=G(f))&&(t.precision=c-(t.type==="%")*2);break}}return F(t)}function Y(n){var r=n.domain;return n.ticks=function(i){var t=r();return D(t[0],t[t.length-1],i??10)},n.tickFormat=function(i,t){var f=r();return X(f[0],f[f.length-1],i??10,t)},n.nice=function(i){i==null&&(i=10);var t=r(),f=0,c=t.length-1,a=t[f],u=t[c],o,e,m=10;for(u0;){if(e=d(a,u,i),e===o)return t[f]=a,t[c]=u,r(t);if(e>0)a=Math.floor(a/e)*e,u=Math.ceil(u/e)*e;else if(e<0)a=Math.ceil(a*e)/e,u=Math.floor(u*e)/e;else break;o=e}return n},n}function Z(){var n=W();return n.copy=function(){return U(n,Z())},A.apply(n,arguments),Y(n)}export{U as a,w as b,W as c,Z as l,E as t}; +import{a1 as y,a0 as b}from"../app/index-sh8QRNzm.js";import{i as A}from"./init-Gi6I4Gst.js";import{e as M,b as R,a as q,f as F}from"./defaultLocale-CrowFXzY.js";function S(n,r){return n=+n,r=+r,function(i){return Math.round(n*(1-i)+r*i)}}function g(n,r){return n==null||r==null?NaN:nr?1:n>=r?0:NaN}function z(n,r){return n==null||r==null?NaN:rn?1:r>=n?0:NaN}function w(n){let r,i,t;n.length!==2?(r=g,i=(u,o)=>g(n(u),o),t=(u,o)=>n(u)-o):(r=n===g||n===z?n:I,i=n,t=n);function f(u,o,e=0,m=u.length){if(e>>1;i(u[l],o)<0?e=l+1:m=l}while(e>>1;i(u[l],o)<=0?e=l+1:m=l}while(ee&&t(u[l-1],o)>-t(u[l],o)?l-1:l}return{left:f,center:a,right:c}}function I(){return 0}function P(n){return n===null?NaN:+n}const $=w(g),j=$.right;w(P).center;const x=Math.sqrt(50),B=Math.sqrt(10),C=Math.sqrt(2);function v(n,r,i){const t=(r-n)/Math.max(0,i),f=Math.floor(Math.log10(t)),c=t/Math.pow(10,f),a=c>=x?10:c>=B?5:c>=C?2:1;let u,o,e;return f<0?(e=Math.pow(10,-f)/a,u=Math.round(n*e),o=Math.round(r*e),u/er&&--o,e=-e):(e=Math.pow(10,f)*a,u=Math.round(n/e),o=Math.round(r/e),u*er&&--o),o0))return[];if(n===r)return[n];const t=r=f))return[];const u=c-f+1,o=new Array(u);if(t)if(a<0)for(let e=0;er&&(i=n,n=r,r=i),function(t){return Math.max(n,Math.min(r,t))}}function Q(n,r,i){var t=n[0],f=n[1],c=r[0],a=r[1];return f2?T:Q,o=e=null,l}function l(h){return h==null||isNaN(h=+h)?c:(o||(o=u(n.map(t),r,i)))(t(a(h)))}return l.invert=function(h){return a(f((e||(e=u(r,n.map(t),y)))(h)))},l.domain=function(h){return arguments.length?(n=Array.from(h,L),m()):n.slice()},l.range=function(h){return arguments.length?(r=Array.from(h),m()):r.slice()},l.rangeRound=function(h){return r=Array.from(h),i=S,m()},l.clamp=function(h){return arguments.length?(a=h?!0:s,m()):a!==s},l.interpolate=function(h){return arguments.length?(i=h,m()):i},l.unknown=function(h){return arguments.length?(c=h,l):c},function(h,k){return t=h,f=k,m()}}function W(){return V()(s,s)}function X(n,r,i,t){var f=E(n,r,i),c;switch(t=R(t??",f"),t.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return t.precision==null&&!isNaN(c=H(f,a))&&(t.precision=c),q(t,a)}case"":case"e":case"g":case"p":case"r":{t.precision==null&&!isNaN(c=J(f,Math.max(Math.abs(n),Math.abs(r))))&&(t.precision=c-(t.type==="e"));break}case"f":case"%":{t.precision==null&&!isNaN(c=G(f))&&(t.precision=c-(t.type==="%")*2);break}}return F(t)}function Y(n){var r=n.domain;return n.ticks=function(i){var t=r();return D(t[0],t[t.length-1],i??10)},n.tickFormat=function(i,t){var f=r();return X(f[0],f[f.length-1],i??10,t)},n.nice=function(i){i==null&&(i=10);var t=r(),f=0,c=t.length-1,a=t[f],u=t[c],o,e,m=10;for(u0;){if(e=d(a,u,i),e===o)return t[f]=a,t[c]=u,r(t);if(e>0)a=Math.floor(a/e)*e,u=Math.ceil(u/e)*e;else if(e<0)a=Math.ceil(a*e)/e,u=Math.floor(u*e)/e;else break;o=e}return n},n}function Z(){var n=W();return n.copy=function(){return U(n,Z())},A.apply(n,arguments),Y(n)}export{U as a,w as b,W as c,Z as l,E as t}; diff --git a/veadk/webui/assets/styles/index-DWyU2bL1.css b/veadk/webui/assets/styles/index-s77xcnYE.css similarity index 55% rename from veadk/webui/assets/styles/index-DWyU2bL1.css rename to veadk/webui/assets/styles/index-s77xcnYE.css index 9b42e19dd..1539589de 100644 --- a/veadk/webui/assets/styles/index-DWyU2bL1.css +++ b/veadk/webui/assets/styles/index-s77xcnYE.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}@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}}.knowledge-library{display:grid;grid-template-columns:292px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-library__sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas))}.knowledge-library__sidebar-head,.knowledge-documents__head,.knowledge-detail-head,.knowledge-dialog__header,.knowledge-dialog__actions{display:flex;align-items:center;justify-content:space-between}.knowledge-library__sidebar-head{min-height:32px;margin-bottom:12px}.knowledge-library__sidebar-head>div,.knowledge-documents__head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.knowledge-library__sidebar h2,.knowledge-detail-head h2,.knowledge-library__detail-empty h2,.knowledge-dialog h2,.knowledge-documents h3{margin:0;color:hsl(var(--foreground))}.knowledge-library__sidebar h2{font-size:17px;font-weight:620;line-height:1.3}.knowledge-library__sidebar-head span{color:hsl(var(--muted-foreground));font-size:12px}.knowledge-primary-button svg,.knowledge-library__search svg,.knowledge-base-row__icon svg,.knowledge-library__state>svg,.knowledge-library__detail-empty>svg,.knowledge-dialog__header button svg{width:16px;height:16px;flex:0 0 auto}.knowledge-library__search{position:relative;display:flex;align-items:center;height:34px;margin-bottom:10px}.knowledge-library__search svg{position:absolute;left:10px;z-index:1;color:hsl(var(--muted-foreground));pointer-events:none}.knowledge-library__search input{width:100%;height:34px;padding:0 10px 0 34px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library__search input::placeholder,.knowledge-dialog input::placeholder,.knowledge-dialog textarea::placeholder{color:hsl(var(--muted-foreground))}.knowledge-library__search input:focus,.knowledge-library__region select:focus,.knowledge-dialog input:focus,.knowledge-dialog textarea:focus{border-color:hsl(var(--foreground) / .36);box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 3px hsl(var(--foreground) / .36)}.knowledge-library__region{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin-bottom:10px;gap:10px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-library__region select{width:100%;height:34px;padding:0 30px 0 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library .knowledge-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;gap:7px;border:1px solid hsl(var(--foreground));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font-size:12.5px;font-weight:560}.knowledge-library .knowledge-primary-button span{color:inherit;font-size:inherit;font-weight:inherit}.knowledge-library .knowledge-primary-button:hover:not(:disabled){opacity:.88}.knowledge-library .knowledge-primary-button:active:not(:disabled){transform:translateY(1px)}.knowledge-library__create{width:100%;margin-bottom:12px}.knowledge-library__list{display:flex;flex:1;flex-direction:column;min-height:0;gap:4px;overflow-y:auto}.knowledge-base-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;width:100%;min-height:52px;padding:7px 8px;gap:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));cursor:pointer;text-align:left}.knowledge-base-row:hover{background:hsl(var(--muted))}.knowledge-base-row.is-selected{border-color:hsl(var(--border));background:hsl(var(--panel))}.knowledge-base-row__icon{display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-base-row__icon{width:32px;height:32px;border-radius:7px}.knowledge-base-row__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.knowledge-base-row__copy strong{overflow:hidden;font-size:12.5px;font-weight:580;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-base-row__copy span{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-keyboard-reveal:focus{overflow:visible;white-space:normal;overflow-wrap:anywhere;outline:2px solid hsl(var(--foreground));outline-offset:2px}.knowledge-base-row:focus-visible .knowledge-keyboard-reveal{overflow:visible;white-space:normal;overflow-wrap:anywhere}.knowledge-status{max-width:54px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{color:#2d764f}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{color:hsl(var(--destructive))}.knowledge-library__loading,.knowledge-library__state,.knowledge-library__detail-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.knowledge-library__loading{min-height:112px;font-size:12.5px}.knowledge-library__state{min-height:152px;flex-direction:column;padding:20px;gap:10px;text-align:center}.knowledge-library__state>svg{width:24px;height:24px}.knowledge-library__state p,.knowledge-library__detail-empty p{margin:0;font-size:12.5px;line-height:1.55}.knowledge-library__state button,.knowledge-load-more{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-library__state.is-error p,.knowledge-form-error{color:hsl(var(--destructive));overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-load-more{flex:0 0 auto;margin:8px auto 0}.knowledge-library__detail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel))}.knowledge-library__detail-empty{flex:1;min-height:0;flex-direction:column;gap:8px}.knowledge-library__detail-empty>svg{width:32px;height:32px;margin-bottom:4px}.knowledge-library__detail-empty h2{font-size:15px;font-weight:600}.knowledge-detail-head{flex:0 0 auto;min-height:86px;padding:18px 24px;gap:20px}.knowledge-detail-head__title{display:flex;align-items:center;min-width:0;gap:12px}.knowledge-detail-head__title>div{min-width:0}.knowledge-detail-head h2{overflow:hidden;font-size:17px;font-weight:620;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-detail-head p{display:-webkit-box;max-width:720px;margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.knowledge-detail-head__actions{display:flex;flex:0 0 auto;gap:8px}.knowledge-detail-head__actions button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-detail-head__actions button:hover{background:hsl(var(--muted))}.knowledge-detail-head__actions button.is-danger{color:hsl(var(--destructive))}.knowledge-detail-meta{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1.45fr) minmax(0,.65fr) minmax(0,1.1fr);width:calc(100% - 64px);box-sizing:border-box;margin:16px 32px 4px;padding:18px 20px;gap:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.knowledge-detail-meta>div{min-width:0}.knowledge-detail-meta dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;line-height:1.45}.knowledge-detail-meta dd{margin:0;color:hsl(var(--foreground));font-size:13.5px;font-weight:550;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-documents{display:flex;flex:1;flex-direction:column;min-height:0;padding:18px 24px 24px}.knowledge-documents__head{flex:0 0 auto;min-height:36px;margin-bottom:10px}.knowledge-documents h3{font-size:14px;font-weight:600}.knowledge-documents__body{flex:1;min-height:0;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-documents__body.is-table{flex:1;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent}.knowledge-document-table-wrap{height:100%;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-document-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.knowledge-document-table th{height:42px;position:sticky;top:0;z-index:1;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:12px;font-weight:560;text-align:left}.knowledge-document-table th:first-child{width:auto}.knowledge-document-table th:nth-child(2),.knowledge-document-table th:nth-child(3){width:112px}.knowledge-document-table th:nth-child(4){width:148px}.knowledge-document-table td{height:52px;padding:6px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.knowledge-document-table tbody tr:last-child td{border-bottom:0}.knowledge-document-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.knowledge-document-table__name{overflow:hidden;font-size:13.5px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-document-table__actions-heading{text-align:center!important}.knowledge-document-table__actions{display:flex;align-items:center;justify-content:center;gap:4px}.knowledge-document-table__actions .knowledge-document-action-button{flex:0 0 auto}.knowledge-document-pagination{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 16px;gap:8px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-document-pagination.is-error{color:hsl(var(--destructive))}.knowledge-document-pagination.is-error span,.knowledge-preview__state.is-error p,.knowledge-preview__more-error{overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-document-pagination button{min-height:28px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.knowledge-document-pagination button:hover{background:hsl(var(--muted))}.knowledge-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;padding:24px;place-items:center;background:hsl(var(--foreground) / .34)}.knowledge-dialog{width:min(540px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 48px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 22px 60px hsl(var(--foreground) / .18)}.knowledge-dialog--preview{width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column}.knowledge-dialog--web-confirm form{flex:1;min-height:0;display:flex;flex-direction:column}.knowledge-preview{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.knowledge-preview__meta{min-height:42px;display:flex;flex:0 0 auto;align-items:center;padding:0 18px;gap:8px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.knowledge-preview__meta a{margin-left:auto;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-decoration:none}.knowledge-preview__meta strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.knowledge-preview__meta a:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-preview__body{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:hsl(var(--canvas))}.knowledge-preview__state{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box;padding:32px;gap:10px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.knowledge-preview__state p,.knowledge-preview__state span{margin:0}.knowledge-preview__state.is-error p,.knowledge-preview__more-error{color:hsl(var(--destructive))}.knowledge-preview__state button,.knowledge-preview__load-more{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-preview__chunks{width:min(780px,calc(100% - 36px));display:grid;box-sizing:border-box;margin:18px auto 28px;gap:12px}.knowledge-preview__chunk{min-width:0;overflow:hidden;padding:16px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__chunk header{margin-bottom:10px}.knowledge-preview__chunk h3{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.45}.knowledge-preview__content{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-preview__table-wrap{max-width:100%;margin-top:14px;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:8px}.knowledge-preview__table-wrap table{width:100%;min-width:420px;border-collapse:collapse;table-layout:auto}.knowledge-preview__table-wrap th,.knowledge-preview__table-wrap td{min-width:104px;padding:9px 11px;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));font-size:12px;line-height:1.5;text-align:left;vertical-align:top;overflow-wrap:anywhere}.knowledge-preview__table-wrap th{background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-weight:560}.knowledge-preview__table-wrap td{color:hsl(var(--foreground))}.knowledge-preview__table-wrap tr>:last-child{border-right:0}.knowledge-preview__table-wrap tbody tr:last-child td{border-bottom:0}.knowledge-preview__image,.knowledge-preview__video{display:block;width:auto;max-width:100%;max-height:440px;margin:14px auto 0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas));object-fit:contain}.knowledge-preview__video{width:100%;background:hsl(var(--foreground))}.knowledge-preview__audio{display:block;width:100%;height:40px;margin-top:14px}.knowledge-preview__pdf{display:grid;min-width:0;margin-top:14px;gap:8px}.knowledge-preview__pdf iframe{width:100%;height:min(480px,48dvh);border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas))}.knowledge-preview__pdf a,.knowledge-preview__file-fallback a{justify-self:center;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-underline-offset:3px}.knowledge-preview__file-fallback{display:grid;margin-top:14px;padding:14px;gap:8px;border-radius:8px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:center}.knowledge-preview__file-fallback p{margin:0}.knowledge-preview__attachment-error,.knowledge-preview__more-error{margin-top:12px;font-size:12px;line-height:1.5;text-align:center}.knowledge-preview__attachment-error{color:hsl(var(--muted-foreground))}.knowledge-preview__load-more{justify-self:center;min-width:96px}.knowledge-preview__load-more:hover:not(:disabled),.knowledge-preview__state button:hover{background:hsl(var(--muted))}.knowledge-preview__load-more:disabled{cursor:not-allowed;opacity:.58}.knowledge-dialog__header{min-height:54px;padding:0 18px;border-bottom:1px solid hsl(var(--border))}.knowledge-dialog__header h2{font-size:15px;font-weight:620}.knowledge-dialog__header button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-dialog__header button:hover:not(:disabled){background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-dialog form{display:flex;max-height:calc(min(720px,100dvh - 48px) - 54px);flex-direction:column}.knowledge-dialog__body{display:flex;min-height:0;padding:18px;flex-direction:column;gap:14px;overflow-y:auto}.knowledge-dialog__body>label,.knowledge-source-panel>label,.knowledge-dialog__fields label{display:flex;min-width:0;flex-direction:column;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-dialog__body label>small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.45}.knowledge-dialog input,.knowledge-dialog textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px;font-weight:400;line-height:1.5;resize:vertical}.knowledge-dialog textarea{min-height:84px}.knowledge-dialog input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-dialog textarea.is-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.knowledge-metadata-editor{min-height:220px!important}.knowledge-dialog__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.knowledge-dialog__note{margin:-4px 0 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.5}.knowledge-dialog__note.is-error{color:hsl(var(--destructive))}.knowledge-source-picker{display:flex;min-width:0;margin:0;padding:0;gap:18px;border:0}.knowledge-source-picker legend{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-source-picker label{display:inline-flex;align-items:center;gap:6px;color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-source-picker input{width:14px;min-height:14px;margin:0;padding:0;accent-color:hsl(var(--foreground))}.knowledge-form-error{padding:8px 10px;border-radius:7px;background:hsl(var(--destructive) / .08);font-size:12px;font-weight:450;line-height:1.5}.knowledge-dialog__actions{flex:0 0 auto;min-height:58px;padding:10px 18px;justify-content:flex-end;gap:8px;border-top:1px solid hsl(var(--border))}.knowledge-dialog__actions button{min-width:72px;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-dialog__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.knowledge-dialog__actions button.is-back{margin-inline-end:auto}.knowledge-web-preview__error{flex:0 0 auto;padding:10px 18px 0}.knowledge-dialog__actions button:hover:not(:disabled){background:hsl(var(--muted))}.knowledge-dialog__actions button.is-primary:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.knowledge-dialog__actions button:disabled,.knowledge-primary-button:disabled,.knowledge-load-more:disabled{cursor:not-allowed;opacity:.48}.knowledge-library button:focus-visible,.knowledge-library input:focus-visible,.knowledge-library summary:focus-visible,.knowledge-library select:focus-visible,.knowledge-dialog button:focus-visible,.knowledge-dialog input:focus-visible,.knowledge-dialog textarea:focus-visible,.knowledge-dialog a:focus-visible,.knowledge-dialog audio:focus-visible,.knowledge-dialog video:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:1px}@media (max-width: 1040px){.knowledge-library{grid-template-columns:248px minmax(0,1fr)}}@media (max-width: 760px){.knowledge-library{display:flex;overflow-y:auto;flex-direction:column}.knowledge-library__sidebar{flex:0 0 auto;max-height:360px;border-right:0;border-bottom:1px solid hsl(var(--border))}.knowledge-library__detail{flex:0 0 auto;min-height:520px;overflow:visible}.knowledge-detail-head{align-items:flex-start;padding:16px;flex-direction:column}.knowledge-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 40px);margin-inline:20px;padding:16px}.knowledge-documents{min-height:360px;padding:16px}.knowledge-dialog__fields{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.knowledge-library *,.knowledge-dialog *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.knowledge-library{display:flex;flex-direction:column;padding:32px 32px 0;background:hsl(var(--background))}.knowledge-library.is-detail{padding:0}.knowledge-library__search{position:static;width:min(320px,38vw);height:36px;flex:0 0 auto;gap:8px;margin:0;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}.knowledge-library__search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.knowledge-library__search svg{position:static;z-index:auto;left:auto}.knowledge-library__search input{width:100%;height:auto;min-width:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;font-size:13px}.knowledge-library__search input:focus{border-color:transparent;box-shadow:none}.knowledge-library__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:0}.knowledge-library__toolbar-actions{display:flex;align-items:center;gap:8px}.knowledge-library .my-agent-create-primary{font-size:12.5px;font-weight:500}.knowledge-library .knowledge-primary-button{min-height:36px;border-radius:8px;font-weight:500}.knowledge-library__results{flex:1;min-height:0;margin-top:28px;padding-bottom:56px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.knowledge-region-warning{min-height:38px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;margin-bottom:12px;padding:8px 12px;gap:16px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .58);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-region-warning button{flex:0 0 auto;padding:0;border:0;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.knowledge-region-warning button:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-status{max-width:88px;flex:0 0 auto;padding:2px 6px;border-radius:999px;background:hsl(var(--muted));font-size:10.5px;line-height:16px}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{background:#e7f8ee}.knowledge-status.is-creating,.knowledge-status.is-pending,.knowledge-status.is-processing,.knowledge-status.is-indexing{background:#fdf5e3;color:#8d5911}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{background:hsl(var(--destructive) / .09)}.knowledge-library__loading,.knowledge-library__state{min-height:260px}.knowledge-library__detail{flex:1;background:hsl(var(--background))}.knowledge-detail-head{min-height:94px;padding:20px 32px;background:hsl(var(--background))}.knowledge-detail-head__title{gap:10px}.knowledge-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.knowledge-back-button svg{width:18px;height:18px}.knowledge-documents{padding:20px 32px 32px}.knowledge-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:2px}@media (max-width: 760px){.knowledge-library{display:flex;padding:24px 20px 0;overflow:hidden}.knowledge-library.is-detail{padding:0}.knowledge-library__search{width:100%}.knowledge-library__toolbar{align-items:stretch;flex-direction:column;gap:12px}.knowledge-library__toolbar-actions{align-self:flex-end}.knowledge-library__results{margin-top:24px;padding-bottom:44px}.knowledge-library__detail{min-height:0;overflow:hidden}.knowledge-detail-head{padding:16px 20px}.knowledge-documents{min-height:0;padding:16px 20px 20px}}.knowledge-preview__markdown-shell{width:min(780px,calc(100% - 36px));box-sizing:border-box;margin:18px auto 28px;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__markdown{color:hsl(var(--foreground));font-size:13px;line-height:1.7;overflow-wrap:anywhere}.knowledge-preview__markdown>:first-child{margin-top:0}.knowledge-preview__markdown>:last-child{margin-bottom:0}@media (max-width: 560px){.knowledge-library,.knowledge-detail-head{padding-inline:16px}.knowledge-detail-meta{grid-template-columns:1fr;width:calc(100% - 32px);margin-inline:16px}.knowledge-documents{padding-inline:16px}.knowledge-dialog--preview{height:calc(100dvh - 32px)}.knowledge-preview__chunks,.knowledge-preview__markdown-shell{width:calc(100% - 24px);margin-top:12px}.knowledge-preview__chunk,.knowledge-preview__markdown-shell{padding:14px}}@media (prefers-reduced-motion: reduce){.knowledge-card{transition:none}.knowledge-card:hover{transform:none}}.knowledge-source-tabs{height:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.knowledge-source-tabs button{min-width:0;min-height:34px;padding:0 10px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:12.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.knowledge-source-tabs button:hover:not(:disabled){background:hsl(var(--background) / .5);color:hsl(var(--foreground))}.knowledge-source-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-source-tabs button:disabled{cursor:not-allowed;opacity:.58}.knowledge-source-panel,.knowledge-source-panel>label{min-width:0}.knowledge-upload-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.knowledge-upload-dropzone{width:100%;min-height:144px;display:grid;place-content:center;gap:7px;box-sizing:border-box;padding:24px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;text-align:center;transition:border-color .12s ease,background-color .12s ease}.knowledge-upload-dropzone:hover:not(:disabled),.knowledge-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.knowledge-upload-dropzone.is-ready{border-style:solid;background:hsl(var(--secondary) / .24)}.knowledge-upload-dropzone:disabled{cursor:not-allowed;opacity:.62}.knowledge-upload-dropzone strong{max-width:440px;overflow:hidden;font-size:15px;font-weight:600;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.knowledge-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.knowledge-upload-status{min-height:20px;display:flex;align-items:center;margin-top:6px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-dialog textarea:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-source-tabs button:focus-visible,.knowledge-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:1px}@media (max-width: 560px){.knowledge-upload-dropzone{min-height:120px;padding:20px 16px}}@media (prefers-reduced-motion: reduce){.knowledge-source-tabs button,.knowledge-upload-dropzone{transition:none}}@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)}}.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)}.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}}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:space-between;margin-top:0}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.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-agent-heading{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-heading-copy{min-width:0}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-agent-head>.aw-agent-heading{flex-direction:row;align-items:center;justify-content:flex-start}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.library-view{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.library-view__header{flex:0 0 auto;padding:32px 32px 0}.library-view__header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.library-view__header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.library-tabs{margin:12px 32px 0}.library-tabs button{font-size:15px}.library-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.library-panels,.library-panel{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column}.library-panel[hidden]{display:none}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:24px}.library-resource-toolbar{min-height:36px;margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.library-resource-toolbar__controls{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media (max-width: 720px){.library-view__header{padding:24px 20px 0}.library-tabs{gap:20px;margin:12px 20px 0}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:20px}.library-resource-toolbar{align-items:stretch;flex-direction:column;gap:12px}.library-resource-toolbar__controls{width:100%}.library-resource-toolbar>.my-agent-create-primary{align-self:flex-start}.library-resource-toolbar>.my-agent-search,.library-resource-toolbar>.knowledge-library__search,.library-resource-toolbar>.artifact-library-search{width:100%}}@media (max-width: 560px){.library-view__header{padding-inline:16px}.library-tabs{margin-inline:16px}}.page-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.page-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.page-back-button:active{background:hsl(var(--muted))}.page-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.page-back-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto;display:flex;align-items:center;gap:8px}.system-info-page-header>div{min-width:0}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-resource-update{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;min-height:29px;margin-left:18px;padding:0;border:1px solid hsl(var(--foreground) / .14);border-radius:7px;background:hsl(var(--secondary) / .62);box-shadow:inset 0 1px hsl(var(--background) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:560;line-height:1;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.system-info-resource-update svg{width:14px;height:14px;flex:0 0 14px;stroke-width:2}.system-info-resource-update:hover:not(:disabled){border-color:hsl(var(--foreground) / .26);background:hsl(var(--secondary) / .86);box-shadow:inset 0 1px hsl(var(--background) / .82),0 1px 5px hsl(var(--foreground) / .08);transform:translateY(-1px)}.system-info-resource-update:active:not(:disabled){transform:translateY(0)}.system-info-resource-update:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.system-info-resource-update:disabled{cursor:not-allowed;opacity:.62}.system-info-resource-update svg.is-spinning{animation:system-info-spin .8s linear infinite}.system-info-inline-status,.system-info-inline-error{display:block;margin-top:4px;font-size:12px;font-weight:400;line-height:1.45}.system-info-inline-status{color:hsl(var(--muted-foreground))}.system-info-inline-error{color:hsl(var(--destructive))}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg,.system-info-resource-update{transition:none}.system-info-resource-update svg.is-spinning{animation:none}}@keyframes system-info-spin{to{transform:rotate(360deg)}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}.ic-root{display:flex;flex-direction:column;height:100%;min-height:0;background:hsl(var(--canvas));overflow:hidden}.ic-header{display:flex;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.ic-header h1,.ic-header p,.ic-panel h2,.ic-panel p{margin:0}.ic-header h1{font-size:20px;line-height:1.25;font-weight:650}.ic-header p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.ic-back{flex-shrink:0;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.ic-back:hover{background:hsl(var(--muted))}.ic-main{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:32px 24px}.ic-panel{max-width:760px;margin:0 auto;padding:24px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.ic-goal-heading{display:flex;align-items:center;gap:12px}.ic-goal-heading h2{font-size:17px;line-height:1.3;font-weight:600}.ic-goal-heading p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-create-icon-wrap{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:9px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.ic-create-icon{width:20px;height:20px}.ic-goal-label{display:block;margin:24px 0 7px;font-size:12px;font-weight:600}.ic-goal-input{display:block;width:100%;min-height:136px;resize:vertical;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6}.ic-goal-input::placeholder{color:hsl(var(--muted-foreground))}.ic-goal-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.ic-goal-input:disabled{opacity:.55;cursor:not-allowed}.ic-preparation{margin-top:12px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .55)}.ic-preparation>div{min-width:0}.ic-preparation strong{display:block;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.45}.ic-preparation .text-shimmer{width:fit-content;max-width:100%;margin:4px 0 0;font-size:13px;line-height:1.5}.ic-preparation-next{margin-top:4px!important;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-state,.ic-error{margin:10px 0 0!important;font-size:12.5px;line-height:1.5}.ic-state{color:hsl(var(--muted-foreground))}.ic-error{color:hsl(var(--destructive))}.ic-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.ic-actions>span{color:hsl(var(--muted-foreground));font-size:12px}.ic-action-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.ic-secondary,.ic-primary{height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ic-secondary{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.ic-primary{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ic-secondary:hover{background:hsl(var(--muted))}.ic-primary:hover:not(:disabled){opacity:.88}.ic-primary:disabled{opacity:.45;cursor:not-allowed}.ic-back:focus-visible,.ic-secondary:focus-visible,.ic-primary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}@media (max-width: 640px){.ic-header{padding:16px}.ic-main{padding:20px 16px}.ic-panel{padding:18px}.ic-actions{align-items:stretch;flex-direction:column}.ic-action-buttons{width:100%}.ic-action-buttons button{flex:1}}@media (prefers-reduced-motion: reduce){.ic-root *{transition:none!important}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, calc(100% - 48px) );overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-instance-note{margin:10px 0 0;color:#d79804;font-size:12px;line-height:1.5}.pp-instance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-instance-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-instance-error{margin:8px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select,.pp-runtime-name-input,.pp-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:0;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}@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}}}@layer components{._Badge_1viyg_1{--indicator-size: var(--badge-indicator-size);display:inline-flex;align-items:center;gap:calc(var(--spacing) * 1);height:var(--badge-size);padding:0 var(--badge-gutter);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-tracking);white-space:nowrap}._Badge_1viyg_1 svg{font-size:var(--badge-icon-font-size)}:where(._Badge_1viyg_1 svg:first-child:not(:only-child)){margin-left:var(--badge-icon-offset, -1px)}:where(._Badge_1viyg_1 svg:last-child:not(:only-child)){margin-right:var(--badge-icon-offset, -1px)}._Badge_1viyg_1[data-variant=soft]{background-color:var(--badge-background-color);color:var(--badge-text-color)}._Badge_1viyg_1[data-variant=soft]:where([data-color=secondary]){--badge-background-color: var(--color-background-secondary-soft-alpha);--badge-text-color: var(--color-text-secondary-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=success]){--badge-background-color: var(--color-background-success-soft-alpha);--badge-text-color: var(--color-text-success-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=warning]){--badge-background-color: var(--color-background-warning-soft-alpha);--badge-text-color: var(--color-text-warning-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=danger]){--badge-background-color: var(--color-background-danger-soft-alpha);--badge-text-color: var(--color-text-danger-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=info]){--badge-background-color: var(--color-background-info-soft-alpha);--badge-text-color: var(--color-text-info-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=discovery]){--badge-background-color: var(--color-background-discovery-soft-alpha);--badge-text-color: var(--color-text-discovery-soft)}._Badge_1viyg_1[data-variant=solid]{background-color:var(--badge-background-color);color:var(--badge-text-color)}._Badge_1viyg_1[data-variant=solid]:where([data-color=secondary]){--badge-background-color: var(--color-background-secondary-solid);--badge-text-color: var(--color-text-secondary-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=success]){--badge-background-color: var(--color-background-success-solid);--badge-text-color: var(--color-text-success-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=warning]){--badge-background-color: var(--color-background-warning-solid);--badge-text-color: var(--color-text-warning-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=danger]){--badge-background-color: var(--color-background-danger-solid);--badge-text-color: var(--color-text-danger-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=info]){--badge-background-color: var(--color-background-info-solid);--badge-text-color: var(--color-text-info-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=discovery]){--badge-background-color: var(--color-background-discovery-solid);--badge-text-color: var(--color-text-discovery-solid)}._Badge_1viyg_1[data-variant=outline]{box-shadow:0 0 0 1px var(--badge-border-color) inset;color:var(--badge-text-color)}._Badge_1viyg_1[data-variant=outline]:where([data-color=secondary]){--badge-border-color: var(--color-border-secondary-outline);--badge-text-color: var(--color-text-secondary-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=success]){--badge-border-color: var(--color-border-success-outline);--badge-text-color: var(--color-text-success-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=warning]){--badge-border-color: var(--color-border-warning-outline);--badge-text-color: var(--color-text-warning-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=danger]){--badge-border-color: var(--color-border-danger-outline);--badge-text-color: var(--color-text-danger-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=info]){--badge-border-color: var(--color-border-info-outline);--badge-text-color: var(--color-text-info-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=discovery]){--badge-border-color: var(--color-border-discovery-outline);--badge-text-color: var(--color-text-discovery-outline)}._Badge_1viyg_1:where([data-size=sm]){--badge-size: var(--badge-size-sm);--badge-gutter: var(--badge-gutter-sm);--badge-font-size: var(--badge-font-size-sm);--badge-font-weight: var(--badge-font-weight-sm);--badge-tracking: var(--badge-tracking-sm);--badge-radius: var(--badge-radius-sm);--badge-icon-font-size: var(--badge-icon-font-size-sm);--badge-indicator-size: var(--badge-indicator-size-sm)}._Badge_1viyg_1:where([data-size=md]){--badge-size: var(--badge-size-md);--badge-gutter: var(--badge-gutter-md);--badge-font-size: var(--badge-font-size-md);--badge-font-weight: var(--badge-font-weight-md);--badge-tracking: var(--badge-tracking-md);--badge-radius: var(--badge-radius-md);--badge-icon-font-size: var(--badge-icon-font-size-md);--badge-indicator-size: var(--badge-indicator-size-md)}._Badge_1viyg_1:where([data-size=lg]){--badge-size: var(--badge-size-lg);--badge-gutter: var(--badge-gutter-lg);--badge-font-size: var(--badge-font-size-lg);--badge-font-weight: var(--badge-font-weight-lg);--badge-tracking: var(--badge-tracking-lg);--badge-radius: var(--badge-radius-lg);--badge-icon-font-size: var(--badge-icon-font-size-lg);--badge-indicator-size: var(--badge-indicator-size-lg)}._Badge_1viyg_1:where([data-pill]){--badge-radius: var(--radius-full);padding:0 calc(var(--badge-gutter) * var(--control-gutter-pill-scaling))}}.cloud-env-config{width:min(100%,820px);min-height:0;display:flex;flex-direction:column;gap:22px;margin:0 auto;padding:0}.cloud-env-categories{min-width:0;display:flex;flex-direction:column;gap:20px}.cloud-env-category{min-width:0}.cloud-env-category h2{margin:0 0 6px 4px;color:hsl(var(--foreground));font-size:14px;font-weight:500;line-height:1.4}.cloud-env-tool-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}.cloud-env-tool{min-width:0;min-height:54px;display:flex;align-items:center;gap:10px;padding:4px;border-radius:8px;transition:background-color .15s ease,color .15s ease}.cloud-env-tool:hover,.cloud-env-tool.is-selected{background:hsl(var(--muted) / .34)}.cloud-env-tool-icon{width:38px;height:38px;flex:0 0 auto;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground) / .78)}.cloud-env-tool-icon svg,.cloud-env-tool-icon img{width:21px;height:21px;display:block}.cloud-env-tool-content{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.cloud-env-tool-content>strong{color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.4}.cloud-env-tool-description{min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.cloud-env-tool-action{width:28px;min-width:28px;height:28px;flex:0 0 auto;padding:0;border-radius:7px}.cloud-env-tool-action svg{width:14px;height:14px}.cloud-env-footer-trigger{width:100%;min-height:54px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.cloud-env-footer-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .26)}.cloud-env-footer-trigger:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:2px}.cloud-env-footer-trigger:disabled{cursor:not-allowed;opacity:.55}.cloud-env-footer-trigger-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:hsl(var(--muted) / .6);color:hsl(var(--foreground) / .76)}.cloud-env-footer-trigger-icon svg,.cloud-env-footer-trigger-action{width:16px;height:16px}.cloud-env-footer-trigger-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:1px}.cloud-env-footer-trigger-copy>span{font-size:12.5px;font-weight:500;line-height:1.4}.cloud-env-footer-trigger-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.cloud-env-footer-trigger-badge,.cloud-env-footer-trigger-action{flex:0 0 auto}.cloud-env-footer-trigger-action{color:hsl(var(--muted-foreground))}.cloud-env-dialog-backdrop{position:fixed;z-index:1250;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cloud-env-dialog{width:min(900px,92vw);height:min(680px,86vh);min-height:480px;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)}.cloud-env-dialog-header{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 18px;border-bottom:1px solid hsl(var(--border))}.cloud-env-dialog-header h2,.cloud-env-dialog-header p{margin:0}.cloud-env-dialog-header h2{font-size:15px;font-weight:600;line-height:1.4}.cloud-env-dialog-header p{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cloud-env-dialog-header-actions{display:flex;align-items:center;gap:8px}.cloud-env-dialog-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cloud-env-dialog-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.cloud-env-dialog-close svg{width:16px;height:16px}.cloud-env-dialog-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px 18px}.cloud-env-dialog-toolbar{min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cloud-env-dialog-toolbar p{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.cloud-env-custom-notice{margin:0;padding:8px 10px;border-radius:7px;background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55}.cloud-env-editor{flex:1;height:auto;min-width:0;min-height:240px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.cloud-env-editor.is-invalid{border-color:hsl(var(--destructive) / .7)}.cloud-env-editor>.cm-theme-light,.cloud-env-editor .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.cloud-env-editor .cm-scroller{overflow:auto}.cloud-env-editor .cm-focused{outline:2px solid hsl(var(--ring) / .36);outline-offset:-2px}.cloud-env-editor-loading{height:100%;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cloud-env-editor-error{margin:0;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.cloud-env-dialog-footer{min-height:56px;display:flex;align-items:center;justify-content:flex-end;padding:10px 18px;border-top:1px solid hsl(var(--border))}@media (max-width: 700px){.cloud-env-config{gap:14px}.cloud-env-categories{gap:20px}.cloud-env-tool-list{grid-template-columns:minmax(0,1fr)}.cloud-env-dialog-backdrop{padding:12px}.cloud-env-dialog{width:100%;height:min(720px,92vh)}.cloud-env-footer-trigger-badge{display:none}}@media (prefers-reduced-motion: reduce){.cloud-env-tool,.cloud-env-footer-trigger{transition:none}}.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-environment{--cw-workspace-width: min(76%, 1100px)}.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-footer-accessory{width:100%}.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(176px,48vw);display:grid;grid-template-columns:repeat(5,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-profile-field{display:grid;gap:7px;margin-bottom:10px}.cw-ab-profile-label{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-ab-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cw-ab-profile-option{min-width:0;min-height:44px;display:flex;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.cw-ab-profile-option:hover:not(.is-disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-ab-profile-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-ab-profile-option.is-disabled{cursor:not-allowed;opacity:.55}.cw-ab-profile-option:focus-within{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-ab-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-ab-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:7px 8px;color:inherit}.cw-ab-profile-copy{min-width:0;display:grid;gap:2px;text-align:left}.cw-ab-profile-copy strong{overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.cw-ab-profile-copy small,.cw-ab-profile-help{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.4}.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:pointer}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-optimization-copy{display:grid;gap:2px}.cw-ab-optimization-copy strong{font-size:12.5px;font-weight:650}.cw-ab-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.35}.cw-ab-optimization-note,.cw-ab-optimization-error{display:block;margin-top:7px;font-size:11.5px;line-height:1.4}.cw-ab-optimization-note{color:hsl(var(--muted-foreground))}.cw-ab-optimization-error{color:hsl(var(--destructive))}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-optimize-workspace{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:4px 0 12px}.cw-optimize-panel{width:100%;display:grid;gap:32px;padding:4px 0 12px}.cw-optimize-section{min-width:0;display:grid;gap:12px;margin:0;padding:0;border:0}.cw-optimize-section legend{margin-bottom:16px;padding:0;color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;margin:-3px 0;padding:3px}.cw-optimize-profile-option{min-width:0;min-height:88px;height:100%;display:flex;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-profile-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .42)}.cw-optimize-profile-option.is-on{border-color:hsl(var(--foreground) / .34);background:hsl(var(--secondary) / .46)}.cw-optimize-profile-option:focus-within{outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .28)}.cw-optimize-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-optimize-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:14px 16px;color:inherit}.cw-optimize-profile-copy,.cw-optimize-option-copy{min-width:0;display:grid;gap:4px;text-align:left}.cw-optimize-profile-copy strong,.cw-optimize-option-copy strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-copy small,.cw-optimize-option-copy small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:400;line-height:1.5}.cw-optimize-option-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.cw-optimize-option-group{min-width:0;display:grid;gap:8px}.cw-optimize-option-group-title{margin:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;line-height:1.45}.cw-optimize-option-group-items{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.cw-optimize-option{min-height:68px;display:inline-flex;align-items:flex-start;gap:0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--muted) / .32);color:hsl(var(--foreground));cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .52)}.cw-optimize-option:has(input:checked){border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .5)}.cw-optimize-option:focus-within{box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-optimize-option>label{align-items:flex-start;padding-left:10px;color:inherit}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-environment-workspace{flex:1;min-width:0;min-height:0;display:flex;align-items:flex-start;overflow-x:hidden;overflow-y:auto;padding:20px 0 24px}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config,.cw-ab-profile-options,.cw-optimize-profile-options,.cw-optimize-option-list{grid-template-columns:minmax(0,1fr)}.cw-optimize-panel{padding:4px 0 12px}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.migration-workspace{--migration-content-width: 1180px;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden;background:hsl(var(--canvas));color:hsl(var(--foreground));font-size:14px;letter-spacing:0}.migration-history{min-width:0;min-height:0;display:grid;grid-template-rows:64px auto minmax(0,1fr);padding:0 12px 14px;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .42)}.migration-history>header{display:flex;align-items:center;gap:8px;padding:0 4px}.migration-history h1{margin:0;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0}.migration-icon-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-icon-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-icon-button svg,.migration-new-button svg,.migration-file-chip svg,.migration-composer__file svg,.migration-attach-button svg,.migration-result__actions svg{width:17px;height:17px;flex:0 0 auto;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.migration-new-button{min-height:38px;display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:2px 0 12px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-new-button:hover:not(:disabled){background:hsl(var(--secondary));border-color:hsl(var(--border) / .72)}.migration-new-button:disabled,.migration-history nav>button:disabled{cursor:not-allowed;opacity:.5}.migration-history nav{min-height:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.migration-history nav>button{width:100%;min-height:58px;display:grid;align-content:center;gap:6px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-history nav>button:hover:not(:disabled),.migration-history nav>button.is-active{background:hsl(var(--secondary))}.migration-history nav>button>span{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.migration-history nav small{display:flex;align-items:center;justify-content:space-between;gap:6px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-history nav small span[data-state=failed],.migration-history nav small span[data-state=expired]{color:hsl(var(--destructive))}.migration-history nav small span[data-state=succeeded],.migration-history nav small span[data-state=succeeded_with_warnings]{color:#2a8457}.migration-history__empty{margin:16px 8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.migration-main{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.migration-main__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.migration-main__header>div{min-width:0}.migration-main__header>div:first-child{flex:1 1 auto}.migration-main__header h2{margin:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.migration-main__header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.migration-ttl{flex:0 0 auto;display:grid;justify-items:end;gap:1px;text-align:right;white-space:nowrap}.migration-ttl strong{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums}.migration-ttl small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-main__header-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px}.migration-stop-button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:transparent;color:hsl(var(--destructive));font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-stop-button:hover:not(:disabled){border-color:hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .05)}.migration-stop-button:disabled{cursor:not-allowed;opacity:.45}.migration-conversation{min-height:0;overflow-y:auto;padding:32px clamp(24px,3vw,48px) 44px;scrollbar-gutter:stable}.migration-turn,.migration-confirmation,.migration-result,.migration-system-state,.migration-inline-error{max-width:var(--migration-content-width)}.migration-turn{width:100%;display:flex;gap:14px;margin:0 auto 28px}.migration-turn.is-user{justify-content:flex-end}.migration-assistant-mark{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.migration-turn.is-assistant>div:last-child,.migration-assistant-content{min-width:0;flex:1;color:hsl(var(--foreground));font-size:14.5px;line-height:1.65;overflow-wrap:anywhere}.migration-turn p{margin:0}.migration-turn small{display:block;margin-top:7px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.migration-user-message{min-width:0;max-width:min(680px,85%);display:grid;gap:8px;padding:10px 16px;border-radius:18px;background:hsl(var(--secondary));font-size:14px;line-height:1.6;overflow-wrap:anywhere}.migration-file-chip,.migration-composer__file{min-width:0;display:flex;align-items:center;gap:7px}.migration-file-chip{font-size:12.5px;font-weight:600}.migration-file-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-running-note{margin-top:10px!important;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.migration-activity{width:100%;display:grid;gap:10px;margin-top:18px}.migration-activity__heading{display:flex;align-items:center;gap:8px;min-height:30px;color:hsl(var(--muted-foreground))}.migration-activity__heading strong{font-size:13px;font-weight:550}.migration-activity__marker{width:7px;height:7px;flex:0 0 7px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-activity__marker.is-complete{border-color:hsl(var(--foreground) / .45);background:hsl(var(--foreground) / .45)}.migration-activity .block-thinking,.migration-activity .bubble,.migration-activity .block-plan,.migration-activity .block-tool{max-width:100%}.migration-activity__stream{display:grid;gap:8px}.migration-activity__error{margin:2px 0 0!important;color:hsl(var(--muted-foreground));font-size:12px}.migration-transfer-progress{width:100%;max-width:var(--migration-content-width);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;box-sizing:border-box;margin:0 auto 24px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .45)}.migration-assistant-content .migration-transfer-progress{margin:4px 0 2px}.migration-transfer-progress>div{min-width:0;display:flex;align-items:center;gap:8px;color:hsl(var(--muted-foreground))}.migration-transfer-progress__marker{width:8px;height:8px;flex:0 0 8px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-transfer-progress strong,.migration-transfer-progress .text-shimmer{min-width:0;overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.migration-transfer-progress>div.is-complete{color:hsl(var(--foreground))}.migration-transfer-progress>div.is-complete>.migration-transfer-progress__marker{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.migration-transfer-progress>div.is-active>.migration-transfer-progress__marker{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.migration-analysis{display:grid;gap:16px;margin-top:16px}.migration-analysis__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;padding:16px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.migration-analysis h3{margin:0 0 6px;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.migration-analysis strong{font-size:13.5px;font-weight:600}.migration-analysis__facts p,.migration-analysis__facts ul{margin:4px 0 0;padding:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.migration-analysis__facts ul{padding-left:17px}.migration-analysis__evidence summary{width:max-content;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;cursor:pointer}.migration-analysis__evidence ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.migration-analysis__evidence li{display:grid;gap:3px;font-size:12px;line-height:1.5}.migration-analysis__evidence code{color:hsl(var(--foreground));overflow-wrap:anywhere}.migration-analysis__evidence span,.migration-analysis__warnings{color:hsl(var(--muted-foreground))}.migration-analysis__warnings{padding:11px 13px;border:1px solid hsl(38 80% 52% / .25);border-radius:8px;background:#eea62b12;font-size:12.5px;line-height:1.55}.migration-confirmation,.migration-result{width:100%;box-sizing:border-box;margin:0 auto 24px;border:1px solid hsl(var(--foreground) / .12);border-radius:8px;background:hsl(var(--panel))}.migration-confirmation{display:grid;gap:18px;padding:20px}.migration-confirmation__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.migration-confirmation__heading strong{font-size:15px;font-weight:600}.migration-confirmation__heading span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-align:right;overflow-wrap:anywhere}.migration-confirmation__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.migration-confirmation .new-chat-compact-select{align-self:end}.migration-confirmation .new-chat-compact-select__trigger{width:100%;min-height:40px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.migration-confirmation .new-chat-compact-select__menu{width:100%}.migration-field{min-width:0;display:grid;gap:7px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;overflow-wrap:anywhere}.migration-field b{margin-left:3px;color:hsl(var(--destructive))}.migration-field input,.migration-field textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13.5px;font-weight:400}.migration-field input{height:40px;padding:0 11px}.migration-field textarea{min-height:88px;padding:10px 11px;line-height:1.55;resize:vertical}.migration-field input:focus,.migration-field textarea:focus{border-color:hsl(var(--ring) / .7);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.migration-field input:disabled,.migration-field textarea:disabled{cursor:not-allowed;opacity:.6}.migration-field small{color:hsl(var(--destructive));font-size:11.5px;font-weight:400}.migration-confirmation__actions{display:flex;justify-content:flex-end}.migration-primary-button,.migration-result__actions button,.migration-running-actions button,.migration-inline-error button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.migration-primary-button,.migration-result__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.migration-primary-button:hover:not(:disabled),.migration-result__actions button.is-primary:hover:not(:disabled){opacity:.86}.migration-result__actions button:not(.is-primary):hover:not(:disabled),.migration-running-actions button:hover:not(:disabled),.migration-inline-error button:hover:not(:disabled){background:hsl(var(--secondary))}.migration-primary-button:disabled,.migration-result__actions button:disabled,.migration-running-actions button:disabled{cursor:not-allowed;opacity:.45}.migration-result{overflow:hidden}.migration-result>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 16px;border-bottom:1px solid hsl(var(--border))}.migration-result>header>div:first-child{min-width:0;flex:1 1 280px;display:grid;gap:4px}.migration-result>header strong{font-size:14.5px;font-weight:600}.migration-result>header span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;overflow-wrap:anywhere}.migration-result__actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.migration-result__actions button span{color:inherit}.migration-result__summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.migration-result__summary span{min-width:0;overflow-wrap:anywhere}.migration-artifact-browser{height:min(58vh,620px);min-height:360px;display:grid;grid-template-columns:232px minmax(0,1fr)}.migration-artifact-browser>aside{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .3)}.migration-artifact-browser__search{padding:10px}.migration-artifact-browser__search input{width:100%;height:34px;box-sizing:border-box;padding:0 10px;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}.migration-artifact-browser__files{min-height:0;overflow-y:auto}.migration-artifact-browser__files button{width:100%;min-height:34px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 10px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.migration-artifact-browser__files button:hover,.migration-artifact-browser__files button.is-active{background:hsl(var(--secondary))}.migration-artifact-browser__files svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.migration-artifact-browser__files span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser__files small,.migration-artifact-browser__limit{color:hsl(var(--muted-foreground));font-size:10.5px}.migration-artifact-browser__limit{margin:0;padding:8px 10px;border-top:1px solid hsl(var(--border))}.migration-artifact-browser>section{min-width:0;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr)}.migration-artifact-browser>section>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid hsl(var(--border));font-size:12px}.migration-artifact-browser>section>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser>section>header small{flex:0 0 auto;color:hsl(var(--muted-foreground))}.migration-artifact-browser__preview{min-width:0;min-height:0;display:grid;place-items:stretch;overflow:hidden;background:hsl(var(--background));color:hsl(var(--muted-foreground));font-size:12px}.migration-artifact-browser__preview>.cm-theme-light,.migration-artifact-browser__preview .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.migration-artifact-browser__preview .cm-scroller{overflow:auto}.migration-artifact-browser__preview>p,.migration-artifact-browser__preview>.text-shimmer,.migration-artifact-browser__preview>img{place-self:center}.migration-artifact-browser__preview img{max-width:100%;max-height:100%;object-fit:contain}.migration-system-state,.migration-inline-error{width:100%;box-sizing:border-box;margin:0 auto 22px;padding:12px 14px;border-radius:8px;font-size:12.5px;line-height:1.55}.migration-system-state.is-error,.migration-inline-error{border:1px solid hsl(var(--destructive) / .2);background:hsl(var(--destructive) / .045)}.migration-system-state.is-error{color:hsl(var(--foreground))}.migration-inline-error,.migration-system-state.is-error>strong{color:hsl(var(--destructive))}.migration-system-state strong{font-size:13.5px;font-weight:600}.migration-system-state p{margin:5px 0 0}.migration-system-state ul{margin:8px 0 0;padding-left:18px;color:hsl(var(--muted-foreground))}.migration-retry-button{min-height:32px;margin-top:8px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.migration-retry-button:hover{background:hsl(var(--secondary))}.migration-inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.migration-inline-error>span{min-width:0;overflow-wrap:anywhere}.migration-inline-error button{min-height:30px;flex:0 0 auto;color:inherit;font-size:11.5px}.migration-inline-error button[aria-label]{width:30px;padding:0;border:0;background:transparent}.migration-inline-error button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.migration-expired{display:grid;gap:4px}.migration-composer{width:min(var(--migration-content-width),calc(100% - 64px));justify-self:center;padding:0 0 16px}.migration-composer__box{min-height:104px;position:relative;display:grid;grid-template-rows:minmax(40px,auto) 36px;gap:10px;box-sizing:border-box;padding:12px 14px;border:1px solid hsl(var(--foreground) / .14);border-radius:16px;background:hsl(var(--panel));box-shadow:0 8px 32px hsl(var(--foreground) / .028),0 24px 72px 8px hsl(var(--foreground) / .02);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.migration-composer__box.is-dragging{border-color:hsl(var(--ring) / .7);background:hsl(var(--secondary) / .35)}.migration-composer__content{min-width:0;display:flex;align-items:center}.migration-composer__content>p{margin:0 2px;color:hsl(var(--muted-foreground));font-size:14px;line-height:1.5}.migration-composer__file{width:max-content;max-width:100%;min-height:36px;padding:0 8px 0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary));font-size:12.5px}.migration-composer__file span{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-composer__file small{color:hsl(var(--muted-foreground))}.migration-composer__file button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-composer__file button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.migration-composer__file button svg{width:14px;height:14px}.migration-composer__actions{display:flex;align-items:center;justify-content:space-between}.migration-attach-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-attach-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-confirm-upload-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .14s ease,transform .14s ease}.migration-confirm-upload-button:hover:not(:disabled){opacity:.86}.migration-confirm-upload-button:disabled,.migration-attach-button:disabled{cursor:not-allowed;opacity:.42}.migration-composer input[type=file]{display:none}.migration-composer>p{margin:8px 4px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.migration-deployment{width:100%;height:100%;min-width:0;min-height:0;display:flex}.migration-deployment>*{flex:1;min-width:0;min-height:0}.migration-deployment-summary{display:grid;gap:9px;padding:20px}.migration-deployment-summary>strong{font-size:15px;font-weight:600}.migration-deployment-summary>span{color:hsl(var(--muted-foreground));font-size:12.5px}.migration-deployment-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 0}.migration-deployment-summary dl>div{display:grid;gap:4px}.migration-deployment-summary dt{color:hsl(var(--muted-foreground));font-size:11px}.migration-deployment-summary dd{margin:0;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.migration-icon-button:focus-visible,.migration-new-button:focus-visible,.migration-history button:focus-visible,.migration-stop-button:focus-visible,.migration-primary-button:focus-visible,.migration-result__actions button:focus-visible,.migration-attach-button:focus-visible,.migration-confirm-upload-button:focus-visible,.migration-retry-button:focus-visible,.migration-artifact-browser button:focus-visible,.migration-artifact-browser__search input:focus-visible{outline:2px solid hsl(var(--ring) / .5);outline-offset:2px}@media (max-width: 1120px){.migration-workspace{grid-template-columns:210px minmax(0,1fr)}.migration-main__header{padding-inline:18px}.migration-conversation{padding-inline:20px}.migration-confirmation__grid,.migration-analysis__facts{grid-template-columns:minmax(0,1fr)}.migration-artifact-browser{height:min(68vh,640px);min-height:480px;grid-template-columns:minmax(0,1fr);grid-template-rows:168px minmax(0,1fr)}.migration-artifact-browser>aside{border-right:0;border-bottom:1px solid hsl(var(--border))}.migration-result__actions{width:100%}.migration-result__actions button{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.migration-icon-button,.migration-new-button,.migration-attach-button,.migration-confirm-upload-button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-console-link svg,.studio-update-permission-notice svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-update-permission-notice{display:grid;align-content:center;gap:8px;min-height:92px;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .22);color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.studio-update-permission-notice p{margin:0}.studio-update-permission-notice code{margin:0 3px;color:hsl(var(--foreground));font-family:inherit;font-weight:500}.studio-update-permission-notice a{display:inline-flex;align-items:center;gap:5px;width:fit-content;color:hsl(var(--primary));font-weight:500;text-decoration:none}.studio-update-permission-notice a:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{max-height:220px;min-width:0;overflow-y:auto;padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0;color:hsl(var(--foreground));font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-progress,.new-chat-video-task-progress__meta{width:min(320px,100%)}.new-chat-video-task-progress{height:4px;overflow:hidden;margin-top:4px;border-radius:999px;background:hsl(var(--secondary))}.new-chat-video-task-progress>span{width:38%;height:100%;display:block;border-radius:inherit;background:hsl(var(--primary) / .76);transform:translate3d(-70%,0,0);animation:new-chat-video-task-progress 1.7s cubic-bezier(.4,0,.2,1) infinite}.new-chat-video-task-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-progress__meta span:last-child{flex:0 0 auto;font-variant-numeric:tabular-nums}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@keyframes new-chat-video-task-progress{0%{transform:translate3d(-70%,0,0)}to{transform:translate3d(200%,0,0)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}.new-chat-video-task-progress>span{animation:none;transform:translate3d(80%,0,0)}}.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.is-expiring .sandbox-session-warning-copy{min-width:0;overflow-wrap:anywhere;white-space:normal}.sandbox-session-warning.is-expiring{grid-template-columns:minmax(0,1fr) auto;max-width:768px}.sandbox-session-warning.is-expiring .sandbox-session-warning-copy{grid-column:1;text-align:center}.sandbox-session-warning.is-expiring button{grid-column:2}.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;white-space:nowrap;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.is-intelligent-development{background:hsl(var(--panel))}.main.is-sandbox-session.is-intelligent-development:before{display:none}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:flex;align-items:center;gap:8px}.sandbox-agent-details-header>div{min-width:0}.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}}.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%}}.sandbox-project-upload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-project-upload-dialog{width:min(680px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-project-upload-enter .18s ease-out both}.sandbox-project-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-head h2,.sandbox-project-upload-head p{margin:0}.sandbox-project-upload-title-row{display:flex;align-items:center;gap:8px}.sandbox-project-upload-title-row .sandbox-project-upload-beta{height:18px;padding-inline:6px;font-size:10px;font-weight:600;line-height:1.2}.sandbox-project-upload-head h2{font-size:17px;font-weight:650;line-height:1.3}.sandbox-project-upload-head p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.sandbox-project-upload-close{width:32px;height:32px;display:inline-grid;flex:0 0 32px;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-project-upload-close:hover{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-project-upload-close svg{width:17px;height:17px}.sandbox-project-upload-body{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:16px 22px 20px}.sandbox-project-upload-pairing-notice{min-height:38px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 12px;border:1px solid hsl(43 90% 48% / .28);border-radius:8px;background:#fabf0f1f;color:#885c11;font-size:12px;line-height:1.45;white-space:nowrap}.sandbox-project-upload-pairing-notice time{font-variant-numeric:tabular-nums;font-weight:650}.sandbox-project-upload-pairing-notice button{height:26px;display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.sandbox-project-upload-pairing-notice button:hover:not(:disabled){background:#e9aa0c1f}.sandbox-project-upload-pairing-notice button:disabled{cursor:default;opacity:.6}.sandbox-project-upload-pairing-notice svg{width:14px;height:14px}.sandbox-project-upload-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .22);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.sandbox-project-upload-error span{min-width:0;overflow-wrap:anywhere}.sandbox-project-upload-stage{overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.sandbox-project-upload-stage-head{min-height:64px;box-sizing:border-box;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-stage-number{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:650;line-height:1}.sandbox-project-upload-stage-head>div{min-width:0}.sandbox-project-upload-stage-head h3{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.4}.sandbox-project-upload-stage-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button,.sandbox-project-upload-actions button{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button{padding:0 10px}.sandbox-project-upload-stage-head button:hover:not(:disabled),.sandbox-project-upload-error button:hover,.sandbox-project-upload-actions button:hover{background:hsl(var(--secondary))}.sandbox-project-upload-stage-head button:disabled{cursor:default;opacity:.56}.sandbox-project-upload-stage-head svg,.sandbox-project-upload-error svg,.sandbox-project-upload-actions svg{width:14px;height:14px;flex:0 0 14px}.sandbox-project-upload-install-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:36px;margin:10px 10px 0;padding:3px;box-sizing:border-box;border:1px solid hsl(var(--border) / .58);border-radius:8px;background:hsl(var(--secondary) / .58)}.sandbox-project-upload-install-tabs>span{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border:1px solid hsl(var(--border) / .72);border-radius:6px;background:hsl(var(--background));transform:translate(0);transition:transform .18s ease-out}.sandbox-project-upload-install-tabs.is-terminal>span{transform:translate(100%)}.sandbox-project-upload-install-tabs button{position:relative;z-index:1;min-width:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;text-align:center;transition:color .16s ease-out}.sandbox-project-upload-install-tabs button:hover,.sandbox-project-upload-install-tabs button[aria-selected=true]{color:hsl(var(--foreground))}.sandbox-project-upload-prompt{min-height:92px;display:flex}.sandbox-project-upload-prompt pre{width:100%;box-sizing:border-box;margin:0;padding:12px;color:hsl(var(--foreground));font-family:inherit;font-size:13px;font-weight:400;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.sandbox-project-upload-prompt code{font-family:inherit;font-size:13px;font-weight:400}.sandbox-project-upload-prompt.is-command code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.sandbox-project-upload-loading{width:100%;min-height:92px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:12px}.sandbox-project-upload-loading i{width:14px;height:14px;flex:0 0 14px;border:2px solid hsl(var(--foreground) / .16);border-top-color:hsl(var(--foreground));border-radius:50%;animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice{margin:10px 10px 0}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice+.sandbox-project-upload-prompt{min-height:104px}.sandbox-project-upload-progress{border-top:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header{min-height:58px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header div{min-width:0}.sandbox-project-upload-progress>header span{display:block;font-size:12.5px;font-weight:650;line-height:1.4}.sandbox-project-upload-progress>header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-project-upload-progress>header strong{flex:0 0 auto;padding:4px 8px;border-radius:6px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600;line-height:1.35}.sandbox-project-upload-progress>header strong[data-state=completed]{background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress>header strong[data-state=running]{background:#e5f0fb;color:#21518c}.sandbox-project-upload-progress>header strong[data-state=failed]{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.sandbox-project-upload-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:12px;list-style:none}.sandbox-project-upload-progress li{position:relative;min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:7px;padding-right:28px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.sandbox-project-upload-progress li>span:last-child{min-width:0;white-space:nowrap}.sandbox-project-upload-progress li:not(:last-child):after{position:absolute;top:50%;right:6px;width:16px;height:1px;background:hsl(var(--border));content:""}.sandbox-project-upload-progress li:last-child{padding-right:0}.sandbox-project-upload-progress li[data-state=active]{color:hsl(var(--foreground));font-weight:600}.sandbox-project-upload-progress li[data-state=done]{color:hsl(var(--foreground))}.sandbox-project-upload-progress li[data-state=failed]{color:hsl(var(--destructive));font-weight:600}.sandbox-project-upload-progress-marker{width:18px;height:18px;display:inline-grid;flex:0 0 18px;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel))}.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker{border:2px solid hsl(var(--foreground) / .2);border-top-color:hsl(var(--foreground));animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-progress li[data-state=done] .sandbox-project-upload-progress-marker{border-color:#3b915b4d;background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress li[data-state=failed] .sandbox-project-upload-progress-marker{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .06)}.sandbox-project-upload-progress-marker svg{width:12px;height:12px}.sandbox-project-upload-progress-error{margin:0;padding:0 12px 12px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.sandbox-project-upload-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-project-upload-actions button{min-width:86px;padding:0 14px}.sandbox-project-upload-actions .is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-project-upload-actions .is-primary:hover{background:hsl(var(--foreground) / .9)}.sandbox-project-upload-dialog button:focus-visible,.sandbox-project-upload-install-tabs button:focus-visible,.sandbox-project-upload-prompt pre:focus-visible{outline:2px solid hsl(var(--ring) / .34);outline-offset:2px}@keyframes sandbox-project-upload-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-project-upload-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.sandbox-project-upload-backdrop{padding:10px}.sandbox-project-upload-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.sandbox-project-upload-head,.sandbox-project-upload-body{padding-left:16px;padding-right:16px}.sandbox-project-upload-pairing-notice{gap:6px;padding-left:10px;font-size:11.5px}.sandbox-project-upload-stage-head{grid-template-columns:24px minmax(0,1fr)}.sandbox-project-upload-stage-head button{grid-column:2;justify-self:start}.sandbox-project-upload-actions button{flex:1}.sandbox-project-upload-progress ol{grid-template-columns:1fr 1fr;gap:10px 12px}.sandbox-project-upload-progress li:after{display:none}.sandbox-project-upload-progress li{padding-right:0}}@media (prefers-reduced-motion: reduce){.sandbox-project-upload-dialog,.sandbox-project-upload-install-tabs>span,.sandbox-project-upload-install-tabs button,.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker,.sandbox-project-upload-loading i{animation:none;transition:none}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}@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}}.knowledge-library{display:grid;grid-template-columns:292px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-library__sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px 16px 16px;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas))}.knowledge-library__sidebar-head,.knowledge-documents__head,.knowledge-detail-head,.knowledge-dialog__header,.knowledge-dialog__actions{display:flex;align-items:center;justify-content:space-between}.knowledge-library__sidebar-head{min-height:32px;margin-bottom:12px}.knowledge-library__sidebar-head>div,.knowledge-documents__head>div{display:flex;align-items:baseline;gap:8px;min-width:0}.knowledge-library__sidebar h2,.knowledge-detail-head h2,.knowledge-library__detail-empty h2,.knowledge-dialog h2,.knowledge-documents h3{margin:0;color:hsl(var(--foreground))}.knowledge-library__sidebar h2{font-size:17px;font-weight:620;line-height:1.3}.knowledge-library__sidebar-head span{color:hsl(var(--muted-foreground));font-size:12px}.knowledge-primary-button svg,.knowledge-library__search svg,.knowledge-base-row__icon svg,.knowledge-library__state>svg,.knowledge-library__detail-empty>svg,.knowledge-dialog__header button svg{width:16px;height:16px;flex:0 0 auto}.knowledge-library__search{position:relative;display:flex;align-items:center;height:34px;margin-bottom:10px}.knowledge-library__search svg{position:absolute;left:10px;z-index:1;color:hsl(var(--muted-foreground));pointer-events:none}.knowledge-library__search input{width:100%;height:34px;padding:0 10px 0 34px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library__search input::placeholder,.knowledge-dialog input::placeholder,.knowledge-dialog textarea::placeholder{color:hsl(var(--muted-foreground))}.knowledge-library__search input:focus,.knowledge-library__region select:focus,.knowledge-dialog input:focus,.knowledge-dialog textarea:focus{border-color:hsl(var(--foreground) / .36);box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 3px hsl(var(--foreground) / .36)}.knowledge-library__region{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin-bottom:10px;gap:10px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-library__region select{width:100%;height:34px;padding:0 30px 0 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:12.5px}.knowledge-library .knowledge-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;gap:7px;border:1px solid hsl(var(--foreground));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font-size:12.5px;font-weight:560}.knowledge-library .knowledge-primary-button span{color:inherit;font-size:inherit;font-weight:inherit}.knowledge-library .knowledge-primary-button:hover:not(:disabled){opacity:.88}.knowledge-library .knowledge-primary-button:active:not(:disabled){transform:translateY(1px)}.knowledge-library__create{width:100%;margin-bottom:12px}.knowledge-library__list{display:flex;flex:1;flex-direction:column;min-height:0;gap:4px;overflow-y:auto}.knowledge-base-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;width:100%;min-height:52px;padding:7px 8px;gap:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));cursor:pointer;text-align:left}.knowledge-base-row:hover{background:hsl(var(--muted))}.knowledge-base-row.is-selected{border-color:hsl(var(--border));background:hsl(var(--panel))}.knowledge-base-row__icon{display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-base-row__icon{width:32px;height:32px;border-radius:7px}.knowledge-base-row__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.knowledge-base-row__copy strong{overflow:hidden;font-size:12.5px;font-weight:580;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-base-row__copy span{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-keyboard-reveal:focus{overflow:visible;white-space:normal;overflow-wrap:anywhere;outline:2px solid hsl(var(--foreground));outline-offset:2px}.knowledge-base-row:focus-visible .knowledge-keyboard-reveal{overflow:visible;white-space:normal;overflow-wrap:anywhere}.knowledge-status{max-width:54px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{color:#2d764f}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{color:hsl(var(--destructive))}.knowledge-library__loading,.knowledge-library__state,.knowledge-library__detail-empty{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.knowledge-library__loading{min-height:112px;font-size:12.5px}.knowledge-library__state{min-height:152px;flex-direction:column;padding:20px;gap:10px;text-align:center}.knowledge-library__state>svg{width:24px;height:24px}.knowledge-library__state p,.knowledge-library__detail-empty p{margin:0;font-size:12.5px;line-height:1.55}.knowledge-library__state button,.knowledge-load-more{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-library__state.is-error p,.knowledge-form-error{color:hsl(var(--destructive));overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-load-more{flex:0 0 auto;margin:8px auto 0}.knowledge-library__detail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:hsl(var(--panel))}.knowledge-library__detail-empty{flex:1;min-height:0;flex-direction:column;gap:8px}.knowledge-library__detail-empty>svg{width:32px;height:32px;margin-bottom:4px}.knowledge-library__detail-empty h2{font-size:15px;font-weight:600}.knowledge-detail-head{flex:0 0 auto;min-height:86px;padding:18px 24px;gap:20px}.knowledge-detail-head__title{display:flex;align-items:center;min-width:0;gap:12px}.knowledge-detail-head__title>div{min-width:0}.knowledge-detail-head h2{overflow:hidden;font-size:17px;font-weight:620;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.knowledge-detail-head p{display:-webkit-box;max-width:720px;margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.knowledge-detail-head__actions{display:flex;flex:0 0 auto;gap:8px}.knowledge-detail-head__actions button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-detail-head__actions button:hover{background:hsl(var(--muted))}.knowledge-detail-head__actions button.is-danger{color:hsl(var(--destructive))}.knowledge-detail-meta{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1.45fr) minmax(0,.65fr) minmax(0,1.1fr);width:calc(100% - 64px);box-sizing:border-box;margin:16px 32px 4px;padding:18px 20px;gap:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.knowledge-detail-meta>div{min-width:0}.knowledge-detail-meta dt{margin-bottom:6px;color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;line-height:1.45}.knowledge-detail-meta dd{margin:0;color:hsl(var(--foreground));font-size:13.5px;font-weight:550;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-documents{display:flex;flex:1;flex-direction:column;min-height:0;padding:18px 24px 24px}.knowledge-documents__head{flex:0 0 auto;min-height:36px;margin-bottom:10px}.knowledge-documents h3{font-size:14px;font-weight:600}.knowledge-documents__body{flex:1;min-height:0;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-documents__body.is-table{flex:1;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent}.knowledge-document-table-wrap{height:100%;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-document-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.knowledge-document-table th{height:42px;position:sticky;top:0;z-index:1;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:12px;font-weight:560;text-align:left}.knowledge-document-table th:first-child{width:auto}.knowledge-document-table th:nth-child(2),.knowledge-document-table th:nth-child(3){width:112px}.knowledge-document-table th:nth-child(4){width:148px}.knowledge-document-table td{height:52px;padding:6px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.knowledge-document-table tbody tr:last-child td{border-bottom:0}.knowledge-document-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.knowledge-document-table__name{overflow:hidden;font-size:13.5px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.knowledge-document-table__actions-heading{text-align:center!important}.knowledge-document-table__actions{display:flex;align-items:center;justify-content:center;gap:4px}.knowledge-document-table__actions .knowledge-document-action-button{flex:0 0 auto}.knowledge-document-pagination{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 16px;gap:8px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-document-pagination.is-error{color:hsl(var(--destructive))}.knowledge-document-pagination.is-error span,.knowledge-preview__state.is-error p,.knowledge-preview__more-error{overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-document-pagination button{min-height:28px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.knowledge-document-pagination button:hover{background:hsl(var(--muted))}.knowledge-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;padding:24px;place-items:center;background:hsl(var(--foreground) / .34)}.knowledge-dialog{width:min(540px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 48px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 22px 60px hsl(var(--foreground) / .18)}.knowledge-dialog--preview{width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 48px));display:flex;flex-direction:column}.knowledge-dialog--web-confirm form{flex:1;min-height:0;display:flex;flex-direction:column}.knowledge-preview{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.knowledge-preview__meta{min-height:42px;display:flex;flex:0 0 auto;align-items:center;padding:0 18px;gap:8px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.knowledge-preview__meta a{margin-left:auto;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-decoration:none}.knowledge-preview__meta strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.knowledge-preview__meta a:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-preview__body{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:hsl(var(--canvas))}.knowledge-preview__state{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box;padding:32px;gap:10px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.knowledge-preview__state p,.knowledge-preview__state span{margin:0}.knowledge-preview__state.is-error p,.knowledge-preview__more-error{color:hsl(var(--destructive))}.knowledge-preview__state button,.knowledge-preview__load-more{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12px}.knowledge-preview__chunks{width:min(780px,calc(100% - 36px));display:grid;box-sizing:border-box;margin:18px auto 28px;gap:12px}.knowledge-preview__chunk{min-width:0;overflow:hidden;padding:16px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__chunk header{margin-bottom:10px}.knowledge-preview__chunk h3{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.45}.knowledge-preview__content{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.knowledge-preview__table-wrap{max-width:100%;margin-top:14px;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:8px}.knowledge-preview__table-wrap table{width:100%;min-width:420px;border-collapse:collapse;table-layout:auto}.knowledge-preview__table-wrap th,.knowledge-preview__table-wrap td{min-width:104px;padding:9px 11px;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));font-size:12px;line-height:1.5;text-align:left;vertical-align:top;overflow-wrap:anywhere}.knowledge-preview__table-wrap th{background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-weight:560}.knowledge-preview__table-wrap td{color:hsl(var(--foreground))}.knowledge-preview__table-wrap tr>:last-child{border-right:0}.knowledge-preview__table-wrap tbody tr:last-child td{border-bottom:0}.knowledge-preview__image,.knowledge-preview__video{display:block;width:auto;max-width:100%;max-height:440px;margin:14px auto 0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas));object-fit:contain}.knowledge-preview__video{width:100%;background:hsl(var(--foreground))}.knowledge-preview__audio{display:block;width:100%;height:40px;margin-top:14px}.knowledge-preview__pdf{display:grid;min-width:0;margin-top:14px;gap:8px}.knowledge-preview__pdf iframe{width:100%;height:min(480px,48dvh);border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas))}.knowledge-preview__pdf a,.knowledge-preview__file-fallback a{justify-self:center;color:hsl(var(--foreground));font-size:12px;font-weight:550;text-underline-offset:3px}.knowledge-preview__file-fallback{display:grid;margin-top:14px;padding:14px;gap:8px;border-radius:8px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:center}.knowledge-preview__file-fallback p{margin:0}.knowledge-preview__attachment-error,.knowledge-preview__more-error{margin-top:12px;font-size:12px;line-height:1.5;text-align:center}.knowledge-preview__attachment-error{color:hsl(var(--muted-foreground))}.knowledge-preview__load-more{justify-self:center;min-width:96px}.knowledge-preview__load-more:hover:not(:disabled),.knowledge-preview__state button:hover{background:hsl(var(--muted))}.knowledge-preview__load-more:disabled{cursor:not-allowed;opacity:.58}.knowledge-dialog__header{min-height:54px;padding:0 18px;border-bottom:1px solid hsl(var(--border))}.knowledge-dialog__header h2{font-size:15px;font-weight:620}.knowledge-dialog__header button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-dialog__header button:hover:not(:disabled){background:hsl(var(--muted));color:hsl(var(--foreground))}.knowledge-dialog form{display:flex;max-height:calc(min(720px,100dvh - 48px) - 54px);flex-direction:column}.knowledge-dialog__body{display:flex;min-height:0;padding:18px;flex-direction:column;gap:14px;overflow-y:auto}.knowledge-dialog__body>label,.knowledge-source-panel>label,.knowledge-dialog__fields label{display:flex;min-width:0;flex-direction:column;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-dialog__body label>small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.45}.knowledge-dialog input,.knowledge-dialog textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:7px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px;font-weight:400;line-height:1.5;resize:vertical}.knowledge-dialog textarea{min-height:84px}.knowledge-dialog input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-dialog textarea.is-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.knowledge-metadata-editor{min-height:220px!important}.knowledge-dialog__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.knowledge-dialog__note{margin:-4px 0 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.5}.knowledge-dialog__note.is-error{color:hsl(var(--destructive))}.knowledge-source-picker{display:flex;min-width:0;margin:0;padding:0;gap:18px;border:0}.knowledge-source-picker legend{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.knowledge-source-picker label{display:inline-flex;align-items:center;gap:6px;color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-source-picker input{width:14px;min-height:14px;margin:0;padding:0;accent-color:hsl(var(--foreground))}.knowledge-form-error{padding:8px 10px;border-radius:7px;background:hsl(var(--destructive) / .08);font-size:12px;font-weight:450;line-height:1.5}.knowledge-dialog__actions{flex:0 0 auto;min-height:58px;padding:10px 18px;justify-content:flex-end;gap:8px;border-top:1px solid hsl(var(--border))}.knowledge-dialog__actions button{min-width:72px;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font-size:12.5px}.knowledge-dialog__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.knowledge-dialog__actions button.is-back{margin-inline-end:auto}.knowledge-web-preview__error{flex:0 0 auto;padding:10px 18px 0}.knowledge-dialog__actions button:hover:not(:disabled){background:hsl(var(--muted))}.knowledge-dialog__actions button.is-primary:hover:not(:disabled){background:hsl(var(--foreground) / .86)}.knowledge-dialog__actions button:disabled,.knowledge-primary-button:disabled,.knowledge-load-more:disabled{cursor:not-allowed;opacity:.48}.knowledge-library button:focus-visible,.knowledge-library input:focus-visible,.knowledge-library summary:focus-visible,.knowledge-library select:focus-visible,.knowledge-dialog button:focus-visible,.knowledge-dialog input:focus-visible,.knowledge-dialog textarea:focus-visible,.knowledge-dialog a:focus-visible,.knowledge-dialog audio:focus-visible,.knowledge-dialog video:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:1px}@media (max-width: 1040px){.knowledge-library{grid-template-columns:248px minmax(0,1fr)}}@media (max-width: 760px){.knowledge-library{display:flex;overflow-y:auto;flex-direction:column}.knowledge-library__sidebar{flex:0 0 auto;max-height:360px;border-right:0;border-bottom:1px solid hsl(var(--border))}.knowledge-library__detail{flex:0 0 auto;min-height:520px;overflow:visible}.knowledge-detail-head{align-items:flex-start;padding:16px;flex-direction:column}.knowledge-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 40px);margin-inline:20px;padding:16px}.knowledge-documents{min-height:360px;padding:16px}.knowledge-dialog__fields{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.knowledge-library *,.knowledge-dialog *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.knowledge-library{display:flex;flex-direction:column;padding:32px 32px 0;background:hsl(var(--background))}.knowledge-library.is-detail{padding:0}.knowledge-library__search{position:static;width:min(320px,38vw);height:36px;flex:0 0 auto;gap:8px;margin:0;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}.knowledge-library__search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.knowledge-library__search svg{position:static;z-index:auto;left:auto}.knowledge-library__search input{width:100%;height:auto;min-width:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;font-size:13px}.knowledge-library__search input:focus{border-color:transparent;box-shadow:none}.knowledge-library__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:0}.knowledge-library__toolbar-actions{display:flex;align-items:center;gap:8px}.knowledge-library .my-agent-create-primary{font-size:12.5px;font-weight:500}.knowledge-library .knowledge-primary-button{min-height:36px;border-radius:8px;font-weight:500}.knowledge-library__results{flex:1;min-height:0;margin-top:28px;padding-bottom:56px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.knowledge-region-warning{min-height:38px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;margin-bottom:12px;padding:8px 12px;gap:16px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .58);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.knowledge-region-warning button{flex:0 0 auto;padding:0;border:0;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.knowledge-region-warning button:hover{text-decoration:underline;text-underline-offset:3px}.knowledge-status{max-width:88px;flex:0 0 auto;padding:2px 6px;border-radius:999px;background:hsl(var(--muted));font-size:10.5px;line-height:16px}.knowledge-status.is-ready,.knowledge-status.is-active,.knowledge-status.is-available,.knowledge-status.is-success{background:#e7f8ee}.knowledge-status.is-creating,.knowledge-status.is-pending,.knowledge-status.is-processing,.knowledge-status.is-indexing{background:#fdf5e3;color:#8d5911}.knowledge-status.is-failed,.knowledge-status.is-error,.knowledge-status.is-unavailable{background:hsl(var(--destructive) / .09)}.knowledge-library__loading,.knowledge-library__state{min-height:260px}.knowledge-library__detail{flex:1;background:hsl(var(--background))}.knowledge-detail-head{min-height:94px;padding:20px 32px;background:hsl(var(--background))}.knowledge-detail-head__title{gap:10px}.knowledge-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.knowledge-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.knowledge-back-button svg{width:18px;height:18px}.knowledge-documents{padding:20px 32px 32px}.knowledge-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:2px}@media (max-width: 760px){.knowledge-library{display:flex;padding:24px 20px 0;overflow:hidden}.knowledge-library.is-detail{padding:0}.knowledge-library__search{width:100%}.knowledge-library__toolbar{align-items:stretch;flex-direction:column;gap:12px}.knowledge-library__toolbar-actions{align-self:flex-end}.knowledge-library__results{margin-top:24px;padding-bottom:44px}.knowledge-library__detail{min-height:0;overflow:hidden}.knowledge-detail-head{padding:16px 20px}.knowledge-documents{min-height:0;padding:16px 20px 20px}}.knowledge-preview__markdown-shell{width:min(780px,calc(100% - 36px));box-sizing:border-box;margin:18px auto 28px;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.knowledge-preview__markdown{color:hsl(var(--foreground));font-size:13px;line-height:1.7;overflow-wrap:anywhere}.knowledge-preview__markdown>:first-child{margin-top:0}.knowledge-preview__markdown>:last-child{margin-bottom:0}@media (max-width: 560px){.knowledge-library,.knowledge-detail-head{padding-inline:16px}.knowledge-detail-meta{grid-template-columns:1fr;width:calc(100% - 32px);margin-inline:16px}.knowledge-documents{padding-inline:16px}.knowledge-dialog--preview{height:calc(100dvh - 32px)}.knowledge-preview__chunks,.knowledge-preview__markdown-shell{width:calc(100% - 24px);margin-top:12px}.knowledge-preview__chunk,.knowledge-preview__markdown-shell{padding:14px}}@media (prefers-reduced-motion: reduce){.knowledge-card{transition:none}.knowledge-card:hover{transform:none}}.knowledge-source-tabs{height:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;box-sizing:border-box;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.knowledge-source-tabs button{min-width:0;min-height:34px;padding:0 10px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font-size:12.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.knowledge-source-tabs button:hover:not(:disabled){background:hsl(var(--background) / .5);color:hsl(var(--foreground))}.knowledge-source-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.knowledge-source-tabs button:disabled{cursor:not-allowed;opacity:.58}.knowledge-source-panel,.knowledge-source-panel>label{min-width:0}.knowledge-upload-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.knowledge-upload-dropzone{width:100%;min-height:144px;display:grid;place-content:center;gap:7px;box-sizing:border-box;padding:24px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;text-align:center;transition:border-color .12s ease,background-color .12s ease}.knowledge-upload-dropzone:hover:not(:disabled),.knowledge-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.knowledge-upload-dropzone.is-ready{border-style:solid;background:hsl(var(--secondary) / .24)}.knowledge-upload-dropzone:disabled{cursor:not-allowed;opacity:.62}.knowledge-upload-dropzone strong{max-width:440px;overflow:hidden;font-size:15px;font-weight:600;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.knowledge-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.knowledge-upload-status{min-height:20px;display:flex;align-items:center;margin-top:6px;color:hsl(var(--muted-foreground));font-size:12px}.knowledge-dialog textarea:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.knowledge-source-tabs button:focus-visible,.knowledge-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .65);outline-offset:1px}@media (max-width: 560px){.knowledge-upload-dropzone{min-height:120px;padding:20px 16px}}@media (prefers-reduced-motion: reduce){.knowledge-source-tabs button,.knowledge-upload-dropzone{transition:none}}@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)}}.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)}.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}}.skill-conversation{min-height:220px;margin:0 0 16px;padding:8px 0 18px}.skill-conversation .bubble{font-size:13px;line-height:1.65}.skill-conversation .think-head,.skill-conversation .tool-head,.skill-conversation .builtin-tool-head{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 0;text-align:left}.skill-conversation .think-label,.skill-conversation .tool-name,.skill-conversation .builtin-tool-label{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-align:left}.skill-conversation .think-icon,.skill-conversation .tool-icon,.skill-conversation .builtin-tool-icon{width:20px;height:26px}.skill-conversation .chev,.skill-conversation .tool-chevron,.skill-conversation .builtin-tool-chevron{justify-self:end}.skill-generation{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:hsl(var(--background));color:hsl(var(--foreground))}.skillcenter{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.skillcenter-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.skillcenter-page-heading{min-width:0}.skillcenter-page-heading--back{display:flex;align-items:center;gap:8px}.skillcenter-page-heading--back>div{min-width:0}.skillcenter-page-heading h1{max-width:min(620px,55vw);margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.skillcenter-page-heading p{display:-webkit-box;max-width:680px;margin:6px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillcenter-back{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skillcenter-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-back svg{width:18px;height:18px}.skillcenter-search{width:min(320px,38vw);height:36px;flex:0 0 auto;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.skillcenter-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.skillcenter-search svg{width:16px;height:16px;flex:0 0 16px}.skillcenter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.skillcenter-search input::placeholder{color:hsl(var(--muted-foreground))}.skillcenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.skillcenter-toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.my-agent-type-bar.skillcenter-list-toolbar{justify-content:space-between;margin-top:0}.skillcenter-detail-facts{min-width:0;display:flex;align-items:center;gap:24px}.skillcenter-detail-facts>div{min-width:72px;display:grid;gap:3px}.skillcenter-detail-facts span{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.2}.skillcenter-detail-facts strong{max-width:220px;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-primary-action,.skillcenter-secondary-action{min-width:max-content;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.skillcenter-primary-action{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.skillcenter-primary-action:hover:not(:disabled){border-color:hsl(var(--foreground) / .84);background:hsl(var(--foreground) / .84)}.skillcenter-secondary-action:hover{background:hsl(var(--secondary))}.skillcenter-secondary-action.is-danger{color:hsl(var(--destructive))}.skillcenter-secondary-action.is-danger:hover:not(:disabled){border-color:hsl(var(--destructive) / .24);background:hsl(var(--destructive) / .06)}.skillcenter-secondary-action:disabled{cursor:not-allowed;opacity:.48}.skillcenter-primary-action:disabled{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.58}.skillcenter-primary-action svg{width:15px;height:15px}.skillcenter-disabled-action{position:relative;display:inline-flex;border-radius:8px}.skillcenter-disabled-action.is-disabled{cursor:not-allowed}.skillcenter-disabled-action.is-disabled>button{cursor:inherit}.skillcenter-disabled-tooltip{position:absolute;z-index:30;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.skillcenter-disabled-action.is-top .skillcenter-disabled-tooltip{bottom:calc(100% + 8px);transform:translate(-50%,3px)}.skillcenter-disabled-action.is-bottom .skillcenter-disabled-tooltip{top:calc(100% + 8px);transform:translate(-50%,-3px)}.skillcenter-disabled-action.is-inside .skillcenter-disabled-tooltip{top:50%;transform:translate(-50%,calc(-50% + 3px))}.skillcenter-disabled-action.is-disabled:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled:focus-visible .skillcenter-disabled-tooltip{opacity:1}.skillcenter-disabled-action.is-disabled.is-top:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-top:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-bottom:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-bottom:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%)}.skillcenter-disabled-action.is-disabled.is-inside:hover .skillcenter-disabled-tooltip,.skillcenter-disabled-action.is-disabled.is-inside:focus-visible .skillcenter-disabled-tooltip{transform:translate(-50%,-50%)}.skillcenter-disabled-action:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.skillcenter-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:28px;padding-bottom:56px}.skillcenter-back:focus-visible,.skillcenter-primary-action:focus-visible,.skillcenter-secondary-action:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skillcenter-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.skillcenter-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.skillcenter-table th{height:42px;padding:0 16px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .45);color:hsl(var(--muted-foreground));font-size:11px;font-weight:560;text-align:left}.skillcenter-table th:first-child{width:auto}.skillcenter-table th:nth-child(2){width:104px}.skillcenter-table th:nth-child(3){width:180px}.skillcenter-table td{height:72px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:12.5px;vertical-align:middle}.skillcenter-table tbody tr:last-child td{border-bottom:0}.skillcenter-table tbody tr:hover{background:hsl(var(--secondary) / .28)}.skillcenter-table__skill button{width:100%;display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.skillcenter-table__title-row{min-width:0;display:flex;align-items:center;gap:7px}.skillcenter-table__skill strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__skill .skillcenter-table__version-badge{flex:0 0 auto;padding:2px 6px;overflow:visible;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .6);color:hsl(var(--muted-foreground));font-size:10px;font-weight:550;line-height:1.2}.skillcenter-table__skill .skillcenter-table__description{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skillcenter-table__actions-heading{text-align:right!important}.skillcenter-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.skillcenter-table__actions button,.skill-detail-actions button{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skillcenter-table__actions button:hover:not(:disabled),.skill-detail-actions button:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.skillcenter-table__actions button:disabled,.skill-detail-actions button:disabled{cursor:not-allowed;opacity:.48}.skillcenter-table__actions button.is-danger{color:hsl(var(--destructive))}.skillcenter-inline-error{margin-top:16px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.skillcenter-space-errors.is-full-page{min-height:260px;align-items:center;justify-content:center;margin:0;border:0;background:transparent}.skillcenter-space-errors__content{min-width:0;width:min(680px,100%);display:grid;gap:10px}.skillcenter-space-errors__content>strong{font-size:13px;font-weight:600}.skillcenter-space-errors__content>section{min-width:0;display:grid;gap:4px}.skillcenter-space-errors__content>section>span{color:hsl(var(--foreground));font-size:11.5px;font-weight:600}.skillcenter-space-errors .skill-error-details{min-width:0;width:100%;color:inherit}.skillcenter-space-errors .skill-error-details__summary,.skillcenter-space-errors .skill-error-details__original{text-align:left}.skillcenter-space-errors .skill-error-details summary{margin-left:0}.skillcenter-space-errors>button{min-height:30px;flex:0 0 auto;padding:0 10px;border:1px solid hsl(var(--destructive) / .22);border-radius:7px;background:hsl(var(--panel));color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px}.skillcenter-page-state{min-height:300px;display:grid;place-items:center}.skillcenter-page-state.is-error{color:hsl(var(--destructive))}.skill-error-details{width:min(620px,100%);color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55;text-align:left}.skill-error-details__summary{text-align:center}.skill-error-details__original{margin-top:7px;color:hsl(var(--destructive));overflow-wrap:anywhere;text-align:center}.skill-error-details details{margin-top:9px}.skill-error-details summary{width:max-content;margin:0 auto;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.skill-error-details pre{max-height:220px;margin:8px 0 0;padding:10px 12px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .45);color:hsl(var(--foreground));font:inherit;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.skill-inline-error .skill-error-details,.skill-generation__action-error .skill-error-details{width:100%;color:inherit}.skill-inline-error .skill-error-details__summary,.skill-inline-error .skill-error-details__original,.skill-generation__action-error .skill-error-details__summary,.skill-generation__action-error .skill-error-details__original{text-align:left}.skill-inline-error .skill-error-details summary,.skill-generation__action-error .skill-error-details summary{margin-left:0}.skillcenter-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:hsl(var(--muted-foreground));font-size:12.5px}.skillcenter .skillcenter-pager{height:44px;margin-top:20px;padding:0;border-top:0}.skillcenter .skillcenter-pager-actions{padding:4px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel))}.skillcenter .skillcenter-pager button{width:28px;height:28px}.skill-detail-heading{flex:1 1 auto;overflow:hidden}.skill-detail-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.skill-detail-actions button{flex:0 0 auto;white-space:nowrap}.skill-detail-content--files{min-height:0}.skill-detail-content--files .skill-file-browser{min-height:420px;height:min(58vh,620px);border-top:1px solid hsl(var(--border))}.skill-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .28)}.skill-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);max-height:min(680px,calc(100vh - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 18px 48px hsl(var(--foreground) / .18)}.skill-dialog>header,.skill-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 16px}.skill-dialog>header{border-bottom:1px solid hsl(var(--border))}.skill-dialog>footer{justify-content:flex-end;border-top:1px solid hsl(var(--border))}.skill-dialog h2{margin:0;font-size:17px;font-weight:620}.skill-dialog>header>button{min-width:36px;min-height:32px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-dialog__body{min-height:0;padding:16px;overflow-y:auto}.skill-dialog__body label{display:grid;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550}.skill-dialog__body input,.skill-dialog__body textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.skill-dialog__body input{min-height:36px;padding:6px 9px}.skill-dialog__body textarea{min-height:88px;padding:9px;resize:vertical}.skill-dialog__body p{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-dialog__file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;background:hsl(var(--muted) / .6);font-size:12px}.skill-dialog__file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.skill-dialog__file span{flex:0 0 auto;color:hsl(var(--muted-foreground))}.skill-upload-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px))}.skill-upload-dialog__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.skill-upload-dropzone{width:100%;min-height:min(42vh,360px);display:grid;place-content:center;gap:8px;box-sizing:border-box;padding:32px;border:1px dashed hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.skill-upload-dropzone:hover,.skill-upload-dropzone.is-dragging{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .35)}.skill-upload-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-upload-dropzone strong{font-size:15px;font-weight:600}.skill-upload-dropzone span{color:hsl(var(--muted-foreground));font-size:13px}.skill-add-dialog{grid-template-rows:auto minmax(0,1fr);width:min(460px,100%)}.skill-add-dialog>header>div{min-width:0}.skill-add-dialog>header p{margin:2px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.skill-add-dialog__options{display:grid;gap:10px;padding:16px}.skill-add-dialog__options>.skillcenter-disabled-action,.skill-add-dialog__options>.skillcenter-disabled-action>button{width:100%}.skill-add-dialog__options button{min-height:76px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.skill-add-dialog__options button:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .48)}.skill-add-dialog__options button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-add-dialog__options button:disabled{cursor:not-allowed;opacity:.52}.skill-add-dialog__options strong{font-size:13.5px;font-weight:600}.skill-add-dialog__options button>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.skill-generation__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:32px 32px 0;background:hsl(var(--background))}.skill-generation__header h1,.skill-generation__header p,.skill-generation__activity h2,.skill-generation__files h2{margin:0}.skill-generation__header h1{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.skill-generation__header p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.skill-generation__ttl{color:hsl(var(--muted-foreground));font-size:12px}.skill-button{min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer}.skill-button:hover:not(:disabled){background:hsl(var(--muted) / .72)}.skill-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.skill-button:disabled{cursor:not-allowed;opacity:.5}.skill-button--quiet{background:transparent}.skill-button--primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-button--primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.skill-generation__setup{min-height:0;flex:1;margin:21px 29px 0;padding:3px 3px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.skill-generation__setup>label,.skill-generation__group label{display:grid;gap:6px;margin-bottom:16px;font-size:14px;font-weight:400}.skill-generation textarea,.skill-generation input{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400}.skill-generation input{height:36px;padding:0 10px}.skill-generation textarea{min-height:88px;padding:9px 10px;line-height:1.55;resize:vertical}.skill-generation textarea:focus-visible,.skill-generation input:focus-visible{outline:none;border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-generation input[aria-invalid=true]{border-color:hsl(var(--destructive) / .55);box-shadow:0 0 0 1px hsl(var(--destructive) / .12)}.skill-generation__field-help,.skill-generation__field-error{min-height:18px;font-size:12px;font-weight:400;line-height:1.5}.skill-generation__field-help{color:hsl(var(--muted-foreground))}.skill-generation__field-error{color:hsl(var(--destructive))}.skill-generation__section-head{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.skill-generation__section-head.is-basic{margin-top:0}.skill-generation__section-head div{display:grid;gap:2px}.skill-generation__section-head strong{font-size:17px;font-weight:620}.skill-generation__section-head span{color:hsl(var(--muted-foreground));font-size:12px}.skill-generation__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;isolation:isolate}.skill-generation__group{position:relative;min-width:0;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel))}.skill-generation__group header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.skill-generation__group header button{border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__group label{margin-bottom:10px;font-size:12px}.skill-generation__group textarea{min-height:72px}.skill-generation__add-group{min-width:0;display:grid;place-items:center;padding:16px;border:1px dashed hsl(var(--border));border-radius:9px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.skill-generation__add-group:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .3);color:hsl(var(--foreground))}.skill-generation__add-group:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.skill-generation__setup-actions{display:flex;justify-content:flex-end;margin-top:18px}.skill-config-select{position:relative;z-index:1;display:grid;gap:6px;margin-bottom:10px}.skill-config-select.is-open{z-index:100}.skill-config-select__label{color:hsl(var(--foreground));font-size:12px;font-weight:400;line-height:1.45}.skill-required-mark{margin-left:3px;color:hsl(var(--destructive))}.skill-config-select__trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.skill-config-select__trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.skill-config-select__trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.skill-config-select__trigger:disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable{padding:0 0 0 12px;cursor:text}.skill-config-select__trigger.is-editable.is-disabled{cursor:not-allowed;opacity:.5}.skill-config-select__trigger.is-editable:focus-within{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.skill-config-select__trigger.is-editable input{width:100%;min-width:0;height:34px;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit}.skill-config-select__trigger.is-editable input::placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__toggle{width:34px;height:34px;display:inline-grid;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:0 5px 5px 0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.skill-config-select__toggle:hover:not(:disabled){background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.skill-config-select__toggle:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-3px}.skill-config-select__toggle:disabled{cursor:default;opacity:.45}.skill-config-select__trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-config-select__trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.skill-config-select__trigger svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground));transition:transform .16s ease}.skill-config-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.skill-config-select__menu{position:absolute;z-index:21;top:calc(100% + 6px);left:0;width:100%;max-height:238px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.skill-config-select__option{width:100%;min-height:34px;display:flex;align-items:center;padding:8px 10px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:400;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.skill-config-select__option:hover,.skill-config-select__option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.skill-config-select__option.is-selected{background:hsl(var(--primary) / .08)}.skill-config-select__empty{padding:9px 10px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.skill-config-select__error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.skill-inline-error,.skill-inline-notice,.skill-validation-errors{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:12.5px;line-height:1.5}.skill-inline-error,.skill-validation-errors{border:1px solid hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.skill-inline-error button{margin-left:10px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.skill-inline-notice{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);color:hsl(var(--muted-foreground))}.skill-validation-errors p{margin:4px 0 0}.skill-validation-errors button{min-height:30px;margin-top:10px;padding:0 10px;border:1px solid hsl(var(--destructive) / .25);border-radius:6px;background:hsl(var(--panel));color:hsl(var(--destructive));font:inherit;font-size:11.5px;cursor:pointer}.skill-validation-errors button:disabled{cursor:not-allowed;opacity:.5}.skill-generation__workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;flex:1}.skill-generation__candidate-tabs{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.skill-generation__candidate-tabs button{display:block;min-width:260px;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer}.skill-generation__candidate-tabs button.is-active{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.skill-generation__summary-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.skill-generation__summary-row+.skill-generation__summary-row{margin-top:7px}.skill-generation__summary-row>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.skill-generation__summary-row>strong{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12.5px;font-weight:550;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.skill-generation__candidate-summary{width:100%;min-width:0}.skill-generation__candidate{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:12px;gap:12px}.skill-generation__activity,.skill-generation__files{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel))}.skill-generation__activity>header,.skill-generation__files>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.skill-generation__activity>header{min-height:0;padding:12px 14px}.skill-generation__activity h2,.skill-generation__files h2{font-size:14px;font-weight:600}.skill-generation__files header button{border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.skill-generation__spinner{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;animation:skill-generation-spin .9s linear infinite}.skill-generation__spinner circle{opacity:.2}.skill-generation__activity .skill-conversation{flex:1;min-height:0;overflow-y:auto;padding:12px}.skill-generation__files-empty{display:grid;flex:1;place-items:center;color:hsl(var(--muted-foreground));font-size:12.5px}.skill-generation__ready-actions{grid-column:1 / -1;display:flex;min-width:0;align-items:flex-end;gap:10px}.skill-generation__publish-target{width:min(320px,36%);min-width:240px}.skill-generation__publish-target .skill-config-select{margin-bottom:0}.skill-generation__followup{grid-column:1 / -1;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--background))}.skill-generation__ready-actions .skill-generation__followup{min-width:0;flex:1}.skill-generation__followup textarea{min-width:0;min-height:36px;max-height:120px;flex:1;box-sizing:border-box;padding:8px 4px;resize:none;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:20px}.skill-generation__followup textarea::placeholder{color:hsl(var(--muted-foreground))}.skill-generation__followup .skill-button{height:36px;min-height:36px}.skill-generation__action-error{grid-column:1 / -1;margin-top:-4px}.skill-file-browser{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:0;flex:1}.skill-file-tree{min-width:0;overflow:auto;border-right:1px solid hsl(var(--border));padding:6px 0}.skill-file-tree__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-height:30px;padding-top:4px;padding-right:8px;padding-bottom:4px;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;text-align:left;white-space:nowrap}button.skill-file-tree__row{cursor:pointer}button.skill-file-tree__row:hover{background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.skill-file-tree__row.is-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.skill-file-tree__row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.skill-file-tree__row>svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skill-file-tree__row small{color:hsl(var(--muted-foreground));font-size:10px}.skill-file-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.skill-file-preview>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:4px 9px;border-bottom:1px solid hsl(var(--border));font-size:11.5px}.skill-file-preview>header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-preview>header div{display:flex;gap:4px}.skill-file-preview>header button{min-height:28px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11.5px;cursor:pointer}.skill-file-preview__body{min-width:0;min-height:0;overflow:auto}.skill-file-preview__body .cm-editor{height:100%}.skill-file-preview__markdown{padding:16px}.skill-file-preview__frontmatter{display:grid;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:8px;background:hsl(var(--secondary) / .5)}.skill-file-preview__frontmatter>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px}.skill-file-preview__frontmatter dt{color:hsl(var(--muted-foreground));font-size:11px;font-weight:500}.skill-file-preview__frontmatter dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.skill-file-preview__markdown-body>:first-child{margin-top:0}.skill-file-preview__body img{display:block;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:16px auto;object-fit:contain}.skill-file-preview__binary{display:grid;place-content:center;gap:5px;height:100%;padding:20px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}@media (max-width: 980px){.skill-generation__groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-generation__candidate{grid-template-columns:1fr;overflow-y:auto}.skill-generation__activity,.skill-generation__files{min-height:420px}.skill-generation__ready-actions{grid-column:1;align-items:stretch;flex-direction:column}.skill-generation__publish-target{width:100%;min-width:0}.skill-generation__followup{grid-column:1}}@media (max-width: 760px){.skillcenter{padding:24px 20px 0}.skillcenter-page-header{flex-direction:column;gap:16px}.skillcenter-page-heading h1{max-width:calc(100vw - 40px)}.skillcenter-page-heading--back h1{max-width:calc(100vw - 82px)}.skillcenter-search{width:100%}.skillcenter-toolbar{align-items:flex-start;flex-direction:column}.skillcenter-detail-facts{width:100%;justify-content:space-between;gap:12px}.skillcenter-detail-facts>div{min-width:0}.skillcenter-toolbar-actions{width:100%}.skillcenter-results{margin-top:22px}.skill-generation__header{padding:24px 20px 0}.skill-generation__setup{margin:17px 17px 0}}@media (max-width: 560px){.skill-generation__groups{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skillcenter-disabled-tooltip{transition:none}.skill-generation *,.skill-generation *:before,.skill-generation *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.skill-generation__spinner{animation:none!important}}@keyframes skill-generation-spin{to{transform:rotate(360deg)}}.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-agent-heading{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-heading-copy{min-width:0}.aw-view-tabs{flex:0 0 auto;gap:26px;padding:0 24px;border-bottom:1px solid hsl(var(--border))}.aw-view-tabs button,.aw-case-filters button{border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.aw-view-tabs button{position:relative;min-height:44px;padding:0;font-size:14px;font-weight:580}.aw-view-tabs button.is-active{color:hsl(var(--foreground))}.aw-view-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:hsl(var(--foreground))}.aw-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;transition:opacity .16s ease,transform .16s ease}.aw-run:not(:disabled):hover{transform:translateY(-1px)}.aw-root button:focus-visible,.aw-root input:focus-visible,.aw-root textarea:focus-visible,.aw-root select:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-run svg{width:15px;height:15px}.aw-run:disabled,.aw-create-card:disabled{cursor:default;opacity:.42}.aw-workspace-frame{flex:1;min-height:0;position:relative}.aw-workspace{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:304px minmax(0,1fr)}.aw-root.is-detail-only .aw-view-tabs,.aw-root.is-detail-only .aw-sidebar{display:none}.aw-root.is-detail-only .aw-workspace{grid-template-columns:minmax(0,1fr)}.aw-root.is-detail-only{font-size:14px}.aw-root.is-detail-only .aw-agent-head{padding-top:24px}.aw-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 12px 22px 24px}.aw-search{height:40px;min-height:40px;flex:0 0 40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--foreground) / .12);border-radius:10px;background:transparent;transition:border-color .16s ease,background-color .16s ease}.aw-search:focus-within{border-color:hsl(var(--foreground) / .16);background:hsl(var(--secondary) / .42);box-shadow:none}.aw-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;line-height:1}.aw-search input::placeholder{color:hsl(var(--muted-foreground) / .82)}.aw-search input:focus,.aw-search input:focus-visible,.aw-case-search input:focus,.aw-case-search input:focus-visible{outline:none!important;box-shadow:none}.aw-agent-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:14px;overflow-y:auto}.aw-selection-toolbar{flex:0 0 auto;min-height:32px;display:flex;align-items:center;gap:8px;margin-top:10px}.aw-selection-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-selection-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-selection-toolbar button:disabled{cursor:default;opacity:.42}.aw-selection-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-selection-count{flex:1;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;white-space:nowrap}.aw-selection-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-selection-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-delete-error{margin-top:8px;padding:8px 10px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-agent-item,.aw-agent-check{width:100%;min-height:72px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:13px 14px;border:1px solid hsl(var(--foreground) / .1);border-radius:14px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease}.aw-agent-item:hover,.aw-agent-check:hover{border-color:hsl(var(--foreground) / .18);background:hsl(var(--secondary) / .42)}.aw-agent-item.is-active{border-color:hsl(var(--foreground) / .42);background:hsl(var(--secondary) / .28)}.aw-agent-item[draggable=true]{cursor:grab}.aw-agent-item[draggable=true]:active{cursor:grabbing}.aw-agent-item.is-dragging{opacity:.46}.aw-agent-item.is-drop-target{border-color:hsl(var(--foreground) / .46);background:hsl(var(--secondary) / .54)}.aw-agent-item.is-drop-before{box-shadow:inset 0 2px hsl(var(--foreground) / .44)}.aw-agent-item.is-drop-after{box-shadow:inset 0 -2px hsl(var(--foreground) / .44)}.aw-agent-item.is-selecting{gap:10px}.aw-agent-item.is-selected-for-delete{border-color:hsl(var(--foreground) / .36);background:hsl(var(--secondary) / .44)}.aw-agent-item.is-selection-disabled{opacity:.58}.aw-select-marker{width:16px;height:16px;flex:0 0 16px;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background))}.aw-select-marker.is-checked{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.aw-select-marker.is-checked:after{content:"";width:7px;height:4px;border-bottom:1.6px solid hsl(var(--background));border-left:1.6px solid hsl(var(--background));transform:rotate(-45deg) translateY(-1px)}.aw-agent-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.aw-agent-name-row{min-width:0;display:flex;align-items:center;gap:8px}.aw-agent-name-row>strong{min-width:0;flex:1}.aw-version-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;line-height:1.2}.aw-draft-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f0ebe0;color:#675332;font-size:10px;font-weight:680;line-height:1.2}.aw-draft-badge.is-deploying{background:#e4eaf2;color:#2d5080}.aw-draft-badge.is-error{background:#dc28281f;color:hsl(var(--destructive))}.aw-draft-badge.is-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-agent-copy strong,.aw-agent-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-agent-copy strong{font-size:13px;font-weight:650}.aw-agent-copy small{color:hsl(var(--muted-foreground));font-size:11px}.aw-agent-item>svg{width:14px;height:14px;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .14s ease,transform .14s ease}.aw-agent-item:hover>svg,.aw-agent-item.is-active>svg{opacity:1}.aw-agent-item:hover>svg{transform:translate(2px)}.aw-agent-check{position:relative}.aw-agent-check>input{position:absolute;width:1px;height:1px;opacity:0}.aw-check-mark{width:17px;height:17px;flex:0 0 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--foreground) / .22);border-radius:5px;background:hsl(var(--background));color:transparent}.aw-check-mark svg{width:11px;height:11px}.aw-agent-check:has(input:checked) .aw-check-mark{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.aw-agent-check:has(input:focus-visible){outline:2px solid hsl(var(--ring) / .42);outline-offset:-2px}.aw-list-empty{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:28px 12px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-list-error{display:flex;flex-direction:column;align-items:center;gap:10px}.aw-list-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}.aw-create-card{width:100%;min-height:48px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px dashed hsl(var(--foreground) / .28);border-radius:14px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s ease,color .16s ease}.aw-create-card:hover:not(:disabled){border-color:hsl(var(--foreground) / .5);color:hsl(var(--foreground))}.aw-create-card svg{width:15px;height:15px}.aw-list-count{flex:0 0 auto;padding-top:10px;color:hsl(var(--muted-foreground));font-size:10.5px;text-align:center}.aw-main{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--background))}.aw-detail-loading{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aw-detail-loading-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background) / .94);box-shadow:0 14px 40px hsl(var(--foreground) / .1)}.aw-detail-loading-card>span:not(.loading-gap-spinner){display:flex;flex-direction:column;gap:2px}.aw-detail-loading-card>.loading-gap-spinner{width:18px;height:18px;flex:0 0 18px}.aw-detail-loading-card strong{font-size:13px;font-weight:650}.aw-detail-loading-card small{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-empty-selection{align-items:center;justify-content:center}.aw-empty-selection p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.aw-agent-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}.aw-agent-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-agent-head>.aw-agent-heading{flex-direction:row;align-items:center;justify-content:flex-start}.aw-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.aw-head-delete{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--destructive) / .24);border-radius:999px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:620}.aw-head-delete:hover:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-head-delete:disabled{cursor:default;opacity:.46}.aw-head-delete svg{width:14px;height:14px}.aw-head-delete--draft{border-color:hsl(var(--border));background:transparent;color:hsl(var(--foreground))}.aw-head-delete--draft:hover:not(:disabled){background:hsl(var(--secondary) / .54)}.aw-head-delete.studio-update-action{border:1px solid hsl(var(--destructive) / .34);background:#ffffffc2;color:hsl(var(--destructive));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.aw-head-delete.studio-update-action:hover:not(:disabled){border:1px solid hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.aw-agent-title-row{gap:8px}.aw-agent-head h2,.aw-eval-head h2{overflow:hidden;font-size:20px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.aw-agent-title-row>span,.aw-eval-head>div>span{padding:2px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px}.aw-agent-head p{max-width:720px;overflow:hidden;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.aw-update{align-self:center}.aw-update-wrap{position:relative;align-self:center;display:inline-flex;border-radius:999px}.aw-update-wrap.is-disabled{cursor:not-allowed}.aw-update-wrap.is-disabled .aw-update{cursor:inherit}.aw-update-spinner{width:14px;height:14px;flex-basis:14px;border-color:currentColor;border-right-color:transparent}.aw-update-disabled-reason{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:260px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease}.aw-update-wrap.is-disabled:hover .aw-update-disabled-reason,.aw-update-wrap.is-disabled:focus-visible .aw-update-disabled-reason{opacity:1;transform:translate(-50%)}.aw-update-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}@media (prefers-reduced-motion: reduce){.aw-update-disabled-reason{transition:none}}.aw-talk svg{width:15px;height:15px}.aw-agent-tabs{flex:0 0 auto;display:flex;gap:24px;margin:0 24px;padding:0;border-bottom:1px solid hsl(var(--border))}.aw-agent-tabs button{position:relative;min-height:42px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:14px;font-weight:580}.aw-agent-tabs button.is-active{color:hsl(var(--foreground))}.aw-agent-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:hsl(var(--foreground))}.aw-agent-tabs button:disabled{cursor:default}.aw-content{flex:1;min-height:0;overflow-y:auto;margin-top:14px;padding:0 24px 80px}.aw-basic-stack,.aw-usage{display:flex;flex-direction:column;gap:16px}.aw-usage-intro h3,.aw-usage-intro p,.aw-usage-users-head h3,.aw-usage-summary{margin:0}.aw-usage-intro h3,.aw-usage-users-head h3{color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-usage-intro p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-usage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aw-usage-summary>div{min-width:0;padding:16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-usage-summary dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500}.aw-usage-summary dd{margin:8px 0 0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25}.aw-usage-users-head{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.aw-usage-users-head .text-shimmer{flex:0 0 auto;font-size:12px}.aw-usage-state{min-height:116px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55;text-align:center}.aw-usage-state.is-error{flex-direction:column;color:hsl(var(--destructive));white-space:pre-wrap;overflow-wrap:anywhere}.aw-usage-state button,.aw-usage-pagination button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-usage-state button:hover,.aw-usage-pagination button:hover:not(:disabled){background:hsl(var(--secondary) / .5)}.aw-usage-state button:focus-visible,.aw-usage-pagination button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.aw-usage-table-wrap{min-width:0;overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-usage-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-usage-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aw-usage-table th,.aw-usage-table td{padding:13px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle}.aw-usage-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-usage-table th:first-child,.aw-usage-table td:first-child{width:48%}.aw-usage-table th:nth-child(2),.aw-usage-table td:nth-child(2){width:18%}.aw-usage-table td strong,.aw-usage-table td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-usage-table td strong{font-weight:600}.aw-usage-table td small{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.aw-usage-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.aw-usage-pagination span{min-width:92px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.aw-usage-pagination button:disabled{opacity:.48;cursor:not-allowed}.aw-integration-stack{display:flex;flex-direction:column;gap:16px}.aw-integration-intro h3,.aw-integration-intro p,.aw-integration-panel h3,.aw-integration-panel h4,.aw-integration-panel dl,.aw-integration-panel dd{margin:0}.aw-integration-intro h3{font-size:15px;font-weight:620}.aw-integration-intro p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-body{display:flex;min-width:0;flex-direction:column;gap:12px}.aw-integration-protocol-tabs{position:relative;display:grid;width:min(240px,100%);height:36px;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary))}.aw-integration-protocol-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc((100% - 9px)/2);border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .05);transition:transform .24s cubic-bezier(.22,1,.36,1)}.aw-integration-protocol-tabs.is-a2a .aw-integration-protocol-slider{transform:translate(calc(100% + 3px))}.aw-integration-protocol-tabs button{position:relative;z-index:1;min-width:0;min-height:28px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;transition:background-color .16s ease,color .16s ease}.aw-integration-protocol-tabs button:hover{background:hsl(var(--panel) / .45);color:hsl(var(--foreground))}.aw-integration-protocol-tabs button[aria-selected=true]{color:hsl(var(--foreground));font-weight:620}.aw-integration-protocol-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-panel{min-width:0;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.aw-integration-panel.has-example{display:flex;flex-direction:column;gap:20px}.aw-integration-panel header{display:flex;align-items:center;margin-bottom:4px}.aw-integration-panel h3{color:hsl(var(--foreground));font-size:14px;font-weight:620}.aw-integration-panel dl{display:grid;align-content:start;gap:12px}.aw-integration-panel dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px}.aw-integration-panel dt{color:hsl(var(--muted-foreground));font-size:12px}.aw-integration-panel dd{min-width:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px;line-height:1.55}.aw-integration-secret{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;gap:6px}.aw-integration-secret-value{min-width:52px;overflow-wrap:anywhere}.aw-integration-secret-toggle{display:inline-grid;width:28px;height:28px;flex:0 0 28px;padding:0;place-items:center;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer}.aw-integration-secret-toggle:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-integration-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .62);outline-offset:1px}.aw-integration-secret-toggle:disabled{cursor:wait;opacity:.62}.aw-integration-secret-toggle svg,.aw-integration-secret-toggle .loading-gap-spinner{width:16px;height:16px}.aw-integration-secret-error{flex-basis:100%;color:hsl(var(--destructive));font-size:12px;line-height:1.45}.aw-integration-example{min-width:0}.aw-integration-example h4{margin-bottom:8px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.aw-integration-example-code.md{min-width:0;font-size:12px}.aw-integration-example-code.md pre{max-height:360px;margin:0;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary))}.aw-integration-example-code.md pre code{display:block;min-width:max-content;padding:14px 16px;line-height:1.55}.aw-integration-error{display:flex;align-items:center;gap:8px;min-height:36px;padding:10px 12px;border-radius:8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:12.5px}.aw-integration-error{justify-content:space-between;color:hsl(var(--destructive))}.aw-integration-error button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit}.aw-integration-notice{display:flex;align-items:center;min-height:36px;padding:10px 12px;border:1px solid hsl(42 72% 74% / .45);border-radius:8px;background:#fef9eb;color:#8c6917;font-size:12.5px;line-height:1.55}.aw-canvas-card,.aw-details-card{min-width:0;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel))}.aw-canvas-card{overflow:hidden}.aw-canvas-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:13px}.aw-details-card{overflow:hidden}.aw-deploy-progress-card{width:100%;min-width:0;box-sizing:border-box;padding:24px 26px 26px;border:1px solid hsl(var(--border));border-radius:18px;background:hsl(var(--panel))}.aw-detail-deployment{flex:0 0 auto;padding:0 24px 16px}.aw-detail-deployment.is-running{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.aw-main.is-deploying .aw-agent-tabs,.aw-main.is-deploying .aw-content,.aw-main.is-deploying .aw-basic-actions{display:none}.aw-deploy-progress-head,.aw-deploy-progress-head>div,.aw-deploy-progress-icon{display:flex;align-items:center}.aw-deploy-progress-head{justify-content:space-between;gap:20px}.aw-deploy-progress-head>div{min-width:0;gap:12px}.aw-deploy-progress-head>div>div{min-width:0}.aw-deploy-progress-icon{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:50%;background:#eaeff5;color:#295189}.aw-deploy-progress-icon svg{width:17px;height:17px}.aw-deploy-progress-card.is-success .aw-deploy-progress-icon{background:#e8f2ee;color:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-icon,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-icon{background:#f5ecea;color:#8d3d34}.aw-deploy-progress-head h3{margin:0;font-size:14px;font-weight:700}.aw-deploy-progress-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;overflow-wrap:anywhere}.aw-deploy-progress-head>strong{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:12px;font-weight:650}.aw-deploy-progress-track{height:5px;margin-top:18px;overflow:hidden;border-radius:999px;background:hsl(var(--secondary))}.aw-deploy-progress-track span{display:block;height:100%;border-radius:inherit;background:#295189;transition:width .32s cubic-bezier(.22,1,.36,1)}.aw-deploy-progress-card.is-success .aw-deploy-progress-track span{background:#2d7656}.aw-deploy-progress-card.is-error .aw-deploy-progress-track span,.aw-deploy-progress-card.is-cancelled .aw-deploy-progress-track span{background:#8d3d34}.aw-deploy-steps{margin:22px 0 0;padding:0;list-style:none}.aw-deploy-steps li{position:relative;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:0 0 18px}.aw-deploy-steps li:last-child{padding-bottom:0}.aw-deploy-progress-actions{display:flex;justify-content:flex-end;margin-top:20px}.aw-deploy-steps li:not(:last-child):after{content:"";position:absolute;top:28px;bottom:0;left:13px;width:2px;border-radius:999px;background:hsl(var(--border))}.aw-deploy-steps li.is-done:not(:last-child):after{background:#9dcdb8}.aw-deploy-step-marker{position:relative;z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:680}.aw-deploy-step-marker svg{width:14px;height:14px}.aw-deploy-steps li.is-done .aw-deploy-step-marker{border-color:#b3dbca;background:#e8f2ee;color:#2d7656}.aw-deploy-steps li.is-active .aw-deploy-step-marker{border-color:#9eb3d1;background:#eaeff5;color:#295189}.aw-deploy-steps li.is-failed .aw-deploy-step-marker{border-color:#dcbfbc;background:#f5ecea;color:#8d3d34}.aw-deploy-step-copy{min-width:0;padding-top:2px}.aw-deploy-step-copy strong{display:block;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:620;line-height:1.4}.aw-deploy-step-copy p{min-width:0;margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.aw-deploy-steps li.is-done .aw-deploy-step-copy strong,.aw-deploy-steps li.is-active .aw-deploy-step-copy strong,.aw-deploy-steps li.is-failed .aw-deploy-step-copy strong{color:hsl(var(--foreground))}.aw-deploy-steps li.is-active .aw-deploy-step-copy p{color:hsl(var(--foreground) / .78)}.aw-deploy-step-log{min-width:0;margin-top:10px}.aw-deploy-log{min-width:0;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--canvas));overflow:hidden}.aw-deploy-log header,.aw-deploy-log header>div,.aw-deploy-log-actions,.aw-deploy-log-actions button{display:flex;align-items:center}.aw-deploy-log header{min-width:0;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.aw-deploy-log.is-collapsed header{border-bottom:0}.aw-deploy-log header>div:first-child{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.aw-deploy-log strong{color:hsl(var(--foreground));font-size:12.5px;font-weight:640;line-height:1.35}.aw-deploy-log span{min-width:0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.aw-deploy-log-actions{flex:0 0 auto;gap:6px}.aw-deploy-log-actions button{min-height:28px;gap:5px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font-size:11.5px;font-weight:560;cursor:pointer}.aw-deploy-log-actions button:hover{background:hsl(var(--muted))}.aw-deploy-log-actions button span{color:inherit;font-size:inherit;line-height:inherit}.aw-deploy-log-actions button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.aw-deploy-log-actions svg{width:13px;height:13px;flex:0 0 auto}.aw-deploy-log pre{max-height:260px;min-width:0;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:hsl(var(--foreground) / .86);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.55}.aw-deploy-log-empty{padding:12px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.aw-deploy-log.is-error{border-color:#dcbfbc}.aw-card-head{justify-content:space-between;gap:12px;min-height:48px;padding:0 16px}.aw-card-head strong{font-size:13px;font-weight:680}.aw-card-head span{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-canvas{height:220px;min-height:0;border-top:1px solid hsl(var(--border))}.aw-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;border:0;background:#f9f8f5}.aw-canvas .abc-canvas{flex:1;min-height:0}.aw-canvas .react-flow__controls{transform:scale(.86);transform-origin:bottom left}.aw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 14px}.aw-facts>div{min-height:39px;display:grid;grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);align-items:center;gap:12px;border-top:1px solid hsl(var(--border) / .72)}.aw-facts>div:nth-child(2n){padding-left:20px}.aw-facts>div:nth-child(odd){padding-right:20px}.aw-facts dt{color:hsl(var(--muted-foreground));font-size:11.5px}.aw-facts dd{min-width:0;margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:600;text-align:right;text-overflow:ellipsis;white-space:nowrap}.aw-facts .aw-fact-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;overflow:visible;white-space:normal}.aw-fact-badges span{max-width:100%;overflow:hidden;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--secondary) / .55);font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.aw-version-stack{display:flex;flex-direction:column;gap:14px}.aw-version-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px}.aw-version-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(104px,.9fr) minmax(96px,.7fr) minmax(86px,.6fr) auto;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid hsl(var(--border) / .72);background:hsl(var(--panel));font-size:12px}.aw-version-row:first-child{border-top:0}.aw-version-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-version-row strong{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.aw-version-row small,.aw-version-row span{color:hsl(var(--muted-foreground));font-size:11px}.aw-version-row em{overflow:hidden;color:hsl(var(--foreground) / .82);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.aw-version-row p{grid-column:2 / -1;margin:0;color:hsl(var(--muted-foreground))}.aw-version-row a{color:hsl(var(--foreground));font-weight:600;text-decoration:none}.aw-version-row a:hover{text-decoration:underline}.aw-version-actions{align-items:flex-end}.aw-version-actions button{min-height:30px;padding:0 10px;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}.aw-version-actions button:hover:not(:disabled){background:hsl(var(--muted) / .55)}.aw-version-actions button:disabled{cursor:not-allowed;color:hsl(var(--muted-foreground));opacity:.62}.aw-status-dot{width:6px;height:6px;display:inline-block;margin-right:6px;border-radius:50%;background:#358d67}.aw-section-head{justify-content:space-between;gap:18px;margin-bottom:16px}.aw-section-head h3{font-size:17px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.aw-case-filter-stack{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.aw-case-source-filters{display:flex;flex-wrap:wrap;gap:6px}.aw-case-source-filters button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.aw-case-source-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.aw-case-source-filters button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button{min-width:0;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .22)}.aw-case-summary>button{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:14px 16px;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.aw-case-summary>button:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--secondary) / .36)}.aw-case-summary>button:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:2px}.aw-case-summary strong{color:hsl(var(--foreground));font-size:26px;font-weight:720;line-height:1}.aw-case-summary span{min-width:0;color:hsl(var(--foreground));font-size:12px;font-weight:640}.aw-case-search{width:min(360px,46%);min-width:260px;height:40px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}.aw-case-search:focus-within{border-color:hsl(var(--foreground) / .32);box-shadow:0 0 0 3px hsl(var(--foreground) / .045)}.aw-case-search svg{width:15px;height:15px;color:hsl(var(--muted-foreground))}.aw-case-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.aw-case-search input::placeholder{color:hsl(var(--muted-foreground) / .8)}.aw-case-toolbar{min-height:32px;display:flex;align-items:center;gap:8px;margin:-2px 0 14px}.aw-case-toolbar button{min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:580}.aw-case-toolbar button:hover:not(:disabled){background:hsl(var(--secondary) / .55)}.aw-case-toolbar button:disabled{cursor:default;opacity:.42}.aw-case-toolbar.is-active{padding:6px 8px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .3)}.aw-case-toolbar .aw-selection-danger{border-color:hsl(var(--destructive) / .28);color:hsl(var(--destructive))}.aw-case-toolbar .aw-selection-danger:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-filters button{min-height:30px;padding:0 12px;border-radius:6px;font-size:12.5px}.aw-case-filters button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px hsl(var(--foreground) / .07)}.aw-case-table{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-width:870px;min-height:86px;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(250px,1.16fr) 80px minmax(220px,.94fr) 48px;align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:13px}.aw-case-row:not(.aw-case-row-head){cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.aw-case-row:not(.aw-case-row-head):hover,.aw-case-row.is-focused,.aw-case-row.is-selected-for-delete{background:hsl(var(--secondary) / .28)}.aw-case-row.is-focused{box-shadow:inset 3px 0 hsl(var(--foreground) / .22)}.aw-case-row.is-selected-for-delete{box-shadow:inset 3px 0 hsl(var(--foreground) / .34)}.aw-case-row:focus-visible{outline:2px solid hsl(var(--foreground) / .24);outline-offset:-2px}.aw-case-row:first-child{border-top:0}.aw-case-row-head{min-height:38px;align-items:center;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-case-action-head{text-align:center}.aw-case-text,.aw-case-output,.aw-case-reason{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-score{color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.5}.aw-case-reason p{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-reason.is-expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-title-line{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{flex:1;min-width:0}.aw-case-actions{min-width:0;display:flex;justify-content:center}.aw-case-row strong,.aw-case-row p,.aw-case-row small{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.aw-case-row strong{color:hsl(var(--foreground));font-weight:600;line-height:1.45}.aw-case-row p{margin:0;color:hsl(var(--muted-foreground));line-height:1.5}.aw-case-output-preview{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.aw-case-output.is-expanded .aw-case-output-preview{display:block;overflow:visible;-webkit-line-clamp:unset}.aw-case-expand{width:fit-content;min-height:24px;margin-top:2px;padding:0 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.aw-case-expand:hover{background:hsl(var(--secondary) / .55)}.aw-case-row small{color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35}.aw-case-time{color:hsl(var(--foreground) / .62)!important}.aw-case-delete{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.aw-case-delete:hover:not(:disabled){border-color:hsl(var(--destructive) / .18);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.aw-case-delete:active:not(:disabled){background:hsl(var(--destructive) / .12)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-empty{min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px}.aw-case-error{color:hsl(var(--destructive))}.aw-case-error button{min-height:30px;padding:0 12px;border:1px solid hsl(var(--destructive) / .26);border-radius:8px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.aw-deployment-panel{width:100%;box-sizing:border-box;margin:0}.aw-settings-card{padding:18px;border:1px solid hsl(var(--border));border-radius:14px}.aw-optimizations{display:flex;flex-direction:column;gap:16px}.aw-optimization-intro h3{margin:0;color:hsl(var(--foreground));font-size:17px;font-weight:650}.aw-optimization-intro p{margin:5px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.aw-optimization-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:20px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.aw-optimization-state.is-error{color:hsl(var(--destructive))}.aw-optimization-state button{min-height:28px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-weight:600}.aw-optimization-table-wrap{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:12px}.aw-optimization-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:hsl(var(--foreground));font-size:13px}.aw-optimization-table th,.aw-optimization-table td{padding:14px 16px;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:top}.aw-optimization-table th{padding-block:11px;border-top:0;background:hsl(var(--secondary) / .38);color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.aw-optimization-table th:first-child,.aw-optimization-table td:first-child{width:108px}.aw-optimization-table th:nth-child(2),.aw-optimization-table td:nth-child(2){width:142px}.aw-optimization-module{color:hsl(var(--foreground));font-size:13px;font-weight:620;line-height:1.55}.aw-optimization-list{margin:0;padding:0;list-style:none}.aw-optimization-list li{position:relative;padding-left:16px}.aw-optimization-list li+li{margin-top:13px;padding-top:13px;border-top:1px dashed hsl(var(--border))}.aw-optimization-list li:before{position:absolute;top:6px;left:1px;width:5px;height:5px;border-radius:50%;background:hsl(var(--primary) / .72);content:""}.aw-optimization-list li+li:before{top:19px}.aw-optimization-list strong{display:block;font-size:13.5px;font-weight:650;line-height:1.45}.aw-optimization-list p{margin:5px 0 0;color:hsl(var(--muted-foreground));line-height:1.55}.aw-priority{font-size:13px;font-weight:700;line-height:1.5}.aw-priority.is-high{color:hsl(var(--destructive))}.aw-priority.is-medium{color:#93591f}.aw-priority.is-low{color:#28674c}.aw-readonly-config{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aw-readonly-config>div{min-width:0;padding:12px 14px;border-radius:10px;background:hsl(var(--secondary) / .42)}.aw-readonly-config dt{color:hsl(var(--muted-foreground));font-size:11px}.aw-readonly-config dd{margin:5px 0 0;color:hsl(var(--foreground));font-size:12px;font-weight:600}.aw-readonly-config dd.is-ready{color:#1d7c40}.aw-basic-actions{position:absolute;z-index:8;bottom:20px;left:50%;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:translate(-50%)}.aw-eval-head{flex:0 0 auto;min-height:72px;box-sizing:border-box;justify-content:space-between;gap:20px;padding:14px 24px}.aw-evaluation-glass{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .44);color:hsl(var(--foreground));-webkit-backdrop-filter:blur(9px) saturate(118%);backdrop-filter:blur(9px) saturate(118%);transition:background .18s ease,backdrop-filter .18s ease}.aw-evaluation-glass:hover{background:hsl(var(--background) / .52);-webkit-backdrop-filter:blur(11px) saturate(125%);backdrop-filter:blur(11px) saturate(125%)}.aw-evaluation-glass span{padding:8px 13px;border:1px solid hsl(var(--border) / .82);border-radius:999px;background:hsl(var(--background) / .7);box-shadow:0 8px 24px hsl(var(--foreground) / .07);font-size:12.5px;font-weight:620;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.aw-eval-head>div{min-width:0;display:flex;flex-direction:column;justify-content:center}.aw-run{min-height:38px;padding:0 14px;border-radius:9px}.aw-eval-setup{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.aw-eval-block{min-width:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px}.aw-eval-agent-grid{max-height:230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding:0 16px 16px}.aw-eval-agent-grid>label{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid hsl(var(--border) / .82);border-radius:10px;cursor:pointer}.aw-eval-agent-grid input,.aw-metric-list input{width:15px;height:15px;accent-color:hsl(var(--foreground))}.aw-eval-agent-grid label>span{min-width:0;display:flex;flex-direction:column;gap:3px}.aw-eval-agent-grid strong,.aw-eval-agent-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw-eval-agent-grid strong{font-size:12px;font-weight:620}.aw-eval-agent-grid small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-eval-setting-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:14px}.aw-eval-fields{display:flex;flex-direction:column;gap:13px;padding:0 16px 16px}.aw-eval-fields label{min-height:36px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.aw-eval-fields label>span,.aw-eval-fields label>small{color:hsl(var(--muted-foreground));font-size:11px}.aw-eval-fields select{width:100%;height:34px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11.5px}.aw-metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 16px}.aw-metric-list label{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid hsl(var(--border) / .82);border-radius:9px;cursor:pointer;font-size:11.5px}.aw-eval-history{width:min(820px,100%);margin:0 auto}.aw-history-list{display:flex;flex-direction:column;gap:9px}.aw-history-list>button{width:100%;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;align-items:center;gap:16px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:11px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.aw-history-list>button:hover{border-color:hsl(var(--foreground) / .2)}.aw-history-list>button>span:first-child,.aw-history-score{display:flex;flex-direction:column;gap:4px}.aw-history-list strong{font-size:12px}.aw-history-list small{color:hsl(var(--muted-foreground));font-size:10.5px}.aw-history-score{align-items:flex-end}.aw-history-score strong{font-size:17px}.aw-complete{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#3c866617;color:#28674c;font-size:10.5px;font-weight:620}.aw-complete svg{width:12px;height:12px}.aw-results-empty{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));text-align:center}.aw-results-empty strong{color:hsl(var(--foreground));font-size:12.5px}.aw-results-empty span{font-size:11.5px}@media (max-width: 980px){.aw-workspace{grid-template-columns:260px minmax(0,1fr)}.aw-eval-setting-grid{grid-template-columns:minmax(0,1fr)}.aw-case-row{min-width:790px;grid-template-columns:minmax(160px,.78fr) minmax(220px,1fr) 72px minmax(180px,.82fr) 48px}}@media (max-width: 720px){.aw-view-tabs{padding-inline:16px}.aw-workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.aw-sidebar{height:340px;max-height:340px;box-sizing:border-box;padding:18px 16px}.aw-agent-list{min-height:128px}.aw-main{min-height:620px;overflow:visible}.aw-agent-tabs{gap:18px;margin-inline:16px;overflow-x:auto}.aw-agent-head,.aw-eval-head{padding-inline:16px}.aw-content{overflow:visible;padding-inline:16px}.aw-facts{grid-template-columns:minmax(0,1fr)}.aw-facts>div:nth-child(n){padding-right:0;padding-left:0}.aw-eval-agent-grid,.aw-metric-list{grid-template-columns:minmax(0,1fr)}.aw-case-summary,.aw-case-row{min-width:0;grid-template-columns:minmax(0,1fr)}.aw-case-filter-bar{align-items:stretch;flex-direction:column;gap:12px}.aw-case-search{width:100%;min-width:0}.aw-case-row-head{display:none}.aw-case-cell{position:relative;padding-top:20px}.aw-case-cell:before{content:attr(data-label);position:absolute;top:0;left:0;color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.aw-case-actions{justify-content:flex-start}.aw-optimization-table{min-width:680px}.aw-usage-summary{grid-template-columns:minmax(0,1fr)}.aw-usage-pagination{justify-content:space-between}.aw-readonly-config{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.aw-integration-protocol-slider{transition:none}.aw-root *,.aw-root *:before,.aw-root *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.library-view{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.library-view__header{flex:0 0 auto;padding:32px 32px 0}.library-view__header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.library-view__header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.library-tabs{margin:12px 32px 0}.library-tabs button{font-size:15px}.library-tabs button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.library-panels,.library-panel{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column}.library-panel[hidden]{display:none}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:24px}.library-resource-toolbar{min-height:36px;margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.library-resource-toolbar__controls{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media (max-width: 720px){.library-view__header{padding:24px 20px 0}.library-tabs{gap:20px;margin:12px 20px 0}.library-panel>.my-agents-page,.library-panel>.artifact-library-page{padding-top:20px}.library-resource-toolbar{align-items:stretch;flex-direction:column;gap:12px}.library-resource-toolbar__controls{width:100%}.library-resource-toolbar>.my-agent-create-primary{align-self:flex-start}.library-resource-toolbar>.my-agent-search,.library-resource-toolbar>.knowledge-library__search,.library-resource-toolbar>.artifact-library-search{width:100%}}@media (max-width: 560px){.library-view__header{padding-inline:16px}.library-tabs{margin-inline:16px}}.page-back-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.page-back-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.page-back-button:active{background:hsl(var(--muted))}.page-back-button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.page-back-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.applications-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.applications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.applications-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.applications-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.applications-search{width:min(320px,38vw);height:36px;display:flex;align-items:center;gap:8px;box-sizing:border-box;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));transition:border-color .16s ease,box-shadow .16s ease}.applications-search:focus-within{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.applications-search svg{width:16px;height:16px;flex:0 0 16px}.applications-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px}.applications-search input::placeholder{color:hsl(var(--muted-foreground))}.applications-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.applications-categories button{min-height:30px;padding:0 13px;border:1px solid transparent;border-radius:999px;background:hsl(var(--secondary) / .7);color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.applications-categories button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.applications-categories button.is-active{border-color:hsl(var(--foreground) / .14);background:hsl(var(--foreground));color:hsl(var(--background))}.applications-categories button:focus-visible{outline:2px solid hsl(var(--ring) / .3);outline-offset:2px}.applications-results{flex:1;min-height:0;overflow-y:auto;margin-top:28px;padding-bottom:56px;scrollbar-gutter:stable}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-items:start;gap:12px}.application-card-wrap{position:relative;min-width:0;display:flex;border-radius:12px}.application-card-wrap:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card{width:100%;min-width:0;min-height:96px;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;padding:16px 18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;box-shadow:0 1px 2px hsl(var(--foreground) / .035);animation:application-card-enter .18s ease-out both;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.application-card:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .24);box-shadow:0 4px 14px hsl(var(--foreground) / .06)}.application-card:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.application-card:disabled{cursor:not-allowed;opacity:.5}.application-card:disabled:hover{border-color:hsl(var(--border));background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.application-card-tooltip{position:absolute;z-index:30;top:50%;left:50%;width:max-content;max-width:240px;padding:7px 10px;border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 3px));transition:opacity .14s ease,transform .14s ease}.application-card-wrap.is-disabled:hover .application-card-tooltip,.application-card-wrap.is-disabled:focus-visible .application-card-tooltip{opacity:1;transform:translate(-50%,-50%)}.application-card-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-brand-icon{object-fit:contain}.application-card-copy{min-width:0}.application-card-title{display:flex;align-items:center;gap:6px}.application-card-copy h2{min-width:0;margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.application-card-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:16px;box-sizing:border-box;padding:1px 6px;border-radius:999px;background:hsl(var(--destructive));color:#fff;font-size:10px;font-weight:600;line-height:1.2}.application-card-badge.is-success{background:#36ab661f;color:#217343}.application-card-copy p{display:-webkit-box;margin:7px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.applications-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;color:hsl(var(--muted-foreground))}.applications-empty svg{width:32px;height:32px;margin-bottom:12px}.applications-empty h2{margin:0;color:hsl(var(--foreground));font-size:15px;font-weight:600}.applications-empty p{margin:6px 0 0;font-size:12.5px}@keyframes application-card-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.applications-page{padding:24px 20px 0}.applications-header{flex-direction:column;gap:16px}.applications-search{width:100%}}@media (prefers-reduced-motion: reduce){.application-card{animation:none;transition:none}.application-card-tooltip{transition:none}}.system-info-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background));font-family:inherit}.system-info-page-header{flex:0 0 auto;display:flex;align-items:center;gap:8px}.system-info-page-header>div{min-width:0}.system-info-page-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.system-info-page-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.system-info-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;align-content:start;gap:16px;margin-top:24px;padding-bottom:56px}.system-info-section{min-width:0;padding:20px;border-radius:12px;background:hsl(var(--secondary) / .72)}.system-info-section h2{margin:0 0 16px;color:hsl(var(--foreground));font-size:15px;font-weight:600;line-height:1.4}.system-info-summary,.system-info-tool{margin:0}.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{min-width:0;display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);align-items:center;gap:16px}.system-info-summary dt,.system-info-tool dt,.system-info-pool dt{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:400;line-height:1.5}.system-info-summary dd,.system-info-tool dd,.system-info-pool dd{min-width:0;margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.system-info-resource-value{min-width:0}.system-info-resource-value>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link{min-width:0;max-width:100%;width:fit-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;margin:-4px -2px;padding:4px 2px;border-radius:4px;color:inherit;cursor:pointer;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}.system-info-resource-link>span{min-width:0;overflow-wrap:anywhere}.system-info-resource-link svg{width:15px;height:15px;flex:0 0 15px;opacity:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.system-info-resource-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.system-info-resource-link:hover svg,.system-info-resource-link:focus-visible svg{opacity:1}.system-info-resource-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px;text-decoration-color:currentColor}.system-info-resource-update{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;min-height:29px;margin-left:18px;padding:0;border:1px solid hsl(var(--foreground) / .14);border-radius:7px;background:hsl(var(--secondary) / .62);box-shadow:inset 0 1px hsl(var(--background) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:560;line-height:1;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.system-info-resource-update svg{width:14px;height:14px;flex:0 0 14px;stroke-width:2}.system-info-resource-update:hover:not(:disabled){border-color:hsl(var(--foreground) / .26);background:hsl(var(--secondary) / .86);box-shadow:inset 0 1px hsl(var(--background) / .82),0 1px 5px hsl(var(--foreground) / .08);transform:translateY(-1px)}.system-info-resource-update:active:not(:disabled){transform:translateY(0)}.system-info-resource-update:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.system-info-resource-update:disabled{cursor:not-allowed;opacity:.62}.system-info-resource-update svg.is-spinning{animation:system-info-spin .8s linear infinite}.system-info-inline-status,.system-info-inline-error{display:block;margin-top:4px;font-size:12px;font-weight:400;line-height:1.45}.system-info-inline-status{color:hsl(var(--muted-foreground))}.system-info-inline-error{color:hsl(var(--destructive))}.system-info-tool-list{display:grid;gap:8px}.system-info-pool-list{display:grid;gap:12px}.system-info-pool{min-width:0;display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding:4px 0}.system-info-empty{color:hsl(var(--muted-foreground));font-weight:400}.system-info-tool{min-width:0;padding:4px 0}.system-info-tool-label{display:flex;align-items:center;gap:7px}.system-info-tool-badge{flex:0 0 auto;padding:2px 6px;border:1px solid hsl(44 88% 43% / .3);border-radius:999px;background:#fac70f2e;color:#976507;font-size:10px;font-weight:600;line-height:1.25;white-space:nowrap}.system-info-loading{display:flex;align-items:center;min-height:24px;color:hsl(var(--muted-foreground));font-size:13px}.system-info-error{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:12px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:13px;text-align:center}.system-info-error p,.system-info-empty{margin:0}.system-info-error button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500}.system-info-error button:hover{background:hsl(var(--muted))}.system-info-error button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.system-info-empty{font-size:13px;line-height:1.55}@media (max-width: 760px){.system-info-page{padding:24px 20px 0}}@media (max-width: 520px){.system-info-summary>div,.system-info-tool>div,.system-info-pool>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion: reduce){.system-info-resource-link,.system-info-resource-link svg,.system-info-resource-update{transition:none}.system-info-resource-update svg.is-spinning{animation:none}}@keyframes system-info-spin{to{transform:rotate(360deg)}}@media (hover: none){.system-info-resource-link svg{opacity:1}}.github-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.github-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.github-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.github-back:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-back svg{width:16px;height:16px}.github-integration-logo{width:30px;height:30px;flex:0 0 30px;color:hsl(var(--foreground))}.github-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.github-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-integration-layout{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:start;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.github-section-panel{width:100%;min-width:0;box-sizing:border-box;padding:0;border:0;border-radius:0;background:transparent}.github-panel-heading p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.6}.github-release-form{margin-top:24px}.github-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.github-field{min-width:0;display:flex;flex-direction:column}.github-field>label,.github-token-label-row>label{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.github-field-requirement{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:500}.github-field-requirement.is-required{color:hsl(var(--destructive))}.github-field input{width:100%;height:38px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.github-field input::placeholder{color:hsl(var(--muted-foreground))}.github-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.github-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.github-region-picker{gap:0;margin:0}.github-region-picker .pp-region-trigger,.github-region-picker .pp-region-option{height:38px;font-size:14px}.github-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.github-token-field{margin-top:16px}.github-token-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.github-token-label-row>a{display:inline-flex;align-items:center;gap:4px;color:#2371e7;font-size:12.5px;font-weight:600;line-height:1.5;text-decoration:none}.github-token-label-row>a:hover{text-decoration:underline}.github-token-label-row>a:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px;border-radius:4px}.github-token-label-row>a svg{width:13px;height:13px}.github-token-input{position:relative}.github-token-input input{padding-right:42px}.github-token-input button{position:absolute;top:5px;right:4px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.github-token-input button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.github-token-input button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.github-token-input button svg{width:17px;height:17px}.github-submit-message{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;margin-top:16px;padding:10px 12px;border:1px solid;border-radius:8px;font-size:12px;line-height:1.5}.github-submit-message.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.github-submit-message.is-success{border-color:#24894e3d;background:#2bab6012;color:#217343}.github-submit-message a,.github-history-item a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:inherit;font-weight:620;text-decoration:none}.github-submit-message a:hover,.github-history-item a:hover{text-decoration:underline}.github-submit-message svg,.github-history-item svg{width:14px;height:14px}.github-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid hsl(var(--border))}.github-secrets-note{max-width:470px;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.github-secrets-note strong{color:hsl(var(--foreground));font-weight:600}.github-form-actions button{min-width:126px;height:36px;padding:0 15px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;transition:background-color .16s ease,opacity .16s ease}.github-form-actions button:hover:not(:disabled){background:hsl(var(--foreground) / .84)}.github-form-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.github-form-actions button:disabled{cursor:wait;opacity:.56}@media (max-width: 680px){.github-integration-page{padding:20px 18px 0}.github-field-grid{grid-template-columns:minmax(0,1fr)}.github-form-actions{align-items:stretch;flex-direction:column}.github-form-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.github-back,.github-field input,.github-form-actions button{transition:none}}.feishu-integration-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background))}.feishu-integration-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.feishu-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.feishu-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.feishu-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.feishu-back:disabled{cursor:not-allowed;opacity:.5}.feishu-back svg{width:16px;height:16px}.feishu-integration-logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}.feishu-integration-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.feishu-integration-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.feishu-integration-layout{flex:1;min-width:0;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.feishu-section-panel{width:100%;min-width:0}.feishu-panel-description{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.feishu-form{margin-top:24px}.feishu-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.feishu-field{min-width:0;display:flex;flex-direction:column}.feishu-field>label{margin-bottom:7px;color:hsl(var(--foreground));font-size:13px;font-weight:600}.feishu-field input{width:100%;height:36px;box-sizing:border-box;padding:0 11px;border:1px solid hsl(var(--border));border-radius:6px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .16s ease,box-shadow .16s ease}.feishu-field input::placeholder{color:hsl(var(--muted-foreground))}.feishu-field input:focus{border-color:hsl(var(--ring) / .62);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.feishu-field input[aria-invalid=true]{border-color:hsl(var(--destructive) / .62)}.feishu-field input:disabled{cursor:not-allowed;opacity:.62}.feishu-field-help{min-height:18px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-field-error{margin-top:2px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.feishu-region-picker{position:relative;min-width:0}.feishu-region-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.feishu-region-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.feishu-region-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.feishu-region-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.feishu-region-trigger:disabled{cursor:not-allowed;opacity:.5}.feishu-region-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feishu-region-trigger>svg{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.feishu-region-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.feishu-region-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;max-height:238px;overflow-y:auto;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.feishu-region-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left}.feishu-region-option:hover,.feishu-region-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.feishu-region-option.is-selected{background:hsl(var(--primary) / .08)}.feishu-secret-input{position:relative}.feishu-secret-input input{padding-right:54px}.feishu-secret-input>button{position:absolute;top:4px;right:4px;height:28px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550}.feishu-secret-input>button:hover:not(:disabled){background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.feishu-secret-input>button:focus-visible{outline:2px solid hsl(var(--ring) / .28);outline-offset:-2px}.feishu-secret-input>button:disabled{cursor:not-allowed;opacity:.5}.feishu-deployment-status{margin-top:20px;padding:14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .38)}.feishu-deployment-status.is-succeeded{border-color:#40966452;background:#f1f9f4}.feishu-deployment-status.is-failed{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .045)}.feishu-deployment-heading{min-height:20px;color:hsl(var(--foreground));font-size:13px;line-height:1.5}.feishu-deployment-heading strong{display:inline-flex;align-items:center;gap:6px;font-weight:600}.feishu-deployment-heading svg{width:16px;height:16px;color:#217343}.feishu-deployment-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.feishu-deployment-steps li{display:flex;align-items:center;gap:6px;min-width:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.feishu-deployment-steps li>span{width:18px;height:18px;display:grid;flex:0 0 18px;place-items:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));font-size:10px}.feishu-deployment-steps li>span svg{width:12px;height:12px}.feishu-deployment-steps li.is-active{color:hsl(var(--foreground));font-weight:550}.feishu-deployment-steps li.is-active>span{border-color:hsl(var(--foreground) / .3)}.feishu-deployment-steps li.is-done>span{border-color:#34895766;color:#217343}.feishu-deployment-error{margin:10px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.55;white-space:pre-wrap}.feishu-deployment-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;color:hsl(var(--muted-foreground));font-size:12px}.feishu-deployment-result>span:first-child{color:hsl(var(--foreground));font-weight:600}.feishu-deployment-result a{display:inline-flex;align-items:center;gap:4px;color:hsl(var(--foreground));font-weight:550;text-decoration:none}.feishu-deployment-result a:hover{text-decoration:underline}.feishu-deployment-result a svg{width:14px;height:14px}.feishu-form-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid hsl(var(--border))}.feishu-secrets-note{display:flex;min-width:0;flex-direction:column;gap:3px}.feishu-secrets-note strong{font-size:12.5px;font-weight:600}.feishu-secrets-note span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.feishu-action-buttons{display:flex;flex:0 0 auto;gap:8px}.feishu-submit,.feishu-cancel{height:36px;padding:0 15px;border-radius:7px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.feishu-submit{border:1px solid hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.feishu-submit:hover:not(:disabled){opacity:.88}.feishu-submit:disabled{cursor:not-allowed;opacity:.45}.feishu-cancel{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.feishu-cancel:hover{background:hsl(var(--secondary))}.feishu-submit:focus-visible,.feishu-cancel:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}@media (max-width: 760px){.feishu-integration-page{padding:24px 20px 0}.feishu-field-grid{grid-template-columns:1fr}.feishu-deployment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-form-actions{align-items:stretch;flex-direction:column}.feishu-action-buttons{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.feishu-back,.feishu-field input,.feishu-region-trigger,.feishu-region-trigger>svg{transition:none}}.coding-agents-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:28px 32px 0;background:hsl(var(--background));color:hsl(var(--foreground))}.coding-agents-header{display:flex;align-items:center;gap:12px;padding-bottom:24px}.coding-agents-back{width:32px;height:32px;display:grid;flex:0 0 32px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .16s ease,color .16s ease}.coding-agents-back:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-back:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-back:disabled{cursor:not-allowed;opacity:.5}.coding-agents-back svg{width:16px;height:16px}.coding-agents-logo{width:32px;height:32px;flex:0 0 32px;color:hsl(var(--foreground))}.coding-agents-header h1{margin:0;font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.coding-agents-header p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.coding-agents-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:56px;scrollbar-gutter:stable}.coding-agents-content{width:100%;display:flex;flex-direction:column;gap:14px}.coding-agents-section{min-width:0;box-sizing:border-box;padding:18px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.coding-agents-section-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coding-agents-section-heading>div{display:flex;align-items:center;gap:9px}.coding-agents-section-heading>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11px;font-weight:650}.coding-agents-section-heading h2{margin:0;font-size:14px;font-weight:650;line-height:1.4}.coding-agents-section-heading>button,.coding-agents-error-row button{min-height:28px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600}.coding-agents-section-heading>button:hover:not(:disabled),.coding-agents-error-row button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-section-heading>button:focus-visible,.coding-agents-error-row button:focus-visible{outline:2px solid hsl(var(--ring) / .3)}.coding-agents-section-heading>button:disabled{cursor:wait;opacity:.5}.coding-agents-inline-state{min-height:86px;display:flex;align-items:center;justify-content:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.coding-agents-inline-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-error-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px;line-height:1.5}.coding-agents-agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coding-agents-agent{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;box-sizing:border-box;padding:12px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.coding-agents-agent:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary) / .18)}.coding-agents-agent.is-selected{border-color:hsl(var(--ring) / .5);background:hsl(var(--primary) / .035);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.coding-agents-agent:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-agent:disabled{cursor:not-allowed;opacity:.58}.coding-agents-agent-mark{width:38px;height:38px;display:grid;place-items:center;color:hsl(var(--foreground))}.coding-agents-agent-mark img{width:32px;height:32px;border-radius:7px}.coding-agents-agent-mark svg{width:32px;height:32px}.coding-agents-agent-mark.is-claude-code{color:#d86e4b}.coding-agents-agent-mark.is-codex{color:#4a55ed}.coding-agents-agent-copy{min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:40px}.coding-agents-agent-copy strong{overflow:hidden;font-size:12.5px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-agent-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.coding-agents-status{position:absolute;top:8px;right:8px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:600}.coding-agents-status.is-ready{background:#36ab661a;color:#247b48}.coding-agents-check{position:absolute;right:9px;bottom:9px;width:17px;height:17px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:5px;color:transparent}.coding-agents-agent.is-selected .coding-agents-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-check svg{width:12px;height:12px}.coding-agents-skill-list{display:flex;flex-direction:column;gap:7px}.coding-agents-skill{min-width:0;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));transition:border-color .15s ease,background-color .15s ease}.coding-agents-skill:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .14)}.coding-agents-skill.is-selected{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .025)}.coding-agents-skill label{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;cursor:pointer}.coding-agents-skill label>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.coding-agents-skill input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.coding-agents-skill-check{width:15px;height:15px;display:grid;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));color:transparent}.coding-agents-skill-check svg{width:10px;height:10px}.coding-agents-skill input:checked+.coding-agents-skill-check{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.coding-agents-skill input:focus-visible+.coding-agents-skill-check,.coding-agents-skill>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-skill input:disabled+.coding-agents-skill-check{opacity:.55}.coding-agents-skill>button{min-height:30px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;white-space:nowrap}.coding-agents-skill>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-skill-list strong{font-size:12.5px;font-weight:630;line-height:1.35}.coding-agents-skill-list small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.coding-agents-global{margin-top:14px;padding:14px;border-radius:9px;background:hsl(var(--secondary) / .42)}.coding-agents-global-heading{display:flex;align-items:center;gap:9px}.coding-agents-global-heading>svg{width:18px;height:18px;flex:0 0 18px;color:hsl(var(--muted-foreground))}.coding-agents-global-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}.coding-agents-global-heading strong{font-size:12px;font-weight:650}.coding-agents-global-heading span{color:hsl(var(--muted-foreground));font-size:11px}.coding-agents-global dl{margin:10px 0 0 27px}.coding-agents-global dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-top:6px;font-size:11.5px;line-height:1.45}.coding-agents-global dt{color:hsl(var(--muted-foreground))}.coding-agents-global dd{min-width:0;margin:0;overflow-wrap:anywhere}.coding-agents-global>p{margin:9px 0 0 27px;color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-result{padding:11px 12px;border:1px solid;border-radius:8px;font-size:11.5px;line-height:1.45}.coding-agents-result.is-success{border-color:#2c965838;background:#2da9610f;color:#217343}.coding-agents-result.is-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .05);color:hsl(var(--destructive))}.coding-agents-result strong{font-weight:620}.coding-agents-result ul{margin:7px 0 0;padding-left:16px;color:inherit}.coding-agents-result li{margin-top:3px;overflow-wrap:anywhere}.coding-agents-actions{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.coding-agents-actions>span{color:hsl(var(--muted-foreground));font-size:11.5px}.coding-agents-actions>button{min-width:112px;min-height:36px;padding:7px 18px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:opacity .15s ease}.coding-agents-actions>button:hover:not(:disabled){opacity:.82}.coding-agents-actions>button:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:2px}.coding-agents-actions>button:disabled{cursor:not-allowed;opacity:.42}.coding-agents-preview-dialog{width:min(980px,calc(100vw - 48px));height:min(680px,calc(100vh - 48px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 24px 64px hsl(var(--foreground) / .18)}.coding-agents-preview-dialog[open]{display:flex;flex-direction:column}.coding-agents-preview-dialog::backdrop{background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coding-agents-preview-header{min-height:64px;display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:0 16px 0 18px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.coding-agents-preview-mark svg{width:18px;height:18px}.coding-agents-preview-header h2,.coding-agents-preview-header p{margin:0}.coding-agents-preview-header h2{font-size:14px;font-weight:650;line-height:1.4}.coding-agents-preview-header p{margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.coding-agents-preview-header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.coding-agents-preview-header>button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-header>button:focus-visible,.coding-agents-preview-tree button:focus-visible,.coding-agents-preview-tree summary:focus-visible,.coding-agents-preview-state button:focus-visible,.coding-agents-preview-file pre:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:1px}.coding-agents-preview-header>button svg{width:16px;height:16px}.coding-agents-preview-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}.coding-agents-preview-tree{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.coding-agents-preview-tree-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-tree-title span{font-size:11.5px;font-weight:650}.coding-agents-preview-tree-title small{min-width:20px;padding:2px 5px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:9.5px;text-align:center}.coding-agents-preview-tree-scroll{min-height:0;overflow:auto;padding:8px}.coding-agents-preview-tree details{margin-bottom:4px}.coding-agents-preview-tree summary{min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;border-radius:6px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:11.5px;list-style:none}.coding-agents-preview-tree summary::-webkit-details-marker{display:none}.coding-agents-preview-tree summary:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree summary svg,.coding-agents-preview-tree button svg{width:15px;height:15px;flex:0 0 15px}.coding-agents-preview-tree details>div{padding-left:13px}.coding-agents-preview-tree button{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 7px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;text-align:left}.coding-agents-preview-tree button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.coding-agents-preview-tree button.is-selected{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground));font-weight:600}.coding-agents-preview-tree button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file{min-width:0;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.coding-agents-preview-file>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid hsl(var(--border))}.coding-agents-preview-file>header strong{min-width:0;overflow:hidden;font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.coding-agents-preview-file>header span{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10.5px}.coding-agents-preview-file pre{flex:1;min-width:0;min-height:0;margin:0;overflow:auto;padding:16px 18px 24px;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.coding-agents-preview-file code{font:inherit}.coding-agents-preview-state,.coding-agents-preview-unavailable{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.coding-agents-preview-state i{width:14px;height:14px;box-sizing:border-box;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:999px;animation:coding-agents-spin .7s linear infinite}.coding-agents-preview-state.is-error{flex-direction:column;color:hsl(var(--destructive))}.coding-agents-preview-state button{min-height:30px;padding:4px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px}@keyframes coding-agents-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.coding-agents-page{padding:20px 18px 0}.coding-agents-agent-grid{grid-template-columns:minmax(0,1fr)}.coding-agents-global-heading>div{align-items:flex-start;flex-direction:column;gap:2px}.coding-agents-global dl>div{grid-template-columns:minmax(0,1fr);gap:2px}.coding-agents-actions{align-items:stretch;flex-direction:column;gap:8px}.coding-agents-actions>span{text-align:right}.coding-agents-actions>button{width:100%}.coding-agents-preview-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}.coding-agents-preview-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,34%) minmax(0,1fr)}.coding-agents-preview-tree{border-right:0;border-bottom:1px solid hsl(var(--border))}}@media (prefers-reduced-motion: reduce){.coding-agents-back,.coding-agents-agent,.coding-agents-skill,.coding-agents-actions>button{transition:none}.coding-agents-inline-state i,.coding-agents-preview-state i{animation-duration:1.5s}}.new-chat-mode{position:relative;align-self:flex-start}.new-chat-mode__trigger{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 7px 2px 5px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease}.composer--new-chat .new-chat-mode__trigger{min-height:36px;font-size:15px}.new-chat-mode__trigger:hover,.new-chat-mode__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-mode__current{max-width:min(180px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__trigger:focus-visible,.new-chat-mode__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-mode__icon,.new-chat-mode__option-icon{display:inline-grid;place-items:center;flex:0 0 auto}.new-chat-mode__icon svg{width:15px;height:15px}.new-chat-mode__option-icon svg{width:18px;height:18px}.new-chat-mode svg{fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.new-chat-mode svg.new-chat-mode__temporary-icon{stroke-width:1.3}.new-chat-mode__chevron{width:12px;height:12px;transition:transform .14s ease}.new-chat-mode__trigger[aria-expanded=true] .new-chat-mode__chevron{transform:rotate(180deg)}.new-chat-mode__menus{position:absolute;z-index:43;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:8px}.new-chat-mode__menu{flex:0 0 auto;width:286px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__option{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));text-align:left;cursor:pointer}.new-chat-mode__option.is-active{background:hsl(var(--accent))}.new-chat-mode__option:disabled{cursor:not-allowed;opacity:.48}.new-chat-mode__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-mode__copy>span:last-child{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.new-chat-mode__label{display:flex;min-width:0;align-items:center;gap:7px;font-size:13px;line-height:1.3}.new-chat-mode__label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-mode__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-mode__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-mode__submenu{flex:0 0 auto;width:248px;padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-mode__submenu-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-mode__submenu-option:hover:not(:disabled){background:hsl(var(--accent))}.new-chat-mode__submenu-option:disabled{cursor:not-allowed;opacity:.42}.new-chat-mode__builtin-icon{width:24px;height:24px;flex:0 0 auto;stroke-width:1.75}@media (max-width: 640px){.new-chat-mode__menus{width:min(320px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 160px));flex-direction:column;overflow-y:auto}.new-chat-mode__menu,.new-chat-mode__submenu{width:100%}}@media (prefers-reduced-motion: reduce){.new-chat-mode__trigger,.new-chat-mode__chevron{transition:none}}.new-chat-agent-picker{position:relative;min-width:0}.composer--new-chat .new-chat-agent-picker{position:absolute;z-index:5;bottom:10px;left:52px}.composer--new-chat.composer--has-task .new-chat-agent-picker{left:138px}.composer--new-chat.composer--task-image .new-chat-agent-picker,.composer--new-chat.composer--task-video .new-chat-agent-picker{left:176px}.new-chat-agent-picker__trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(220px,42vw);min-height:36px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-agent-picker__trigger:hover,.new-chat-agent-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-agent-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-agent-picker__trigger>span{display:flex;min-height:20px;align-items:center;overflow:hidden;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-chevron{width:13px;height:13px;flex:0 0 auto;transform:rotate(90deg);transition:transform .14s ease}.new-chat-agent-picker__trigger[aria-expanded=true] .new-chat-agent-picker__trigger-chevron{transform:rotate(-90deg)}.new-chat-agent-picker__menus{position:absolute;z-index:44;top:calc(100% + 7px);left:0;display:flex;align-items:flex-start;gap:7px;outline:none}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{padding:5px;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-agent-picker__menu{width:218px}.new-chat-agent-picker__submenu{width:272px;max-height:286px;overflow:auto}.new-chat-agent-picker__type,.new-chat-agent-picker__runtime{display:grid;align-items:center;width:100%;min-height:38px;border:0;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left}.new-chat-agent-picker__type{grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;padding:7px 8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__type:hover,.new-chat-agent-picker__type.is-keyboard-active,.new-chat-agent-picker__runtime:hover:not(:disabled),.new-chat-agent-picker__runtime.is-keyboard-active{background:hsl(var(--accent))}.new-chat-agent-picker__type-icon,.new-chat-agent-picker__runtime-icon{width:18px;height:18px;flex:0 0 auto}.new-chat-agent-picker__nested-chevron{width:14px;height:14px;color:hsl(var(--muted-foreground))}.new-chat-agent-picker__runtime{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:8px;font-size:13px;cursor:pointer}.new-chat-agent-picker__runtime:disabled{cursor:wait;opacity:.62}.new-chat-agent-picker__runtime>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-agent-picker__runtime small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-agent-picker__check{width:16px;height:16px;color:hsl(var(--primary))}.new-chat-agent-picker__runtime-list{display:flex;flex-direction:column;gap:1px}.new-chat-agent-picker__empty{min-height:116px;padding:14px 10px}.new-chat-agent-picker__empty-title{white-space:nowrap}.new-chat-agent-picker__empty-agent-icon{width:32px;height:32px}.new-chat-agent-picker__status,.new-chat-agent-picker__error,.new-chat-agent-picker__inline-error{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.new-chat-agent-picker__status{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;padding:12px}.new-chat-agent-picker__error{display:flex;flex-direction:column;gap:8px;padding:10px;color:hsl(var(--destructive))}.new-chat-agent-picker__error>span,.new-chat-agent-picker__inline-error{white-space:pre-wrap;overflow-wrap:anywhere}.new-chat-agent-picker__error button,.new-chat-agent-picker__load-more{min-height:30px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.new-chat-agent-picker__inline-error{padding:6px 8px;color:hsl(var(--destructive))}.new-chat-agent-picker__load-more{width:100%;margin-top:4px}.new-chat-agent-picker__load-more:disabled{cursor:wait;opacity:.55}.new-chat-agent-picker__spinner{width:13px;height:13px;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-agent-picker-spin .7s linear infinite}.new-chat-agent-picker__trigger:focus-visible,.new-chat-agent-picker__type:focus-visible,.new-chat-agent-picker__runtime:focus-visible,.new-chat-agent-picker__error button:focus-visible,.new-chat-agent-picker__load-more:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}@keyframes new-chat-agent-picker-spin{to{transform:rotate(360deg)}}@media (max-height: 700px) and (min-width: 641px){.new-chat-agent-picker__menus{top:auto;bottom:calc(100% + 7px)}.new-chat-agent-picker__submenu{max-height:min(220px,calc(100dvh - 180px))}}@media (max-width: 640px){.new-chat-agent-picker__menus{width:min(320px,calc(100vw - 88px));max-height:min(420px,calc(100dvh - 168px));flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.new-chat-agent-picker__menu,.new-chat-agent-picker__submenu{width:100%;flex:0 0 auto}.new-chat-agent-picker__submenu{max-height:220px}}@media (prefers-reduced-motion: reduce){.new-chat-agent-picker__trigger,.new-chat-agent-picker__trigger-chevron{transition:none}.new-chat-agent-picker__spinner{animation:none}}.new-chat-workspace-tabs{position:relative;z-index:1;display:flex;align-self:flex-start;width:100%;height:76px;margin:0 0 -26px;padding:8px 10px 34px;align-items:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;border-radius:16px 16px 13px 13px;background:hsl(var(--muted) / .72);box-sizing:border-box;scrollbar-width:none}.new-chat-workspace-tabs::-webkit-scrollbar{display:none}.new-chat-workspace-tabs__tab{position:relative;display:inline-flex;flex:0 0 104px;width:104px;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.new-chat-workspace-tabs__tab:hover:not(:disabled):not(.is-active){background:hsl(var(--background) / .56);color:hsl(var(--foreground))}.new-chat-workspace-tabs__tab.is-active{color:hsl(var(--foreground));font-weight:400}.new-chat-workspace-tabs__slider{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid hsl(var(--border) / .76);border-radius:inherit;background:hsl(var(--panel));box-shadow:0 1px 2px hsl(var(--foreground) / .035);pointer-events:none}.new-chat-workspace-tabs__tab:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-workspace-tabs__tab:disabled{cursor:not-allowed;opacity:.48}.new-chat-workspace-tabs__icon{position:relative;z-index:1;width:17px;height:17px;flex:0 0 auto}.new-chat-workspace-tabs__skill-icon{display:inline-grid;place-items:center}.new-chat-workspace-tabs__skill-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .2s cubic-bezier(.22,1,.36,1)}.new-chat-workspace-tabs__skill-shape.is-triangle{clip-path:inset(0 18% 50% 18%);transform-origin:50% 30%}.new-chat-workspace-tabs__skill-shape.is-circle{clip-path:inset(47% 50% 0 0);transform-origin:28% 72%}.new-chat-workspace-tabs__skill-shape.is-square{clip-path:inset(47% 0 0 50%);transform-origin:72% 72%}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-box:view-box;transform-origin:12px 18.5px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-triangle{transform:translateY(-1px) scale(1.04)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-circle{transform:translate(-.6px,.6px) rotate(-6deg)}.new-chat-workspace-tabs__tab:hover:not(:disabled) .new-chat-workspace-tabs__skill-shape.is-square{transform:translate(.7px,.5px) rotate(6deg)}.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transform-origin:3.25px 9px}.new-chat-workspace-tabs__tab:hover:not(:disabled) .video-generate-icon__clapper{transform:rotate(-14deg)}.new-chat-workspace-tabs__label{position:relative;z-index:1}.new-chat-skill-picker{position:relative;flex:0 0 auto;min-width:0}.new-chat-skill-controls{position:absolute;z-index:5;right:52px;bottom:10px;left:52px;display:flex;min-width:0;align-items:center;gap:4px}.new-chat-skill-controls__style,.new-chat-skill-controls__model{min-width:0}.new-chat-skill-controls__style{flex:0 1 auto;max-width:180px}.new-chat-skill-controls__model{flex:0 1 auto;max-width:240px;margin-left:auto}.new-chat-skill-controls__style .new-chat-compact-select,.new-chat-skill-controls__model .new-chat-compact-select{width:fit-content;max-width:100%}.new-chat-skill-controls__style .new-chat-compact-select__trigger,.new-chat-skill-controls__model .new-chat-compact-select__trigger{width:auto;max-width:100%}.new-chat-skill-controls__model .new-chat-compact-select__menu{right:0;left:auto}.new-chat-skill-picker__trigger{display:inline-flex;min-height:36px;align-items:center;gap:5px;padding:2px 8px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;line-height:20px;cursor:pointer;transition:color .14s ease,background .14s ease}.new-chat-skill-picker__trigger:hover,.new-chat-skill-picker__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-skill-picker__trigger:focus-visible,.new-chat-skill-picker__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-skill-picker__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-skill-picker__chevron,.new-chat-skill-picker__check{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-skill-picker__chevron{transition:transform .14s ease}.new-chat-skill-picker__trigger[aria-expanded=true] .new-chat-skill-picker__chevron{transform:rotate(180deg)}.new-chat-skill-picker__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:180px;padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .32),0 3px 10px hsl(var(--foreground) / .06)}.new-chat-skill-picker__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.new-chat-skill-picker__option:hover,.new-chat-skill-picker__option.is-active{background:hsl(var(--accent))}.new-chat-skill-picker__check{color:hsl(var(--primary))}.new-chat-compact-select{position:relative;min-width:0;max-width:190px}.new-chat-compact-select__trigger{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;gap:5px;padding:2px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-compact-select__trigger:focus-visible,.new-chat-compact-select__search input:focus-visible,.new-chat-compact-select__option:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-compact-select__trigger:disabled{cursor:not-allowed;opacity:.48}.new-chat-compact-select__label{flex:0 0 auto;color:hsl(var(--muted-foreground) / .76)}.new-chat-compact-select__value{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__value.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.new-chat-compact-select__chevron,.new-chat-compact-select__check{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.new-chat-compact-select__chevron{transition:transform .14s ease}.new-chat-compact-select__spinner{width:13px;height:13px;flex:0 0 auto;border:1.5px solid hsl(var(--border));border-top-color:hsl(var(--foreground));border-radius:50%;animation:new-chat-compact-select-spin .7s linear infinite}@keyframes new-chat-compact-select-spin{to{transform:rotate(360deg)}}.new-chat-compact-select__trigger[aria-expanded=true] .new-chat-compact-select__chevron{transform:rotate(180deg)}.new-chat-compact-select__menu{position:absolute;z-index:44;top:calc(100% + 7px);left:0;width:min(240px,calc(100vw - 32px));padding:4px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--popover, var(--background)));box-shadow:0 18px 48px -22px hsl(var(--foreground) / .28),0 3px 10px hsl(var(--foreground) / .05)}.new-chat-compact-select__search{display:block;padding:2px 2px 5px}.new-chat-compact-select__search input{width:100%;min-height:32px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.new-chat-compact-select__list{max-height:240px;overflow-y:auto}.new-chat-compact-select__option{display:grid;grid-template-columns:minmax(0,1fr) 16px;width:100%;min-height:36px;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.new-chat-compact-select__option:hover,.new-chat-compact-select__option.is-active{background:hsl(var(--accent))}.new-chat-compact-select__option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-compact-select__option-copy strong,.new-chat-compact-select__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-compact-select__option-copy strong{font-size:13px;font-weight:550}.new-chat-compact-select__option-copy small{color:hsl(var(--muted-foreground));font-size:11px}.new-chat-compact-select__check{color:hsl(var(--primary))}.new-chat-compact-select__status{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.new-chat-compact-select__status.is-error{color:hsl(var(--destructive))}.new-chat-compact-select__status button{flex:0 0 auto;padding:3px 7px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;cursor:pointer}@media (max-width: 520px){.new-chat-workspace-tabs__tab{gap:5px;padding:0 6px;font-size:13px}.new-chat-workspace-tabs__icon{width:16px;height:16px}.new-chat-skill-controls>.new-chat-compact-select{flex:1 1 0}.new-chat-skill-picker__trigger{padding-right:5px;padding-left:4px;font-size:13px}.new-chat-compact-select__trigger{padding-right:5px;padding-left:5px;gap:3px}.new-chat-compact-select__label{display:none}}@media (prefers-reduced-motion: reduce){.new-chat-workspace-tabs__tab,.new-chat-skill-picker__trigger,.new-chat-skill-picker__chevron,.new-chat-compact-select__trigger,.new-chat-compact-select__chevron{transition:none}.new-chat-compact-select__spinner{animation:none}.new-chat-workspace-tabs__skill-shape,.new-chat-workspace-tabs__tab .video-generate-icon__clapper{transition:none}}.new-chat-skill-target-picker{position:relative;min-width:0;flex:0 1 220px}.new-chat-skill-target-picker__trigger{max-width:100%}.new-chat-skill-target-picker__menus.is-above{top:auto;bottom:calc(100% + 7px)}.new-chat-skill-target-picker__menus>.new-chat-agent-picker__menu,.new-chat-skill-target-picker__submenu{max-height:var(--new-chat-skill-menu-max-height, 286px);overflow-y:auto;overscroll-behavior:contain}.new-chat-skill-target-picker__space{grid-template-columns:minmax(0,1fr) 16px}.new-chat-skill-target-picker__space>span,.new-chat-skill-target-picker__skill>span,.new-chat-skill-target-picker__skill>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-skill-target-picker__space.is-previewed{background:hsl(var(--accent))}.new-chat-skill-target-picker__skill{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.new-chat-skill-target-picker__skill>span{grid-column:1;font-weight:400}.new-chat-skill-target-picker__skill>small{grid-column:1}.new-chat-skill-target-picker__skill>.new-chat-agent-picker__check{grid-column:2;grid-row:1 / span 2}.new-chat-skill-target-picker__empty{display:grid;min-height:76px;place-items:center;padding:12px;color:hsl(var(--muted-foreground));font-size:12px}@media (prefers-reduced-motion: reduce){.new-chat-skill-target-picker__spinner{animation:none}}.new-chat-video-controls{position:absolute;z-index:0;top:calc(100% - 8px);right:16px;left:16px;display:flex;min-width:0;flex-direction:column;gap:12px;padding:24px 14px 12px;border:0;border-radius:0 0 14px 14px;background:hsl(var(--muted) / .72);color:hsl(var(--foreground));transform-origin:top center}.new-chat-video-controls__parameters{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:8px;background:hsl(var(--background) / .54)}.new-chat-video-task-mode{position:absolute;z-index:5;bottom:10px;left:52px;width:fit-content;min-width:0;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select{width:fit-content;max-width:220px}.new-chat-video-task-mode .new-chat-compact-select__trigger{width:auto;min-width:96px;max-width:220px;padding-right:10px;padding-left:10px}.new-chat-video-generation-model{position:absolute;z-index:5;right:52px;bottom:10px;display:inline-flex;min-width:0;min-height:36px;max-width:290px;align-items:center;gap:5px;padding:2px 8px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-generation-model strong{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-weight:520;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-controls__field{min-width:0}.new-chat-video-controls__parameters>:not(:first-child){border-left:1px solid hsl(var(--border) / .62)}.new-chat-video-controls .new-chat-compact-select{width:100%;max-width:none}.new-chat-video-controls .new-chat-compact-select__trigger,.new-chat-video-duration{width:100%;min-height:36px;border:0;border-radius:0;background:transparent}.new-chat-video-controls__parameters>:first-child,.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:8px 0 0 8px}.new-chat-video-controls__parameters>:last-child{border-radius:0 8px 8px 0}.new-chat-video-controls .new-chat-compact-select__trigger:hover:not(:disabled),.new-chat-video-controls .new-chat-compact-select__trigger[aria-expanded=true]{background:hsl(var(--background) / .92)}.new-chat-video-duration{display:grid;min-width:0;grid-template-columns:72px minmax(52px,1fr);align-items:center;gap:8px;padding:2px 8px}.new-chat-video-duration.is-disabled{opacity:.48}.new-chat-video-duration__header{display:flex;align-items:center;justify-content:space-between;gap:4px;color:hsl(var(--muted-foreground) / .76);font-size:13px}.new-chat-video-duration__header output{color:hsl(var(--foreground));font-weight:550}.new-chat-video-duration input{width:100%;height:16px;margin:0;accent-color:hsl(var(--primary));cursor:pointer}.new-chat-video-duration input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:hsl(var(--muted-foreground) / .24)}.new-chat-video-duration input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:hsl(var(--foreground) / .72);-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-video-duration input:disabled{cursor:not-allowed}.new-chat-video-duration:focus-within{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-controls__assets{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-chat-video-controls__assets.is-single{grid-template-columns:minmax(0,1fr)}.composer-input-stack.has-inline-asset .comp-input{padding-left:96px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:96px;max-width:calc(100% - 106px)}.new-chat-inline-video{position:absolute;z-index:3;top:3px;left:10px;width:70px;height:66px}.new-chat-inline-video__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-inline-video__tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;overflow:hidden;box-sizing:border-box;border:1px dashed hsl(var(--muted-foreground) / .5);border-radius:10px;background:hsl(var(--muted) / .45);color:hsl(var(--muted-foreground));font-size:12px;line-height:1;cursor:pointer;transform:rotate(-6deg);transform-origin:center;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .15s ease-out,background-color .15s ease-out}.new-chat-inline-video__tile:hover,.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile,.new-chat-inline-video:focus-within .new-chat-inline-video__tile{border-color:hsl(var(--muted-foreground) / .72);background:hsl(var(--muted) / .68);transform:rotate(0)}.new-chat-inline-video__input:focus-visible+.new-chat-inline-video__tile{outline:2px solid hsl(var(--primary) / .42);outline-offset:2px}.new-chat-inline-video__tile svg{width:22px;height:22px;flex:0 0 auto}.new-chat-inline-video__tile img,.new-chat-inline-video__tile video{width:100%;height:100%;display:block;object-fit:cover}.new-chat-inline-video__remove{position:absolute;z-index:2;top:-5px;right:-5px;width:22px;height:22px;display:grid;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;opacity:0;transition:opacity .14s ease-out,color .14s ease-out}.new-chat-inline-video:hover .new-chat-inline-video__remove,.new-chat-inline-video:focus-within .new-chat-inline-video__remove{opacity:1}.new-chat-inline-video__remove:hover{color:hsl(var(--foreground))}.new-chat-inline-video__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px;opacity:1}.new-chat-inline-video__remove svg{width:13px;height:13px}.new-chat-inline-video.is-disabled{opacity:.48}.new-chat-inline-video.is-disabled .new-chat-inline-video__tile,.new-chat-inline-video__remove:disabled{cursor:not-allowed}.new-chat-video-controls__model-hint{min-height:18px;display:flex;align-items:center;justify-content:center;margin:-2px 2px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.new-chat-video-controls__storage-unavailable{min-height:18px;margin:-3px 2px -4px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;text-align:center}.new-chat-video-model-spinner{width:13px;height:13px;box-sizing:border-box;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:new-chat-video-model-spin .72s linear infinite}@keyframes new-chat-video-model-spin{to{transform:rotate(360deg)}}.new-chat-video-asset{position:relative;min-width:0}.new-chat-video-asset__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.new-chat-video-asset__label{display:grid;min-height:50px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 8px;border:1px dashed hsl(var(--border) / .72);border-radius:8px;background:hsl(var(--background) / .36);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.new-chat-video-asset__label:hover{border-color:hsl(var(--muted-foreground) / .48);background:hsl(var(--background) / .8)}.new-chat-video-asset__input:focus-visible+.new-chat-video-asset__label{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset.is-disabled{opacity:.48}.new-chat-video-asset.is-disabled .new-chat-video-asset__label{cursor:not-allowed}.new-chat-video-asset__icon{display:inline-grid;width:26px;height:26px;place-items:center;border-radius:7px;background:hsl(var(--accent));color:hsl(var(--muted-foreground))}.new-chat-video-asset__icon svg{width:15px;height:15px}.new-chat-video-asset__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.new-chat-video-asset__title{display:flex;min-width:0;align-items:baseline;gap:6px;font-size:13px;font-weight:550}.new-chat-video-asset__title small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:450}.new-chat-video-asset__value{overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-asset__value.is-selected{color:hsl(var(--foreground) / .78)}.new-chat-video-asset__action{padding-right:2px;color:hsl(var(--foreground) / .74);font-size:12px;font-weight:550}.new-chat-video-asset__remove{position:absolute;z-index:1;top:50%;right:7px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer;transform:translateY(-50%)}.new-chat-video-asset__remove:hover{color:hsl(var(--foreground))}.new-chat-video-asset__remove:focus-visible{outline:2px solid hsl(var(--primary) / .42);outline-offset:1px}.new-chat-video-asset__remove:disabled{cursor:not-allowed}.new-chat-video-asset__remove svg{width:14px;height:14px}.new-chat-video-asset:has(.new-chat-video-asset__remove) .new-chat-video-asset__action{visibility:hidden}@media (max-width: 620px){.new-chat-video-controls{right:16px;left:16px;padding-right:12px;padding-left:12px}.new-chat-video-controls__parameters{grid-template-columns:minmax(0,1fr)}.new-chat-video-controls__parameters>*{border-left:0;border-top:1px solid hsl(var(--border) / .62);border-radius:0!important}.new-chat-video-controls__parameters>:first-child{border-top:0;border-radius:8px 8px 0 0!important}.new-chat-video-controls__parameters>:first-child .new-chat-compact-select__trigger{border-radius:inherit}.new-chat-video-controls__parameters>:last-child{border-radius:0 0 8px 8px!important}.new-chat-video-controls__assets{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.new-chat-video-model-spinner{border-right-color:currentColor;animation:none}}@media (max-width: 520px){.new-chat-video-task-mode,.new-chat-video-task-mode .new-chat-compact-select,.new-chat-video-task-mode .new-chat-compact-select__trigger{max-width:132px}.new-chat-video-generation-model{max-width:84px}.new-chat-video-generation-model>span{display:none}.composer-input-stack.has-inline-asset .comp-input{padding-left:84px}.composer-input-stack.has-inline-asset .composer-placeholder-reveal{left:84px;max-width:calc(100% - 94px)}.new-chat-inline-video{width:60px;height:60px}}@media (prefers-reduced-motion: reduce){.new-chat-video-asset__label,.new-chat-inline-video__tile,.new-chat-inline-video__remove{transition:none}.new-chat-inline-video__tile{transform:none}}.stk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px 6vh}.stk-head{text-align:center;margin-bottom:26px}.stk-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}.stk-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.stk-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}.stk-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,background .12s}.stk-card:hover{border-color:hsl(var(--ring) / .35);background:hsl(var(--foreground) / .02);box-shadow:0 8px 24px -16px hsl(var(--foreground) / .25)}.stk-card-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.stk-card-icon svg{width:21px;height:21px}.stk-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.stk-card-title{font-size:15px;font-weight:600}.stk-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.stk-card-status{flex-shrink:0;padding:4px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.stk-card-arrow{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.stk-card:hover .stk-card-arrow{opacity:1;transform:translate(0)}.stk-card-disabled{opacity:.5;cursor:not-allowed}.stk-card-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--card));box-shadow:none}.stk-card-disabled .stk-card-arrow{display:none}.stk-footer{margin-top:18px;width:100%;max-width:520px;display:flex;justify-content:center}.stk-import{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px dashed hsl(var(--border));border-radius:9px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.stk-import:hover{color:hsl(var(--foreground));border-color:hsl(var(--ring) / .4);background:hsl(var(--foreground) / .03)}.stk-import svg{width:15px;height:15px}.ic-root{display:flex;flex-direction:column;height:100%;min-height:0;background:hsl(var(--canvas));overflow:hidden}.ic-header{display:flex;align-items:flex-start;gap:12px;padding:20px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.ic-header h1,.ic-header p,.ic-panel h2,.ic-panel p{margin:0}.ic-header h1{font-size:20px;line-height:1.25;font-weight:650}.ic-header p{margin-top:5px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.ic-back{flex-shrink:0;min-height:34px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer}.ic-back:hover{background:hsl(var(--muted))}.ic-main{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:32px 24px}.ic-panel{max-width:760px;margin:0 auto;padding:24px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.ic-goal-heading{display:flex;align-items:center;gap:12px}.ic-goal-heading h2{font-size:17px;line-height:1.3;font-weight:600}.ic-goal-heading p{margin-top:4px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-create-icon-wrap{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:9px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.ic-create-icon{width:20px;height:20px}.ic-goal-label{display:block;margin:24px 0 7px;font-size:12px;font-weight:600}.ic-goal-input{display:block;width:100%;min-height:136px;resize:vertical;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6}.ic-goal-input::placeholder{color:hsl(var(--muted-foreground))}.ic-goal-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.ic-goal-input:disabled{opacity:.55;cursor:not-allowed}.ic-preparation{margin-top:12px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .55)}.ic-preparation>div{min-width:0}.ic-preparation strong{display:block;color:hsl(var(--foreground));font-size:13.5px;font-weight:600;line-height:1.45}.ic-preparation .text-shimmer{width:fit-content;max-width:100%;margin:4px 0 0;font-size:13px;line-height:1.5}.ic-preparation-next{margin-top:4px!important;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.ic-state,.ic-error{margin:10px 0 0!important;font-size:12.5px;line-height:1.5}.ic-state{color:hsl(var(--muted-foreground))}.ic-error{color:hsl(var(--destructive))}.ic-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.ic-actions>span{color:hsl(var(--muted-foreground));font-size:12px}.ic-action-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.ic-secondary,.ic-primary{height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ic-secondary{border:1px solid hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.ic-primary{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ic-secondary:hover{background:hsl(var(--muted))}.ic-primary:hover:not(:disabled){opacity:.88}.ic-primary:disabled{opacity:.45;cursor:not-allowed}.ic-back:focus-visible,.ic-secondary:focus-visible,.ic-primary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}@media (max-width: 640px){.ic-header{padding:16px}.ic-main{padding:20px 16px}.ic-panel{padding:18px}.ic-actions{align-items:stretch;flex-direction:column}.ic-action-buttons{width:100%}.ic-action-buttons button{flex:1}}@media (prefers-reduced-motion: reduce){.ic-root *{transition:none!important}}.pp-config-section.pp-resource-section{overflow:visible}.pp-resource-section:has(.pp-deployment-select-trigger[aria-expanded=true]){position:relative;z-index:70}.pp-resource-list{--pp-resource-mode-column: minmax(196px, .34fr);display:flex;flex-direction:column;gap:12px}.pp-resource-item{min-width:0;padding:12px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background))}.pp-resource-name{margin-bottom:10px;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1.4}.pp-resource-grid{min-width:0;display:grid;grid-template-columns:var(--pp-resource-mode-column) minmax(0,.66fr);align-items:start;gap:12px}.pp-resource-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pp-resource-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-resource-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-field>input{width:100%;min-width:0;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;transition:border-color .12s ease,box-shadow .12s ease}.pp-resource-field>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-resource-field>input:disabled{cursor:not-allowed;opacity:.55}.pp-resource-auto-names{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.4}.pp-resource-auto-names>dl{min-width:0;margin:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background))}.pp-resource-auto-names>dl>div{min-width:0;min-height:35px;display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,.66fr);align-items:center;gap:10px;padding:8px 10px}.pp-resource-auto-names>dl>div+div{border-top:1px solid hsl(var(--border) / .72)}.pp-resource-auto-names dt,.pp-resource-auto-names dd{min-width:0;margin:0}.pp-resource-auto-names dd{overflow-wrap:anywhere;color:hsl(var(--foreground));font-size:12.5px}.pp-resource-auto-names>small{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-picker{min-width:0;display:flex;flex-direction:column;gap:6px}.pp-resource-status{min-height:17px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.pp-resource-error{min-height:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.pp-resource-error span{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.pp-resource-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-resource-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-resource-validation{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}@media (max-width: 760px){.pp-resource-grid,.pp-resource-fields,.pp-resource-fields-three{grid-template-columns:minmax(0,1fr)}.pp-resource-auto-names>dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){.pp-resource-field>input{transition:none}}.layout{--pp-sidebar-width: 236px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground))}.pp-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.pp-toolbar-left,.pp-toolbar-actions,.pp-actions{display:flex;align-items:center}.pp-toolbar-left{min-width:0;gap:18px}.pp-toolbar-actions{flex:0 0 auto;gap:8px}.pp-toolbar-back{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;font-weight:500;cursor:pointer}.pp-toolbar-back:hover{color:hsl(var(--foreground))}.pp-toolbar-title{min-width:0;overflow:hidden;color:hsl(var(--foreground));font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-secondary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.pp-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.pp-secondary:hover{border-color:hsl(var(--foreground) / .22);background:hsl(var(--accent))}.pp-secondary:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:1px}.pp-secondary:disabled{opacity:.55;cursor:default}.pp-body{flex:1;min-height:0;min-width:0;display:flex}.pp-files-area{flex:1 1 auto;min-width:0;min-height:0;display:flex;background:hsl(var(--background))}.pp-sidebar{flex:0 0 218px;width:218px;min-height:0;display:flex;flex-direction:column;border-right:1px solid hsl(var(--border));background:hsl(var(--secondary) / .24)}.pp-sidebar-head,.pp-main-head{flex:0 0 42px;min-height:42px;display:flex;align-items:center;border-bottom:1px solid hsl(var(--border))}.pp-sidebar-head{gap:8px;padding:0 9px 0 14px}.pp-project-name{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pp-tree{flex:1;min-height:0;overflow:auto;padding:6px 0 12px}.pp-row{width:100%;min-height:29px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.pp-row:hover{background:hsl(var(--foreground) / .045)}.pp-file.pp-active{background:hsl(var(--foreground) / .075);color:hsl(var(--foreground))}.pp-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-folder .pp-label{color:hsl(var(--muted-foreground))}.pp-ic{width:15px;height:15px;flex:0 0 auto}.pp-chevron{color:hsl(var(--muted-foreground));transition:transform .12s ease}.pp-chevron.pp-open{transform:rotate(90deg)}.pp-icon-btn{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-icon-btn:hover:not(:disabled){background:hsl(var(--foreground) / .07);color:hsl(var(--foreground))}.pp-icon-btn:disabled{opacity:.45;cursor:default}.pp-danger:hover:not(:disabled){color:hsl(var(--destructive))}.pp-new-input{width:calc(100% - 16px);height:30px;margin:2px 8px 6px;padding:0 8px;border:1px solid hsl(var(--ring) / .55);border-radius:4px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-empty,.pp-placeholder{width:100%;padding:28px 16px;color:hsl(var(--muted-foreground));font-size:12.5px;text-align:center}.pp-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.pp-main-head{gap:12px;padding:0 10px 0 14px;background:hsl(var(--background))}.pp-path{flex:1;min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-actions{gap:2px}.pp-content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.pp-codemirror,.pp-codemirror>div,.pp-codemirror .cm-editor{width:100%;height:100%;min-height:0}.pp-codemirror .cm-editor{overflow:hidden;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12.5px}.pp-codemirror .cm-scroller{overflow:auto;overscroll-behavior:none;scroll-padding-block:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.58}.pp-codemirror .cm-content{padding:10px 0 0}.pp-codemirror .cm-line{padding:0 14px 0 8px}.pp-codemirror .cm-content>.cm-line:last-child:has(>br:only-child){display:none}.pp-codemirror .cm-gutters{border-right:1px solid hsl(var(--border) / .7);background:hsl(var(--secondary) / .2);color:hsl(var(--muted-foreground) / .65)}.pp-codemirror .cm-activeLine,.pp-codemirror .cm-activeLineGutter{background:hsl(var(--foreground) / .035)}.pp-codemirror .cm-focused{outline:none}.pp-editor-loading{height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:12px}.pp-pre{flex:1;width:100%;height:100%;box-sizing:border-box;margin:0;padding:14px 16px 0;overflow:auto;background:hsl(var(--background));color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;font-style:normal;font-variant-ligatures:none;font-weight:400;line-height:1.58;-moz-tab-size:2;tab-size:2;white-space:pre}.pp-root.is-deploy{--pp-publish-content-width: min(760px, calc(100% - 48px) );overflow-y:auto}.pp-root.is-deploy.is-embedded{--pp-publish-content-width: 100%}.pp-root.is-deploy .pp-body{flex:0 0 auto;min-height:100%;display:grid;grid-template-rows:auto auto;overflow:visible}.pp-root.is-deploy.has-primary-pane .pp-body{display:flex;justify-content:center;background:hsl(var(--background))}.pp-root.is-deploy.has-primary-pane .pp-config{width:min(760px,100%);background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-head,.pp-root.is-deploy.has-primary-pane .pp-config-actions{border:0;background:transparent}.pp-root.is-deploy.has-primary-pane .pp-config-actions{position:sticky;bottom:0;width:var(--pp-publish-content-width);margin:0 auto;justify-content:center;padding:12px 0 18px;background:hsl(var(--background));transform:none}.pp-root.is-deploy.has-primary-pane .pp-deploy-hint{position:absolute;left:18px}.pp-root.is-deploy .pp-files-area{display:none}.pp-release-overview{min-width:0;min-height:0;border-bottom:0;background:transparent}.pp-release-preview{width:var(--pp-publish-content-width);box-sizing:border-box;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 auto;padding:8px 0 12px}.pp-release-preview.is-embedded{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}.pp-flow-thumbnail{position:relative;height:200px;min-width:0;min-height:0;overflow:hidden;border:1px solid hsl(var(--border));border-radius:14px;background:transparent;box-shadow:none}.pp-flow-thumbnail .abc-root,.pp-flow-dialog-canvas .abc-root{width:100%;height:100%;min-width:0;min-height:0;flex:1 1 auto;border:0;background:transparent}.pp-flow-thumbnail .abc-canvas,.pp-flow-dialog-canvas .abc-canvas{flex:1;min-height:0;background:transparent}.pp-flow-thumbnail .react-flow__pane{cursor:grab}.pp-flow-thumbnail .react-flow__pane:active{cursor:grabbing}.pp-flow-thumbnail .react-flow__controls{display:none}.pp-flow-expand{position:absolute;z-index:5;right:10px;bottom:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit}.pp-flow-expand:hover{background:transparent;color:hsl(var(--foreground))}.pp-flow-expand:focus-visible{outline:2px solid hsl(var(--primary) / .72);outline-offset:2px}.pp-flow-expand svg{width:17px;height:17px}.pp-release-info{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-release-card-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34);color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-release-info-body{padding:14px 18px 16px}.pp-release-info-main{min-width:0}.pp-release-info h2{margin:0;color:hsl(var(--foreground));font-size:18px;font-weight:700;letter-spacing:-.02em}.pp-release-description{display:-webkit-box;margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:12px 0 0}.pp-release-facts>div{min-width:0}.pp-release-facts dt{color:hsl(var(--muted-foreground));font-size:13px}.pp-release-facts dd{margin:5px 0 0;overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.pp-release-facts .pp-release-fact-long{display:-webkit-box;overflow:hidden;line-height:1.45;text-overflow:clip;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-release-facts .pp-release-prompt{-webkit-line-clamp:3}.pp-artifact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.pp-artifact-actions.is-rail{flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0;padding:0}.pp-artifact-actions.is-rail .pp-secondary,.pp-artifact-actions.is-rail .code-browser-trigger{flex:1 1 0;width:100%;min-height:36px;justify-content:center}.pp-artifact-actions .pp-secondary,.pp-artifact-actions .code-browser-trigger{min-height:34px;padding-inline:12px;border:0;border-radius:7px;background:hsl(var(--secondary) / .58);box-shadow:none;color:hsl(var(--foreground));font-size:13px}.pp-artifact-actions .pp-secondary:hover,.pp-artifact-actions .code-browser-trigger:hover{background:hsl(var(--secondary))}.pp-flow-backdrop{--cw-workspace-ink: 222 24% 13%;position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:32px;background:hsl(var(--foreground) / .36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pp-flow-dialog{width:min(1120px,92vw);height:min(720px,86vh);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 80px hsl(var(--foreground) / .22)}.pp-flow-dialog>header{flex:0 0 62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px 0 22px;border-bottom:1px solid hsl(var(--border))}.pp-flow-dialog>header>div{display:flex;flex-direction:column;gap:3px}.pp-flow-dialog>header strong{font-size:15px;font-weight:680}.pp-flow-dialog>header span{color:hsl(var(--muted-foreground));font-size:10.5px}.pp-flow-dialog>header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.pp-flow-dialog>header button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.pp-flow-dialog>header svg{width:17px;height:17px}.pp-flow-dialog-canvas{flex:1;min-height:0;background:transparent}.pp-config{position:relative;min-width:0;width:auto;min-height:0;display:flex;flex-direction:column;background:hsl(var(--panel))}.pp-config-head{width:var(--pp-publish-content-width);flex:0 0 48px;height:48px;box-sizing:border-box;display:flex;align-items:center;margin:0 auto;padding:0;border-bottom:0}.pp-config-title{color:hsl(var(--foreground));font-size:18px;font-weight:650;letter-spacing:-.01em}.pp-env-sub{margin-top:4px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.pp-config-scroll{width:var(--pp-publish-content-width);flex:0 0 auto;min-height:0;box-sizing:border-box;display:block;margin:0 auto;overflow:visible;padding:0 0 88px}.pp-config-actions{position:fixed;z-index:40;left:calc((100vw + var(--pp-sidebar-width, 0px)) / 2);bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;transform:translate(-50%)}.pp-config-actions.is-external{display:none}.pp-config-section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 12px;padding:0 18px 16px;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.pp-config-section:has(.pp-network-region){overflow:visible}.pp-config-section:has(.pp-network-region.is-open){position:relative;z-index:70}.pp-config-section:has(.pp-network-region)>.pp-config-label{border-radius:17px 17px 0 0}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{display:block;margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent;color:hsl(var(--foreground));font-size:14px;font-weight:620;letter-spacing:-.01em}.pp-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:transparent}.pp-env-head .pp-config-label{margin:0;padding:0;border:0;background:transparent}.pp-config-note{margin:-4px 0 10px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-runtime-name-field{display:grid;gap:6px}.pp-runtime-name-field>.pp-config-note,.pp-runtime-name-field>.pp-runtime-name-error{margin:0}.pp-auth-section{overflow:visible}.pp-auth-preserved-note{margin:0}.pp-auth-fields{width:min(100%,560px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.pp-auth-fields>label{min-width:0;display:flex;flex-direction:column;gap:7px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-github-cicd-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-github-cicd-tabs{min-width:0;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--muted) / .42)}.pp-github-cicd-tabs button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.pp-github-cicd-tabs button.is-active{border-color:hsl(var(--border));background:hsl(var(--panel));color:hsl(var(--foreground))}.pp-github-cicd-tabs button:disabled{opacity:.55;cursor:default}.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-deployment-select{position:relative;min-width:0}.pp-deployment-select-trigger{width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.pp-deployment-select-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.pp-deployment-select-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.pp-deployment-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-deployment-select-trigger:disabled{cursor:not-allowed;opacity:.5}.pp-deployment-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-trigger>.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.pp-deployment-select-chevron{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.pp-deployment-select-chevron.is-open{transform:rotate(180deg)}.pp-deployment-select-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;max-height:238px;display:flex;flex-direction:column;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.pp-deployment-select-search{flex-shrink:0;padding:2px 2px 6px}.pp-deployment-select-search>input{width:100%;height:32px;box-sizing:border-box;padding:0 9px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.pp-deployment-select-search>input:focus-visible{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-deployment-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pp-deployment-select-state{flex-shrink:0;padding:9px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-align:center}.pp-deployment-select-option{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left}.pp-deployment-select-option:hover,.pp-deployment-select-option:focus-visible,.pp-deployment-select-option.is-selected{outline:none;background:hsl(var(--muted) / .5)}.pp-deployment-select-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.pp-deployment-select-name{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-weight:560;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pp-deployment-select-option>svg{width:15px;height:15px;flex-shrink:0;color:hsl(var(--primary))}.pp-deployment-select-badge{flex-shrink:0;padding:1px 5px;border:1px solid hsl(211 90% 48% / .24);border-radius:999px;background:#006fe61a;color:#1863b4;font-size:10px;font-weight:600}.pp-user-pool-picker{min-width:0;display:flex;flex-direction:column;gap:7px}.pp-user-pool-status{min-height:18px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.pp-user-pool-spinner{width:13px;height:13px;flex-shrink:0;animation:pp-spin .9s linear infinite}.pp-user-pool-error{min-height:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.pp-user-pool-error button{flex-shrink:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.pp-user-pool-error button:focus-visible{outline:2px solid hsl(var(--ring) / .45);outline-offset:2px}.pp-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-runtime-name-input,.pp-channel-fields input,.pp-github-cicd-field input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input,.pp-env-row textarea{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;transition:border-color .12s ease,box-shadow .12s ease}.pp-channel-fields input{height:30px;padding-inline:8px;font-size:11.5px}.pp-config-select:focus,.pp-runtime-name-input:focus,.pp-channel-fields input:focus,.pp-github-cicd-field input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus,.pp-env-row textarea:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-runtime-name-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .72)}.pp-runtime-name-input[aria-invalid=true]:focus{box-shadow:0 0 0 2px hsl(var(--destructive) / .1)}.pp-runtime-name-error{margin:-4px 0 10px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.pp-config-select:disabled,.pp-runtime-name-input:disabled,.pp-channel-fields input:disabled,.pp-github-cicd-field input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input:disabled,.pp-env-row textarea:disabled{opacity:.55}.pp-channel-card{position:relative;width:clamp(154px,33.333%,236px);max-width:100%;height:112px;perspective:1200px;transition:height .18s ease}.pp-channel-card.is-flipped{height:176px}.pp-channel-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.pp-channel-card.is-flipped .pp-channel-card-inner{transform:rotateY(180deg)}.pp-channel-card-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:14px;background:hsl(var(--background));backface-visibility:hidden;-webkit-backface-visibility:hidden}.pp-channel-card-front{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:12px;color:hsl(var(--foreground));cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.pp-channel-card-front:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);box-shadow:0 12px 30px hsl(var(--foreground) / .07);transform:translateY(-1px)}.pp-channel-card-front:focus-visible,.pp-channel-remove:focus-visible{outline:2px solid hsl(var(--ring) / .58);outline-offset:2px}.pp-channel-card-front:disabled{cursor:default}.pp-channel-card-back{padding:10px;transform:rotateY(180deg)}.pp-channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-channel-card-head>strong{font-size:12.5px;font-weight:650}.pp-channel-logo{width:42px;height:42px;flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border) / .65);border-radius:12px;background:#fff;box-shadow:0 4px 14px hsl(var(--foreground) / .07)}.pp-channel-logo img{width:30px;height:30px;display:block}.pp-channel-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.pp-channel-card-copy strong{font-size:14px;font-weight:650}.pp-channel-card-copy small{display:-webkit-box;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pp-channel-remove{min-height:24px;padding:0 6px;border:1px solid hsl(var(--destructive) / .14);border-radius:7px;background:hsl(var(--destructive) / .07);color:#863232;cursor:pointer;font:inherit;font-size:10.5px;white-space:nowrap}.pp-channel-remove:hover:not(:disabled){background:hsl(var(--destructive) / .12);color:#782626}.pp-channel-fields{display:flex;flex-direction:column;gap:6px;margin-top:7px}.pp-channel-fields label{min-width:0;display:flex;flex-direction:column;gap:3px;color:hsl(var(--muted-foreground));font-size:11px}.pp-channel-fields label>span{color:hsl(var(--foreground));font-weight:560}.pp-channel-fields small{margin-left:5px;color:hsl(var(--destructive));font-size:9px;font-weight:500}.pp-network-layout{width:min(100%,560px);display:grid;grid-template-columns:minmax(132px,.36fr) minmax(0,.64fr);align-items:start;gap:24px}.pp-network-region{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-region.is-open{z-index:80}.pp-region-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.pp-region-trigger:hover,.pp-region-trigger[aria-expanded=true]{border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025)}.pp-region-trigger:focus-visible{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.pp-region-trigger:disabled{cursor:not-allowed;opacity:.58;background:hsl(var(--muted) / .32)}.pp-region-help{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-region-chevron{width:15px;height:15px;color:hsl(var(--muted-foreground));transition:transform .15s ease}.pp-region-chevron.is-open{transform:rotate(180deg)}.pp-region-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:81;padding:5px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));box-shadow:0 12px 28px hsl(var(--foreground) / .12)}.pp-region-option{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pp-region-option:hover,.pp-region-option:focus-visible,.pp-region-option.is-selected{outline:none;background:hsl(var(--foreground) / .055)}.pp-region-option.is-selected{font-weight:600}.pp-region-option svg{width:15px;height:15px;color:hsl(var(--primary))}.pp-network-modes{display:flex;flex-direction:column;gap:9px}.pp-network-option{min-height:28px;display:flex;align-items:center;gap:9px;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560;cursor:pointer}.pp-network-option:has(input:checked){color:hsl(var(--foreground))}.pp-network-option:has(input:disabled){cursor:default;opacity:.58}.pp-network-option input{width:15px;height:15px;flex:0 0 15px;display:grid;place-items:center;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,box-shadow .12s ease}.pp-network-option input:before{width:7px;height:7px;border-radius:50%;background:hsl(var(--primary));content:"";transform:scale(0);transition:transform .12s ease-out}.pp-network-option input:checked{border-color:hsl(var(--primary))}.pp-network-option input:checked:before{transform:scale(1)}.pp-network-option input:focus-visible,.pp-network-check input:focus-visible,.pp-evaluation-set-option input:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-network-fields{display:flex;flex-direction:column;gap:12px;min-width:0}.pp-network-fields label:not(.pp-network-check){display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-network-fields small{font-size:10.5px;font-weight:400}.pp-network-check{display:flex;align-items:center;gap:8px;color:hsl(var(--foreground));font-size:12.5px;cursor:pointer}.pp-evaluation-set-option{display:flex;align-items:flex-start;gap:10px;color:hsl(var(--foreground));cursor:pointer}.pp-evaluation-set-option>span{display:flex;flex-direction:column;gap:3px;min-width:0}.pp-evaluation-set-option strong{font-size:13px;font-weight:550;line-height:1.45}.pp-evaluation-set-option small{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.pp-network-check input,.pp-evaluation-set-option input{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--background));cursor:inherit;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-network-check input:before,.pp-evaluation-set-option input:before{width:4px;height:8px;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;content:"";transform:translateY(-1px) rotate(45deg) scale(0);transition:transform .12s ease-out}.pp-network-check input:checked,.pp-evaluation-set-option input:checked{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check input:checked:before,.pp-evaluation-set-option input:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}.pp-env-section{width:100%;padding-bottom:16px}.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.pp-env-head .pp-config-label{display:flex;align-items:center;gap:7px;margin-bottom:0}.pp-env-count{display:inline-flex;align-items:center}.pp-env-table{display:flex;flex-direction:column;margin-top:10px}.pp-env-group{padding:4px 7px 0;border:1px solid hsl(var(--border) / .75);border-radius:6px;background:hsl(var(--secondary) / .16)}.pp-env-group-head{display:flex;align-items:center;justify-content:space-between;padding:5px 1px 3px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.pp-env-group-head small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:450}.pp-env-group-head-custom{margin-top:12px}.pp-env-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid hsl(var(--border) / .65)}.pp-env-row.is-multiline{align-items:start}.pp-env-row input:first-child{font-family:inherit;font-size:13px}.pp-env-row-derived:last-child{border-bottom:0}.pp-env-key-fixed{background:hsl(var(--secondary) / .32)!important;cursor:default}.pp-env-key-cell{min-width:0;min-height:34px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:13px;font-weight:500}.pp-env-key-cell span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.pp-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.pp-env-help:hover .pp-env-help-popover,.pp-env-help:focus-visible .pp-env-help-popover,.pp-env-help:focus-within .pp-env-help-popover{opacity:1;pointer-events:auto}.pp-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-value-wrap{min-width:0;display:grid;gap:4px}.pp-env-value{min-width:0;width:100%}.pp-env-secret-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.pp-env-secret-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.pp-env-secret-toggle:hover:not(:disabled){background:hsl(var(--foreground) / .045);color:hsl(var(--foreground))}.pp-env-secret-toggle:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.pp-env-secret-toggle:disabled{cursor:not-allowed;opacity:.52}.pp-env-secret-toggle svg,.pp-env-secret-spinner{width:16px;height:16px}.pp-env-secret-spinner{animation:pp-spin .8s linear infinite}.pp-env-reveal-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-json-value{min-height:86px;padding:8px 10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45}.pp-env-value[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.pp-env-error{color:hsl(var(--destructive));font-size:11.5px;line-height:1.35}.pp-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.pp-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.pp-env-link svg{width:13px;height:13px;flex:0 0 13px}.pp-env-source{color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.pp-env-remove{width:28px;height:28px}.pp-env-add{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:600;cursor:pointer}.pp-env-add:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--foreground) / .025);color:hsl(var(--foreground))}.pp-env-add:disabled{opacity:.5}.pp-steps{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.pp-step{position:relative;min-height:34px;display:flex;align-items:flex-start;gap:9px}.pp-step:not(:last-child):after{content:"";position:absolute;top:20px;bottom:-2px;left:9px;width:1px;background:hsl(var(--border))}.pp-step-dot{z-index:1;width:19px;height:19px;flex:0 0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10px}.pp-step-body{min-width:0;display:flex;flex-direction:column;padding-top:1px}.pp-step-label{color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:560}.pp-step-msg{max-width:300px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.pp-step.is-active .pp-step-dot{border-color:hsl(var(--primary));color:hsl(var(--primary))}.pp-step.is-done .pp-step-dot{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-step.is-failed .pp-step-dot{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:#fff}.pp-error{margin:14px 18px;padding:10px 11px;border:1px solid hsl(var(--destructive) / .22);border-radius:5px;background:hsl(var(--destructive) / .06);color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-deploy-result{margin:14px 18px 18px;padding:14px;border:1px solid hsl(var(--primary) / .2);border-radius:6px;background:hsl(var(--primary) / .035)}.pp-deploy-result-header{margin-bottom:12px;color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-deploy-result-body{display:flex;flex-direction:column;gap:10px}.pp-deploy-result-warning{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid hsl(42 90% 45% / .25);border-radius:6px;background:#f2ad0d12;color:#9e6310;font-size:12.5px;line-height:1.5}.pp-deploy-result-field{display:flex;flex-direction:column;gap:4px}.pp-deploy-result-field label{color:hsl(var(--muted-foreground));font-size:12.5px}.pp-deploy-result-field code{overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.pp-deploy-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pp-confirm-dialog{width:min(420px,calc(100vw - 40px));height:auto;min-height:0}.pp-confirm-head{flex-basis:60px}.pp-confirm-icon{background:#f59f0a1f;color:#ba6708}.pp-confirm-body{padding:24px 20px}.pp-confirm-body p{margin:0;color:hsl(var(--foreground));font-size:14px;line-height:1.65}.pp-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.pp-confirm-actions button{min-width:76px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pp-confirm-actions button:hover{background:hsl(var(--secondary))}.pp-confirm-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.pp-confirm-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-confirm-actions .is-primary:hover{background:hsl(var(--primary) / .9)}.pp-deploy-result-btn,.pp-console-link-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border-radius:5px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer}.pp-deploy-result-btn{border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.pp-console-link-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.spin{animation:pp-spin .85s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pp-channel-card-inner,.pp-channel-card-front,.pp-deployment-select-chevron,.pp-config-actions .pp-deploy{transition:none}}@media (max-width: 1120px){.pp-release-preview{grid-template-columns:minmax(320px,.9fr) minmax(300px,1.1fr)}.pp-sidebar{flex-basis:190px;width:190px}}@media (max-width: 860px){.layout{--pp-sidebar-width: 204px}.layout:has(.sidebar.is-collapsed){--pp-sidebar-width: 56px}.pp-root.is-deploy{--pp-publish-content-width: min(88%, calc(100% - 36px) )}.pp-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.pp-toolbar-actions{width:100%}.pp-body{overflow-y:auto;flex-direction:column}.pp-root.is-deploy .pp-body{display:flex}.pp-release-overview{flex:0 0 auto;min-height:0;border-right:0;border-bottom:0}.pp-release-preview{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:220px auto}.pp-release-info{min-height:200px}.pp-files-area{min-height:520px}.pp-config{width:100%;min-height:680px;border-top:0;border-left:0}.pp-config-scroll{padding-inline:0;padding-bottom:84px}.pp-config-actions{bottom:max(14px,env(safe-area-inset-bottom))}.pp-flow-backdrop{padding:12px}}@media (max-width: 520px){.pp-auth-fields,.pp-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%}}@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}}}@layer components{._Badge_1viyg_1{--indicator-size: var(--badge-indicator-size);display:inline-flex;align-items:center;gap:calc(var(--spacing) * 1);height:var(--badge-size);padding:0 var(--badge-gutter);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-tracking);white-space:nowrap}._Badge_1viyg_1 svg{font-size:var(--badge-icon-font-size)}:where(._Badge_1viyg_1 svg:first-child:not(:only-child)){margin-left:var(--badge-icon-offset, -1px)}:where(._Badge_1viyg_1 svg:last-child:not(:only-child)){margin-right:var(--badge-icon-offset, -1px)}._Badge_1viyg_1[data-variant=soft]{background-color:var(--badge-background-color);color:var(--badge-text-color)}._Badge_1viyg_1[data-variant=soft]:where([data-color=secondary]){--badge-background-color: var(--color-background-secondary-soft-alpha);--badge-text-color: var(--color-text-secondary-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=success]){--badge-background-color: var(--color-background-success-soft-alpha);--badge-text-color: var(--color-text-success-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=warning]){--badge-background-color: var(--color-background-warning-soft-alpha);--badge-text-color: var(--color-text-warning-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=danger]){--badge-background-color: var(--color-background-danger-soft-alpha);--badge-text-color: var(--color-text-danger-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=info]){--badge-background-color: var(--color-background-info-soft-alpha);--badge-text-color: var(--color-text-info-soft)}._Badge_1viyg_1[data-variant=soft]:where([data-color=discovery]){--badge-background-color: var(--color-background-discovery-soft-alpha);--badge-text-color: var(--color-text-discovery-soft)}._Badge_1viyg_1[data-variant=solid]{background-color:var(--badge-background-color);color:var(--badge-text-color)}._Badge_1viyg_1[data-variant=solid]:where([data-color=secondary]){--badge-background-color: var(--color-background-secondary-solid);--badge-text-color: var(--color-text-secondary-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=success]){--badge-background-color: var(--color-background-success-solid);--badge-text-color: var(--color-text-success-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=warning]){--badge-background-color: var(--color-background-warning-solid);--badge-text-color: var(--color-text-warning-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=danger]){--badge-background-color: var(--color-background-danger-solid);--badge-text-color: var(--color-text-danger-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=info]){--badge-background-color: var(--color-background-info-solid);--badge-text-color: var(--color-text-info-solid)}._Badge_1viyg_1[data-variant=solid]:where([data-color=discovery]){--badge-background-color: var(--color-background-discovery-solid);--badge-text-color: var(--color-text-discovery-solid)}._Badge_1viyg_1[data-variant=outline]{box-shadow:0 0 0 1px var(--badge-border-color) inset;color:var(--badge-text-color)}._Badge_1viyg_1[data-variant=outline]:where([data-color=secondary]){--badge-border-color: var(--color-border-secondary-outline);--badge-text-color: var(--color-text-secondary-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=success]){--badge-border-color: var(--color-border-success-outline);--badge-text-color: var(--color-text-success-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=warning]){--badge-border-color: var(--color-border-warning-outline);--badge-text-color: var(--color-text-warning-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=danger]){--badge-border-color: var(--color-border-danger-outline);--badge-text-color: var(--color-text-danger-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=info]){--badge-border-color: var(--color-border-info-outline);--badge-text-color: var(--color-text-info-outline)}._Badge_1viyg_1[data-variant=outline]:where([data-color=discovery]){--badge-border-color: var(--color-border-discovery-outline);--badge-text-color: var(--color-text-discovery-outline)}._Badge_1viyg_1:where([data-size=sm]){--badge-size: var(--badge-size-sm);--badge-gutter: var(--badge-gutter-sm);--badge-font-size: var(--badge-font-size-sm);--badge-font-weight: var(--badge-font-weight-sm);--badge-tracking: var(--badge-tracking-sm);--badge-radius: var(--badge-radius-sm);--badge-icon-font-size: var(--badge-icon-font-size-sm);--badge-indicator-size: var(--badge-indicator-size-sm)}._Badge_1viyg_1:where([data-size=md]){--badge-size: var(--badge-size-md);--badge-gutter: var(--badge-gutter-md);--badge-font-size: var(--badge-font-size-md);--badge-font-weight: var(--badge-font-weight-md);--badge-tracking: var(--badge-tracking-md);--badge-radius: var(--badge-radius-md);--badge-icon-font-size: var(--badge-icon-font-size-md);--badge-indicator-size: var(--badge-indicator-size-md)}._Badge_1viyg_1:where([data-size=lg]){--badge-size: var(--badge-size-lg);--badge-gutter: var(--badge-gutter-lg);--badge-font-size: var(--badge-font-size-lg);--badge-font-weight: var(--badge-font-weight-lg);--badge-tracking: var(--badge-tracking-lg);--badge-radius: var(--badge-radius-lg);--badge-icon-font-size: var(--badge-icon-font-size-lg);--badge-indicator-size: var(--badge-indicator-size-lg)}._Badge_1viyg_1:where([data-pill]){--badge-radius: var(--radius-full);padding:0 calc(var(--badge-gutter) * var(--control-gutter-pill-scaling))}}.cloud-env-config{width:min(100%,820px);min-height:0;display:flex;flex-direction:column;gap:22px;margin:0 auto;padding:0}.cloud-env-categories{min-width:0;display:flex;flex-direction:column;gap:20px}.cloud-env-category{min-width:0}.cloud-env-category h2{margin:0 0 6px 4px;color:hsl(var(--foreground));font-size:14px;font-weight:500;line-height:1.4}.cloud-env-tool-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}.cloud-env-tool{min-width:0;min-height:54px;display:flex;align-items:center;gap:10px;padding:4px;border-radius:8px;transition:background-color .15s ease,color .15s ease}.cloud-env-tool:hover,.cloud-env-tool.is-selected{background:hsl(var(--muted) / .34)}.cloud-env-tool-icon{width:38px;height:38px;flex:0 0 auto;display:inline-grid;place-items:center;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground) / .78)}.cloud-env-tool-icon svg,.cloud-env-tool-icon img{width:21px;height:21px;display:block}.cloud-env-tool-content{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.cloud-env-tool-content>strong{color:hsl(var(--foreground));font-size:13px;font-weight:500;line-height:1.4}.cloud-env-tool-description{min-width:0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.cloud-env-tool-action{width:28px;min-width:28px;height:28px;flex:0 0 auto;padding:0;border-radius:7px}.cloud-env-tool-action svg{width:14px;height:14px}.cloud-env-footer-trigger{width:100%;min-height:54px;display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.cloud-env-footer-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .22);background:hsl(var(--muted) / .26)}.cloud-env-footer-trigger:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:2px}.cloud-env-footer-trigger:disabled{cursor:not-allowed;opacity:.55}.cloud-env-footer-trigger-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:hsl(var(--muted) / .6);color:hsl(var(--foreground) / .76)}.cloud-env-footer-trigger-icon svg,.cloud-env-footer-trigger-action{width:16px;height:16px}.cloud-env-footer-trigger-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:1px}.cloud-env-footer-trigger-copy>span{font-size:12.5px;font-weight:500;line-height:1.4}.cloud-env-footer-trigger-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.cloud-env-footer-trigger-badge,.cloud-env-footer-trigger-action{flex:0 0 auto}.cloud-env-footer-trigger-action{color:hsl(var(--muted-foreground))}.cloud-env-dialog-backdrop{position:fixed;z-index:1250;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cloud-env-dialog{width:min(900px,92vw);height:min(680px,86vh);min-height:480px;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)}.cloud-env-dialog-header{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 18px;border-bottom:1px solid hsl(var(--border))}.cloud-env-dialog-header h2,.cloud-env-dialog-header p{margin:0}.cloud-env-dialog-header h2{font-size:15px;font-weight:600;line-height:1.4}.cloud-env-dialog-header p{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.cloud-env-dialog-header-actions{display:flex;align-items:center;gap:8px}.cloud-env-dialog-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cloud-env-dialog-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.cloud-env-dialog-close svg{width:16px;height:16px}.cloud-env-dialog-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px 18px}.cloud-env-dialog-toolbar{min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cloud-env-dialog-toolbar p{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.5}.cloud-env-custom-notice{margin:0;padding:8px 10px;border-radius:7px;background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.55}.cloud-env-editor{flex:1;height:auto;min-width:0;min-height:240px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.cloud-env-editor.is-invalid{border-color:hsl(var(--destructive) / .7)}.cloud-env-editor>.cm-theme-light,.cloud-env-editor .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.cloud-env-editor .cm-scroller{overflow:auto}.cloud-env-editor .cm-focused{outline:2px solid hsl(var(--ring) / .36);outline-offset:-2px}.cloud-env-editor-loading{height:100%;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cloud-env-editor-error{margin:0;color:hsl(var(--destructive));font-size:11.5px;line-height:1.5}.cloud-env-dialog-footer{min-height:56px;display:flex;align-items:center;justify-content:flex-end;padding:10px 18px;border-top:1px solid hsl(var(--border))}@media (max-width: 700px){.cloud-env-config{gap:14px}.cloud-env-categories{gap:20px}.cloud-env-tool-list{grid-template-columns:minmax(0,1fr)}.cloud-env-dialog-backdrop{padding:12px}.cloud-env-dialog{width:100%;height:min(720px,92vh)}.cloud-env-footer-trigger-badge{display:none}}@media (prefers-reduced-motion: reduce){.cloud-env-tool,.cloud-env-footer-trigger{transition:none}}.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-environment{--cw-workspace-width: min(76%, 1100px)}.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-footer-accessory{width:100%}.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(176px,48vw);display:grid;grid-template-columns:repeat(5,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-profile-field{display:grid;gap:7px;margin-bottom:10px}.cw-ab-profile-label{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-ab-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cw-ab-profile-option{min-width:0;min-height:44px;display:flex;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background) / .82);color:hsl(var(--foreground));transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.cw-ab-profile-option:hover:not(.is-disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-ab-profile-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-ab-profile-option.is-disabled{cursor:not-allowed;opacity:.55}.cw-ab-profile-option:focus-within{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-ab-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-ab-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:7px 8px;color:inherit}.cw-ab-profile-copy{min-width:0;display:grid;gap:2px;text-align:left}.cw-ab-profile-copy strong{overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.cw-ab-profile-copy small,.cw-ab-profile-help{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.4}.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:pointer}.cw-ab-optimization-checkbox>label{padding-left:7px;color:inherit;font-size:inherit}.cw-ab-optimization-copy{display:grid;gap:2px}.cw-ab-optimization-copy strong{font-size:12.5px;font-weight:650}.cw-ab-optimization-copy small{color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:400;line-height:1.35}.cw-ab-optimization-note,.cw-ab-optimization-error{display:block;margin-top:7px;font-size:11.5px;line-height:1.4}.cw-ab-optimization-note{color:hsl(var(--muted-foreground))}.cw-ab-optimization-error{color:hsl(var(--destructive))}.cw-ab-config>p{margin:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.cw-optimize-workspace{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:4px 0 12px}.cw-optimize-panel{width:100%;display:grid;gap:32px;padding:4px 0 12px}.cw-optimize-section{min-width:0;display:grid;gap:12px;margin:0;padding:0;border:0}.cw-optimize-section legend{margin-bottom:16px;padding:0;color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;margin:-3px 0;padding:3px}.cw-optimize-profile-option{min-width:0;min-height:88px;height:100%;display:flex;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-profile-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .42)}.cw-optimize-profile-option.is-on{border-color:hsl(var(--foreground) / .34);background:hsl(var(--secondary) / .46)}.cw-optimize-profile-option:focus-within{outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .28)}.cw-optimize-profile-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-optimize-profile-control{align-self:stretch;width:100%;min-width:0;min-height:100%;padding:14px 16px;color:inherit}.cw-optimize-profile-copy,.cw-optimize-option-copy{min-width:0;display:grid;gap:4px;text-align:left}.cw-optimize-profile-copy strong,.cw-optimize-option-copy strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.cw-optimize-profile-copy small,.cw-optimize-option-copy small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:400;line-height:1.5}.cw-optimize-option-list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.cw-optimize-option-group{min-width:0;display:grid;gap:8px}.cw-optimize-option-group-title{margin:0;color:hsl(var(--muted-foreground));font-size:12px;font-weight:550;line-height:1.45}.cw-optimize-option-group-items{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.cw-optimize-option{min-height:68px;display:inline-flex;align-items:flex-start;gap:0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--muted) / .32);color:hsl(var(--foreground));cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.cw-optimize-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--muted) / .52)}.cw-optimize-option:has(input:checked){border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .5)}.cw-optimize-option:focus-within{box-shadow:0 0 0 2px hsl(var(--ring) / .28)}.cw-optimize-option>label{align-items:flex-start;padding-left:10px;color:inherit}.cw-ab-conversation{flex:1;min-height:0;overflow-y:auto;padding:14px}.cw-ab-empty{height:100%;min-height:210px;display:grid;place-items:center;color:hsl(var(--muted-foreground));font-size:12px}.cw-ab-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.cw-ab-launch-hint{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-ab-ready-title{color:hsl(var(--foreground));font-size:20px;font-weight:760;line-height:1.1}.cw-ab-starting{align-content:center;gap:8px}.cw-ab-starting .cw-i{width:18px;height:18px}.cw-ab-start{min-width:118px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:0;border-radius:9px;background:hsl(var(--secondary) / .72);color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:580;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-start:hover:not(:disabled){background:hsl(var(--secondary));box-shadow:none}.cw-ab-start:disabled{background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground) / .62);cursor:not-allowed}.cw-ab-start .cw-i{width:15px;height:15px}.cw-ab-deploy-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 12px}.cw-ab-trace{min-height:32px;margin-right:auto;padding:0 10px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:11.5px;font-weight:500;transition:background-color .16s ease,color .16s ease}.cw-ab-trace:hover:not(:disabled){background:hsl(var(--secondary) / .58);color:hsl(var(--foreground))}.cw-ab-trace:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-ab-trace:disabled{color:hsl(var(--muted-foreground) / .48);cursor:not-allowed}.cw-ab-footer-start{min-width:0;background:hsl(var(--secondary) / .58)}.cw-ab-deploy{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:#111;color:#fff;cursor:pointer;font:inherit;font-size:11.5px;font-weight:620;transition:background-color .16s ease,box-shadow .16s ease}.cw-ab-deploy:hover:not(:disabled){background:#29292b;box-shadow:0 6px 16px #00000024}.cw-ab-deploy:disabled{cursor:not-allowed;opacity:.42}.cw-ab-add{min-height:48px;align-self:stretch;justify-content:center;padding-inline:18px;white-space:nowrap}.cw-ab-composer{position:relative;z-index:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:18px var(--cw-workspace-gutter) 18px;background:hsl(var(--background))}.cw-ab-composer .cw-debug-composerbox{width:100%;min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;background:#fff;box-shadow:0 8px 22px hsl(var(--foreground) / .045)}.cw-ab-composer .cw-debug-input{background:#fff}.cw-debug.is-standalone{flex:1;width:100%;min-width:0;border-left:0;background:transparent}.cw-debug.is-standalone .cw-debug-head{height:58px;padding-inline:22px;background:hsl(var(--panel) / .7)}.cw-debug.is-standalone .cw-debug-title{font-size:15px}.cw-debug.is-standalone .cw-debug-body{padding:22px clamp(18px,5vw,72px) 28px}.cw-debug.is-standalone .cw-debug-chat{width:min(100%,840px);margin:0 auto}.cw-debug.is-standalone .cw-debug-chat-empty{min-height:260px;border:1px dashed hsl(var(--border));border-radius:16px;background:hsl(var(--panel) / .56)}.cw-debug.is-standalone .cw-debug-composer{padding:12px 210px 20px clamp(18px,5vw,72px);background:transparent}.cw-debug.is-standalone .cw-debug-composerbox{width:min(100%,840px);min-height:48px;margin:0 auto;border-color:hsl(var(--foreground) / .14);border-radius:14px;box-shadow:0 12px 32px hsl(var(--foreground) / .06)}.cw-debug.is-standalone .cw-debug-overlay{background:hsl(var(--background) / .68)}.cw-debug.is-standalone .cw-debug-overlay-content{width:min(100%,390px);padding:28px;border-radius:16px}.cw-validation-prototype{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:clamp(26px,4vw,56px)}.cw-validation-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 28px;max-width:1040px}.cw-eyebrow{color:hsl(var(--cw-workspace-accent));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.15em}.cw-validation-page-head h2{margin:5px 0 4px;color:hsl(var(--cw-workspace-ink));font-size:clamp(24px,3vw,34px);font-weight:720;letter-spacing:-.045em}.cw-validation-page-head p{margin:0;color:hsl(var(--muted-foreground));font-size:13px}.cw-prototype-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid hsl(var(--cw-workspace-ink));border-radius:8px;background:hsl(var(--cw-workspace-ink));color:hsl(var(--background));font:inherit;font-size:12px;font-weight:650}.cw-prototype-action:disabled{cursor:not-allowed;opacity:.72}.cw-dataset-summary,.cw-variant-grid,.cw-metric-board,.cw-prototype-table,.cw-run-list,.cw-prototype-note{width:min(100%,1040px);margin-inline:auto}.cw-dataset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 10px 32px hsl(var(--foreground) / .035)}.cw-dataset-summary>div{display:flex;flex-direction:column;gap:4px;padding:17px 20px}.cw-dataset-summary>div+div{border-left:1px solid hsl(var(--border))}.cw-dataset-summary strong{color:hsl(var(--cw-workspace-ink));font-size:22px;letter-spacing:-.04em}.cw-dataset-summary span{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-table{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-prototype-row{min-height:54px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(170px,1fr) 82px;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px}.cw-prototype-row.is-head{min-height:38px;border-top:0;background:hsl(var(--secondary) / .42);color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cw-prototype-row>strong{color:hsl(var(--foreground));font-size:12px;font-weight:600}.cw-status-pill,.cw-run-status,.cw-run-kind{justify-self:start;padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.cw-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.cw-variant-card{position:relative;overflow:hidden;padding:20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--panel));box-shadow:0 12px 34px hsl(var(--foreground) / .04)}.cw-variant-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:hsl(var(--foreground) / .22)}.cw-variant-card.is-candidate:before{background:hsl(var(--cw-workspace-accent))}.cw-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.cw-variant-head small{padding:3px 7px;border-radius:999px;background:hsl(var(--secondary));font-size:9.5px;letter-spacing:0;text-transform:none}.cw-variant-card>strong{color:hsl(var(--cw-workspace-ink));font-size:17px;letter-spacing:-.025em}.cw-variant-card>p{min-height:42px;margin:7px 0 22px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.6}.cw-variant-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cw-variant-card dl>div{padding:9px 10px;border-radius:8px;background:hsl(var(--secondary) / .5)}.cw-variant-card dt{color:hsl(var(--muted-foreground));font-size:9.5px}.cw-variant-card dd{margin:3px 0 0;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px}.cw-metric-board{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-metric-head,.cw-metric-row{display:grid;grid-template-columns:minmax(170px,1fr) 100px 100px 88px;align-items:center;gap:12px;padding:11px 16px}.cw-metric-head{grid-template-columns:auto auto minmax(0,1fr);min-height:48px;border-bottom:1px solid hsl(var(--border))}.cw-metric-head .cw-i{width:15px;color:hsl(var(--cw-workspace-accent))}.cw-metric-head strong{font-size:12px}.cw-metric-head span{justify-self:end;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-metric-row{min-height:44px;color:hsl(var(--muted-foreground));font-size:11px}.cw-metric-row+.cw-metric-row{border-top:1px solid hsl(var(--border) / .7)}.cw-metric-row strong{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.cw-metric-row em{color:hsl(var(--cw-workspace-accent));font-size:10.5px;font-style:normal;font-weight:650}.cw-run-list{overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel))}.cw-run-row{min-height:72px;display:grid;grid-template-columns:36px minmax(220px,1fr) 70px 110px 72px;align-items:center;gap:12px;padding:11px 16px}.cw-run-row+.cw-run-row{border-top:1px solid hsl(var(--border))}.cw-run-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-run-icon .cw-i{width:14px;height:14px}.cw-run-row>div{min-width:0}.cw-run-row strong{color:hsl(var(--foreground));font-size:12px}.cw-run-row p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.cw-run-row time{color:hsl(var(--muted-foreground));font-size:10.5px}.cw-run-status.is-running{background:hsl(var(--cw-workspace-accent-soft));color:hsl(var(--cw-workspace-accent))}.cw-prototype-note{display:flex;align-items:center;gap:7px;margin-top:14px;color:hsl(var(--muted-foreground));font-size:10.5px}.cw-prototype-note .cw-i{width:13px;height:13px}.cw-publish-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:hsl(var(--muted-foreground));font-size:12px}.cw-publish-loading .cw-i{width:22px;height:22px;margin-bottom:5px;color:hsl(var(--cw-workspace-accent))}.cw-publish-loading strong{color:hsl(var(--foreground));font-size:14px}.cw-header{flex-shrink:0;display:flex;align-items:flex-start;gap:16px;padding:18px 24px 16px;border-bottom:1px solid hsl(var(--border))}.cw-header-title{flex:1;min-width:0}.cw-header-mode{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.cw-title{margin:5px 0 2px;font-size:21px;font-weight:650;letter-spacing:-.02em}.cw-subtitle{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.cw-progress-pill{flex-shrink:0;margin-top:2px;padding:5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.cw-body{flex:1;min-height:0;overflow-y:auto}.cw-center{display:flex;align-items:flex-start;justify-content:center;gap:32px;max-width:960px;margin:0 auto;padding:32px 24px 80px}.cw-form-col{flex:1 1 auto;min-width:0;max-width:640px;display:flex;flex-direction:column;gap:12px}.cw-section{scroll-margin-top:24px;padding:0;overflow:hidden;border:1px solid hsl(var(--border) / .72);border-radius:18px;background:hsl(var(--panel));box-shadow:none}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker)){overflow:visible}.cw-section:has(.cw-a2a-space-picker:not(.cw-model-picker))>.cw-sec-head{border-radius:17px 17px 0 0}.cw-sec-body{padding:2px 18px 6px}.cw-sec-title{margin:0;font-size:14px;font-weight:620;letter-spacing:-.01em;color:hsl(var(--foreground))}.cw-sec-hint{margin:0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-form{display:flex;flex-direction:column;gap:0}.cw-section-desc{margin:0;font-size:13px;line-height:1.6;color:hsl(var(--muted-foreground))}.cw-field{display:grid;grid-template-columns:minmax(124px,.34fr) minmax(0,1fr);align-items:start;column-gap:16px;row-gap:6px;padding:11px 0}.cw-form>.cw-field+.cw-field,.cw-form>.cw-toggle+.cw-toggle,.cw-form>.cw-field+.cw-toggle,.cw-form>.cw-toggle+.cw-field,.cw-toggle-stack>.cw-field,.cw-toggle-stack>.cw-toggle+.cw-toggle{border-top:1px dashed hsl(var(--border) / .8)}.cw-field>.cw-label,.cw-field>.cw-remote-center-head{grid-column:1;align-self:start}.cw-field:has(>.cw-input)>.cw-label{align-self:center}.cw-field:has(>.cw-model-picker)>.cw-label{align-self:center}.cw-field>:not(.cw-label):not(.cw-remote-center-head){grid-column:2;min-width:0}.cw-form>.cw-more-options{margin:10px 0 10px calc(34% + 16px)}.cw-form>.cw-model-more-options{margin-left:0}.cw-help:not(.cw-a2a-space-status):not(.cw-dependency-hint),.cw-section-desc:not(.cw-dependency-hint),.cw-remote-center-description,.cw-ctool-desc,.cw-skill-result-desc{display:none}.cw-dependency-hint{margin:0 0 14px calc(34% + 16px)}.cw-field>.cw-dependency-hint{grid-column:2;margin:0}.cw-more-options{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:-4px;padding:4px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12.5px;font-weight:560;cursor:pointer;transition:color .14s ease}.cw-more-options:hover,.cw-more-options:focus-visible{color:hsl(var(--foreground))}.cw-more-options:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:3px;border-radius:4px}.cw-more-options-chevron{width:14px;height:14px;transition:transform .18s ease}.cw-more-options-chevron.is-open{transform:rotate(90deg)}.cw-more-options-count{margin-left:2px;padding:2px 7px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:10.5px;font-weight:600}.cw-model-advanced{display:flex;flex-direction:column;gap:20px;overflow:hidden}.cw-label-with-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.cw-label-with-link a{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.3;text-decoration:none}.cw-label-with-link a:hover,.cw-label-with-link a:focus-visible{color:hsl(var(--foreground));text-decoration:underline;text-underline-offset:2px}.cw-label-with-link a svg{width:10px;height:10px}.cw-model-source-field{align-items:center}.cw-model-source-field>.cw-label{align-self:center}.cw-model-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-model-source-option{min-width:0;min-height:36px;display:flex;align-items:stretch;overflow:hidden;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.cw-model-source-option:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .22)}.cw-model-source-option.is-disabled{background:hsl(var(--muted) / .18);color:hsl(var(--muted-foreground));opacity:.7}.cw-model-source-option.is-disabled:hover{border-color:hsl(var(--border));background:hsl(var(--muted) / .18)}.cw-model-source-option.is-on{border-color:hsl(var(--ring) / .42);background:hsl(var(--primary) / .055);box-shadow:inset 0 0 0 1px hsl(var(--ring) / .08)}.cw-model-source-option>.flex{flex:1;min-width:0}.cw-model-source-control{width:100%;min-height:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:8px 10px;color:inherit;cursor:pointer;font-size:12.5px;font-weight:560}.cw-model-source-option.is-disabled .cw-model-source-control{cursor:not-allowed}.cw-model-source-coming-soon{flex:0 0 auto;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;line-height:1.3}.cw-label{font-size:13px;font-weight:400;color:hsl(var(--foreground))}.cw-req{margin-left:2px;color:hsl(var(--destructive))}.cw-help{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-remote-center-head{display:flex;flex-direction:column;gap:6px}.cw-remote-center-description{display:block;max-width:560px;margin:0;line-height:1.6}.cw-a2a-space-picker{position:relative;display:flex;flex-direction:column;gap:8px}.cw-model-picker-stack{display:grid;min-width:0;gap:12px}.cw-model-picker-field{display:grid;min-width:0;gap:6px}.cw-model-picker-label{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.45}.cw-a2a-space-picker.is-open{z-index:80}.cw-a2a-space-row{display:flex;align-items:center;gap:8px}.cw-a2a-space-select-wrap{position:relative;flex:1;min-width:0}.cw-a2a-space-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;gap:8px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.cw-a2a-space-trigger:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background-color:hsl(var(--muted) / .18)}.cw-a2a-space-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background-color:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.cw-a2a-space-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-trigger:disabled{cursor:not-allowed;opacity:.5}.cw-a2a-space-trigger.is-error{box-shadow:0 0 0 1px hsl(var(--destructive) / .55)}.cw-a2a-space-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-trigger>span.is-placeholder{color:hsl(var(--muted-foreground));font-weight:400}.cw-a2a-space-trigger-icon{width:18px;height:18px;flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .16s ease}.cw-a2a-space-trigger[aria-expanded=true] .cw-a2a-space-trigger-icon{transform:rotate(180deg)}.cw-a2a-space-menu{position:absolute;z-index:81;top:calc(100% + 6px);left:0;width:100%;overflow:hidden;padding:4px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 8px 24px hsl(var(--foreground) / .08);font-size:12px}.cw-catalog-menu{width:min(460px,calc(100vw - 64px))}.cw-catalog-menu-portal{position:fixed;z-index:1000;display:flex;min-height:0;flex-direction:column;overflow:hidden}.cw-picker-search{padding:4px 4px 6px;border-bottom:1px solid hsl(var(--border) / .72)}.cw-picker-search-input{width:100%;height:30px;padding:0 9px;border:1px solid hsl(var(--border));border-radius:5px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.cw-picker-search-input:focus{border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 2px hsl(var(--ring) / .1)}.cw-picker-options{max-height:188px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.cw-picker-empty{padding:14px 10px;color:hsl(var(--muted-foreground));text-align:center}.cw-a2a-space-option{display:flex;align-items:center;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:500;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-a2a-space-option:hover,.cw-a2a-space-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.cw-a2a-space-option.is-selected{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-catalog-options{min-height:0;max-height:none;flex:1;scrollbar-gutter:stable}.cw-model-key-option{justify-content:space-between;gap:12px}.cw-model-key-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-key-option>span{flex:1}.cw-model-option{min-height:48px;justify-content:space-between;gap:14px;white-space:normal}.cw-model-option.is-activation-link{cursor:pointer}.cw-model-option:disabled{cursor:default;opacity:.62}.cw-model-option:disabled:hover{background:transparent}.cw-model-option-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cw-model-option-copy strong,.cw-model-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-model-option-copy strong{font-size:12.5px;font-weight:620}.cw-model-option-copy small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4}.cw-model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:hsl(var(--muted) / .68);color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600;line-height:1.25}.cw-model-status:before{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor;content:""}.cw-model-status.is-available{background:#34b2621f;color:#2a844b}.cw-model-status.is-retiring{background:#eda01d1f;color:#a2631a}.cw-model-status.is-unavailable,.cw-model-status.is-unknown{background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.cw-a2a-space-refresh{flex-shrink:0;width:36px;height:36px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s ease,background-color .12s ease}.cw-a2a-space-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .4)}.cw-a2a-space-refresh:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-a2a-space-status{display:inline-flex;align-items:center;gap:6px}.cw-a2a-space-error{align-items:flex-start;padding:9px 11px;font-size:12.5px}.cw-viking-kb-picker{gap:6px}.cw-viking-kb-inline-status{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.cw-viking-kb-menu{padding:3px;box-shadow:0 6px 18px hsl(var(--foreground) / .06)}.cw-viking-kb-menu .cw-picker-options{max-height:min(112px,calc(100vh - 310px))}.cw-viking-kb-menu .cw-a2a-space-option{min-height:28px;padding:5px 9px;line-height:1.25}.cw-viking-kb-refresh{color:hsl(var(--foreground) / .72)}.cw-viking-kb-refresh:hover:not(:disabled){border-color:hsl(var(--foreground) / .28);background:hsl(var(--muted) / .45);color:hsl(var(--foreground))}.cw-viking-kb-refresh:disabled{color:hsl(var(--muted-foreground))}.cw-error-text{font-size:12px;color:hsl(var(--destructive))}.cw-env-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:5px}.cw-env-field{display:flex;min-width:0;flex-direction:column;gap:6px}.cw-env-field-head{display:grid;min-width:0;gap:3px;color:hsl(var(--foreground));font-size:12px;font-weight:560}.cw-env-field-title{display:inline-flex;min-width:0;align-items:center;gap:5px}.cw-env-field-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.cw-env-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:default;font-size:10px;font-weight:650;line-height:1}.cw-env-help-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(320px,72vw);padding:7px 9px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--foreground));color:hsl(var(--background));box-shadow:0 10px 28px hsl(var(--foreground) / .14);font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%);opacity:0;pointer-events:none;-webkit-user-select:text;user-select:text}.cw-env-help:hover .cw-env-help-popover,.cw-env-help:focus-visible .cw-env-help-popover,.cw-env-help:focus-within .cw-env-help-popover{opacity:1;pointer-events:auto}.cw-env-help:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.cw-env-link{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:hsl(var(--muted-foreground));text-decoration:none}.cw-env-link:hover{background:hsl(var(--foreground) / .055);color:hsl(var(--foreground))}.cw-env-link svg{width:13px;height:13px;flex:0 0 13px}.cw-env-field-head code{display:block;max-width:100%;overflow:hidden;color:hsl(var(--muted-foreground));font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cw-env-empty{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:12px}.cw-input{min-width:0;width:100%;min-height:38px;padding:9px 12px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.cw-input::placeholder{color:hsl(var(--muted-foreground))}.cw-input:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-input[aria-invalid=true]{border-color:hsl(var(--destructive) / .7);box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.cw-input.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-env-textarea{min-height:96px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.cw-env-error{margin-top:-2px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.4}.cw-textarea{width:100%;padding:11px 13px;border:1px solid hsl(var(--border) / .8);border-radius:12px;background:hsl(var(--background));box-shadow:inset 0 1px hsl(var(--foreground) / .015);color:hsl(var(--foreground));font:inherit;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .12s,box-shadow .12s}.cw-textarea::placeholder{color:hsl(var(--muted-foreground))}.cw-textarea:focus{outline:none;border-color:hsl(var(--ring) / .38);box-shadow:0 0 0 3px hsl(var(--ring) / .09),inset 0 1px hsl(var(--foreground) / .015)}.cw-textarea.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}@keyframes cw-error-shake-a{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes cw-error-shake-b{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.cw-error-shake-0{animation:cw-error-shake-a .28s ease-in-out}.cw-error-shake-1{animation:cw-error-shake-b .28s ease-in-out}@media (prefers-reduced-motion: reduce){.cw-error-shake-0,.cw-error-shake-1{animation:none}}.cw-textarea-sm{min-height:80px;max-height:160px;overflow-y:auto}.cw-textarea-lg{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cw-markdown-loading,.cw-markdown-editor:not(.mdxeditor-popup-container){min-height:340px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background))}.cw-markdown-loading{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:13px}.cw-markdown-editor:not(.mdxeditor-popup-container){display:flex;flex-direction:column;max-height:420px;overflow:hidden;color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.cw-markdown-editor:not(.mdxeditor-popup-container):focus-within{border-color:hsl(var(--ring) / .45);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.cw-markdown-editor:not(.mdxeditor-popup-container).is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.cw-markdown-toolbar{flex-shrink:0;min-height:40px;padding:5px 8px;border:0;border-bottom:1px solid hsl(var(--border));border-radius:0;background:hsl(var(--muted) / .38)}.cw-markdown-toolbar button,.cw-markdown-toolbar [role=combobox]{color:hsl(var(--foreground))}.cw-markdown-content{min-height:298px;max-height:360px;overflow-y:auto;padding:18px 20px 28px;color:hsl(var(--foreground));font-size:14px;line-height:1.7}.cw-markdown-content:focus{outline:none}.cw-markdown-content h1,.cw-markdown-content h2,.cw-markdown-content h3{margin:1.1em 0 .45em;color:hsl(var(--foreground));font-weight:650;line-height:1.3}.cw-markdown-content h1:first-child,.cw-markdown-content h2:first-child,.cw-markdown-content h3:first-child{margin-top:0}.cw-markdown-content h1{font-size:20px}.cw-markdown-content h2{font-size:17px}.cw-markdown-content h3{font-size:15px}.cw-markdown-content p{margin:0 0 .8em}.cw-markdown-content ul,.cw-markdown-content ol{margin:.5em 0 .9em;padding-left:1.5em}.cw-markdown-content ul{list-style:disc outside}.cw-markdown-content ol{list-style:decimal outside}.cw-markdown-content li{display:list-item}.cw-markdown-content blockquote{margin:.8em 0;padding-left:12px;border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.cw-markdown-error{display:block;margin-top:6px;color:hsl(var(--destructive));font-size:12px}.cw-tag-editor{display:flex;flex-direction:column;gap:12px}.cw-tag-inputrow{display:flex;gap:8px}.cw-tag-inputrow .cw-input{flex:1}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.cw-presets-label{font-size:11.5px;color:hsl(var(--muted-foreground));margin-right:2px}.cw-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:12.5px;white-space:nowrap}.cw-chip-ghost{border:1px dashed hsl(var(--border));background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.cw-chip-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-chip-sub{background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-pills{display:flex;flex-wrap:wrap;gap:8px}.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 12px;border-radius:999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-size:13px}.cw-pill-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:hsl(var(--foreground) / .06);color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-pill-x:hover{background:hsl(var(--destructive) / .12);color:hsl(var(--destructive))}.cw-empty-line{margin:0;font-size:12.5px;color:hsl(var(--muted-foreground))}.cw-check-inline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:13px;color:hsl(var(--foreground));cursor:pointer;-webkit-user-select:none;user-select:none}.cw-check-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:hsl(var(--primary));cursor:pointer}.cw-checklist{display:flex;flex-direction:column;gap:8px}.cw-tools-list-shell{min-width:0;container-type:inline-size}.cw-tool-config{padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted) / .28)}.cw-tool-config-head{display:flex;flex-direction:column;gap:3px}.cw-checklist-tools{--cw-checklist-row-height: 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--cw-checklist-row-height),auto);max-height:var(--cw-checklist-max-height);padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-checklist-tools .cw-check{min-height:var(--cw-checklist-row-height);align-items:center;padding:8px 10px}.cw-checklist-tools .cw-check-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@container (max-width: 575px){.cw-checklist-tools{grid-template-columns:minmax(0,1fr)}}.cw-check{display:flex;align-items:flex-start;gap:0;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-check>label{flex:1;min-width:0;padding-left:12px;color:inherit;cursor:pointer}.cw-checklist-tools .cw-check>label{padding-left:10px}.cw-check:hover{background:hsl(var(--foreground) / .05)}.cw-check.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-check-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-check-title{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.cw-check-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-segmented{display:flex;flex-wrap:wrap;gap:8px}.cw-seg{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:11px 13px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s}.cw-seg:hover{background:hsl(var(--foreground) / .05)}.cw-seg.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-seg-title{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.cw-seg-desc{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.cw-ctool{display:flex;flex-direction:column;gap:12px}.cw-ctool-inputs{display:flex;flex-wrap:wrap;gap:8px}.cw-ctool-inputs .cw-input{flex:1 1 180px}.cw-ctool-list{display:flex;flex-direction:column;gap:8px}.cw-ctool-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--card))}.cw-ctool-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.cw-ctool-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-ctool-name{font-size:13.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:hsl(var(--foreground));word-break:break-word}.cw-ctool-desc{font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp,.cw-mcp-list{display:flex;flex-direction:column;gap:12px}.cw-mcp-row{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.cw-mcp-rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-mcp-transport{display:inline-flex;gap:6px}.cw-seg-sm{flex:0 0 auto;min-width:72px;flex-direction:row;align-items:center;justify-content:center;text-align:center;padding:6px 16px;border-radius:9px}.cw-seg-sm .cw-seg-title{font-size:12.5px}.cw-mcp-note{margin:0;font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-mcp-warning{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border:1px solid #b4530940;border-radius:8px;background:#b453091a;color:#b45309;font-size:12.5px;line-height:1.5}.cw-mcp-warning svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px}.cw-mcp .cw-add-sub{margin-top:0}.cw-mcp-field{align-items:center}.cw-mcp-field>.cw-label{align-self:center}.cw-subfield{margin:0;padding:9px 0;border:0;border-radius:0;background:transparent}.cw-toggle-stack{gap:0}.cw-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:9px 0;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.cw-toggle:hover{background:hsl(var(--muted) / .18)}.cw-toggle.is-on{background:hsl(var(--muted) / .24);box-shadow:none}.cw-toggle-text{grid-column:1;grid-row:1;margin-left:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-toggle-title{font-size:14px;font-weight:600}.cw-toggle-help{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-switch{grid-column:2;grid-row:1;justify-self:end;flex-shrink:0;display:flex;align-items:center;width:42px;height:24px;padding:2px;border-radius:999px;background:hsl(var(--border));transition:background .18s}.cw-toggle.is-on .cw-switch{background:hsl(var(--primary));justify-content:flex-end}.cw-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:hsl(var(--background));box-shadow:0 1px 2px hsl(var(--foreground) / .2)}.cw-sub-list{display:flex;flex-direction:column;gap:14px}.cw-sub{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .03)}.cw-sub-head{display:flex;align-items:center;justify-content:space-between}.cw-sub-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground));font-size:12.5px;font-weight:600}.cw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.cw-icon-btn:not(:disabled):hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-icon-btn:disabled{opacity:.35;cursor:not-allowed}.cw-icon-danger:not(:disabled):hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cw-sub-head-actions{display:inline-flex;align-items:center;gap:2px}.cw-sub-list-wrap{display:flex;flex-direction:column}.cw-agent-type-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0}.cw-agent-type-option{position:relative;min-width:0;min-height:42px;display:flex;align-items:center;gap:10px;padding:0;border:1px solid hsl(var(--border) / .72);border-radius:10px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.cw-agent-type-option:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary) / .28)}.cw-agent-type-option.is-on{border-color:hsl(var(--foreground) / .3);background:hsl(var(--secondary) / .42)}.cw-agent-type-option.is-disabled{color:hsl(var(--muted-foreground) / .52);cursor:not-allowed}.cw-agent-type-option>.flex{align-self:stretch;flex:1;min-width:0}.cw-agent-type-control{align-self:stretch;flex:1;width:100%;min-width:0;min-height:100%;box-sizing:border-box;padding:10px 12px;color:inherit;cursor:inherit}.cw-agent-type-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.cw-agent-type-copy strong{font-size:13px;font-weight:650}.cw-agent-type-copy small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.cw-agent-type-disabled-hint{position:absolute;top:calc(100% + 17px);right:0;width:max-content;max-width:220px;padding:7px 10px;border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--popover));box-shadow:0 8px 24px hsl(var(--foreground) / .1);color:hsl(var(--popover-foreground));font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .14s ease,transform .14s ease}.cw-agent-type-option.is-disabled:hover .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus .cw-agent-type-disabled-hint,.cw-agent-type-option.is-disabled:focus-visible .cw-agent-type-disabled-hint{opacity:1;transform:translateY(0)}.cw-agent-type-option:focus-within,.cw-agent-type-option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-add-sub{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;width:100%;border:1px dashed hsl(var(--border));border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cw-add-sub:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--ring) / .3)}.cw-banner{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:13px;line-height:1.5}.cw-review{display:flex;flex-direction:column;border:1px solid hsl(var(--border));border-radius:14px;overflow:hidden;background:hsl(var(--card))}.cw-review-row{display:flex;gap:18px;padding:13px 16px;border-bottom:1px solid hsl(var(--border))}.cw-review-row:last-child{border-bottom:none}.cw-review-key{flex-shrink:0;width:110px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.cw-review-val{flex:1;min-width:0;font-size:13.5px}.cw-review-strong{font-weight:600}.cw-review-muted{color:hsl(var(--muted-foreground))}.cw-review-pre{margin:0;padding:10px 12px;background:hsl(var(--muted));border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.cw-review-chips,.cw-review-subs{display:flex;flex-wrap:wrap;gap:6px}.cw-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.cw-tag-on{background:#22c35d24;color:#1c7d3f}.cw-tag-off{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.cw-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .13s,opacity .13s,border-color .13s,transform .1s}.cw-btn:active{transform:scale(.98)}.cw-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cw-btn-primary:hover:not(:disabled){opacity:.88}.cw-btn-primary:disabled{opacity:.4;cursor:default}.cw-btn-ghost{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.cw-btn-ghost:hover{background:hsl(var(--accent))}.cw-btn-soft{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));flex-shrink:0}.cw-btn-soft:hover:not(:disabled){background:hsl(var(--accent))}.cw-btn-soft:disabled{opacity:.45;cursor:default}.cw-i{width:16px;height:16px;flex-shrink:0}.cw-i-sm{width:14px;height:14px}.cw-root-preview{height:100%}.cw-preview-body{flex:1;min-height:0;display:flex;overflow:hidden;background:hsl(var(--background))}.cw-preview-body>*{flex:1;min-height:0}.cw-environment-workspace{flex:1;min-width:0;min-height:0;display:flex;align-items:flex-start;overflow-x:hidden;overflow-y:auto;padding:20px 0 24px}.cw-skillhub{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.cw-skill-searchrow{display:flex;gap:8px}.cw-skill-searchbox{position:relative;flex:1;min-width:0;display:flex;align-items:center}.cw-skill-searchicon{position:absolute;left:11px;color:hsl(var(--muted-foreground));pointer-events:none}.cw-skill-input{padding-left:36px}.cw-skill-input:focus,.cw-skill-input:focus-visible{outline:2px solid hsl(var(--ring) / .38);outline-offset:1px;border-color:hsl(var(--ring) / .48);background:hsl(var(--background));box-shadow:none}.cw-skill-selected{display:flex;flex-direction:column;gap:8px}.cw-skill-selected-label{font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.cw-skill-results{display:flex;flex-direction:column;gap:8px;max-height:472px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-skill-result{flex-shrink:0;display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));text-align:left;cursor:pointer;font:inherit;transition:background .12s,border-color .12s;min-height:72px}.cw-skill-result:hover{background:hsl(var(--foreground) / .05)}.cw-skill-result.is-on{background:hsl(var(--foreground) / .08);border-color:hsl(var(--foreground) / .18)}.cw-skill-result-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--muted-foreground));transition:background .12s,border-color .12s,color .12s}.cw-skill-result.is-on .cw-skill-result-icon{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}.cw-skill-result-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cw-skill-result-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground));word-break:break-word}.cw-skill-result-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.5;color:hsl(var(--muted-foreground))}.cw-skill-result-repo{font-size:11px;font-family:inherit;line-height:1.4;color:hsl(var(--muted-foreground));word-break:break-all}.cw-skill-loading{flex:1;min-height:120px;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.cw-spin{animation:cw-spin .8s linear infinite}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-skillspane{display:flex;flex-direction:column;gap:10px;padding:10px 0 12px}.cw-skill-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.cw-skill-add:hover{border-color:hsl(var(--foreground) / .34);background:transparent;color:hsl(var(--foreground))}.cw-skill-add:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring) / .25)}.cw-skill-add-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.cw-skill-dialog-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#15181e47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cw-skill-dialog{width:min(680px,calc(100vw - 32px));height:min(640px,calc(100dvh - 40px));min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 24px 72px #10131933}.cw-skill-dialog-head{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px;border-bottom:1px solid hsl(var(--border))}.cw-skill-dialog-head h3{margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.cw-skill-dialog-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-skill-dialog-close:hover{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.cw-skill-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.cw-skill-sourcetabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:44px;padding:4px;overflow:hidden;border:1px solid hsl(var(--border) / .55);border-radius:10px;background:hsl(var(--secondary) / .58)}.cw-skill-tab-slider{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:var(--cw-skill-tab-slider-width);border:1px solid hsl(var(--border) / .72);border-radius:7px;background:hsl(var(--background));transform:translate(var(--cw-active-skill-tab-offset));transition:transform .24s cubic-bezier(.22,1,.36,1)}.cw-skill-pickertab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;transition:background .16s,color .16s}.cw-skill-pickertab:hover{background:hsl(var(--foreground) / .035);color:hsl(var(--foreground))}.cw-skill-pickertab.is-on{background:transparent;color:hsl(var(--foreground))}.cw-skill-pickertab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--ring) / .45)}.cw-skill-tabbody{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.cw-selected-skill-list{display:flex;flex-direction:column;gap:7px;max-height:347px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cw-selected-skill-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card))}.cw-selected-skill-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.cw-selected-skill-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cw-selected-skill-name{overflow:hidden;color:hsl(var(--foreground));font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-detail{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.cw-selected-skill-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.cw-selected-skill-remove:hover{background:hsl(var(--destructive) / .09);color:hsl(var(--destructive))}.cw-local{height:100%;min-height:0;display:flex;flex-direction:column;gap:8px}.cw-local-dropzone{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px 14px;border:1px dashed hsl(var(--border));border-radius:10px;background:transparent;transition:border-color .15s,color .15s}.cw-local-drop-icon{width:20px;height:20px;color:hsl(var(--muted-foreground))}.cw-local-dropzone.is-dragging{border-color:hsl(var(--foreground) / .48);color:hsl(var(--foreground))}.cw-local-drop-hint{margin:0;color:hsl(var(--muted-foreground));font-size:11.5px}.cw-local-dropzone.is-dragging .cw-local-drop-hint,.cw-local-dropzone.is-dragging .cw-local-drop-icon{color:hsl(var(--foreground))}.cw-local-hint{margin:0;font-size:12px;color:hsl(var(--muted-foreground));line-height:1.5}.cw-skillspace{height:100%;min-height:0;display:flex;flex-direction:column}.cw-skillspace-header{display:flex;gap:8px;align-items:center;margin-bottom:10px}.cw-skillspace-select{width:100%;flex:1;min-width:0}.cw-skillspace-region-label{flex-shrink:0;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--muted) / .52);color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;white-space:nowrap}.cw-skillspace-console-link{flex-shrink:0;padding:9px 12px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cw-skillspace-console-link .cw-i{display:block}.cw-skill-result-version{color:hsl(var(--muted-foreground));font-weight:400;font-size:11px;margin-left:4px}.cw-skill-result-repo .cw-i{vertical-align:-2px;margin-right:2px}@media (max-width: 1280px){.cw-root{--cw-workspace-width: calc(100% - 48px) }.cw-workspace-header{padding-inline:16px}.cw-debug{width:280px}.cw-tree{width:208px}}@media (max-width: 1080px){.cw-editor{overflow:hidden}.cw-tree{height:auto}.cw-detail{flex:1 1 auto;width:100%;max-width:none;min-height:0}.cw-debug{flex:0 0 100%;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px;border-left:none;border-top:1px solid hsl(var(--border))}.cw-debug.is-collapsed{flex:0 0 48px;width:100%;min-width:0;height:48px;min-height:48px;align-items:flex-end;padding:7px 12px}.cw-debug.is-collapsed .cw-debug-expand{width:34px;min-height:34px}.cw-lower{gap:0}.cw-detail .cw-form-col{max-width:100%}}@media (max-width: 860px){.cw-root{--cw-workspace-gutter: 8px;--cw-workspace-width: calc(100% - 16px) }.cw-workspace-header{min-height:50px;padding:6px 10px}.cw-workspace-header h1{font-size:17px}.cw-validation-workspace{display:flex}.cw-ab-stage{padding:8px var(--cw-workspace-gutter)}.cw-ab-grid{grid-template-columns:repeat(var(--cw-ab-column-count),minmax(0,1fr))}.cw-ab-composer{padding-inline:var(--cw-workspace-gutter)}.cw-editor{flex-direction:column;overflow-x:hidden;overflow-y:hidden}.cw-editor>.abc-root{flex:0 0 180px;width:100%;min-width:0;min-height:180px}.cw-tree{width:100%;height:auto;max-height:220px;border-right:0;border-bottom:1px solid hsl(var(--border))}.cw-detail{flex:1 1 auto;width:100%;max-width:none;height:auto;min-height:0;border-left:0}.cw-detail-scroll{padding:16px 12px 20px}.cw-debug{flex:none;width:100%;height:min(480px,calc(100dvh - 120px));min-height:360px}.cw-debug.is-collapsed{width:100%;height:48px;min-height:48px}.cw-center{gap:0;padding:24px 16px 64px}.cw-form-col{max-width:100%}}@media (max-width: 700px){.cw-workspace-header h1{text-align:center}.cw-workspace-nav-actions{grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr)}.cw-workspace-nav-button{padding-inline:12px}.cw-form>.cw-more-options,.cw-dependency-hint{margin-left:0}.cw-field{grid-template-columns:minmax(0,1fr);row-gap:8px}.cw-field>.cw-label,.cw-field>.cw-remote-center-head,.cw-field>:not(.cw-label):not(.cw-remote-center-head),.cw-field>.cw-dependency-hint{grid-column:1}.cw-optimization-list,.cw-ab-grid,.cw-ab-config,.cw-ab-profile-options,.cw-optimize-profile-options,.cw-optimize-option-list{grid-template-columns:minmax(0,1fr)}.cw-optimize-panel{padding:4px 0 12px}.cw-ab-composer{grid-template-columns:minmax(0,1fr);padding-bottom:12px}.cw-ab-add{width:100%}.cw-dataset-summary>div+div{border-top:1px solid hsl(var(--border));border-left:0}}.package-create{flex:1;min-width:0;min-height:0;display:flex;color:hsl(var(--foreground))}.package-create-preview{height:100%}.package-create-preview>*{flex:1;min-width:0;min-height:0}.package-source-pane{padding:16px 18px 18px}.package-source-label{margin-bottom:10px;color:hsl(var(--foreground));font-size:15px;font-weight:650}.package-dropzone{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed hsl(var(--border));border-radius:12px;background:hsl(var(--secondary) / .16);text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.package-dropzone:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:3px}.package-dropzone.is-dragging{border-color:hsl(var(--primary) / .62);background:hsl(var(--primary) / .045)}.package-dropzone.is-ready{background:hsl(var(--background))}.package-dropzone>strong{max-width:100%;overflow:hidden;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.package-dropzone>span{max-width:420px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.6}.package-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:5px}.package-upload-actions button{min-height:36px;padding:0 16px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.package-upload-secondary{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.package-upload-secondary:hover:not(:disabled){border-color:hsl(var(--foreground) / .24);background:hsl(var(--secondary))}.package-upload-actions button:disabled{cursor:default;opacity:.45}.package-upload-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .55);outline-offset:2px}.package-dropzone input{display:none}.package-create-error{flex:0 0 auto;margin-top:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .2);border-radius:8px;background:hsl(var(--destructive) / .07);color:hsl(var(--destructive));font-size:13px;line-height:1.5}@media (max-width: 860px){.package-dropzone{min-height:140px}}@media (prefers-reduced-motion: reduce){.package-dropzone,.package-upload-actions button{transition:none}}.migration-workspace{--migration-content-width: 1180px;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden;background:hsl(var(--canvas));color:hsl(var(--foreground));font-size:14px;letter-spacing:0}.migration-history{min-width:0;min-height:0;display:grid;grid-template-rows:64px auto minmax(0,1fr);padding:0 12px 14px;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .42)}.migration-history>header{display:flex;align-items:center;gap:8px;padding:0 4px}.migration-history h1{margin:0;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0}.migration-icon-button{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-icon-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-icon-button svg,.migration-new-button svg,.migration-file-chip svg,.migration-composer__file svg,.migration-attach-button svg,.migration-result__actions svg{width:17px;height:17px;flex:0 0 auto;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.migration-new-button{min-height:38px;display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:2px 0 12px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-new-button:hover:not(:disabled){background:hsl(var(--secondary));border-color:hsl(var(--border) / .72)}.migration-new-button:disabled,.migration-history nav>button:disabled{cursor:not-allowed;opacity:.5}.migration-history nav{min-height:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.migration-history nav>button{width:100%;min-height:58px;display:grid;align-content:center;gap:6px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-history nav>button:hover:not(:disabled),.migration-history nav>button.is-active{background:hsl(var(--secondary))}.migration-history nav>button>span{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.migration-history nav small{display:flex;align-items:center;justify-content:space-between;gap:6px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-history nav small span[data-state=failed],.migration-history nav small span[data-state=expired]{color:hsl(var(--destructive))}.migration-history nav small span[data-state=succeeded],.migration-history nav small span[data-state=succeeded_with_warnings]{color:#2a8457}.migration-history__empty{margin:16px 8px;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}.migration-main{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr) auto;overflow:hidden;background:hsl(var(--background))}.migration-main__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--panel))}.migration-main__header>div{min-width:0}.migration-main__header>div:first-child{flex:1 1 auto}.migration-main__header h2{margin:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.migration-main__header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.migration-ttl{flex:0 0 auto;display:grid;justify-items:end;gap:1px;text-align:right;white-space:nowrap}.migration-ttl strong{color:hsl(var(--foreground));font-size:12px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums}.migration-ttl small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.35}.migration-main__header-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px}.migration-stop-button{min-height:32px;padding:0 11px;border:1px solid hsl(var(--border));border-radius:7px;background:transparent;color:hsl(var(--destructive));font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.migration-stop-button:hover:not(:disabled){border-color:hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .05)}.migration-stop-button:disabled{cursor:not-allowed;opacity:.45}.migration-conversation{min-height:0;overflow-y:auto;padding:32px clamp(24px,3vw,48px) 44px;scrollbar-gutter:stable}.migration-turn,.migration-confirmation,.migration-result,.migration-system-state,.migration-inline-error{max-width:var(--migration-content-width)}.migration-turn{width:100%;display:flex;gap:14px;margin:0 auto 28px}.migration-turn.is-user{justify-content:flex-end}.migration-assistant-mark{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--panel));color:hsl(var(--muted-foreground));font-size:10.5px;font-weight:600}.migration-turn.is-assistant>div:last-child,.migration-assistant-content{min-width:0;flex:1;color:hsl(var(--foreground));font-size:14.5px;line-height:1.65;overflow-wrap:anywhere}.migration-turn p{margin:0}.migration-turn small{display:block;margin-top:7px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.migration-user-message{min-width:0;max-width:min(680px,85%);display:grid;gap:8px;padding:10px 16px;border-radius:18px;background:hsl(var(--secondary));font-size:14px;line-height:1.6;overflow-wrap:anywhere}.migration-file-chip,.migration-composer__file{min-width:0;display:flex;align-items:center;gap:7px}.migration-file-chip{font-size:12.5px;font-weight:600}.migration-file-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-running-note{margin-top:10px!important;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.migration-activity{width:100%;display:grid;gap:10px;margin-top:18px}.migration-activity__heading{display:flex;align-items:center;gap:8px;min-height:30px;color:hsl(var(--muted-foreground))}.migration-activity__heading strong{font-size:13px;font-weight:550}.migration-activity__marker{width:7px;height:7px;flex:0 0 7px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-activity__marker.is-complete{border-color:hsl(var(--foreground) / .45);background:hsl(var(--foreground) / .45)}.migration-activity .block-thinking,.migration-activity .bubble,.migration-activity .block-plan,.migration-activity .block-tool{max-width:100%}.migration-activity__stream{display:grid;gap:8px}.migration-activity__error{margin:2px 0 0!important;color:hsl(var(--muted-foreground));font-size:12px}.migration-transfer-progress{width:100%;max-width:var(--migration-content-width);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;box-sizing:border-box;margin:0 auto 24px;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .45)}.migration-assistant-content .migration-transfer-progress{margin:4px 0 2px}.migration-transfer-progress>div{min-width:0;display:flex;align-items:center;gap:8px;color:hsl(var(--muted-foreground))}.migration-transfer-progress__marker{width:8px;height:8px;flex:0 0 8px;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.migration-transfer-progress strong,.migration-transfer-progress .text-shimmer{min-width:0;overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.migration-transfer-progress>div.is-complete{color:hsl(var(--foreground))}.migration-transfer-progress>div.is-complete>.migration-transfer-progress__marker{border-color:hsl(var(--foreground));background:hsl(var(--foreground))}.migration-transfer-progress>div.is-active>.migration-transfer-progress__marker{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.migration-analysis{display:grid;gap:16px;margin-top:16px}.migration-analysis__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;padding:16px 0;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.migration-analysis h3{margin:0 0 6px;color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.migration-analysis strong{font-size:13.5px;font-weight:600}.migration-analysis__facts p,.migration-analysis__facts ul{margin:4px 0 0;padding:0;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.55;overflow-wrap:anywhere}.migration-analysis__facts ul{padding-left:17px}.migration-analysis__evidence summary{width:max-content;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5;cursor:pointer}.migration-analysis__evidence ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.migration-analysis__evidence li{display:grid;gap:3px;font-size:12px;line-height:1.5}.migration-analysis__evidence code{color:hsl(var(--foreground));overflow-wrap:anywhere}.migration-analysis__evidence span,.migration-analysis__warnings{color:hsl(var(--muted-foreground))}.migration-analysis__warnings{padding:11px 13px;border:1px solid hsl(38 80% 52% / .25);border-radius:8px;background:#eea62b12;font-size:12.5px;line-height:1.55}.migration-confirmation,.migration-result{width:100%;box-sizing:border-box;margin:0 auto 24px;border:1px solid hsl(var(--foreground) / .12);border-radius:8px;background:hsl(var(--panel))}.migration-confirmation{display:grid;gap:18px;padding:20px}.migration-confirmation__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.migration-confirmation__heading strong{font-size:15px;font-weight:600}.migration-confirmation__heading span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-align:right;overflow-wrap:anywhere}.migration-confirmation__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.migration-confirmation .new-chat-compact-select{align-self:end}.migration-confirmation .new-chat-compact-select__trigger{width:100%;min-height:40px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.migration-confirmation .new-chat-compact-select__menu{width:100%}.migration-field{min-width:0;display:grid;gap:7px;color:hsl(var(--foreground));font-size:12.5px;font-weight:600;overflow-wrap:anywhere}.migration-field b{margin-left:3px;color:hsl(var(--destructive))}.migration-field input,.migration-field textarea{width:100%;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13.5px;font-weight:400}.migration-field input{height:40px;padding:0 11px}.migration-field textarea{min-height:88px;padding:10px 11px;line-height:1.55;resize:vertical}.migration-field input:focus,.migration-field textarea:focus{border-color:hsl(var(--ring) / .7);box-shadow:0 0 0 2px hsl(var(--ring) / .12)}.migration-field input:disabled,.migration-field textarea:disabled{cursor:not-allowed;opacity:.6}.migration-field small{color:hsl(var(--destructive));font-size:11.5px;font-weight:400}.migration-confirmation__actions{display:flex;justify-content:flex-end}.migration-primary-button,.migration-result__actions button,.migration-running-actions button,.migration-inline-error button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.migration-primary-button,.migration-result__actions button.is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.migration-primary-button:hover:not(:disabled),.migration-result__actions button.is-primary:hover:not(:disabled){opacity:.86}.migration-result__actions button:not(.is-primary):hover:not(:disabled),.migration-running-actions button:hover:not(:disabled),.migration-inline-error button:hover:not(:disabled){background:hsl(var(--secondary))}.migration-primary-button:disabled,.migration-result__actions button:disabled,.migration-running-actions button:disabled{cursor:not-allowed;opacity:.45}.migration-result{overflow:hidden}.migration-result>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 16px;border-bottom:1px solid hsl(var(--border))}.migration-result>header>div:first-child{min-width:0;flex:1 1 280px;display:grid;gap:4px}.migration-result>header strong{font-size:14.5px;font-weight:600}.migration-result>header span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5;overflow-wrap:anywhere}.migration-result__actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.migration-result__actions button span{color:inherit}.migration-result__summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px;padding:10px 16px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.migration-result__summary span{min-width:0;overflow-wrap:anywhere}.migration-artifact-browser{height:min(58vh,620px);min-height:360px;display:grid;grid-template-columns:232px minmax(0,1fr)}.migration-artifact-browser>aside{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-right:1px solid hsl(var(--border));background:hsl(var(--canvas) / .3)}.migration-artifact-browser__search{padding:10px}.migration-artifact-browser__search input{width:100%;height:34px;box-sizing:border-box;padding:0 10px;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}.migration-artifact-browser__files{min-height:0;overflow-y:auto}.migration-artifact-browser__files button{width:100%;min-height:34px;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 10px;border:0;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;text-align:left;cursor:pointer}.migration-artifact-browser__files button:hover,.migration-artifact-browser__files button.is-active{background:hsl(var(--secondary))}.migration-artifact-browser__files svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.migration-artifact-browser__files span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser__files small,.migration-artifact-browser__limit{color:hsl(var(--muted-foreground));font-size:10.5px}.migration-artifact-browser__limit{margin:0;padding:8px 10px;border-top:1px solid hsl(var(--border))}.migration-artifact-browser>section{min-width:0;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr)}.migration-artifact-browser>section>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid hsl(var(--border));font-size:12px}.migration-artifact-browser>section>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-artifact-browser>section>header small{flex:0 0 auto;color:hsl(var(--muted-foreground))}.migration-artifact-browser__preview{min-width:0;min-height:0;display:grid;place-items:stretch;overflow:hidden;background:hsl(var(--background));color:hsl(var(--muted-foreground));font-size:12px}.migration-artifact-browser__preview>.cm-theme-light,.migration-artifact-browser__preview .cm-editor{width:100%;height:100%;min-width:0;min-height:0}.migration-artifact-browser__preview .cm-scroller{overflow:auto}.migration-artifact-browser__preview>p,.migration-artifact-browser__preview>.text-shimmer,.migration-artifact-browser__preview>img{place-self:center}.migration-artifact-browser__preview img{max-width:100%;max-height:100%;object-fit:contain}.migration-system-state,.migration-inline-error{width:100%;box-sizing:border-box;margin:0 auto 22px;padding:12px 14px;border-radius:8px;font-size:12.5px;line-height:1.55}.migration-system-state.is-error,.migration-inline-error{border:1px solid hsl(var(--destructive) / .2);background:hsl(var(--destructive) / .045)}.migration-system-state.is-error{color:hsl(var(--foreground))}.migration-inline-error,.migration-system-state.is-error>strong{color:hsl(var(--destructive))}.migration-system-state strong{font-size:13.5px;font-weight:600}.migration-system-state p{margin:5px 0 0}.migration-system-state ul{margin:8px 0 0;padding-left:18px;color:hsl(var(--muted-foreground))}.migration-retry-button{min-height:32px;margin-top:8px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.migration-retry-button:hover{background:hsl(var(--secondary))}.migration-inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.migration-inline-error>span{min-width:0;overflow-wrap:anywhere}.migration-inline-error button{min-height:30px;flex:0 0 auto;color:inherit;font-size:11.5px}.migration-inline-error button[aria-label]{width:30px;padding:0;border:0;background:transparent}.migration-inline-error button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.migration-expired{display:grid;gap:4px}.migration-composer{width:min(var(--migration-content-width),calc(100% - 64px));justify-self:center;padding:0 0 16px}.migration-composer__box{min-height:104px;position:relative;display:grid;grid-template-rows:minmax(40px,auto) 36px;gap:10px;box-sizing:border-box;padding:12px 14px;border:1px solid hsl(var(--foreground) / .14);border-radius:16px;background:hsl(var(--panel));box-shadow:0 8px 32px hsl(var(--foreground) / .028),0 24px 72px 8px hsl(var(--foreground) / .02);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.migration-composer__box.is-dragging{border-color:hsl(var(--ring) / .7);background:hsl(var(--secondary) / .35)}.migration-composer__content{min-width:0;display:flex;align-items:center}.migration-composer__content>p{margin:0 2px;color:hsl(var(--muted-foreground));font-size:14px;line-height:1.5}.migration-composer__file{width:max-content;max-width:100%;min-height:36px;padding:0 8px 0 10px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary));font-size:12.5px}.migration-composer__file span{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-composer__file small{color:hsl(var(--muted-foreground))}.migration-composer__file button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-composer__file button:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.migration-composer__file button svg{width:14px;height:14px}.migration-composer__actions{display:flex;align-items:center;justify-content:space-between}.migration-attach-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .14s ease,color .14s ease}.migration-attach-button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.migration-confirm-upload-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid hsl(var(--foreground));border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .14s ease,transform .14s ease}.migration-confirm-upload-button:hover:not(:disabled){opacity:.86}.migration-confirm-upload-button:disabled,.migration-attach-button:disabled{cursor:not-allowed;opacity:.42}.migration-composer input[type=file]{display:none}.migration-composer>p{margin:8px 4px 0;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-align:center}.migration-deployment{width:100%;height:100%;min-width:0;min-height:0;display:flex}.migration-deployment>*{flex:1;min-width:0;min-height:0}.migration-deployment-summary{display:grid;gap:9px;padding:20px}.migration-deployment-summary>strong{font-size:15px;font-weight:600}.migration-deployment-summary>span{color:hsl(var(--muted-foreground));font-size:12.5px}.migration-deployment-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 0}.migration-deployment-summary dl>div{display:grid;gap:4px}.migration-deployment-summary dt{color:hsl(var(--muted-foreground));font-size:11px}.migration-deployment-summary dd{margin:0;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.migration-icon-button:focus-visible,.migration-new-button:focus-visible,.migration-history button:focus-visible,.migration-stop-button:focus-visible,.migration-primary-button:focus-visible,.migration-result__actions button:focus-visible,.migration-attach-button:focus-visible,.migration-confirm-upload-button:focus-visible,.migration-retry-button:focus-visible,.migration-artifact-browser button:focus-visible,.migration-artifact-browser__search input:focus-visible{outline:2px solid hsl(var(--ring) / .5);outline-offset:2px}@media (max-width: 1120px){.migration-workspace{grid-template-columns:210px minmax(0,1fr)}.migration-main__header{padding-inline:18px}.migration-conversation{padding-inline:20px}.migration-confirmation__grid,.migration-analysis__facts{grid-template-columns:minmax(0,1fr)}.migration-artifact-browser{height:min(68vh,640px);min-height:480px;grid-template-columns:minmax(0,1fr);grid-template-rows:168px minmax(0,1fr)}.migration-artifact-browser>aside{border-right:0;border-bottom:1px solid hsl(var(--border))}.migration-result__actions{width:100%}.migration-result__actions button{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.migration-icon-button,.migration-new-button,.migration-attach-button,.migration-confirm-upload-button{transition:none}}.studio-update-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:32px;padding:0 10px;border:1px solid #1664ff;border-radius:8px;background:#1664ff;color:#fff;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle{gap:0;width:32px;min-width:32px;padding:0;overflow:hidden;white-space:nowrap;transition:width .18s ease,gap .18s ease,padding .18s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.studio-update-trigger.is-idle:hover,.studio-update-trigger.is-idle:focus-visible{gap:7px;width:124px;padding:0 10px;border-color:#1664ff;background:#1664ff;color:#fff}.studio-update-trigger.is-idle>span{max-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .12s ease,transform .18s ease}.studio-update-trigger.is-idle:hover>span,.studio-update-trigger.is-idle:focus-visible>span{max-width:86px;opacity:1;transform:translate(0)}.studio-update-trigger.is-submitting{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.studio-update-trigger.is-error{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--destructive))}.studio-update-trigger.is-published{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.studio-update-icon{width:17px;height:17px;flex:0 0 17px}.studio-update-dialog{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);min-width:0;overflow:hidden}.studio-update-dialog.is-progress{width:min(760px,calc(100vw - 32px));height:min(700px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto}.studio-update-dialog.is-progress>.studio-update-progress-body,.studio-update-dialog.is-progress>.studio-update-error-panel{grid-row:2;min-height:0}.studio-update-dialog.is-progress>.confirm-actions{grid-row:3}.studio-update-progress-body{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-height:0}.studio-update-progress-body .studio-update-live-log,.studio-update-error-panel .studio-update-live-log{display:flex;min-height:0;flex-direction:column}.studio-update-progress-body .studio-update-log-lines,.studio-update-error-panel .studio-update-log-lines{min-height:0;max-height:none;flex:1;overflow-y:auto}.studio-update-dialog>.studio-update-dialog-mark{grid-column:1;grid-row:1}.studio-update-dialog>.confirm-title{grid-column:2;grid-row:1;align-self:start;margin:5px 0 12px}.studio-update-dialog>:not(.studio-update-dialog-mark,.confirm-title){grid-column:1 / -1;width:100%;max-width:100%;min-width:0}.studio-update-dialog .confirm-text,.studio-update-dialog .studio-update-changelog li,.studio-update-dialog .studio-update-changelog p,.studio-update-dialog .studio-update-error,.studio-update-dialog .studio-update-progress small,.studio-update-dialog .studio-update-progress-note,.studio-update-dialog .studio-update-console-link{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.studio-update-field{position:relative;display:grid;gap:6px;margin-bottom:12px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-version-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.studio-update-version-trigger:hover{border-color:hsl(var(--foreground) / .24);background:hsl(var(--muted) / .18)}.studio-update-version-trigger[aria-expanded=true]{border-color:hsl(var(--ring) / .42);background:hsl(var(--background));box-shadow:0 0 0 3px hsl(var(--ring) / .1)}.studio-update-version-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.studio-update-version-trigger>svg{width:16px;height:16px;flex:0 0 16px;color:hsl(var(--muted-foreground));stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}.studio-update-version-trigger>span,.studio-update-version-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-update-version-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-update-version-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:100%;max-height:190px;padding:4px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel, var(--background)));box-shadow:0 12px 28px hsl(var(--foreground) / .1),0 2px 8px hsl(var(--foreground) / .05);overscroll-behavior:contain}.studio-update-version-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-align:left;cursor:pointer}.studio-update-version-option:hover,.studio-update-version-option:focus-visible{outline:none;background:hsl(var(--muted) / .5)}.studio-update-version-option.is-selected{background:hsl(var(--primary) / .08)}.studio-update-version-option>svg{width:15px;height:15px;flex:0 0 15px;color:hsl(var(--primary));stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.studio-update-dialog-mark{display:inline-grid;flex:0 0 30px;width:30px;height:30px;margin-bottom:12px;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.studio-update-dialog-mark svg{width:18px;height:18px}.studio-update-versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas) / .5)}.studio-update-versions div:last-child{grid-column:1 / -1}.studio-update-versions dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-versions dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.studio-update-changelog{margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px}.studio-update-changelog>div{margin-bottom:7px;color:hsl(var(--foreground));font-size:12px;font-weight:500}.studio-update-changelog ul{display:block;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;list-style:disc outside;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li{display:list-item;margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-changelog li+li{margin-top:5px}.studio-update-changelog p{margin:0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.studio-update-confirm{border-color:transparent;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.studio-update-confirm:hover{background:hsl(var(--primary) / .88)}.studio-update-error{margin-bottom:12px;color:hsl(var(--destructive))}.studio-update-error-panel{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.studio-update-error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.studio-update-error-meta>div{min-width:0;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-error-meta dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11px}.studio-update-error-meta dd{margin:0;overflow:hidden;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.studio-update-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid hsl(var(--border));border-bottom:0;border-radius:8px 8px 0 0;background:hsl(var(--muted) / .28);color:hsl(var(--foreground));font-size:11px;font-weight:500}.studio-update-log-header>span{display:inline-flex;align-items:center;gap:6px}.studio-update-log-header i{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.studio-update-log-header i.is-active{background:#1664ff;box-shadow:0 0 0 3px #1664ff1c}.studio-update-log-header i.is-complete{background:#29ae60}.studio-update-log-header i.is-error{background:hsl(var(--destructive))}.studio-update-log-header small{color:hsl(var(--muted-foreground));font-size:10px;font-weight:400}.studio-update-log-header button{padding:2px 0;border:0;background:transparent;color:hsl(var(--primary));font:inherit;cursor:pointer}.studio-update-log-header button:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-log-header button:disabled{color:hsl(var(--muted-foreground));cursor:default;text-decoration:none}.studio-update-log-lines{min-height:92px;max-height:min(210px,29vh);padding:11px 12px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:0 0 8px 8px;background:hsl(var(--foreground) / .035);color:hsl(var(--foreground));font-family:inherit;font-size:11px;line-height:1.55;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-log-lines:focus-visible{outline:2px solid hsl(var(--ring) / .35);outline-offset:-2px}.studio-update-log-lines>div+div{margin-top:3px}.studio-update-log-lines p{margin:0;color:hsl(var(--muted-foreground))}.studio-update-console-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:hsl(var(--primary));font-size:11px;font-weight:500;text-decoration:none}.studio-update-console-link:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-console-link svg,.studio-update-permission-notice svg{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-update-permission-notice{display:grid;align-content:center;gap:8px;min-height:92px;padding:12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--muted) / .22);color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.studio-update-permission-notice p{margin:0}.studio-update-permission-notice code{margin:0 3px;color:hsl(var(--foreground));font-family:inherit;font-weight:500}.studio-update-permission-notice a{display:inline-flex;align-items:center;gap:5px;width:fit-content;color:hsl(var(--primary));font-weight:500;text-decoration:none}.studio-update-permission-notice a:hover{text-decoration:underline;text-underline-offset:2px}.studio-update-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.studio-update-progress-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--canvas) / .5)}.studio-update-progress-summary span{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-summary strong{overflow:hidden;color:hsl(var(--foreground));font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.studio-update-progress{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none}.studio-update-progress li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:38px;color:hsl(var(--muted-foreground));font-size:12px}.studio-update-progress li:not(:last-child):after{position:absolute;top:14px;bottom:-2px;left:5px;width:1px;background:hsl(var(--border));content:""}.studio-update-progress li.is-complete:not(:last-child):after{background:#1664ff}.studio-update-progress-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:2px;border:2px solid hsl(var(--border));border-radius:50%;background:hsl(var(--background))}.studio-update-progress li.is-active,.studio-update-progress li.is-complete{color:hsl(var(--foreground))}.studio-update-progress li.is-active .studio-update-progress-dot{border-color:#1664ff;box-shadow:0 0 0 3px #1664ff1f}.studio-update-progress li.is-complete .studio-update-progress-dot{border-color:#1664ff;background:#1664ff}.studio-update-progress li>div{display:grid;gap:3px;min-width:0}.studio-update-progress small{color:hsl(var(--muted-foreground));font-size:11px}.studio-update-progress-note{margin:12px 0 18px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.55}.new-chat-video-task-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:new-chat-video-task-fade .14s ease-out}.new-chat-video-task-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:new-chat-video-task-rise .18s cubic-bezier(.2,.8,.2,1)}.new-chat-video-task-dialog__head{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 20px;border-bottom:1px solid hsl(var(--border))}.new-chat-video-task-dialog__close svg{width:17px;height:17px}.new-chat-video-task-dialog__head h2,.new-chat-video-task-dialog__head p{margin:0}.new-chat-video-task-dialog__head h2{width:fit-content;color:hsl(var(--foreground));font-size:14px;font-weight:650;line-height:1.35;outline:0}.new-chat-video-task-dialog__head p{overflow:hidden;margin-top:2px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-dialog__close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.new-chat-video-task-dialog__close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.new-chat-video-task-dialog button:focus-visible,.new-chat-video-task-dialog a:focus-visible,.new-chat-video-task-dialog video:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.new-chat-video-task-dialog__body{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;overscroll-behavior:contain}.new-chat-video-task-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.new-chat-video-task-steps li{min-width:0;padding:0 0 8px;border-bottom:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.4}.new-chat-video-task-step__label{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat-video-task-step__label>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.new-chat-video-task-step__loading{width:13px;height:13px;flex:0 0 auto;animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-steps li.is-active,.new-chat-video-task-steps li.is-done,.new-chat-video-task-steps li.is-failed{color:hsl(var(--foreground))}.new-chat-video-task-steps li.is-active{border-color:hsl(var(--primary))}.new-chat-video-task-steps li.is-done{border-color:#91cab1}.new-chat-video-task-steps li.is-failed{border-color:hsl(var(--destructive))}.new-chat-video-task-error{max-height:220px;min-width:0;overflow-y:auto;padding:12px 14px;border:1px solid hsl(var(--destructive) / .22);border-radius:9px;background:hsl(var(--destructive) / .05);color:hsl(var(--foreground))}.new-chat-video-task-error p{margin:0;color:hsl(var(--foreground));font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-prompt{min-width:0;padding:13px 14px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--canvas))}.new-chat-video-task-prompt h3,.new-chat-video-task-prompt p{margin:0}.new-chat-video-task-prompt h3{color:hsl(var(--foreground));font-size:12px;font-weight:620}.new-chat-video-task-prompt p{max-height:144px;overflow-y:auto;margin-top:7px;color:hsl(var(--foreground) / .78);font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.new-chat-video-task-preview{min-height:224px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:#161618}.new-chat-video-task-preview video{width:100%;max-height:360px;display:block;object-fit:contain}.new-chat-video-task-preview.is-loading{align-content:center;gap:8px;padding:24px;background:hsl(var(--canvas));color:hsl(var(--muted-foreground));text-align:center}.new-chat-video-task-preview__loading{width:20px;height:20px;color:hsl(var(--muted-foreground));animation:new-chat-video-task-spin .72s linear infinite}.new-chat-video-task-preview.is-loading strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.new-chat-video-task-progress,.new-chat-video-task-progress__meta{width:min(320px,100%)}.new-chat-video-task-progress{height:4px;overflow:hidden;margin-top:4px;border-radius:999px;background:hsl(var(--secondary))}.new-chat-video-task-progress>span{width:38%;height:100%;display:block;border-radius:inherit;background:hsl(var(--primary) / .76);transform:translate3d(-70%,0,0);animation:new-chat-video-task-progress 1.7s cubic-bezier(.4,0,.2,1) infinite}.new-chat-video-task-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-progress__meta span:last-child{flex:0 0 auto;font-variant-numeric:tabular-nums}.new-chat-video-task-preview.is-loading>span:last-child{font-size:12px}.new-chat-video-task-dialog__actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.new-chat-video-task-dialog__actions p{min-width:0;margin:0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.new-chat-video-task-dialog__actions>div{display:flex;flex:0 0 auto;gap:8px}.new-chat-video-task-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}.new-chat-video-task-button:hover{background:hsl(var(--secondary))}.new-chat-video-task-button.is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.new-chat-video-task-button.is-primary:hover{background:hsl(var(--primary) / .9)}.new-chat-video-task-button svg{width:15px;height:15px}@keyframes new-chat-video-task-fade{0%{opacity:0}to{opacity:1}}@keyframes new-chat-video-task-rise{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes new-chat-video-task-spin{to{transform:rotate(360deg)}}@keyframes new-chat-video-task-progress{0%{transform:translate3d(-70%,0,0)}to{transform:translate3d(200%,0,0)}}@media (max-width: 620px){.new-chat-video-task-backdrop{padding:12px}.new-chat-video-task-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.new-chat-video-task-steps{grid-template-columns:minmax(0,1fr);gap:10px}.new-chat-video-task-dialog__actions{align-items:stretch;flex-direction:column}.new-chat-video-task-dialog__actions>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.new-chat-video-task-backdrop,.new-chat-video-task-dialog,.new-chat-video-task-step__loading,.new-chat-video-task-preview__loading{animation:none}.new-chat-video-task-progress>span{animation:none;transform:translate3d(80%,0,0)}}.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.is-expiring .sandbox-session-warning-copy{min-width:0;overflow-wrap:anywhere;white-space:normal}.sandbox-session-warning.is-expiring{grid-template-columns:minmax(0,1fr) auto;max-width:768px}.sandbox-session-warning.is-expiring .sandbox-session-warning-copy{grid-column:1;text-align:center}.sandbox-session-warning.is-expiring button{grid-column:2}.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;white-space:nowrap;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.is-intelligent-development{background:hsl(var(--panel))}.main.is-sandbox-session.is-intelligent-development:before{display:none}.main.is-sandbox-session>*{position:relative;z-index:1}.sandbox-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-dialog{width:min(440px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-dialog-enter .18s ease-out both}.sandbox-dialog-visual{position:relative;display:grid;height:112px;place-items:center;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:radial-gradient(circle at 35% 70%,hsl(256 68% 78% / .34),transparent 40%),radial-gradient(circle at 68% 30%,hsl(276 66% 72% / .28),transparent 42%),#f9f8fc}.sandbox-dialog-orbit{position:absolute;width:104px;height:44px;border:1px solid hsl(268 52% 54% / .22);border-radius:50%;transform:rotate(-12deg)}.sandbox-dialog-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid hsl(268 58% 58% / .3);border-radius:14px;background:hsl(var(--panel) / .9);color:#68389f;box-shadow:0 8px 24px #6c38a824}.sandbox-dialog-icon svg{width:23px;height:23px}.sandbox-spinner{width:21px;height:21px;border:2px solid hsl(268 48% 42% / .2);border-top-color:currentColor;border-radius:50%;animation:sandbox-spin .8s linear infinite}.sandbox-dialog-copy{padding:22px 24px 20px;text-align:center}.sandbox-dialog-copy h2{margin:0 0 8px;color:hsl(var(--foreground));font-size:17px;font-weight:650}.sandbox-dialog-copy p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.65}.sandbox-dialog-copy .sandbox-dialog-error{color:hsl(var(--destructive))}.sandbox-dialog-field{display:grid;gap:6px;margin-top:16px;text-align:left}.sandbox-dialog-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.sandbox-dialog-field-label>:last-child{color:hsl(var(--muted-foreground));font-size:11px;font-weight:400}.sandbox-dialog-field input{width:100%;height:36px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px}.sandbox-dialog-field input:focus-visible{border-color:hsl(var(--primary) / .64);box-shadow:0 0 0 2px hsl(var(--primary) / .14)}.sandbox-dialog-field input:disabled{cursor:default;opacity:.66}.sandbox-dialog-persistence{display:grid;gap:3px;margin-top:12px;text-align:left}.sandbox-dialog-persistence-control{justify-self:start;color:hsl(var(--foreground));font-weight:550}.sandbox-dialog-persistence-description{margin:0 0 0 26px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}.sandbox-dialog-persistence-description.is-warning{color:#9e6b1a}.sandbox-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-dialog-actions button{min-width:80px;height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-dialog-actions button:hover{background:hsl(var(--secondary))}.sandbox-dialog-actions button:focus-visible{outline:2px solid hsl(268 58% 50% / .34);outline-offset:2px}.sandbox-dialog-actions .is-primary{border-color:#68389f;background:#68389f;color:hsl(var(--primary-foreground))}.sandbox-dialog-actions .is-primary:hover{background:#5b318c}@keyframes sandbox-spin{to{transform:rotate(360deg)}}@keyframes sandbox-dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-smoke-enter{0%{opacity:0}to{opacity:1}}.sandbox-codex-composer .composer-command-head small{max-width:210px;overflow:hidden;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sandbox-codex-composer .composer-command-icon--command,.sandbox-codex-composer .composer-command-icon--model{font-size:16px;font-weight:700;line-height:1}.sandbox-codex-composer .composer-command-icon--command{background:hsl(var(--accent));color:hsl(var(--foreground))}.sandbox-codex-composer .composer-command-icon--model{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-token-usage{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-right:auto}.sandbox-token-usage>span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid hsl(var(--border) / .76);border-radius:6px;background:hsl(var(--muted) / .42);color:hsl(var(--muted-foreground));white-space:nowrap}.sandbox-token-usage small{font-size:9px;font-weight:560}.sandbox-token-usage strong{color:hsl(var(--foreground) / .76);font-size:10px;font-weight:600;line-height:1.2}@media (max-width: 700px){.sandbox-entry--header span{display:none}.sandbox-entry--header{width:32px;padding:0}.sandbox-session-warning{grid-template-columns:1fr auto;width:calc(100% - 16px)}.sandbox-session-warning-copy{grid-column:1;white-space:normal;text-align:left}.sandbox-session-warning button{grid-column:2}.sandbox-activity-summary{grid-template-columns:7px auto minmax(0,1fr)}.sandbox-activity-summary time{grid-column:3}.sandbox-activity-details>div{grid-template-columns:1fr;gap:1px}}@media (prefers-reduced-motion: reduce){.sandbox-entry,.sandbox-dialog,.main.is-sandbox-session:before{animation:none;transition:none}}.sandbox-control-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1220;display:grid;place-items:center;padding:28px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sandbox-control-fade .14s ease-out}.sandbox-control-dialog{width:min(680px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .17);animation:sandbox-control-rise .18s cubic-bezier(.2,.8,.2,1)}.sandbox-control-head{min-height:60px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:0 15px 0 17px;border-bottom:1px solid hsl(var(--border))}.sandbox-control-head-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-head-icon svg{width:17px;height:17px}.sandbox-control-head h2,.sandbox-control-head p{margin:0}.sandbox-control-head h2{color:hsl(var(--foreground));font-size:14px;font-weight:660;line-height:1.35}.sandbox-control-head p{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-control-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-control-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-control-dialog button:focus-visible,.sandbox-control-dialog input:focus-visible,.sandbox-control-dialog iframe:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.sandbox-control-close svg{width:16px;height:16px}.sandbox-control-body{min-height:0;overflow:auto;padding:18px}.sandbox-control-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid hsl(var(--border));background:hsl(var(--secondary) / .16)}.sandbox-control-actions button,.sandbox-control-state button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:590;text-decoration:none;cursor:pointer}.sandbox-control-actions button:hover:not(:disabled),.sandbox-control-state button:hover{border-color:hsl(var(--foreground) / .2);background:hsl(var(--secondary))}.sandbox-control-actions button.is-primary,.sandbox-control-state button{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sandbox-control-actions button:disabled{cursor:default;opacity:.5}.sandbox-control-actions svg{width:13px;height:13px}.sandbox-choice-group{margin:0 0 18px;padding:0;border:0}.sandbox-settings-dialog{width:min(720px,calc(100vw - 40px))}.sandbox-choice-group legend{margin-bottom:8px;color:hsl(var(--foreground));font-size:12px;font-weight:650}.sandbox-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-choice-list button{min-width:0;min-height:72px;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-choice-list button:hover:not(:disabled),.sandbox-choice-list button.is-active{border-color:hsl(var(--primary) / .42);background:hsl(var(--accent))}.sandbox-choice-list button.is-danger:hover:not(:disabled),.sandbox-choice-list button.is-danger.is-active{border-color:hsl(var(--destructive) / .38);background:hsl(var(--destructive) / .06)}.sandbox-choice-list button>i{width:12px;height:12px;flex:0 0 auto;margin-top:2px;border:1px solid hsl(var(--border));border-radius:50%}.sandbox-choice-list button.is-active>i{border:3px solid hsl(var(--primary));background:hsl(var(--background))}.sandbox-choice-list button>span{min-width:0;display:grid;gap:5px}.sandbox-choice-list strong{color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-choice-list small{color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.sandbox-network-toggle{min-height:54px;display:flex;align-items:center;gap:12px;margin-top:2px;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .24)}.sandbox-network-toggle>span{min-width:0;flex:1;display:grid;gap:3px}.sandbox-network-toggle strong{font-size:11px}.sandbox-network-toggle small{color:hsl(var(--muted-foreground));font-size:11px}.sandbox-network-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.sandbox-network-toggle.is-disabled{opacity:.62}.sandbox-control-note,.sandbox-control-error{margin-top:12px;padding:9px 11px;border:1px solid hsl(42 70% 52% / .25);border-radius:8px;background:#fcf8ed;color:#916622;font-size:12px;line-height:1.55}.sandbox-control-note.is-danger,.sandbox-control-error{border-color:hsl(var(--destructive) / .22);background:hsl(var(--destructive) / .06);color:hsl(var(--destructive))}.sandbox-workspace-dialog{width:min(600px,calc(100vw - 40px))}.sandbox-workspace-input{display:grid;gap:7px;color:hsl(var(--foreground));font-size:11px;font-weight:650}.sandbox-workspace-input>div{display:flex;gap:7px}.sandbox-workspace-input input{min-width:0;height:36px;flex:1;padding:0 10px;border:1px solid hsl(var(--border));border-radius:8px;outline:0;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px}.sandbox-workspace-input input:focus{border-color:hsl(var(--primary) / .55);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.sandbox-workspace-input button{width:64px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--secondary) / .35);color:hsl(var(--foreground));font:inherit;font-size:11px;cursor:pointer}.sandbox-directory-browser{height:268px;margin-top:14px;overflow:hidden;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--secondary) / .14)}.sandbox-directory-head{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));font:inherit;font-size:10px}.sandbox-directory-head span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-head svg{width:13px}.sandbox-directory-list{height:calc(100% - 36px);overflow:auto;padding:5px}.sandbox-directory-list button{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,auto) minmax(0,1fr) 16px;align-items:center;gap:7px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:11px;text-align:left;cursor:pointer}.sandbox-directory-list button:hover{background:hsl(var(--foreground) / .05)}.sandbox-directory-list button>svg:first-child{width:15px;color:hsl(var(--foreground))}.sandbox-directory-list button>svg:last-child{width:13px;color:hsl(var(--muted-foreground))}.sandbox-directory-list button small{overflow:hidden;color:hsl(var(--muted-foreground));font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sandbox-directory-empty{display:grid;min-height:120px;place-items:center;color:hsl(var(--muted-foreground));font-size:11px}.sandbox-tool-dialog{width:min(1120px,calc(100vw - 44px));height:min(760px,calc(100vh - 48px));max-height:none}.sandbox-tool-toolbar{min-height:42px;display:flex;align-items:center;gap:12px;padding:5px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--secondary) / .2)}.sandbox-tool-toolbar>span{display:inline-flex;align-items:center;gap:7px;color:hsl(var(--muted-foreground));font-size:10px;font-weight:600}.sandbox-tool-toolbar>span i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground) / .5)}.sandbox-tool-toolbar>span i.is-ready{background:#2ab262}.sandbox-tool-toolbar>span i.is-loading{background:#e9ab1c}.sandbox-tool-surface{flex:1;min-height:0;display:grid;overflow:hidden;background:hsl(var(--secondary) / .2)}.sandbox-tool-dialog--terminal .sandbox-tool-surface{background:#15171e}.sandbox-tool-surface iframe{width:100%;height:100%;border:0;background:hsl(var(--background))}.sandbox-control-state{display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:hsl(var(--muted-foreground));text-align:center}.sandbox-control-state>svg{width:22px;height:22px;color:hsl(var(--foreground))}.sandbox-control-state strong{color:hsl(var(--foreground));font-size:13px}.sandbox-control-state span{max-width:420px;font-size:11px;line-height:1.55}.sandbox-approval-dialog{width:min(560px,calc(100vw - 40px))}.sandbox-approval-reason{margin-bottom:11px;color:hsl(var(--foreground));font-size:12px;line-height:1.55}.sandbox-approval-dialog pre{max-height:240px;margin:0 0 10px;overflow:auto;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:#181a21;color:#e0e6eb;font:inherit;font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.sandbox-approval-meta{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-approval-meta code{color:hsl(var(--foreground));font:inherit;font-size:10px}.sandbox-approval-actions{flex-wrap:wrap}.sandbox-threads-dialog{width:min(620px,calc(100vw - 40px))}.sandbox-thread-list{display:grid;max-height:min(520px,64vh);overflow-y:auto;padding:7px}.sandbox-thread-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:62px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer}.sandbox-thread-list>button:hover{background:hsl(var(--accent))}.sandbox-thread-list>button.is-active{background:hsl(var(--muted) / .7);cursor:default}.sandbox-thread-list>button>span{display:grid;min-width:0;gap:4px}.sandbox-thread-list strong,.sandbox-thread-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-thread-list strong{font-size:12px;font-weight:620}.sandbox-thread-list small,.sandbox-thread-list time{color:hsl(var(--muted-foreground));font-size:10px}.sandbox-thread-list svg{width:14px;height:14px;color:hsl(var(--muted-foreground))}@keyframes sandbox-control-fade{0%{opacity:0}to{opacity:1}}@keyframes sandbox-control-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 720px){.sandbox-control-backdrop{padding:10px}.sandbox-control-dialog{width:100%;max-height:calc(100vh - 20px)}.sandbox-tool-dialog{height:calc(100vh - 20px)}.sandbox-choice-list,.sandbox-choice-group:nth-of-type(3) .sandbox-choice-list{grid-template-columns:1fr}.sandbox-choice-list button{min-height:58px}.sandbox-control-head p{display:none}.sandbox-control-actions>button{flex:1}}@media (prefers-reduced-motion: reduce){.sandbox-control-backdrop,.sandbox-control-dialog{animation:none}}.sandbox-agent-details{display:grid;align-content:start;gap:20px;width:min(920px,100%);height:100%;min-height:0;margin:0 auto;padding:28px 32px;overflow:auto}.sandbox-agent-details-header{display:flex;align-items:center;gap:8px}.sandbox-agent-details-header>div{min-width:0}.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}}.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%}}.sandbox-project-upload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sandbox-project-upload-dialog{width:min(680px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--panel));color:hsl(var(--foreground));box-shadow:0 20px 56px hsl(var(--foreground) / .2);animation:sandbox-project-upload-enter .18s ease-out both}.sandbox-project-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-head h2,.sandbox-project-upload-head p{margin:0}.sandbox-project-upload-title-row{display:flex;align-items:center;gap:8px}.sandbox-project-upload-title-row .sandbox-project-upload-beta{height:18px;padding-inline:6px;font-size:10px;font-weight:600;line-height:1.2}.sandbox-project-upload-head h2{font-size:17px;font-weight:650;line-height:1.3}.sandbox-project-upload-head p{margin-top:6px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.sandbox-project-upload-close{width:32px;height:32px;display:inline-grid;flex:0 0 32px;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.sandbox-project-upload-close:hover{border-color:hsl(var(--border));background:hsl(var(--secondary));color:hsl(var(--foreground))}.sandbox-project-upload-close svg{width:17px;height:17px}.sandbox-project-upload-body{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:16px 22px 20px}.sandbox-project-upload-pairing-notice{min-height:38px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 12px;border:1px solid hsl(43 90% 48% / .28);border-radius:8px;background:#fabf0f1f;color:#885c11;font-size:12px;line-height:1.45;white-space:nowrap}.sandbox-project-upload-pairing-notice time{font-variant-numeric:tabular-nums;font-weight:650}.sandbox-project-upload-pairing-notice button{height:26px;display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:600}.sandbox-project-upload-pairing-notice button:hover:not(:disabled){background:#e9aa0c1f}.sandbox-project-upload-pairing-notice button:disabled{cursor:default;opacity:.6}.sandbox-project-upload-pairing-notice svg{width:14px;height:14px}.sandbox-project-upload-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid hsl(var(--destructive) / .22);border-radius:8px;background:hsl(var(--destructive) / .05);color:hsl(var(--destructive));font-size:12px}.sandbox-project-upload-error span{min-width:0;overflow-wrap:anywhere}.sandbox-project-upload-stage{overflow:hidden;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background))}.sandbox-project-upload-stage-head{min-height:64px;box-sizing:border-box;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-stage-number{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11.5px;font-weight:650;line-height:1}.sandbox-project-upload-stage-head>div{min-width:0}.sandbox-project-upload-stage-head h3{margin:0;color:hsl(var(--foreground));font-size:13px;font-weight:650;line-height:1.4}.sandbox-project-upload-stage-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button,.sandbox-project-upload-actions button{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--panel));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.sandbox-project-upload-stage-head button,.sandbox-project-upload-error button{padding:0 10px}.sandbox-project-upload-stage-head button:hover:not(:disabled),.sandbox-project-upload-error button:hover,.sandbox-project-upload-actions button:hover{background:hsl(var(--secondary))}.sandbox-project-upload-stage-head button:disabled{cursor:default;opacity:.56}.sandbox-project-upload-stage-head svg,.sandbox-project-upload-error svg,.sandbox-project-upload-actions svg{width:14px;height:14px;flex:0 0 14px}.sandbox-project-upload-install-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:36px;margin:10px 10px 0;padding:3px;box-sizing:border-box;border:1px solid hsl(var(--border) / .58);border-radius:8px;background:hsl(var(--secondary) / .58)}.sandbox-project-upload-install-tabs>span{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border:1px solid hsl(var(--border) / .72);border-radius:6px;background:hsl(var(--background));transform:translate(0);transition:transform .18s ease-out}.sandbox-project-upload-install-tabs.is-terminal>span{transform:translate(100%)}.sandbox-project-upload-install-tabs button{position:relative;z-index:1;min-width:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:550;text-align:center;transition:color .16s ease-out}.sandbox-project-upload-install-tabs button:hover,.sandbox-project-upload-install-tabs button[aria-selected=true]{color:hsl(var(--foreground))}.sandbox-project-upload-prompt{min-height:92px;display:flex}.sandbox-project-upload-prompt pre{width:100%;box-sizing:border-box;margin:0;padding:12px;color:hsl(var(--foreground));font-family:inherit;font-size:13px;font-weight:400;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.sandbox-project-upload-prompt code{font-family:inherit;font-size:13px;font-weight:400}.sandbox-project-upload-prompt.is-command code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.sandbox-project-upload-loading{width:100%;min-height:92px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 12px;color:hsl(var(--muted-foreground));font-size:12px}.sandbox-project-upload-loading i{width:14px;height:14px;flex:0 0 14px;border:2px solid hsl(var(--foreground) / .16);border-top-color:hsl(var(--foreground));border-radius:50%;animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice{margin:10px 10px 0}.sandbox-project-upload-stage>.sandbox-project-upload-pairing-notice+.sandbox-project-upload-prompt{min-height:104px}.sandbox-project-upload-progress{border-top:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header{min-height:58px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid hsl(var(--border))}.sandbox-project-upload-progress>header div{min-width:0}.sandbox-project-upload-progress>header span{display:block;font-size:12.5px;font-weight:650;line-height:1.4}.sandbox-project-upload-progress>header p{margin:3px 0 0;overflow:hidden;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.sandbox-project-upload-progress>header strong{flex:0 0 auto;padding:4px 8px;border-radius:6px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600;line-height:1.35}.sandbox-project-upload-progress>header strong[data-state=completed]{background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress>header strong[data-state=running]{background:#e5f0fb;color:#21518c}.sandbox-project-upload-progress>header strong[data-state=failed]{background:hsl(var(--destructive) / .08);color:hsl(var(--destructive))}.sandbox-project-upload-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:12px;list-style:none}.sandbox-project-upload-progress li{position:relative;min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:7px;padding-right:28px;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.4}.sandbox-project-upload-progress li>span:last-child{min-width:0;white-space:nowrap}.sandbox-project-upload-progress li:not(:last-child):after{position:absolute;top:50%;right:6px;width:16px;height:1px;background:hsl(var(--border));content:""}.sandbox-project-upload-progress li:last-child{padding-right:0}.sandbox-project-upload-progress li[data-state=active]{color:hsl(var(--foreground));font-weight:600}.sandbox-project-upload-progress li[data-state=done]{color:hsl(var(--foreground))}.sandbox-project-upload-progress li[data-state=failed]{color:hsl(var(--destructive));font-weight:600}.sandbox-project-upload-progress-marker{width:18px;height:18px;display:inline-grid;flex:0 0 18px;place-items:center;box-sizing:border-box;border:1px solid hsl(var(--border));border-radius:50%;background:hsl(var(--panel))}.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker{border:2px solid hsl(var(--foreground) / .2);border-top-color:hsl(var(--foreground));animation:sandbox-project-upload-spin .8s linear infinite}.sandbox-project-upload-progress li[data-state=done] .sandbox-project-upload-progress-marker{border-color:#3b915b4d;background:#e9f6ee;color:#206f3d}.sandbox-project-upload-progress li[data-state=failed] .sandbox-project-upload-progress-marker{border-color:hsl(var(--destructive) / .25);background:hsl(var(--destructive) / .06)}.sandbox-project-upload-progress-marker svg{width:12px;height:12px}.sandbox-project-upload-progress-error{margin:0;padding:0 12px 12px;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.sandbox-project-upload-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.sandbox-project-upload-actions button{min-width:86px;padding:0 14px}.sandbox-project-upload-actions .is-primary{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.sandbox-project-upload-actions .is-primary:hover{background:hsl(var(--foreground) / .9)}.sandbox-project-upload-dialog button:focus-visible,.sandbox-project-upload-install-tabs button:focus-visible,.sandbox-project-upload-prompt pre:focus-visible{outline:2px solid hsl(var(--ring) / .34);outline-offset:2px}@keyframes sandbox-project-upload-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sandbox-project-upload-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.sandbox-project-upload-backdrop{padding:10px}.sandbox-project-upload-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.sandbox-project-upload-head,.sandbox-project-upload-body{padding-left:16px;padding-right:16px}.sandbox-project-upload-pairing-notice{gap:6px;padding-left:10px;font-size:11.5px}.sandbox-project-upload-stage-head{grid-template-columns:24px minmax(0,1fr)}.sandbox-project-upload-stage-head button{grid-column:2;justify-self:start}.sandbox-project-upload-actions button{flex:1}.sandbox-project-upload-progress ol{grid-template-columns:1fr 1fr;gap:10px 12px}.sandbox-project-upload-progress li:after{display:none}.sandbox-project-upload-progress li{padding-right:0}}@media (prefers-reduced-motion: reduce){.sandbox-project-upload-dialog,.sandbox-project-upload-install-tabs>span,.sandbox-project-upload-install-tabs button,.sandbox-project-upload-progress li[data-state=active] .sandbox-project-upload-progress-marker,.sandbox-project-upload-loading i{animation:none;transition:none}}.auth-expired-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:hsl(var(--foreground) / .22);backdrop-filter:blur(5px) saturate(.88);-webkit-backdrop-filter:blur(5px) saturate(.88)}.auth-expired-dialog{position:relative;width:min(400px,calc(100vw - 40px));overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--panel));box-shadow:0 28px 80px hsl(var(--foreground) / .2),0 2px 8px hsl(var(--foreground) / .06);animation:auth-expired-enter .18s cubic-bezier(.22,1,.36,1) both}.auth-expired-mark{display:grid;width:32px;height:32px;margin:32px auto 0;place-items:center;color:hsl(var(--foreground))}.auth-expired-mark svg{width:21px;height:21px;stroke-width:1.8}.auth-expired-copy{padding:22px 32px 28px;text-align:center}.auth-expired-copy h2{margin:0;color:hsl(var(--foreground));font-size:19px;font-weight:650;letter-spacing:-.01em}.auth-expired-copy>p:last-child{margin:11px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.7}.auth-expired-copy .auth-expired-error{margin-top:10px;color:hsl(var(--destructive))}.auth-expired-actions{padding:0 16px 16px}.auth-expired-actions button{width:100%;height:38px;border:1px solid hsl(var(--foreground));border-radius:9px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.auth-expired-actions button:hover{opacity:.88}.auth-expired-actions button:active{transform:translateY(1px)}.auth-expired-actions button:focus-visible{outline:3px solid hsl(var(--ring) / .28);outline-offset:2px}.auth-expired-actions button:disabled{cursor:wait;opacity:.58}@keyframes auth-expired-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-expired-dialog{animation:none}}.issue-feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:issue-feedback-fade-in .14s ease-out}.issue-feedback-dialog{width:min(480px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:issue-feedback-rise-in .18s cubic-bezier(.2,.8,.2,1)}.issue-feedback-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid hsl(var(--border))}.issue-feedback-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.issue-feedback-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.issue-feedback-close svg,.issue-feedback-success-mark svg{width:16px;height:16px}.issue-feedback-close:hover:not(:disabled){background:hsl(var(--secondary));color:hsl(var(--foreground))}.issue-feedback-body,.issue-feedback-success{min-height:0;overflow-y:auto;padding:20px}.issue-feedback-intro{margin:0 0 12px;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-privacy{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.issue-feedback-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.issue-feedback-chip{min-height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.issue-feedback-chip:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-chip[aria-pressed=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08);color:hsl(var(--foreground))}.issue-feedback-field{display:grid;gap:8px;color:hsl(var(--foreground));font-size:13px;font-weight:550}.issue-feedback-field textarea{width:100%;min-height:112px;resize:vertical;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;font-weight:400;line-height:1.55}.issue-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.issue-feedback-error{margin:12px 0 0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.issue-feedback-success{min-height:220px;display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:center;align-items:center;animation:issue-feedback-success-in .18s ease-out}.issue-feedback-success-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#24a8541a;color:#238b49;animation:issue-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.issue-feedback-success-mark:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:12px;content:"";opacity:0;animation:issue-feedback-success-ring .44s ease-out}.issue-feedback-success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:issue-feedback-check-draw .28s .1s ease-out forwards}.issue-feedback-success h3{margin:0 0 4px;font-size:15px;font-weight:600}.issue-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.issue-feedback-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.issue-feedback-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border))}.issue-feedback-actions button:hover:not(:disabled){background:hsl(var(--secondary))}.issue-feedback-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.issue-feedback-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.issue-feedback-close:focus-visible,.issue-feedback-chip:focus-visible,.issue-feedback-field textarea:focus-visible,.issue-feedback-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}.issue-feedback-dialog button:disabled,.issue-feedback-dialog textarea:disabled{cursor:not-allowed;opacity:.55}@keyframes issue-feedback-fade-in{0%{opacity:0}to{opacity:1}}@keyframes issue-feedback-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes issue-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes issue-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes issue-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes issue-feedback-check-draw{to{stroke-dashoffset:0}}@media (max-width: 560px){.issue-feedback-backdrop{padding:16px}.issue-feedback-dialog{max-height:calc(100vh - 32px)}}@media (prefers-reduced-motion: reduce){.issue-feedback-backdrop,.issue-feedback-dialog,.issue-feedback-success,.issue-feedback-success-mark,.issue-feedback-success-mark:after,.issue-feedback-success-mark path{animation:none}.issue-feedback-success-mark path{stroke-dashoffset:0}}.share-message-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:hsl(var(--foreground) / .22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:share-message-fade-in .14s ease-out}.share-message-dialog{width:min(720px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));box-shadow:0 24px 64px hsl(var(--foreground) / .16);animation:share-message-rise-in .18s cubic-bezier(.2,.8,.2,1)}.share-message-export{position:fixed;top:0;left:-100000px;width:816px;box-sizing:border-box;padding:24px;overflow:visible;background:hsl(var(--background));color:hsl(var(--foreground));pointer-events:none}.share-message-export>.turn{width:100%;max-width:100%;margin-right:0;margin-left:0;opacity:1!important;transform:none!important;animation:none!important}.share-message-export>.turn:not(:last-of-type){margin-bottom:24px}.share-message-export>.turn:last-of-type{margin-bottom:0}.share-message-export-note{margin:24px 0 0;color:hsl(var(--muted-foreground));font-size:11px;font-weight:400;line-height:1.5;text-align:center}.share-message-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px 10px 20px;border-bottom:1px solid hsl(var(--border));flex:0 0 auto}.share-message-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.3}.share-message-head p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.share-message-close{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.share-message-close svg{width:16px;height:16px}.share-message-close:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.share-message-body{min-height:260px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;background:hsl(var(--canvas))}.share-message-generating,.share-message-failure{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;color:hsl(var(--muted-foreground));font-size:13px}.share-message-failure p,.share-message-error{margin:0;color:hsl(var(--destructive));font-size:12.5px;line-height:1.55;text-align:center}.share-message-failure button{height:34px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-preview{width:min(100%,816px);margin:0 auto;overflow:hidden;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--background));box-shadow:0 8px 24px hsl(var(--foreground) / .08)}.share-message-preview img{display:block;width:100%;height:auto}.share-message-error{margin-top:12px}.share-message-actions{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid hsl(var(--border));flex:0 0 auto}.share-message-actions button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:12px;font-weight:600;cursor:pointer}.share-message-actions button:hover:not(:disabled),.share-message-failure button:hover{background:hsl(var(--secondary))}.share-message-actions .is-primary{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-message-actions .is-primary:hover:not(:disabled){background:hsl(var(--primary) / .9)}.share-message-actions button:disabled{cursor:not-allowed;opacity:.5}.share-message-close:focus-visible,.share-message-failure button:focus-visible,.share-message-actions button:focus-visible{outline:2px solid hsl(var(--primary) / .34);outline-offset:2px}@keyframes share-message-fade-in{0%{opacity:0}to{opacity:1}}@keyframes share-message-rise-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 560px){.share-message-backdrop{padding:16px}.share-message-dialog{max-height:calc(100vh - 32px)}.share-message-head p{display:none}.share-message-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.share-message-backdrop,.share-message-dialog{animation:none}}@layer components{._Popover_1wdpp_3{overflow:auto;width:var(--popover-width, auto);min-width:var(--popover-min-width, 300px);max-width:min(var(--popover-max-width, 700px),var(--radix-popover-content-available-width));max-height:var(--radix-popover-content-available-height);border-radius:var(--popover-radius);background:var(--color-surface-elevated);box-shadow:var(--shadow),var(--shadow-hairline);-webkit-overflow-scrolling:touch;transform-origin:var(--radix-popover-content-transform-origin);will-change:transform}._Popover_1wdpp_3:focus{outline:none}._Popover_1wdpp_3[data-translucent]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(360deg,#f7f7f87f,#f7f7f8)}:where([data-theme=dark]) ._Popover_1wdpp_3[data-translucent]{background:linear-gradient(360deg,#56586940,#5658697d)}._Popover_1wdpp_3[data-animate=shake]{animation:_shake_1wdpp_1 .4s ease}._Transition_1wdpp_1[data-entering] ._Popover_1wdpp_3{opacity:0;transform:scale(.95)}._Transition_1wdpp_1[data-entering-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-entering][data-interrupted] ._Popover_1wdpp_3{opacity:1;transform:scale(1);transition-duration:.35s;transition-property:opacity,transform;transition-timing-function:var(--cubic-enter)}._Transition_1wdpp_1[data-exiting] ._Popover_1wdpp_3{opacity:1;transform:scale(1)}._Transition_1wdpp_1[data-exiting-active] ._Popover_1wdpp_3,._Transition_1wdpp_1[data-exiting][data-interrupted] ._Popover_1wdpp_3{opacity:0;transform:scale(.95);transition-duration:.2s;transition-property:opacity,transform;transition-timing-function:var(--cubic-exit)}@keyframes _shake_1wdpp_1{0%{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}to{transform:translate(0)}}}@layer components{._Container_13560_1{--textarea-line-height: 20px;--textarea-font-weight: var(--font-weight-normal);--textarea-color: var(--color-text);--textarea-gutter-y: calc(.5 * calc(var(--textarea-base-height) - var(--textarea-line-height)));--textarea-min-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-min-rows)) );--textarea-max-height: calc( (var(--textarea-gutter-y) * 2) + (var(--textarea-line-height) * var(--textarea-max-rows)) )}._Container_13560_1:where([data-size="3xs"]){--textarea-base-height: var(--control-size-3xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size="2xs"]){--textarea-base-height: var(--control-size-2xs);--textarea-font-size: var(--control-font-size-sm);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=xs]){--textarea-base-height: var(--control-size-xs);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-sm);--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-size=sm]){--textarea-base-height: var(--control-size-sm);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-size=md]){--textarea-base-height: var(--control-size-md);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=lg]){--textarea-base-height: var(--control-size-lg);--textarea-font-size: var(--control-font-size-md);--textarea-radius: var(--control-radius-md);--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-size=xl]){--textarea-base-height: var(--control-size-xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-lg);--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-size="2xl"]){--textarea-base-height: var(--control-size-2xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-size="3xl"]){--textarea-base-height: var(--control-size-3xl);--textarea-font-size: var(--control-font-size-lg);--textarea-radius: var(--control-radius-xl);--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1:where([data-gutter-size="2xs"]){--textarea-gutter-x: var(--control-gutter-2xs)}._Container_13560_1:where([data-gutter-size=xs]){--textarea-gutter-x: var(--control-gutter-xs)}._Container_13560_1:where([data-gutter-size=sm]){--textarea-gutter-x: var(--control-gutter-sm)}._Container_13560_1:where([data-gutter-size=md]){--textarea-gutter-x: var(--control-gutter-md)}._Container_13560_1:where([data-gutter-size=lg]){--textarea-gutter-x: var(--control-gutter-lg)}._Container_13560_1:where([data-gutter-size=xl]){--textarea-gutter-x: var(--control-gutter-xl)}._Container_13560_1{position:relative;overflow:hidden;display:flex;width:100%;border-radius:var(--textarea-radius);color:var(--textarea-color);cursor:text;font-size:var(--textarea-font-size);font-weight:var(--textarea-font-weight);transition-duration:var(--transition-duration-basic);transition-property:color,box-shadow,background-color;transition-timing-function:var(--transition-ease-basic)}._Container_13560_1:where([data-variant=outline]){box-shadow:0 0 0 1px var(--input-outline-border-color) inset}@media (hover: hover) and (pointer: fine){._Container_13560_1:where([data-variant=outline]):not([data-disabled]):hover{box-shadow:0 0 0 1px var(--input-outline-border-color-hover) inset}}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-outline-border-color-focus) inset}._Container_13560_1:where([data-variant=outline]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1:where([data-variant=soft]){background-color:var(--input-soft-background-color)}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-focused=true]{box-shadow:0 0 0 1px var(--input-soft-border-color-focus) inset}._Container_13560_1:where([data-variant=soft]):not([data-disabled])[data-invalid]{box-shadow:0 0 0 1px var(--input-border-color-invalid) inset}._Container_13560_1[data-invalid] ::-moz-selection{background-color:var(--red-a50)}._Container_13560_1[data-invalid] ::selection{background-color:var(--red-a50)}._Container_13560_1[data-disabled]{cursor:not-allowed;opacity:.5}._Textarea_13560_174{display:block;width:100%;max-width:100%;min-height:var(--textarea-min-height);max-height:var(--textarea-max-height);padding:var(--textarea-gutter-y) var(--textarea-gutter-x);border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:inherit;filter:none;font-size:inherit;font-weight:inherit;line-height:var(--textarea-line-height);resize:none}._Textarea_13560_174:focus{outline:0}._Textarea_13560_174:disabled{cursor:not-allowed}._Textarea_13560_174::-moz-placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174::placeholder{color:var(--input-placeholder-text-color);opacity:1}._Textarea_13560_174:-webkit-autofill{animation:_native-autofill-in_13560_1 1ms}._Textarea_13560_174:-webkit-autofill,._Textarea_13560_174:-webkit-autofill:focus,._Textarea_13560_174:-webkit-autofill:hover{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill-and-obscured,._Textarea_13560_174:-webkit-autofill-strong-password,._Textarea_13560_174:-webkit-autofill-strong-password-viewable{color:var(--color-text)!important;-webkit-text-fill-color:var(--color-text)!important;-webkit-transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important;transition:background-color 0s 50000s,box-shadow 0s 50000s,filter 0s 50000s!important}._Textarea_13560_174:-webkit-autofill:first-line{font-size:16px!important;-webkit-transition:font-size 0s 50000s!important;transition:font-size 0s 50000s!important}._Textarea_13560_174::-webkit-resizer{visibility:hidden}@keyframes _native-autofill-in_13560_1{0%{opacity:1}to{opacity:1}}}.response-annotation-anchor{position:fixed;z-index:80;width:1px;pointer-events:none}.response-annotation-popover{--response-annotation-surface: 48 100% 97%;--response-annotation-excerpt: 47 86% 93%;--response-annotation-border: 43 72% 82%;width:min(360px,calc(100vw - 24px));border:1px solid hsl(var(--response-annotation-border));border-radius:12px;background:hsl(var(--response-annotation-surface))}.response-annotation-form{display:grid;gap:12px;padding:12px}.response-annotation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.response-annotation-header h2{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600}.response-annotation-form blockquote{max-height:82px;margin:0;padding:8px 10px;overflow:auto;border-left:2px solid hsl(var(--response-annotation-border));border-radius:0 7px 7px 0;background:hsl(var(--response-annotation-excerpt));color:hsl(var(--foreground));font-size:12.5px;line-height:1.55;white-space:pre-wrap}.response-annotation-field{display:grid;gap:6px;color:hsl(var(--foreground));font-size:12px;font-weight:550}.response-annotation-field textarea{min-height:78px;background:hsl(var(--background));font-family:inherit;font-size:13px;font-weight:400;line-height:1.55}.response-annotation-error{margin:-4px 0 0;font-size:11.5px;line-height:1.45}.response-annotation-error{color:hsl(var(--destructive))}.response-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.response-annotation-action{font-size:12px}.response-annotation-success{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.response-annotation-success strong{color:hsl(var(--foreground));font-size:13px;font-weight:600}.response-annotation-success p{margin:3px 0 0;color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}:where([data-theme=dark]) .response-annotation-popover{--response-annotation-surface: 43 22% 14%;--response-annotation-excerpt: 43 25% 18%;--response-annotation-border: 42 32% 30%}@media (prefers-reduced-motion: reduce){.response-annotation-popover{transition:none}}.platform-feedback-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:32px 32px 0;background:hsl(var(--background))}.platform-feedback-header{flex:0 0 auto}.platform-feedback-header h1{margin:0;color:hsl(var(--foreground));font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}.platform-feedback-header p{margin:6px 0 0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.5}.platform-feedback-scroll{min-height:0;overflow-y:auto;padding:24px 0 40px}.platform-feedback-form,.platform-feedback-success{width:min(720px,100%)}.platform-feedback-form{display:grid;gap:24px}.platform-feedback-section{display:grid;gap:12px}.platform-feedback-section-heading{display:flex;align-items:center;gap:8px}.platform-feedback-section h2,.platform-feedback-field>span{margin:0;color:hsl(var(--foreground));font-size:14px;font-weight:600;line-height:1.45}.platform-feedback-section-heading>span,.platform-feedback-suggestions>span{color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.platform-feedback-pills{display:flex;flex-wrap:wrap;gap:8px}.platform-feedback-pills button{min-height:32px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;font-size:12px;transition:background .14s ease,border-color .14s ease}.platform-feedback-pills button:hover:not(:disabled){background:hsl(var(--secondary))}.platform-feedback-pills button[aria-pressed=true]{border-color:hsl(var(--primary) / .42);background:hsl(var(--primary) / .08)}.platform-feedback-field{display:grid;gap:8px}.platform-feedback-field textarea{width:100%;padding:11px 12px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:13px;line-height:1.55}.platform-feedback-field textarea{min-height:132px;resize:vertical}.platform-feedback-field textarea::placeholder{color:hsl(var(--muted-foreground))}.platform-feedback-suggestions{display:grid;gap:8px}.platform-feedback-privacy{margin:0;padding:10px 12px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12.5px;line-height:1.55}.platform-feedback-error{margin:0;color:hsl(var(--destructive));font-size:12px;line-height:1.5}.platform-feedback-actions{display:flex;justify-content:flex-end}.platform-feedback-actions button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid hsl(var(--primary));border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;font:inherit;font-size:12px;font-weight:600}.platform-feedback-actions button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.platform-feedback-success{min-height:280px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-content:center;align-items:center;animation:platform-feedback-success-in .18s ease-out}.platform-feedback-success-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#24a8541a;color:#238b49;animation:platform-feedback-success-pop .32s cubic-bezier(.2,.8,.2,1)}.platform-feedback-success-icon:after{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid hsl(142 60% 34% / .24);border-radius:13px;content:"";opacity:0;animation:platform-feedback-success-ring .44s ease-out}.platform-feedback-success-icon svg{width:16px;height:16px}.platform-feedback-success-icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:platform-feedback-check-draw .28s .1s ease-out forwards}.platform-feedback-success h2{margin:0 0 4px;font-size:15px;font-weight:600}.platform-feedback-success p{margin:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.55}.platform-feedback-pills button:focus-visible,.platform-feedback-actions button:focus-visible{outline:2px solid hsl(var(--ring) / .4);outline-offset:2px}.platform-feedback-field textarea:focus-visible{border-color:hsl(var(--ring) / .58);outline:none;box-shadow:inset 0 0 0 1px hsl(var(--ring) / .3)}.platform-feedback-page button:disabled,.platform-feedback-page textarea:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 720px){.platform-feedback-page{padding:24px 20px 0}}@media (max-width: 560px){.platform-feedback-page{padding-inline:16px}}@keyframes platform-feedback-success-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes platform-feedback-success-pop{0%{transform:scale(.72)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes platform-feedback-success-ring{0%{opacity:.7;transform:scale(.78)}to{opacity:0;transform:scale(1.2)}}@keyframes platform-feedback-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.platform-feedback-pills button,.platform-feedback-success,.platform-feedback-success-icon,.platform-feedback-success-icon:after,.platform-feedback-success-icon path{transition:none;animation:none}.platform-feedback-success-icon path{stroke-dashoffset:0}}.PhotoView-Portal{direction:ltr;height:100%;left:0;overflow:hidden;position:fixed;top:0;touch-action:none;width:100%;z-index:2000}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:PhotoView__delayIn .4s linear both}.PhotoView__Spinner svg{animation:PhotoView__rotate .6s linear infinite}.PhotoView__Photo{cursor:grab;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;left:0;position:absolute;top:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{bottom:0;direction:ltr;left:0;position:absolute;right:0;top:0;touch-action:none;width:100%}.PhotoView__PhotoWrap{overflow:hidden;z-index:10}.PhotoView__PhotoBox{transform-origin:left top}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{background:#000;height:100%;left:0;position:absolute;top:0;transition-property:background-color;width:100%;z-index:-1}.PhotoView-Slider__fadeIn{animation:PhotoView__fade linear both;opacity:0}.PhotoView-Slider__fadeOut{animation:PhotoView__fade linear reverse both;opacity:0}.PhotoView-Slider__BannerWrap{align-items:center;background-color:#00000080;color:#fff;display:flex;height:44px;justify-content:space-between;left:0;position:absolute;top:0;transition:opacity .2s ease-out;width:100%;z-index:20}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{font-size:14px;opacity:.75;padding:0 10px}.PhotoView-Slider__BannerRight{align-items:center;display:flex;height:100%}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{align-items:center;bottom:0;cursor:pointer;display:flex;height:100px;justify-content:center;margin:auto;opacity:.75;position:absolute;top:0;transition:opacity .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:70px;z-index:20}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;background:#0000004d;box-sizing:content-box;height:24px;padding:10px;width:24px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0} diff --git a/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-p-mgwcdy.js b/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-Cud6OJj5.js similarity index 85% rename from veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-p-mgwcdy.js rename to veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-Cud6OJj5.js index 03ea453c8..0be5efe7e 100644 --- a/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-p-mgwcdy.js +++ b/veadk/webui/assets/visualizations/mermaid/abnfDiagram-N423BO3Z-Cud6OJj5.js @@ -1 +1 @@ -import{g as p,r as u,d as n}from"./chunk-6Q2QTUOP-D1vbrjoS.js";import{p as f}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{a,at as o}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";var v=d().RailroadAbnf.parser.LangiumParser,i=a(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=a(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=a(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=a(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=a(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=a(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=a(e=>{f(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(P(r)))},"populateDb"),R={parse:a(e=>{n.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:n}},B={parser:R,db:n,renderer:u,styles:p};export{B as diagram}; +import{g as p,r as u,d as n}from"./chunk-6Q2QTUOP-LmTMnw7Y.js";import{p as f}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a,at as o}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-CVRcDGzI.js";var v=d().RailroadAbnf.parser.LangiumParser,i=a(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=a(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=a(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=a(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=a(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=a(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=a(e=>{f(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(P(r)))},"populateDb"),R={parse:a(e=>{n.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:n}},B={parser:R,db:n,renderer:u,styles:p};export{B as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-D18k4SUP.js b/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-fRh8vhJG.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-D18k4SUP.js rename to veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-fRh8vhJG.js index e8b59ea3d..2ceed486b 100644 --- a/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-D18k4SUP.js +++ b/veadk/webui/assets/visualizations/mermaid/architectureDiagram-T3A2C74G-fRh8vhJG.js @@ -1,4 +1,4 @@ -import{p as qe}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{a as ct,aQ as Qe,aX as Je,at as Se,aS as Ke,W as je,aU as _e,$ as tr,V as er,aR as rr,s as ir,r as ar,X as nr,O as or,Y as me,F as Ee,a2 as ve,aO as sr,a0 as hr,aK as lr,b8 as fr}from"./mermaid.core-OQ-NoIeH.js";import{p as cr}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import{c as Fe}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as Te,N as gr,ad as ur}from"../../app/index-Bj9lylJf.js";var be={exports:{}},ue={exports:{}},de={exports:{}},De;function dr(){return De||(De=1,function(I,M){(function(x,N){I.exports=N()})(Te,function(){return function(C){var x={};function N(v){if(x[v])return x[v].exports;var l=x[v]={i:v,l:!1,exports:{}};return C[v].call(l.exports,l,l.exports,N),l.l=!0,l.exports}return N.m=C,N.c=x,N.i=function(v){return v},N.d=function(v,l,n){N.o(v,l)||Object.defineProperty(v,l,{configurable:!1,enumerable:!0,get:n})},N.n=function(v){var l=v&&v.__esModule?function(){return v.default}:function(){return v};return N.d(l,"a",l),l},N.o=function(v,l){return Object.prototype.hasOwnProperty.call(v,l)},N.p="",N(N.s=28)}([function(C,x,N){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,C.exports=v},function(C,x,N){var v=N(2),l=N(8),n=N(9);function r(f,e,g){v.call(this,g),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=g,this.bendpoints=[],this.source=f,this.target=e}r.prototype=Object.create(v.prototype);for(var i in v)r[i]=v[i];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,e){for(var g=this.getOtherEnd(f),t=e.getGraphManager().getRoot();;){if(g.getOwner()==e)return g;if(g.getOwner()==t)break;g=g.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=l.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=r},function(C,x,N){function v(l){this.vGraphObject=l}C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(13),r=N(0),i=N(16),f=N(5);function e(t,s,o,c){o==null&&c==null&&(c=s),v.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=l.MIN_VALUE,this.inclusionTreeDepth=l.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&s!=null?this.rect=new n(s.x,s.y,o.width,o.height):this.rect=new n}e.prototype=Object.create(v.prototype);for(var g in v)e[g]=v[g];e.prototype.getEdges=function(){return this.edges},e.prototype.getChild=function(){return this.child},e.prototype.getOwner=function(){return this.owner},e.prototype.getWidth=function(){return this.rect.width},e.prototype.setWidth=function(t){this.rect.width=t},e.prototype.getHeight=function(){return this.rect.height},e.prototype.setHeight=function(t){this.rect.height=t},e.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},e.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},e.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},e.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},e.prototype.getRect=function(){return this.rect},e.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},e.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},e.prototype.setRect=function(t,s){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=s.width,this.rect.height=s.height},e.prototype.setCenter=function(t,s){this.rect.x=t-this.rect.width/2,this.rect.y=s-this.rect.height/2},e.prototype.setLocation=function(t,s){this.rect.x=t,this.rect.y=s},e.prototype.moveBy=function(t,s){this.rect.x+=t,this.rect.y+=s},e.prototype.getEdgeListToNode=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";s.push(c)}}),s},e.prototype.getEdgesBetween=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&s.push(c)}),s},e.prototype.getNeighborsList=function(){var t=new Set,s=this;return s.edges.forEach(function(o){if(o.source==s)t.add(o.target);else{if(o.target!=s)throw"Incorrect incidency!";t.add(o.source)}}),t},e.prototype.withChildren=function(){var t=new Set,s,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),h=0;hs?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},e.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==l.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},e.prototype.transform=function(t){var s=this.rect.x;s>r.WORLD_BOUNDARY?s=r.WORLD_BOUNDARY:s<-r.WORLD_BOUNDARY&&(s=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(s,o),h=t.inverseTransformPoint(c);this.setLocation(h.x,h.y)},e.prototype.getLeft=function(){return this.rect.x},e.prototype.getRight=function(){return this.rect.x+this.rect.width},e.prototype.getTop=function(){return this.rect.y},e.prototype.getBottom=function(){return this.rect.y+this.rect.height},e.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=e},function(C,x,N){var v=N(0);function l(){}for(var n in v)l[n]=v[n];l.MAX_ITERATIONS=2500,l.DEFAULT_EDGE_LENGTH=50,l.DEFAULT_SPRING_STRENGTH=.45,l.DEFAULT_REPULSION_STRENGTH=4500,l.DEFAULT_GRAVITY_STRENGTH=.4,l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,l.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,l.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,l.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,l.COOLING_ADAPTATION_FACTOR=.33,l.ADAPTATION_LOWER_NODE_LIMIT=1e3,l.ADAPTATION_UPPER_NODE_LIMIT=5e3,l.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,l.MAX_NODE_DISPLACEMENT=l.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,l.CONVERGENCE_CHECK_PERIOD=100,l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,l.MIN_EDGE_LENGTH=1,l.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=l},function(C,x,N){function v(l,n){l==null&&n==null?(this.x=0,this.y=0):(this.x=l,this.y=n)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(l){this.x=l},v.prototype.setY=function(l){this.y=l},v.prototype.getDifference=function(l){return new DimensionD(this.x-l.x,this.y-l.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(l){return this.x+=l.width,this.y+=l.height,this},C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(0),r=N(7),i=N(3),f=N(1),e=N(13),g=N(12),t=N(11);function s(c,h,T){v.call(this,T),this.estimatedSize=l.MIN_VALUE,this.margin=n.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,h!=null&&h instanceof r?this.graphManager=h:h!=null&&h instanceof Layout&&(this.graphManager=h.graphManager)}s.prototype=Object.create(v.prototype);for(var o in v)s[o]=v[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,h,T){if(h==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(h)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(h.owner==T.owner&&h.owner==this))throw"Both owners must be this graph!";return h.owner!=T.owner?null:(d.source=h,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),h.edges.push(d),T!=h&&T.edges.push(d),d)}},s.prototype.remove=function(c){var h=c;if(c instanceof i){if(h==null)throw"Node is null!";if(!(h.owner!=null&&h.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=h.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(w,1),u.target!=u.source&&u.target.edges.splice(P,1);var b=u.source.owner.getEdges().indexOf(u);if(b==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=l.MAX_VALUE,h=l.MAX_VALUE,T,u,d,L=this.getNodes(),b=L.length,w=0;wT&&(c=T),h>u&&(h=u)}return c==l.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=h-d,this.top=c-d,new g(this.left,this.top))},s.prototype.updateBounds=function(c){for(var h=l.MAX_VALUE,T=-l.MAX_VALUE,u=l.MAX_VALUE,d=-l.MAX_VALUE,L,b,w,P,V,Y=this.nodes,B=Y.length,A=0;AL&&(h=L),Tw&&(u=w),dL&&(h=L),Tw&&(u=w),d=this.nodes.length){var B=0;T.forEach(function(A){A.owner==c&&B++}),B==this.nodes.length&&(this.isConnected=!0)}},C.exports=s},function(C,x,N){var v,l=N(1);function n(r){v=N(6),this.layout=r,this.graphs=[],this.edges=[]}n.prototype.addRoot=function(){var r=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(r,i);return this.setRootGraph(f),this.rootGraph},n.prototype.add=function(r,i,f,e,g){if(f==null&&e==null&&g==null){if(r==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return r.parent=i,i.child=r,r}else{g=f,e=i,f=r;var t=e.getOwner(),s=g.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,e,g);if(f.isInterGraph=!0,f.source=e,f.target=g,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},n.prototype.remove=function(r){if(r instanceof v){var i=r;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var e,g=f.length,t=0;t=r.getRight()?i[0]+=Math.min(r.getX()-n.getX(),n.getRight()-r.getRight()):r.getX()<=n.getX()&&r.getRight()>=n.getRight()&&(i[0]+=Math.min(n.getX()-r.getX(),r.getRight()-n.getRight())),n.getY()<=r.getY()&&n.getBottom()>=r.getBottom()?i[1]+=Math.min(r.getY()-n.getY(),n.getBottom()-r.getBottom()):r.getY()<=n.getY()&&r.getBottom()>=n.getBottom()&&(i[1]+=Math.min(n.getY()-r.getY(),r.getBottom()-n.getBottom()));var g=Math.abs((r.getCenterY()-n.getCenterY())/(r.getCenterX()-n.getCenterX()));r.getCenterY()===n.getCenterY()&&r.getCenterX()===n.getCenterX()&&(g=1);var t=g*i[0],s=i[1]/g;i[0]t)return i[0]=f,i[1]=o,i[2]=g,i[3]=Y,!1;if(eg)return i[0]=s,i[1]=e,i[2]=P,i[3]=t,!1;if(fg?(i[0]=h,i[1]=T,a=!0):(i[0]=c,i[1]=o,a=!0):p===y&&(f>g?(i[0]=s,i[1]=o,a=!0):(i[0]=u,i[1]=T,a=!0)),-m===y?g>f?(i[2]=V,i[3]=Y,E=!0):(i[2]=P,i[3]=w,E=!0):m===y&&(g>f?(i[2]=b,i[3]=w,E=!0):(i[2]=B,i[3]=Y,E=!0)),a&&E)return!1;if(f>g?e>t?(S=this.getCardinalDirection(p,y,4),D=this.getCardinalDirection(m,y,2)):(S=this.getCardinalDirection(-p,y,3),D=this.getCardinalDirection(-m,y,1)):e>t?(S=this.getCardinalDirection(-p,y,1),D=this.getCardinalDirection(-m,y,3)):(S=this.getCardinalDirection(p,y,2),D=this.getCardinalDirection(m,y,4)),!a)switch(S){case 1:W=o,F=f+-L/y,i[0]=F,i[1]=W;break;case 2:F=u,W=e+d*y,i[0]=F,i[1]=W;break;case 3:W=T,F=f+L/y,i[0]=F,i[1]=W;break;case 4:F=h,W=e+-d*y,i[0]=F,i[1]=W;break}if(!E)switch(D){case 1:Q=w,R=g+-j/y,i[2]=R,i[3]=Q;break;case 2:R=B,Q=t+A*y,i[2]=R,i[3]=Q;break;case 3:Q=Y,R=g+j/y,i[2]=R,i[3]=Q;break;case 4:R=V,Q=t+-A*y,i[2]=R,i[3]=Q;break}}return!1},l.getCardinalDirection=function(n,r,i){return n>r?i:1+i%4},l.getIntersection=function(n,r,i,f){if(f==null)return this.getIntersection2(n,r,i);var e=n.x,g=n.y,t=r.x,s=r.y,o=i.x,c=i.y,h=f.x,T=f.y,u=void 0,d=void 0,L=void 0,b=void 0,w=void 0,P=void 0,V=void 0,Y=void 0,B=void 0;return L=s-g,w=e-t,V=t*g-e*s,b=T-c,P=o-h,Y=h*c-o*T,B=L*P-b*w,B===0?null:(u=(w*Y-P*V)/B,d=(b*V-L*Y)/B,new v(u,d))},l.angleOfVector=function(n,r,i,f){var e=void 0;return n!==i?(e=Math.atan((f-r)/(i-n)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),u=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},l.HALF_PI=.5*Math.PI,l.ONE_AND_HALF_PI=1.5*Math.PI,l.TWO_PI=2*Math.PI,l.THREE_PI=3*Math.PI,C.exports=l},function(C,x,N){function v(){}v.sign=function(l){return l>0?1:l<0?-1:0},v.floor=function(l){return l<0?Math.ceil(l):Math.floor(l)},v.ceil=function(l){return l<0?Math.floor(l):Math.ceil(l)},C.exports=v},function(C,x,N){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,C.exports=v},function(C,x,N){var v=function(){function e(g,t){for(var s=0;s"u"?"undefined":v(n);return n==null||r!="object"&&r!="function"},C.exports=l},function(C,x,N){function v(o){if(Array.isArray(o)){for(var c=0,h=Array(o.length);c0&&c;){for(L.push(w[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var V=P.getEdges(),u=0;u-1&&w.splice(j,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],h=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(h),u=0;u=0&&c.splice(Y,1);var B=b.getNeighborsList();B.forEach(function(a){if(h.indexOf(a)<0){var E=T.get(a),p=E-1;p==1&&P.push(a),T.set(a,p)}})}h=h.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},C.exports=s},function(C,x,N){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},C.exports=v},function(C,x,N){var v=N(5);function l(n,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}l.prototype.getWorldOrgX=function(){return this.lworldOrgX},l.prototype.setWorldOrgX=function(n){this.lworldOrgX=n},l.prototype.getWorldOrgY=function(){return this.lworldOrgY},l.prototype.setWorldOrgY=function(n){this.lworldOrgY=n},l.prototype.getWorldExtX=function(){return this.lworldExtX},l.prototype.setWorldExtX=function(n){this.lworldExtX=n},l.prototype.getWorldExtY=function(){return this.lworldExtY},l.prototype.setWorldExtY=function(n){this.lworldExtY=n},l.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},l.prototype.setDeviceOrgX=function(n){this.ldeviceOrgX=n},l.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},l.prototype.setDeviceOrgY=function(n){this.ldeviceOrgY=n},l.prototype.getDeviceExtX=function(){return this.ldeviceExtX},l.prototype.setDeviceExtX=function(n){this.ldeviceExtX=n},l.prototype.getDeviceExtY=function(){return this.ldeviceExtY},l.prototype.setDeviceExtY=function(n){this.ldeviceExtY=n},l.prototype.transformX=function(n){var r=0,i=this.lworldExtX;return i!=0&&(r=this.ldeviceOrgX+(n-this.lworldOrgX)*this.ldeviceExtX/i),r},l.prototype.transformY=function(n){var r=0,i=this.lworldExtY;return i!=0&&(r=this.ldeviceOrgY+(n-this.lworldOrgY)*this.ldeviceExtY/i),r},l.prototype.inverseTransformX=function(n){var r=0,i=this.ldeviceExtX;return i!=0&&(r=this.lworldOrgX+(n-this.ldeviceOrgX)*this.lworldExtX/i),r},l.prototype.inverseTransformY=function(n){var r=0,i=this.ldeviceExtY;return i!=0&&(r=this.lworldOrgY+(n-this.ldeviceOrgY)*this.lworldExtY/i),r},l.prototype.inverseTransformPoint=function(n){var r=new v(this.inverseTransformX(n.x),this.inverseTransformY(n.y));return r},C.exports=l},function(C,x,N){function v(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},e.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,h,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*h,t.gravitationForceY=-this.gravityConstant*T)):(L=s.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*h*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},e.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var b=0;be}}]),i}();C.exports=r},function(C,x,N){function v(){}v.svd=function(l){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=l.length,this.n=l[0].length;var n=Math.min(this.m,this.n);this.s=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(Math.min(this.m+1,this.n)),this.U=function(Tt){var wt=function $t(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)wt.push(0);return wt}(this.n),i=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(this.m),f=!0,e=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;m--)if(this.s[m]!==0){for(var y=m+1;y=0;z--){if(function(Tt,wt){return Tt&&wt}(z0;){var J=void 0,It=void 0;for(J=a-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===a-2)It=4;else{var Nt=void 0;for(Nt=a-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==a?Math.abs(r[Nt]):0)+(Nt!==J+1?Math.abs(r[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===a-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=r[a-2];r[a-2]=0;for(var ut=a-2;ut>=J;ut--){var Et=v.hypot(this.s[ut],it),Ct=this.s[ut]/Et,Dt=it/Et;this.s[ut]=Et,ut!==J&&(it=-Dt*r[ut-1],r[ut-1]=Ct*r[ut-1]);for(var mt=0;mt=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(n)?(r=n/l,r=Math.abs(l)*Math.sqrt(1+r*r)):n!=0?(r=l/n,r=Math.abs(n)*Math.sqrt(1+r*r)):r=0,r},C.exports=v},function(C,x,N){var v=function(){function r(i,f){for(var e=0;e2&&arguments[2]!==void 0?arguments[2]:1,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;l(this,r),this.sequence1=i,this.sequence2=f,this.match_score=e,this.mismatch_penalty=g,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===n&&f.callback===r&&this.listeners.splice(i,1)}},l.emit=function(n,r){for(var i=0;i{var x={45:(n,r,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),n.exports=f},806:(n,r,i)=>{var f=i(551).FDLayoutConstants;function e(){}for(var g in f)e[g]=f[g];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,n.exports=e},767:(n,r,i)=>{var f=i(551).FDLayoutEdge;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},880:(n,r,i)=>{var f=i(551).LGraph;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},578:(n,r,i)=>{var f=i(551).LGraphManager;function e(t){f.call(this,t)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},765:(n,r,i)=>{var f=i(551).FDLayout,e=i(578),g=i(880),t=i(991),s=i(767),o=i(806),c=i(902),h=i(551).FDLayoutConstants,T=i(551).LayoutConstants,u=i(551).Point,d=i(551).PointD,L=i(551).DimensionD,b=i(551).Layout,w=i(551).Integer,P=i(551).IGeometry,V=i(551).LGraph,Y=i(551).Transform,B=i(551).LinkedList;function A(){f.call(this),this.toBeTiled={},this.constraints={}}A.prototype=Object.create(f.prototype);for(var j in f)A[j]=f[j];A.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},A.prototype.newGraph=function(a){return new g(null,this.graphManager,a)},A.prototype.newNode=function(a){return new t(this.graphManager,a)},A.prototype.newEdge=function(a){return new s(null,null,a)},A.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},A.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},A.prototype.layout=function(){var a=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},A.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(S){return E.has(S)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var a=this.getFlatForest();if(a.length>0)this.positionNodesRadially(a);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(m){return E.has(m)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},A.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(y){return a.has(y)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},A.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),E={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=S)}}if(this.constraints.relativePlacementConstraint){var D=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){a.fixedNodesOnHorizontal.add(O),a.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),Z=O[tt],O[tt]=O[H],O[H]=Z;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;a.nodesInRelativeHorizontal.includes(H)||(a.nodesInRelativeHorizontal.push(H),a.nodeToRelativeConstraintMapHorizontal.set(H,[]),a.dummyToNodeForVerticalAlignment.has(H)?a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(H).getCenterX())),a.nodesInRelativeHorizontal.includes(Z)||(a.nodesInRelativeHorizontal.push(Z),a.nodeToRelativeConstraintMapHorizontal.set(Z,[]),a.dummyToNodeForVerticalAlignment.has(Z)?a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(Z).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(H).push({right:Z,gap:O.gap}),a.nodeToRelativeConstraintMapHorizontal.get(Z).push({left:H,gap:O.gap})}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;a.nodesInRelativeVertical.includes(tt)||(a.nodesInRelativeVertical.push(tt),a.nodeToRelativeConstraintMapVertical.set(tt,[]),a.dummyToNodeForHorizontalAlignment.has(tt)?a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(tt).getCenterY())),a.nodesInRelativeVertical.includes(ht)||(a.nodesInRelativeVertical.push(ht),a.nodeToRelativeConstraintMapVertical.set(ht,[]),a.dummyToNodeForHorizontalAlignment.has(ht)?a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(ht).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),a.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;Q.has(H)?Q.get(H).push(Z):Q.set(H,[Z]),Q.has(Z)?Q.get(Z).push(H):Q.set(Z,[H])}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var X=function(H,Z){var tt=[],ht=[],J=new B,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var ut=it;for(J.push(ut),It.add(ut),tt[Nt].push(ut);J.length!=0;){ut=J.shift(),Z.has(ut)&&(ht[Nt]=!0);var Et=H.get(ut);Et.forEach(function(Ct){It.has(Ct)||(J.push(Ct),It.add(Ct),tt[Nt].push(Ct))})}Nt++}}),{components:tt,isFixed:ht}},rt=X(Q,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var $=X(z,a.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},A.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var O=a.idToNodeMap.get($.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var E=this.constraints.alignmentConstraint.vertical,p=0;p1){var F;for(F=0;Fm&&(m=Math.floor(D.y)),S=Math.floor(D.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-D.x/2,T.WORLD_CENTER_Y-D.y/2))},A.radialLayout=function(a,E,p){var m=Math.max(this.maxDiagonalInTree(a),o.DEFAULT_RADIAL_SEPARATION);A.branchRadialLayout(E,null,0,359,0,m);var y=V.calculateBounds(a),S=new Y;S.setDeviceOrgX(y.getMinX()),S.setDeviceOrgY(y.getMinY()),S.setWorldOrgX(p.x),S.setWorldOrgY(p.y);for(var D=0;D1;){var Z=H[0];H.splice(0,1);var tt=z.indexOf(Z);tt>=0&&z.splice(tt,1),$--,X--}E!=null?O=(z.indexOf(H[0])+1)%$:O=0;for(var ht=Math.abs(m-p)/X,J=O;rt!=X;J=++J%$){var It=z[J].getOtherEnd(a);if(It!=E){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;A.branchRadialLayout(It,a,Nt,vt,y+S,S),rt++}}},A.maxDiagonalInTree=function(a){for(var E=w.MIN_VALUE,p=0;pE&&(E=y)}return E},A.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},A.prototype.groupZeroDegreeMembers=function(){var a=this,E={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),y=0;y"u"&&(E[F]=[]),E[F]=E[F].concat(S)}Object.keys(E).forEach(function(W){if(E[W].length>1){var R="DummyCompound_"+W;a.memberGroups[R]=E[W];var Q=E[W][0].getParent(),z=new t(a.graphManager);z.id=R,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,a.idToDummyNode[R]=z;var X=a.getGraphManager().add(a.newGraph(),z),rt=Q.getChild();rt.add(z);for(var $=0;$y?(m.rect.x-=(m.labelWidth-y)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-y)/2):m.labelPosHorizontal=="right"&&m.setWidth(y+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(S+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>S?(m.rect.y-=(m.labelHeight-S)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-S)/2):m.labelPosVertical=="bottom"&&m.setHeight(S+m.labelHeight))}})},A.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var E=this.compoundOrder[a],p=E.id,m=E.paddingLeft,y=E.paddingTop,S=E.labelMarginLeft,D=E.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],E.rect.x,E.rect.y,m,y,S,D)}},A.prototype.repopulateZeroDegreeMembers=function(){var a=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(p){var m=a.idToDummyNode[p],y=m.paddingLeft,S=m.paddingTop,D=m.labelMarginLeft,F=m.labelMarginTop;a.adjustLocations(E[p],m.rect.x,m.rect.y,y,S,D,F)})},A.prototype.getToBeTiled=function(a){var E=a.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var p=a.getChild();if(p==null)return this.toBeTiled[E]=!1,!1;for(var m=p.getNodes(),y=0;y0)return this.toBeTiled[E]=!1,!1;if(S.getChild()==null){this.toBeTiled[S.id]=!1;continue}if(!this.getToBeTiled(S))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},A.prototype.getNodeDegree=function(a){a.id;for(var E=a.getEdges(),p=0,m=0;mQ&&(Q=X.rect.height)}p+=Q+a.verticalPadding}},A.prototype.tileCompoundMembers=function(a,E){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var y=E[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[m].width,y.rect.height=p.tiledMemberPack[m].height,y.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var S=y.rect.width,D=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(S+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>S?(y.rect.x-=(y.labelWidth-S)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-S)/2):y.labelPosHorizontal=="right"&&y.setWidth(S+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(D+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>D?(y.rect.y-=(y.labelHeight-D)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-D)/2):y.labelPosVertical=="bottom"&&y.setHeight(D+y.labelHeight))}})},A.prototype.tileNodes=function(a,E){var p=this.tileNodesByFavoringDim(a,E,!0),m=this.tileNodesByFavoringDim(a,E,!1),y=this.getOrgRatio(p),S=this.getOrgRatio(m),D;return SF&&(F=$.getWidth())});var W=S/y,R=D/y,Q=Math.pow(p-m,2)+4*(W+m)*(R+p)*y,z=(m-p+Math.sqrt(Q))/(2*(W+m)),X;E?(X=Math.ceil(z),X==z&&X++):X=Math.floor(z);var rt=X*(W+m)-m;return F>rt&&(rt=F),rt+=m*2,rt},A.prototype.tileNodesByFavoringDim=function(a,E,p){var m=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,S=o.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:m,horizontalPadding:y,centerX:0,centerY:0};S&&(D.idealRowWidth=this.calcIdealRowWidth(a,p));var F=function(O){return O.rect.width*O.rect.height},W=function(O,H){return F(H)-F(O)};a.sort(function($,O){var H=W;return D.idealRowWidth?(H=S,H($.id,O.id)):H($,O)});for(var R=0,Q=0,z=0;z0&&(D+=a.horizontalPadding),a.rowWidth[p]=D,a.width0&&(F+=a.verticalPadding);var W=0;F>a.rowHeight[p]&&(W=a.rowHeight[p],a.rowHeight[p]=F,W=a.rowHeight[p]-W),a.height+=W,a.rows[p].push(E)},A.prototype.getShortestRowIndex=function(a){for(var E=-1,p=Number.MAX_VALUE,m=0;mp&&(E=m,p=a.rowWidth[m]);return E},A.prototype.canAddHorizontal=function(a,E,p){if(a.idealRowWidth){var m=a.rows.length-1,y=a.rowWidth[m];return y+E+a.horizontalPadding<=a.idealRowWidth}var S=this.getShortestRowIndex(a);if(S<0)return!0;var D=a.rowWidth[S];if(D+a.horizontalPadding+E<=a.width)return!0;var F=0;a.rowHeight[S]0&&(F=p+a.verticalPadding-a.rowHeight[S]);var W;a.width-D>=E+a.horizontalPadding?W=(a.height+F)/(D+E+a.horizontalPadding):W=(a.height+F)/a.width,F=p+a.verticalPadding;var R;return a.widthS&&E!=p){m.splice(-1,1),a.rows[p].push(y),a.rowWidth[E]=a.rowWidth[E]-S,a.rowWidth[p]=a.rowWidth[p]+S,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var D=Number.MIN_VALUE,F=0;FD&&(D=m[F].height);E>0&&(D+=a.verticalPadding);var W=a.rowHeight[E]+a.rowHeight[p];a.rowHeight[E]=D,a.rowHeight[p]0)for(var rt=y;rt<=S;rt++)X[0]+=this.grid[rt][D-1].length+this.grid[rt][D].length-1;if(S0)for(var rt=D;rt<=F;rt++)X[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var $=w.MAX_VALUE,O,H,Z=0;Z{var f=i(551).FDLayoutNode,e=i(551).IMath;function g(s,o,c,h){f.call(this,s,o,c,h)}g.prototype=Object.create(f.prototype);for(var t in f)g[t]=f[t];g.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},g.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),h,T=0;T{function f(c){if(Array.isArray(c)){for(var h=0,T=Array(c.length);h0){var Lt=0;ot.forEach(function(st){k=="horizontal"?(et.set(st,u.has(st)?d[u.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,u.has(st)?L[u.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){k=="horizontal"?ft+=u.has(st)?d[u.get(st)]:q.get(st):ft+=u.has(st)?L[u.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var Mt=function(){var ot=dt.shift(),Lt=U.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=Zt),KtXt&&(Xt=Kt)}}catch(ee){wt=!0,$t=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(wt)throw $t}}var he=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),oe;!(Qt=(oe=Jt.next()).done);Qt=!0){var te=oe.value;et.set(te,et.get(te)+he)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},j=function(U){var k=0,K=0,q=0,at=0;if(U.forEach(function(_){_.left?d[u.get(_.left)]-d[u.get(_.right)]>=0?k++:K++:L[u.get(_.top)]-L[u.get(_.bottom)]>=0?q++:at++}),k>K&&q>at)for(var gt=0;gtK)for(var nt=0;ntat)for(var et=0;et1)h.fixedNodeConstraint.forEach(function(G,U){m[U]=[G.position.x,G.position.y],y[U]=[d[u.get(G.nodeId)],L[u.get(G.nodeId)]]}),S=!0;else if(h.alignmentConstraint)(function(){var G=0;if(h.alignmentConstraint.vertical){for(var U=h.alignmentConstraint.vertical,k=function(et){var _=new Set;U[et].forEach(function(pt){_.add(pt)});var dt=new Set([].concat(f(_)).filter(function(pt){return F.has(pt)})),Mt=void 0;dt.size>0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).x,U[et].forEach(function(pt){m[G]=[Mt,L[u.get(pt)]],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},K=0;K0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).y,q[et].forEach(function(pt){m[G]=[d[u.get(pt)],Mt],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},gt=0;gtz&&(z=Q[rt].length,X=rt);if(z0){var mt={x:0,y:0};h.fixedNodeConstraint.forEach(function(G,U){var k={x:d[u.get(G.nodeId)],y:L[u.get(G.nodeId)]},K=G.position,q=Y(K,k);mt.x+=q.x,mt.y+=q.y}),mt.x/=h.fixedNodeConstraint.length,mt.y/=h.fixedNodeConstraint.length,d.forEach(function(G,U){d[U]+=mt.x}),L.forEach(function(G,U){L[U]+=mt.y}),h.fixedNodeConstraint.forEach(function(G){d[u.get(G.nodeId)]=G.position.x,L[u.get(G.nodeId)]=G.position.y})}if(h.alignmentConstraint){if(h.alignmentConstraint.vertical)for(var Ot=h.alignmentConstraint.vertical,Rt=function(U){var k=new Set;Ot[U].forEach(function(at){k.add(at)});var K=new Set([].concat(f(k)).filter(function(at){return F.has(at)})),q=void 0;K.size>0?q=d[u.get(K.values().next().value)]:q=B(k).x,k.forEach(function(at){F.has(at)||(d[u.get(at)]=q)})},Ht=0;Ht0?q=L[u.get(K.values().next().value)]:q=B(k).y,k.forEach(function(at){F.has(at)||(L[u.get(at)]=q)})},Ft=0;Ft{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(45);return l})()})}(ue)),ue.exports}(function(I,M){(function(x,N){I.exports=N(vr())})(Te,function(C){return(()=>{var x={658:n=>{n.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var i=arguments.length,f=Array(i>1?i-1:0),e=1;e{var f=function(){function t(s,o){var c=[],h=!0,T=!1,u=void 0;try{for(var d=s[Symbol.iterator](),L;!(h=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));h=!0);}catch(b){T=!0,u=b}finally{try{!h&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e=i(140).layoutBase.LinkedList,g={};g.getTopMostNodes=function(t){for(var s={},o=0;o0&&S.merge(R)});for(var D=0;D1){L=u[0],b=L.connectedEdges().length,u.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),Y},g.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,b=void 0;try{for(var w=s.nodeIndexes[Symbol.iterator](),P;!(d=(P=w.next()).done);d=!0){var V=P.value,Y=f(V,2),B=Y[0],A=Y[1],j=o.cy.getElementById(B);if(j){var a=j.boundingBox(),E=s.xCoords[A]-a.w/2,p=s.xCoords[A]+a.w/2,m=s.yCoords[A]-a.h/2,y=s.yCoords[A]+a.h/2;Eh&&(h=p),mu&&(u=y)}}}catch(R){L=!0,b=R}finally{try{!d&&w.return&&w.return()}finally{if(L)throw b}}var S=t.x-(h+c)/2,D=t.y-(u+T)/2;s.xCoords=s.xCoords.map(function(R){return R+S}),s.yCoords=s.yCoords.map(function(R){return R+D})}else{Object.keys(s).forEach(function(R){var Q=s[R],z=Q.getRect().x,X=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,$=Q.getRect().y+Q.getRect().height;zh&&(h=X),rtu&&(u=$)});var F=t.x-(h+c)/2,W=t.y-(u+T)/2;Object.keys(s).forEach(function(R){var Q=s[R];Q.setCenter(Q.getCenterX()+F,Q.getCenterY()+W)})}}},g.calcBoundingBox=function(t,s,o,c){for(var h=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,b=void 0,w=void 0,P=void 0,V=t.descendants().not(":parent"),Y=V.length,B=0;BL&&(h=L),Tw&&(u=w),d{var f=i(548),e=i(140).CoSELayout,g=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,h=i(140).CoSEConstants,T=function(d,L){var b=d.cy,w=d.eles,P=w.nodes(),V=w.edges(),Y=void 0,B=void 0,A=void 0,j={};d.randomize&&(Y=L.nodeIndexes,B=L.xCoords,A=L.yCoords);var a=function(R){return typeof R=="function"},E=function(R,Q){return a(R)?R(Q):R},p=f.calcParentsWithoutChildren(b,w),m=function W(R,Q,z,X){for(var rt=Q.length,$=0;$0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),Z),W(J,H,z,X)}}},y=function(R,Q,z){for(var X=0,rt=0,$=0;$0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=X/rt:a(d.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},S=function(R,Q){Q.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(R.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(h.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,h.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,h.TILE=d.tile,h.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),d.step=="enforced"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),d.step=="cose"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new e,F=D.newGraphManager();return m(F.addRoot(),f.getTopMostNodes(P),D,d),y(D,F,V),S(D,d),D.runLayout(),j};n.exports={coseLayout:T}},212:(n,r,i)=>{var f=function(){function d(L,b){for(var w=0;w0)if(p){var S=t.getTopMostNodes(w.eles.nodes());if(A=t.connectComponents(P,w.eles,S),A.forEach(function(vt){var it=vt.boundingBox();j.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),w.randomize&&A.forEach(function(vt){w.eles=vt,Y.push(o(w))}),w.quality=="default"||w.quality=="proof"){var D=P.collection();if(w.tile){var F=new Map,W=[],R=[],Q=0,z={nodeIndexes:F,xCoords:W,yCoords:R},X=[];if(A.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Et){D.merge(vt.nodes()[Et]),ut.isParent()||(z.nodeIndexes.set(vt.nodes()[Et].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),X.push(it))}),D.length>1){var rt=D.boundingBox();j.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),A.push(D),Y.push(z);for(var $=X.length-1;$>=0;$--)A.splice(X[$],1),Y.splice(X[$],1),j.splice(X[$],1)}}A.forEach(function(vt,it){w.eles=vt,B.push(h(w,Y[it])),t.relocateComponent(j[it],B[it],w)})}else A.forEach(function(vt,it){t.relocateComponent(j[it],Y[it],w)});var O=new Set;if(A.length>1){var H=[],Z=V.filter(function(vt){return vt.css("display")=="none"});A.forEach(function(vt,it){var ut=void 0;if(w.quality=="draft"&&(ut=Y[it].nodeIndexes),vt.nodes().not(Z).length>0){var Et={};Et.edges=[],Et.nodes=[];var Ct=void 0;vt.nodes().not(Z).forEach(function(Dt){if(w.quality=="draft")if(!Dt.isParent())Ct=ut.get(Dt.id()),Et.nodes.push({x:Y[it].xCoords[Ct]-Dt.boundingbox().w/2,y:Y[it].yCoords[Ct]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,Y[it].xCoords,Y[it].yCoords,ut);Et.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else B[it][Dt.id()]&&Et.nodes.push({x:B[it][Dt.id()].getLeft(),y:B[it][Dt.id()].getTop(),width:B[it][Dt.id()].getWidth(),height:B[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),Ot=Dt.target();if(mt.css("display")!="none"&&Ot.css("display")!="none")if(w.quality=="draft"){var Rt=ut.get(mt.id()),Ht=ut.get(Ot.id()),Ut=[],Gt=[];if(mt.isParent()){var Ft=t.calcBoundingBox(mt,Y[it].xCoords,Y[it].yCoords,ut);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(Y[it].xCoords[Rt]),Ut.push(Y[it].yCoords[Rt]);if(Ot.isParent()){var Yt=t.calcBoundingBox(Ot,Y[it].xCoords,Y[it].yCoords,ut);Gt.push(Yt.topLeftX+Yt.width/2),Gt.push(Yt.topLeftY+Yt.height/2)}else Gt.push(Y[it].xCoords[Ht]),Gt.push(Y[it].yCoords[Ht]);Et.edges.push({startX:Ut[0],startY:Ut[1],endX:Gt[0],endY:Gt[1]})}else B[it][mt.id()]&&B[it][Ot.id()]&&Et.edges.push({startX:B[it][mt.id()].getCenterX(),startY:B[it][mt.id()].getCenterY(),endX:B[it][Ot.id()].getCenterX(),endY:B[it][Ot.id()].getCenterY()})}),Et.nodes.length>0&&(H.push(Et),O.add(it))}});var tt=E.packComponents(H,w.randomize).shifts;if(w.quality=="draft")Y.forEach(function(vt,it){var ut=vt.xCoords.map(function(Ct){return Ct+tt[it].dx}),Et=vt.yCoords.map(function(Ct){return Ct+tt[it].dy});vt.xCoords=ut,vt.yCoords=Et});else{var ht=0;O.forEach(function(vt){Object.keys(B[vt]).forEach(function(it){var ut=B[vt][it];ut.setCenter(ut.getCenterX()+tt[ht].dx,ut.getCenterY()+tt[ht].dy)}),ht++})}}}else{var m=w.eles.boundingBox();if(j.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),w.randomize){var y=o(w);Y.push(y)}w.quality=="default"||w.quality=="proof"?(B.push(h(w,Y[0])),t.relocateComponent(j[0],B[0],w)):t.relocateComponent(j[0],Y[0],w)}var J=function(it,ut){if(w.quality=="default"||w.quality=="proof"){typeof it=="number"&&(it=ut);var Et=void 0,Ct=void 0,Dt=it.data("id");return B.forEach(function(Ot){Dt in Ot&&(Et={x:Ot[Dt].getRect().getCenterX(),y:Ot[Dt].getRect().getCenterY()},Ct=Ot[Dt])}),w.nodeDimensionsIncludeLabels&&(Ct.labelWidth&&(Ct.labelPosHorizontal=="left"?Et.x+=Ct.labelWidth/2:Ct.labelPosHorizontal=="right"&&(Et.x-=Ct.labelWidth/2)),Ct.labelHeight&&(Ct.labelPosVertical=="top"?Et.y+=Ct.labelHeight/2:Ct.labelPosVertical=="bottom"&&(Et.y-=Ct.labelHeight/2))),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}else{var mt=void 0;return Y.forEach(function(Ot){var Rt=Ot.nodeIndexes.get(it.id());Rt!=null&&(mt={x:Ot.xCoords[Rt],y:Ot.yCoords[Rt]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(w.quality=="default"||w.quality=="proof"||w.randomize){var It=t.calcParentsWithoutChildren(P,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});w.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,w,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();n.exports=u},657:(n,r,i)=>{var f=i(548),e=i(140).layoutBase.Matrix,g=i(140).layoutBase.SVD,t=function(o){var c=o.cy,h=o.eles,T=h.nodes(),u=h.nodes(":parent"),d=new Map,L=new Map,b=new Map,w=[],P=[],V=[],Y=[],B=[],A=[],j=[],a=[],E=void 0,p=1e8,m=1e-9,y=o.piTol,S=o.samplingType,D=o.nodeSeparation,F=void 0,W=function(){for(var U=0,k=0,K=!1;k=at;){nt=q[at++];for(var xt=w[nt],lt=0;ltdt&&(dt=B[Lt],Mt=Lt)}return Mt},Q=function(U){var k=void 0;if(U){k=Math.floor(Math.random()*E);for(var q=0;q=1)break;_=et}for(var pt=0;pt=1)break;_=et}for(var lt=0;lt0&&(k.isParent()?w[U].push(b.get(k.id())):w[U].push(k.id()))})});var Nt=function(U){var k=L.get(U),K=void 0;d.get(U).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,w[k].push(K),w[L.get(K)].push(U)})},vt=!0,it=!1,ut=void 0;try{for(var Et=d.keys()[Symbol.iterator](),Ct;!(vt=(Ct=Et.next()).done);vt=!0){var Dt=Ct.value;Nt(Dt)}}catch(G){it=!0,ut=G}finally{try{!vt&&Et.return&&Et.return()}finally{if(it)throw ut}}E=L.size;var mt=void 0;if(E>2){F=E{var f=i(212),e=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&e(cytoscape),n.exports=e},140:n=>{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(579);return l})()})})(be);var pr=be.exports;const yr=gr(pr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:ct(I=>`${I},${I/2} 0,${I} 0,0`,"L"),R:ct(I=>`0,${I/2} ${I},0 ${I},${I}`,"R"),T:ct(I=>`0,0 ${I},0 ${I/2},${I}`,"T"),B:ct(I=>`${I/2},0 ${I},${I} 0,${I}`,"B")},se={L:ct((I,M)=>I-M+2,"L"),R:ct((I,M)=>I-2,"R"),T:ct((I,M)=>I-M+2,"T"),B:ct((I,M)=>I-2,"B")},mr=ct(function(I){return Wt(I)?I==="L"?"R":"L":I==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=ct(function(I){const M=I;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Wt=ct(function(I){const M=I;return M==="L"||M==="R"},"isArchitectureDirectionX"),qt=ct(function(I){const M=I;return M==="T"||M==="B"},"isArchitectureDirectionY"),Ne=ct(function(I,M){const C=Wt(I)&&qt(M),x=qt(I)&&Wt(M);return C||x},"isArchitectureDirectionXY"),Er=ct(function(I){const M=I[0],C=I[1],x=Wt(M)&&qt(C),N=qt(M)&&Wt(C);return x||N},"isArchitecturePairXY"),Tr=ct(function(I){return I!=="LL"&&I!=="RR"&&I!=="TT"&&I!=="BB"},"isValidArchitectureDirectionPair"),pe=ct(function(I,M){const C=`${I}${M}`;return Tr(C)?C:void 0},"getArchitectureDirectionPair"),Nr=ct(function([I,M],C){const x=C[0],N=C[1];return Wt(x)?qt(N)?[I+(x==="L"?-1:1),M+(N==="T"?1:-1)]:[I+(x==="L"?-1:1),M]:Wt(N)?[I+(N==="L"?1:-1),M+(x==="T"?1:-1)]:[I,M+(x==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Lr=ct(function(I){return I==="LT"||I==="TL"?[1,1]:I==="BL"||I==="LB"?[1,-1]:I==="BR"||I==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),wr=ct(function(I,M){return Ne(I,M)?"bend":Wt(I)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Cr=ct(function(I){return I.type==="service"},"isArchitectureService"),Mr=ct(function(I){return I.type==="junction"},"isArchitectureJunction"),Ge=ct((I,M)=>{const[C,x]=[I,M].sort();return`${JSON.stringify(C)}-${JSON.stringify(x)}`},"architectureGroupAlignmentKey"),Pe=ct(I=>I.data(),"edgeData"),ie=ct(I=>I.data(),"nodeData"),Ar=or.architecture,ae,Ue=(ae=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ke,this.getAccTitle=je,this.setDiagramTitle=_e,this.getDiagramTitle=tr,this.getAccDescription=er,this.setAccDescription=rr,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",ir()}addService({id:M,icon:C,in:x,title:N,iconText:v}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(x)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:C,iconText:v,title:N,edges:[],in:x})}getServices(){return[...this.nodes.values()].filter(Cr)}addJunction({id:M,in:C}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(C!==void 0){if(M===C)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(C))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(C)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:C})}getJunctions(){return[...this.nodes.values()].filter(Mr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:C,in:x,title:N}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(x)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:C,title:N,in:x})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:C,lhsDir:x,rhsDir:N,lhsInto:v,rhsInto:l,lhsGroup:n,rhsGroup:r,title:i}){if(!Re(x))throw new Error(`Invalid direction given for left hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(x)}`);if(!Re(N))throw new Error(`Invalid direction given for right hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(N)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(C)&&!this.groups.has(C))throw new Error(`The right-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);const f=this.nodes.get(M).in,e=this.nodes.get(C).in;if(n&&f&&e&&f==e)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&f&&e&&f==e)throw new Error(`The right-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const g={lhsId:M,lhsDir:x,lhsInto:v,lhsGroup:n,rhsId:C,rhsDir:N,rhsInto:l,rhsGroup:r,title:i};this.edges.push(g);const t=this.nodes.get(M),s=this.nodes.get(C);t&&s&&(t.edges.push(this.edges[this.edges.length-1]),s.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);const C=new Set;M.members.forEach(x=>{if(this.registeredIds.get(x)!=="node")throw new Error(`align ${M.direction} references [${x}], which is not a service or junction`);if(C.has(x))throw new Error(`align ${M.direction} lists [${x}] more than once`);C.add(x)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){var M,C;if(this.dataStructures===void 0){const x=new Map,N=new Map;for(const[i,f]of this.nodes.entries()){const e=new Map;for(const g of f.edges){const t=(M=this.getNode(g.lhsId))==null?void 0:M.in,s=(C=this.getNode(g.rhsId))==null?void 0:C.in;if(t&&s&&t!==s){const o=wr(g.lhsDir,g.rhsDir);o!=="bend"&&x.set(Ge(t,s),o)}if(g.lhsId===i){const o=pe(g.lhsDir,g.rhsDir);o&&e.set(o,g.rhsId)}else{const o=pe(g.rhsDir,g.lhsDir);o&&e.set(o,g.lhsId)}}N.set(i,e)}const v=new Set,l=new Set(N.keys()),n=ct(i=>{const f=new Map([[i,[0,0]]]),e=[i];for(;e.length>0;){const g=e.shift();if(g){v.add(g),l.delete(g);const t=N.get(g);if(!t)throw new Error(`BFS error: adjacency list for id ${g} not found. Please report this as a bug.`);const s=f.get(g);if(!s)throw new Error(`BFS error: position for id ${g} not found in spatial map. Please report this as a bug.`);const[o,c]=s;t.forEach((h,T)=>{v.has(h)||(f.set(h,Nr([o,c],T)),e.push(h))})}}return f},"BFS"),r=[];for(;l.size>0;){const i=l.values().next().value;r.push(n(i))}this.dataStructures={adjList:N,spatialMaps:r,groupAlignments:x}}return this.dataStructures}setElementForId(M,C){this.elements.set(M,C)}getElementById(M){return this.elements.get(M)}getConfig(){return ar({...Ar,...nr().architecture})}getConfigField(M){return this.getConfig()[M]}},ct(ae,"ArchitectureDB"),ae),Dr=ct((I,M)=>{var C;qe(I,M),I.groups.map(x=>M.addGroup(x)),I.services.map(x=>M.addService({...x,type:"service"})),I.junctions.map(x=>M.addJunction({...x,type:"junction"})),I.edges.map(x=>M.addEdge(x)),(C=I.alignments)==null||C.map(x=>M.addLayoutHint({direction:x.direction,members:[...x.members]}))},"populateDb"),Ye={parser:{yy:void 0},parse:ct(async I=>{var x;const M=await cr("architecture",I);Se.debug(M);const C=(x=Ye.parser)==null?void 0:x.yy;if(!(C instanceof Ue))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Dr(M,C)},"parse")},Or=ct(I=>` +import{p as qe}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a as ct,aQ as Qe,aX as Je,at as Se,aS as Ke,W as je,aU as _e,$ as tr,V as er,aR as rr,s as ir,r as ar,X as nr,O as or,Y as me,F as Ee,a2 as ve,aO as sr,a0 as hr,aK as lr,b8 as fr}from"./mermaid.core-DAX2QfGO.js";import{p as cr}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import{c as Fe}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as Te,N as gr,ad as ur}from"../../app/index-sh8QRNzm.js";var be={exports:{}},ue={exports:{}},de={exports:{}},De;function dr(){return De||(De=1,function(I,M){(function(x,N){I.exports=N()})(Te,function(){return function(C){var x={};function N(v){if(x[v])return x[v].exports;var l=x[v]={i:v,l:!1,exports:{}};return C[v].call(l.exports,l,l.exports,N),l.l=!0,l.exports}return N.m=C,N.c=x,N.i=function(v){return v},N.d=function(v,l,n){N.o(v,l)||Object.defineProperty(v,l,{configurable:!1,enumerable:!0,get:n})},N.n=function(v){var l=v&&v.__esModule?function(){return v.default}:function(){return v};return N.d(l,"a",l),l},N.o=function(v,l){return Object.prototype.hasOwnProperty.call(v,l)},N.p="",N(N.s=28)}([function(C,x,N){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,C.exports=v},function(C,x,N){var v=N(2),l=N(8),n=N(9);function r(f,e,g){v.call(this,g),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=g,this.bendpoints=[],this.source=f,this.target=e}r.prototype=Object.create(v.prototype);for(var i in v)r[i]=v[i];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,e){for(var g=this.getOtherEnd(f),t=e.getGraphManager().getRoot();;){if(g.getOwner()==e)return g;if(g.getOwner()==t)break;g=g.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=l.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=n.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=n.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=r},function(C,x,N){function v(l){this.vGraphObject=l}C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(13),r=N(0),i=N(16),f=N(5);function e(t,s,o,c){o==null&&c==null&&(c=s),v.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=l.MIN_VALUE,this.inclusionTreeDepth=l.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&s!=null?this.rect=new n(s.x,s.y,o.width,o.height):this.rect=new n}e.prototype=Object.create(v.prototype);for(var g in v)e[g]=v[g];e.prototype.getEdges=function(){return this.edges},e.prototype.getChild=function(){return this.child},e.prototype.getOwner=function(){return this.owner},e.prototype.getWidth=function(){return this.rect.width},e.prototype.setWidth=function(t){this.rect.width=t},e.prototype.getHeight=function(){return this.rect.height},e.prototype.setHeight=function(t){this.rect.height=t},e.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},e.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},e.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},e.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},e.prototype.getRect=function(){return this.rect},e.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},e.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},e.prototype.setRect=function(t,s){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=s.width,this.rect.height=s.height},e.prototype.setCenter=function(t,s){this.rect.x=t-this.rect.width/2,this.rect.y=s-this.rect.height/2},e.prototype.setLocation=function(t,s){this.rect.x=t,this.rect.y=s},e.prototype.moveBy=function(t,s){this.rect.x+=t,this.rect.y+=s},e.prototype.getEdgeListToNode=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";s.push(c)}}),s},e.prototype.getEdgesBetween=function(t){var s=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&s.push(c)}),s},e.prototype.getNeighborsList=function(){var t=new Set,s=this;return s.edges.forEach(function(o){if(o.source==s)t.add(o.target);else{if(o.target!=s)throw"Incorrect incidency!";t.add(o.source)}}),t},e.prototype.withChildren=function(){var t=new Set,s,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),h=0;hs?(this.rect.x-=(this.labelWidth-s)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(s+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},e.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==l.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},e.prototype.transform=function(t){var s=this.rect.x;s>r.WORLD_BOUNDARY?s=r.WORLD_BOUNDARY:s<-r.WORLD_BOUNDARY&&(s=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(s,o),h=t.inverseTransformPoint(c);this.setLocation(h.x,h.y)},e.prototype.getLeft=function(){return this.rect.x},e.prototype.getRight=function(){return this.rect.x+this.rect.width},e.prototype.getTop=function(){return this.rect.y},e.prototype.getBottom=function(){return this.rect.y+this.rect.height},e.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=e},function(C,x,N){var v=N(0);function l(){}for(var n in v)l[n]=v[n];l.MAX_ITERATIONS=2500,l.DEFAULT_EDGE_LENGTH=50,l.DEFAULT_SPRING_STRENGTH=.45,l.DEFAULT_REPULSION_STRENGTH=4500,l.DEFAULT_GRAVITY_STRENGTH=.4,l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,l.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,l.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,l.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,l.COOLING_ADAPTATION_FACTOR=.33,l.ADAPTATION_LOWER_NODE_LIMIT=1e3,l.ADAPTATION_UPPER_NODE_LIMIT=5e3,l.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,l.MAX_NODE_DISPLACEMENT=l.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,l.CONVERGENCE_CHECK_PERIOD=100,l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,l.MIN_EDGE_LENGTH=1,l.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=l},function(C,x,N){function v(l,n){l==null&&n==null?(this.x=0,this.y=0):(this.x=l,this.y=n)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(l){this.x=l},v.prototype.setY=function(l){this.y=l},v.prototype.getDifference=function(l){return new DimensionD(this.x-l.x,this.y-l.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(l){return this.x+=l.width,this.y+=l.height,this},C.exports=v},function(C,x,N){var v=N(2),l=N(10),n=N(0),r=N(7),i=N(3),f=N(1),e=N(13),g=N(12),t=N(11);function s(c,h,T){v.call(this,T),this.estimatedSize=l.MIN_VALUE,this.margin=n.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,h!=null&&h instanceof r?this.graphManager=h:h!=null&&h instanceof Layout&&(this.graphManager=h.graphManager)}s.prototype=Object.create(v.prototype);for(var o in v)s[o]=v[o];s.prototype.getNodes=function(){return this.nodes},s.prototype.getEdges=function(){return this.edges},s.prototype.getGraphManager=function(){return this.graphManager},s.prototype.getParent=function(){return this.parent},s.prototype.getLeft=function(){return this.left},s.prototype.getRight=function(){return this.right},s.prototype.getTop=function(){return this.top},s.prototype.getBottom=function(){return this.bottom},s.prototype.isConnected=function(){return this.isConnected},s.prototype.add=function(c,h,T){if(h==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(h)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(h.owner==T.owner&&h.owner==this))throw"Both owners must be this graph!";return h.owner!=T.owner?null:(d.source=h,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),h.edges.push(d),T!=h&&T.edges.push(d),d)}},s.prototype.remove=function(c){var h=c;if(c instanceof i){if(h==null)throw"Node is null!";if(!(h.owner!=null&&h.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=h.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(w,1),u.target!=u.source&&u.target.edges.splice(P,1);var b=u.source.owner.getEdges().indexOf(u);if(b==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(b,1)}},s.prototype.updateLeftTop=function(){for(var c=l.MAX_VALUE,h=l.MAX_VALUE,T,u,d,L=this.getNodes(),b=L.length,w=0;wT&&(c=T),h>u&&(h=u)}return c==l.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=h-d,this.top=c-d,new g(this.left,this.top))},s.prototype.updateBounds=function(c){for(var h=l.MAX_VALUE,T=-l.MAX_VALUE,u=l.MAX_VALUE,d=-l.MAX_VALUE,L,b,w,P,V,Y=this.nodes,B=Y.length,A=0;AL&&(h=L),Tw&&(u=w),dL&&(h=L),Tw&&(u=w),d=this.nodes.length){var B=0;T.forEach(function(A){A.owner==c&&B++}),B==this.nodes.length&&(this.isConnected=!0)}},C.exports=s},function(C,x,N){var v,l=N(1);function n(r){v=N(6),this.layout=r,this.graphs=[],this.edges=[]}n.prototype.addRoot=function(){var r=this.layout.newGraph(),i=this.layout.newNode(null),f=this.add(r,i);return this.setRootGraph(f),this.rootGraph},n.prototype.add=function(r,i,f,e,g){if(f==null&&e==null&&g==null){if(r==null)throw"Graph is null!";if(i==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(i.child!=null)throw"Already has a child!";return r.parent=i,i.child=r,r}else{g=f,e=i,f=r;var t=e.getOwner(),s=g.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(s!=null&&s.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==s)return f.isInterGraph=!1,t.add(f,e,g);if(f.isInterGraph=!0,f.source=e,f.target=g,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},n.prototype.remove=function(r){if(r instanceof v){var i=r;if(i.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(i==this.rootGraph||i.parent!=null&&i.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(i.getEdges());for(var e,g=f.length,t=0;t=r.getRight()?i[0]+=Math.min(r.getX()-n.getX(),n.getRight()-r.getRight()):r.getX()<=n.getX()&&r.getRight()>=n.getRight()&&(i[0]+=Math.min(n.getX()-r.getX(),r.getRight()-n.getRight())),n.getY()<=r.getY()&&n.getBottom()>=r.getBottom()?i[1]+=Math.min(r.getY()-n.getY(),n.getBottom()-r.getBottom()):r.getY()<=n.getY()&&r.getBottom()>=n.getBottom()&&(i[1]+=Math.min(n.getY()-r.getY(),r.getBottom()-n.getBottom()));var g=Math.abs((r.getCenterY()-n.getCenterY())/(r.getCenterX()-n.getCenterX()));r.getCenterY()===n.getCenterY()&&r.getCenterX()===n.getCenterX()&&(g=1);var t=g*i[0],s=i[1]/g;i[0]t)return i[0]=f,i[1]=o,i[2]=g,i[3]=Y,!1;if(eg)return i[0]=s,i[1]=e,i[2]=P,i[3]=t,!1;if(fg?(i[0]=h,i[1]=T,a=!0):(i[0]=c,i[1]=o,a=!0):p===y&&(f>g?(i[0]=s,i[1]=o,a=!0):(i[0]=u,i[1]=T,a=!0)),-m===y?g>f?(i[2]=V,i[3]=Y,E=!0):(i[2]=P,i[3]=w,E=!0):m===y&&(g>f?(i[2]=b,i[3]=w,E=!0):(i[2]=B,i[3]=Y,E=!0)),a&&E)return!1;if(f>g?e>t?(S=this.getCardinalDirection(p,y,4),D=this.getCardinalDirection(m,y,2)):(S=this.getCardinalDirection(-p,y,3),D=this.getCardinalDirection(-m,y,1)):e>t?(S=this.getCardinalDirection(-p,y,1),D=this.getCardinalDirection(-m,y,3)):(S=this.getCardinalDirection(p,y,2),D=this.getCardinalDirection(m,y,4)),!a)switch(S){case 1:W=o,F=f+-L/y,i[0]=F,i[1]=W;break;case 2:F=u,W=e+d*y,i[0]=F,i[1]=W;break;case 3:W=T,F=f+L/y,i[0]=F,i[1]=W;break;case 4:F=h,W=e+-d*y,i[0]=F,i[1]=W;break}if(!E)switch(D){case 1:Q=w,R=g+-j/y,i[2]=R,i[3]=Q;break;case 2:R=B,Q=t+A*y,i[2]=R,i[3]=Q;break;case 3:Q=Y,R=g+j/y,i[2]=R,i[3]=Q;break;case 4:R=V,Q=t+-A*y,i[2]=R,i[3]=Q;break}}return!1},l.getCardinalDirection=function(n,r,i){return n>r?i:1+i%4},l.getIntersection=function(n,r,i,f){if(f==null)return this.getIntersection2(n,r,i);var e=n.x,g=n.y,t=r.x,s=r.y,o=i.x,c=i.y,h=f.x,T=f.y,u=void 0,d=void 0,L=void 0,b=void 0,w=void 0,P=void 0,V=void 0,Y=void 0,B=void 0;return L=s-g,w=e-t,V=t*g-e*s,b=T-c,P=o-h,Y=h*c-o*T,B=L*P-b*w,B===0?null:(u=(w*Y-P*V)/B,d=(b*V-L*Y)/B,new v(u,d))},l.angleOfVector=function(n,r,i,f){var e=void 0;return n!==i?(e=Math.atan((f-r)/(i-n)),i=0){var T=(-o+Math.sqrt(o*o-4*s*c))/(2*s),u=(-o-Math.sqrt(o*o-4*s*c))/(2*s),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},l.HALF_PI=.5*Math.PI,l.ONE_AND_HALF_PI=1.5*Math.PI,l.TWO_PI=2*Math.PI,l.THREE_PI=3*Math.PI,C.exports=l},function(C,x,N){function v(){}v.sign=function(l){return l>0?1:l<0?-1:0},v.floor=function(l){return l<0?Math.ceil(l):Math.floor(l)},v.ceil=function(l){return l<0?Math.floor(l):Math.ceil(l)},C.exports=v},function(C,x,N){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,C.exports=v},function(C,x,N){var v=function(){function e(g,t){for(var s=0;s"u"?"undefined":v(n);return n==null||r!="object"&&r!="function"},C.exports=l},function(C,x,N){function v(o){if(Array.isArray(o)){for(var c=0,h=Array(o.length);c0&&c;){for(L.push(w[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var V=P.getEdges(),u=0;u-1&&w.splice(j,1)}d=new Set,b=new Map}}return o},s.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],h=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(h),u=0;u=0&&c.splice(Y,1);var B=b.getNeighborsList();B.forEach(function(a){if(h.indexOf(a)<0){var E=T.get(a),p=E-1;p==1&&P.push(a),T.set(a,p)}})}h=h.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},s.prototype.setGraphManager=function(o){this.graphManager=o},C.exports=s},function(C,x,N){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},C.exports=v},function(C,x,N){var v=N(5);function l(n,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}l.prototype.getWorldOrgX=function(){return this.lworldOrgX},l.prototype.setWorldOrgX=function(n){this.lworldOrgX=n},l.prototype.getWorldOrgY=function(){return this.lworldOrgY},l.prototype.setWorldOrgY=function(n){this.lworldOrgY=n},l.prototype.getWorldExtX=function(){return this.lworldExtX},l.prototype.setWorldExtX=function(n){this.lworldExtX=n},l.prototype.getWorldExtY=function(){return this.lworldExtY},l.prototype.setWorldExtY=function(n){this.lworldExtY=n},l.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},l.prototype.setDeviceOrgX=function(n){this.ldeviceOrgX=n},l.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},l.prototype.setDeviceOrgY=function(n){this.ldeviceOrgY=n},l.prototype.getDeviceExtX=function(){return this.ldeviceExtX},l.prototype.setDeviceExtX=function(n){this.ldeviceExtX=n},l.prototype.getDeviceExtY=function(){return this.ldeviceExtY},l.prototype.setDeviceExtY=function(n){this.ldeviceExtY=n},l.prototype.transformX=function(n){var r=0,i=this.lworldExtX;return i!=0&&(r=this.ldeviceOrgX+(n-this.lworldOrgX)*this.ldeviceExtX/i),r},l.prototype.transformY=function(n){var r=0,i=this.lworldExtY;return i!=0&&(r=this.ldeviceOrgY+(n-this.lworldOrgY)*this.ldeviceExtY/i),r},l.prototype.inverseTransformX=function(n){var r=0,i=this.ldeviceExtX;return i!=0&&(r=this.lworldOrgX+(n-this.ldeviceOrgX)*this.lworldExtX/i),r},l.prototype.inverseTransformY=function(n){var r=0,i=this.ldeviceExtY;return i!=0&&(r=this.lworldOrgY+(n-this.ldeviceOrgY)*this.lworldExtY/i),r},l.prototype.inverseTransformPoint=function(n){var r=new v(this.inverseTransformX(n.x),this.inverseTransformY(n.y));return r},C.exports=l},function(C,x,N){function v(t){if(Array.isArray(t)){for(var s=0,o=Array(t.length);sn.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},e.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),s,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,h,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*h,t.gravitationForceY=-this.gravityConstant*T)):(L=s.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*h*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},e.prototype.isConverged=function(){var t,s=!1;return this.totalIterations>this.maxIterations/3&&(s=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var b=0;be}}]),i}();C.exports=r},function(C,x,N){function v(){}v.svd=function(l){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=l.length,this.n=l[0].length;var n=Math.min(this.m,this.n);this.s=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(Math.min(this.m+1,this.n)),this.U=function(Tt){var wt=function $t(bt){if(bt.length==0)return 0;for(var zt=[],St=0;St0;)wt.push(0);return wt}(this.n),i=function(Tt){for(var wt=[];Tt-- >0;)wt.push(0);return wt}(this.m),f=!0,e=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;m--)if(this.s[m]!==0){for(var y=m+1;y=0;z--){if(function(Tt,wt){return Tt&&wt}(z0;){var J=void 0,It=void 0;for(J=a-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=ht+tt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===a-2)It=4;else{var Nt=void 0;for(Nt=a-1;Nt>=J&&Nt!==J;Nt--){var vt=(Nt!==a?Math.abs(r[Nt]):0)+(Nt!==J+1?Math.abs(r[Nt-1]):0);if(Math.abs(this.s[Nt])<=ht+tt*vt){this.s[Nt]=0;break}}Nt===J?It=3:Nt===a-1?It=1:(It=2,J=Nt)}switch(J++,It){case 1:{var it=r[a-2];r[a-2]=0;for(var ut=a-2;ut>=J;ut--){var Et=v.hypot(this.s[ut],it),Ct=this.s[ut]/Et,Dt=it/Et;this.s[ut]=Et,ut!==J&&(it=-Dt*r[ut-1],r[ut-1]=Ct*r[ut-1]);for(var mt=0;mt=this.s[J+1]);){var Lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=Lt,JMath.abs(n)?(r=n/l,r=Math.abs(l)*Math.sqrt(1+r*r)):n!=0?(r=l/n,r=Math.abs(n)*Math.sqrt(1+r*r)):r=0,r},C.exports=v},function(C,x,N){var v=function(){function r(i,f){for(var e=0;e2&&arguments[2]!==void 0?arguments[2]:1,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;l(this,r),this.sequence1=i,this.sequence2=f,this.match_score=e,this.mismatch_penalty=g,this.gap_penalty=t,this.iMax=i.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;i--){var f=this.listeners[i];f.event===n&&f.callback===r&&this.listeners.splice(i,1)}},l.emit=function(n,r){for(var i=0;i{var x={45:(n,r,i)=>{var f={};f.layoutBase=i(551),f.CoSEConstants=i(806),f.CoSEEdge=i(767),f.CoSEGraph=i(880),f.CoSEGraphManager=i(578),f.CoSELayout=i(765),f.CoSENode=i(991),f.ConstraintHandler=i(902),n.exports=f},806:(n,r,i)=>{var f=i(551).FDLayoutConstants;function e(){}for(var g in f)e[g]=f[g];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,n.exports=e},767:(n,r,i)=>{var f=i(551).FDLayoutEdge;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},880:(n,r,i)=>{var f=i(551).LGraph;function e(t,s,o){f.call(this,t,s,o)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},578:(n,r,i)=>{var f=i(551).LGraphManager;function e(t){f.call(this,t)}e.prototype=Object.create(f.prototype);for(var g in f)e[g]=f[g];n.exports=e},765:(n,r,i)=>{var f=i(551).FDLayout,e=i(578),g=i(880),t=i(991),s=i(767),o=i(806),c=i(902),h=i(551).FDLayoutConstants,T=i(551).LayoutConstants,u=i(551).Point,d=i(551).PointD,L=i(551).DimensionD,b=i(551).Layout,w=i(551).Integer,P=i(551).IGeometry,V=i(551).LGraph,Y=i(551).Transform,B=i(551).LinkedList;function A(){f.call(this),this.toBeTiled={},this.constraints={}}A.prototype=Object.create(f.prototype);for(var j in f)A[j]=f[j];A.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},A.prototype.newGraph=function(a){return new g(null,this.graphManager,a)},A.prototype.newNode=function(a){return new t(this.graphManager,a)},A.prototype.newEdge=function(a){return new s(null,null,a)},A.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},A.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},A.prototype.layout=function(){var a=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},A.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(S){return E.has(S)});this.graphManager.setAllNodesToApplyGravitation(p)}}else{var a=this.getFlatForest();if(a.length>0)this.positionNodesRadially(a);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),p=this.nodesWithGravity.filter(function(m){return E.has(m)});this.graphManager.setAllNodesToApplyGravitation(p),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},A.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(y){return a.has(y)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},A.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),E={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=S)}}if(this.constraints.relativePlacementConstraint){var D=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){a.fixedNodesOnHorizontal.add(O),a.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var W=this.constraints.alignmentConstraint.vertical,p=0;p=2*O.length/3;tt--)H=Math.floor(Math.random()*(tt+1)),Z=O[tt],O[tt]=O[H],O[H]=Z;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;a.nodesInRelativeHorizontal.includes(H)||(a.nodesInRelativeHorizontal.push(H),a.nodeToRelativeConstraintMapHorizontal.set(H,[]),a.dummyToNodeForVerticalAlignment.has(H)?a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(H,a.idToNodeMap.get(H).getCenterX())),a.nodesInRelativeHorizontal.includes(Z)||(a.nodesInRelativeHorizontal.push(Z),a.nodeToRelativeConstraintMapHorizontal.set(Z,[]),a.dummyToNodeForVerticalAlignment.has(Z)?a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(Z).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(H).push({right:Z,gap:O.gap}),a.nodeToRelativeConstraintMapHorizontal.get(Z).push({left:H,gap:O.gap})}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;a.nodesInRelativeVertical.includes(tt)||(a.nodesInRelativeVertical.push(tt),a.nodeToRelativeConstraintMapVertical.set(tt,[]),a.dummyToNodeForHorizontalAlignment.has(tt)?a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(tt)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(tt,a.idToNodeMap.get(tt).getCenterY())),a.nodesInRelativeVertical.includes(ht)||(a.nodesInRelativeVertical.push(ht),a.nodeToRelativeConstraintMapVertical.set(ht,[]),a.dummyToNodeForHorizontalAlignment.has(ht)?a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ht)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ht,a.idToNodeMap.get(ht).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(tt).push({bottom:ht,gap:O.gap}),a.nodeToRelativeConstraintMapVertical.get(ht).push({top:tt,gap:O.gap})}});else{var Q=new Map,z=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var H=D.has(O.left)?D.get(O.left):O.left,Z=D.has(O.right)?D.get(O.right):O.right;Q.has(H)?Q.get(H).push(Z):Q.set(H,[Z]),Q.has(Z)?Q.get(Z).push(H):Q.set(Z,[H])}else{var tt=F.has(O.top)?F.get(O.top):O.top,ht=F.has(O.bottom)?F.get(O.bottom):O.bottom;z.has(tt)?z.get(tt).push(ht):z.set(tt,[ht]),z.has(ht)?z.get(ht).push(tt):z.set(ht,[tt])}});var X=function(H,Z){var tt=[],ht=[],J=new B,It=new Set,Nt=0;return H.forEach(function(vt,it){if(!It.has(it)){tt[Nt]=[],ht[Nt]=!1;var ut=it;for(J.push(ut),It.add(ut),tt[Nt].push(ut);J.length!=0;){ut=J.shift(),Z.has(ut)&&(ht[Nt]=!0);var Et=H.get(ut);Et.forEach(function(Ct){It.has(Ct)||(J.push(Ct),It.add(Ct),tt[Nt].push(Ct))})}Nt++}}),{components:tt,isFixed:ht}},rt=X(Q,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=rt.components,this.fixedComponentsOnHorizontal=rt.isFixed;var $=X(z,a.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},A.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var O=a.idToNodeMap.get($.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var E=this.constraints.alignmentConstraint.vertical,p=0;p1){var F;for(F=0;Fm&&(m=Math.floor(D.y)),S=Math.floor(D.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-D.x/2,T.WORLD_CENTER_Y-D.y/2))},A.radialLayout=function(a,E,p){var m=Math.max(this.maxDiagonalInTree(a),o.DEFAULT_RADIAL_SEPARATION);A.branchRadialLayout(E,null,0,359,0,m);var y=V.calculateBounds(a),S=new Y;S.setDeviceOrgX(y.getMinX()),S.setDeviceOrgY(y.getMinY()),S.setWorldOrgX(p.x),S.setWorldOrgY(p.y);for(var D=0;D1;){var Z=H[0];H.splice(0,1);var tt=z.indexOf(Z);tt>=0&&z.splice(tt,1),$--,X--}E!=null?O=(z.indexOf(H[0])+1)%$:O=0;for(var ht=Math.abs(m-p)/X,J=O;rt!=X;J=++J%$){var It=z[J].getOtherEnd(a);if(It!=E){var Nt=(p+rt*ht)%360,vt=(Nt+ht)%360;A.branchRadialLayout(It,a,Nt,vt,y+S,S),rt++}}},A.maxDiagonalInTree=function(a){for(var E=w.MIN_VALUE,p=0;pE&&(E=y)}return E},A.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},A.prototype.groupZeroDegreeMembers=function(){var a=this,E={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),y=0;y"u"&&(E[F]=[]),E[F]=E[F].concat(S)}Object.keys(E).forEach(function(W){if(E[W].length>1){var R="DummyCompound_"+W;a.memberGroups[R]=E[W];var Q=E[W][0].getParent(),z=new t(a.graphManager);z.id=R,z.paddingLeft=Q.paddingLeft||0,z.paddingRight=Q.paddingRight||0,z.paddingBottom=Q.paddingBottom||0,z.paddingTop=Q.paddingTop||0,a.idToDummyNode[R]=z;var X=a.getGraphManager().add(a.newGraph(),z),rt=Q.getChild();rt.add(z);for(var $=0;$y?(m.rect.x-=(m.labelWidth-y)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-y)/2):m.labelPosHorizontal=="right"&&m.setWidth(y+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(S+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>S?(m.rect.y-=(m.labelHeight-S)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-S)/2):m.labelPosVertical=="bottom"&&m.setHeight(S+m.labelHeight))}})},A.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var E=this.compoundOrder[a],p=E.id,m=E.paddingLeft,y=E.paddingTop,S=E.labelMarginLeft,D=E.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],E.rect.x,E.rect.y,m,y,S,D)}},A.prototype.repopulateZeroDegreeMembers=function(){var a=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(p){var m=a.idToDummyNode[p],y=m.paddingLeft,S=m.paddingTop,D=m.labelMarginLeft,F=m.labelMarginTop;a.adjustLocations(E[p],m.rect.x,m.rect.y,y,S,D,F)})},A.prototype.getToBeTiled=function(a){var E=a.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var p=a.getChild();if(p==null)return this.toBeTiled[E]=!1,!1;for(var m=p.getNodes(),y=0;y0)return this.toBeTiled[E]=!1,!1;if(S.getChild()==null){this.toBeTiled[S.id]=!1;continue}if(!this.getToBeTiled(S))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},A.prototype.getNodeDegree=function(a){a.id;for(var E=a.getEdges(),p=0,m=0;mQ&&(Q=X.rect.height)}p+=Q+a.verticalPadding}},A.prototype.tileCompoundMembers=function(a,E){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var y=E[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],y.paddingLeft+y.paddingRight),y.rect.width=p.tiledMemberPack[m].width,y.rect.height=p.tiledMemberPack[m].height,y.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),y.labelMarginLeft=0,y.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var S=y.rect.width,D=y.rect.height;y.labelWidth&&(y.labelPosHorizontal=="left"?(y.rect.x-=y.labelWidth,y.setWidth(S+y.labelWidth),y.labelMarginLeft=y.labelWidth):y.labelPosHorizontal=="center"&&y.labelWidth>S?(y.rect.x-=(y.labelWidth-S)/2,y.setWidth(y.labelWidth),y.labelMarginLeft=(y.labelWidth-S)/2):y.labelPosHorizontal=="right"&&y.setWidth(S+y.labelWidth)),y.labelHeight&&(y.labelPosVertical=="top"?(y.rect.y-=y.labelHeight,y.setHeight(D+y.labelHeight),y.labelMarginTop=y.labelHeight):y.labelPosVertical=="center"&&y.labelHeight>D?(y.rect.y-=(y.labelHeight-D)/2,y.setHeight(y.labelHeight),y.labelMarginTop=(y.labelHeight-D)/2):y.labelPosVertical=="bottom"&&y.setHeight(D+y.labelHeight))}})},A.prototype.tileNodes=function(a,E){var p=this.tileNodesByFavoringDim(a,E,!0),m=this.tileNodesByFavoringDim(a,E,!1),y=this.getOrgRatio(p),S=this.getOrgRatio(m),D;return SF&&(F=$.getWidth())});var W=S/y,R=D/y,Q=Math.pow(p-m,2)+4*(W+m)*(R+p)*y,z=(m-p+Math.sqrt(Q))/(2*(W+m)),X;E?(X=Math.ceil(z),X==z&&X++):X=Math.floor(z);var rt=X*(W+m)-m;return F>rt&&(rt=F),rt+=m*2,rt},A.prototype.tileNodesByFavoringDim=function(a,E,p){var m=o.TILING_PADDING_VERTICAL,y=o.TILING_PADDING_HORIZONTAL,S=o.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:m,horizontalPadding:y,centerX:0,centerY:0};S&&(D.idealRowWidth=this.calcIdealRowWidth(a,p));var F=function(O){return O.rect.width*O.rect.height},W=function(O,H){return F(H)-F(O)};a.sort(function($,O){var H=W;return D.idealRowWidth?(H=S,H($.id,O.id)):H($,O)});for(var R=0,Q=0,z=0;z0&&(D+=a.horizontalPadding),a.rowWidth[p]=D,a.width0&&(F+=a.verticalPadding);var W=0;F>a.rowHeight[p]&&(W=a.rowHeight[p],a.rowHeight[p]=F,W=a.rowHeight[p]-W),a.height+=W,a.rows[p].push(E)},A.prototype.getShortestRowIndex=function(a){for(var E=-1,p=Number.MAX_VALUE,m=0;mp&&(E=m,p=a.rowWidth[m]);return E},A.prototype.canAddHorizontal=function(a,E,p){if(a.idealRowWidth){var m=a.rows.length-1,y=a.rowWidth[m];return y+E+a.horizontalPadding<=a.idealRowWidth}var S=this.getShortestRowIndex(a);if(S<0)return!0;var D=a.rowWidth[S];if(D+a.horizontalPadding+E<=a.width)return!0;var F=0;a.rowHeight[S]0&&(F=p+a.verticalPadding-a.rowHeight[S]);var W;a.width-D>=E+a.horizontalPadding?W=(a.height+F)/(D+E+a.horizontalPadding):W=(a.height+F)/a.width,F=p+a.verticalPadding;var R;return a.widthS&&E!=p){m.splice(-1,1),a.rows[p].push(y),a.rowWidth[E]=a.rowWidth[E]-S,a.rowWidth[p]=a.rowWidth[p]+S,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var D=Number.MIN_VALUE,F=0;FD&&(D=m[F].height);E>0&&(D+=a.verticalPadding);var W=a.rowHeight[E]+a.rowHeight[p];a.rowHeight[E]=D,a.rowHeight[p]0)for(var rt=y;rt<=S;rt++)X[0]+=this.grid[rt][D-1].length+this.grid[rt][D].length-1;if(S0)for(var rt=D;rt<=F;rt++)X[3]+=this.grid[y-1][rt].length+this.grid[y][rt].length-1;for(var $=w.MAX_VALUE,O,H,Z=0;Z{var f=i(551).FDLayoutNode,e=i(551).IMath;function g(s,o,c,h){f.call(this,s,o,c,h)}g.prototype=Object.create(f.prototype);for(var t in f)g[t]=f[t];g.prototype.calculateDisplacement=function(){var s=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=s.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=s.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementX=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>s.coolingFactor*s.maxNodeDisplacement&&(this.displacementY=s.coolingFactor*s.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},g.prototype.propogateDisplacementToChildren=function(s,o){for(var c=this.getChild().getNodes(),h,T=0;T{function f(c){if(Array.isArray(c)){for(var h=0,T=Array(c.length);h0){var Lt=0;ot.forEach(function(st){k=="horizontal"?(et.set(st,u.has(st)?d[u.get(st)]:q.get(st)),Lt+=et.get(st)):(et.set(st,u.has(st)?L[u.get(st)]:q.get(st)),Lt+=et.get(st))}),Lt=Lt/ot.length,lt.forEach(function(st){K.has(st)||et.set(st,Lt)})}else{var ft=0;lt.forEach(function(st){k=="horizontal"?ft+=u.has(st)?d[u.get(st)]:q.get(st):ft+=u.has(st)?L[u.get(st)]:q.get(st)}),ft=ft/lt.length,lt.forEach(function(st){et.set(st,ft)})}});for(var Mt=function(){var ot=dt.shift(),Lt=U.get(ot);Lt.forEach(function(ft){if(et.get(ft.id)st&&(st=Zt),KtXt&&(Xt=Kt)}}catch(ee){wt=!0,$t=ee}finally{try{!Tt&&bt.return&&bt.return()}finally{if(wt)throw $t}}var he=(Lt+st)/2-(ft+Xt)/2,Qt=!0,jt=!1,_t=void 0;try{for(var Jt=lt[Symbol.iterator](),oe;!(Qt=(oe=Jt.next()).done);Qt=!0){var te=oe.value;et.set(te,et.get(te)+he)}}catch(ee){jt=!0,_t=ee}finally{try{!Qt&&Jt.return&&Jt.return()}finally{if(jt)throw _t}}})}return et},j=function(U){var k=0,K=0,q=0,at=0;if(U.forEach(function(_){_.left?d[u.get(_.left)]-d[u.get(_.right)]>=0?k++:K++:L[u.get(_.top)]-L[u.get(_.bottom)]>=0?q++:at++}),k>K&&q>at)for(var gt=0;gtK)for(var nt=0;ntat)for(var et=0;et1)h.fixedNodeConstraint.forEach(function(G,U){m[U]=[G.position.x,G.position.y],y[U]=[d[u.get(G.nodeId)],L[u.get(G.nodeId)]]}),S=!0;else if(h.alignmentConstraint)(function(){var G=0;if(h.alignmentConstraint.vertical){for(var U=h.alignmentConstraint.vertical,k=function(et){var _=new Set;U[et].forEach(function(pt){_.add(pt)});var dt=new Set([].concat(f(_)).filter(function(pt){return F.has(pt)})),Mt=void 0;dt.size>0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).x,U[et].forEach(function(pt){m[G]=[Mt,L[u.get(pt)]],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},K=0;K0?Mt=d[u.get(dt.values().next().value)]:Mt=B(_).y,q[et].forEach(function(pt){m[G]=[d[u.get(pt)],Mt],y[G]=[d[u.get(pt)],L[u.get(pt)]],G++})},gt=0;gtz&&(z=Q[rt].length,X=rt);if(z0){var mt={x:0,y:0};h.fixedNodeConstraint.forEach(function(G,U){var k={x:d[u.get(G.nodeId)],y:L[u.get(G.nodeId)]},K=G.position,q=Y(K,k);mt.x+=q.x,mt.y+=q.y}),mt.x/=h.fixedNodeConstraint.length,mt.y/=h.fixedNodeConstraint.length,d.forEach(function(G,U){d[U]+=mt.x}),L.forEach(function(G,U){L[U]+=mt.y}),h.fixedNodeConstraint.forEach(function(G){d[u.get(G.nodeId)]=G.position.x,L[u.get(G.nodeId)]=G.position.y})}if(h.alignmentConstraint){if(h.alignmentConstraint.vertical)for(var Ot=h.alignmentConstraint.vertical,Rt=function(U){var k=new Set;Ot[U].forEach(function(at){k.add(at)});var K=new Set([].concat(f(k)).filter(function(at){return F.has(at)})),q=void 0;K.size>0?q=d[u.get(K.values().next().value)]:q=B(k).x,k.forEach(function(at){F.has(at)||(d[u.get(at)]=q)})},Ht=0;Ht0?q=L[u.get(K.values().next().value)]:q=B(k).y,k.forEach(function(at){F.has(at)||(L[u.get(at)]=q)})},Ft=0;Ft{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(45);return l})()})}(ue)),ue.exports}(function(I,M){(function(x,N){I.exports=N(vr())})(Te,function(C){return(()=>{var x={658:n=>{n.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var i=arguments.length,f=Array(i>1?i-1:0),e=1;e{var f=function(){function t(s,o){var c=[],h=!0,T=!1,u=void 0;try{for(var d=s[Symbol.iterator](),L;!(h=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));h=!0);}catch(b){T=!0,u=b}finally{try{!h&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(s,o){if(Array.isArray(s))return s;if(Symbol.iterator in Object(s))return t(s,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e=i(140).layoutBase.LinkedList,g={};g.getTopMostNodes=function(t){for(var s={},o=0;o0&&S.merge(R)});for(var D=0;D1){L=u[0],b=L.connectedEdges().length,u.forEach(function(y){y.connectedEdges().length0&&c.set("dummy"+(c.size+1),V),Y},g.relocateComponent=function(t,s,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,b=void 0;try{for(var w=s.nodeIndexes[Symbol.iterator](),P;!(d=(P=w.next()).done);d=!0){var V=P.value,Y=f(V,2),B=Y[0],A=Y[1],j=o.cy.getElementById(B);if(j){var a=j.boundingBox(),E=s.xCoords[A]-a.w/2,p=s.xCoords[A]+a.w/2,m=s.yCoords[A]-a.h/2,y=s.yCoords[A]+a.h/2;Eh&&(h=p),mu&&(u=y)}}}catch(R){L=!0,b=R}finally{try{!d&&w.return&&w.return()}finally{if(L)throw b}}var S=t.x-(h+c)/2,D=t.y-(u+T)/2;s.xCoords=s.xCoords.map(function(R){return R+S}),s.yCoords=s.yCoords.map(function(R){return R+D})}else{Object.keys(s).forEach(function(R){var Q=s[R],z=Q.getRect().x,X=Q.getRect().x+Q.getRect().width,rt=Q.getRect().y,$=Q.getRect().y+Q.getRect().height;zh&&(h=X),rtu&&(u=$)});var F=t.x-(h+c)/2,W=t.y-(u+T)/2;Object.keys(s).forEach(function(R){var Q=s[R];Q.setCenter(Q.getCenterX()+F,Q.getCenterY()+W)})}}},g.calcBoundingBox=function(t,s,o,c){for(var h=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,b=void 0,w=void 0,P=void 0,V=t.descendants().not(":parent"),Y=V.length,B=0;BL&&(h=L),Tw&&(u=w),d{var f=i(548),e=i(140).CoSELayout,g=i(140).CoSENode,t=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,o=i(140).layoutBase.LayoutConstants,c=i(140).layoutBase.FDLayoutConstants,h=i(140).CoSEConstants,T=function(d,L){var b=d.cy,w=d.eles,P=w.nodes(),V=w.edges(),Y=void 0,B=void 0,A=void 0,j={};d.randomize&&(Y=L.nodeIndexes,B=L.xCoords,A=L.yCoords);var a=function(R){return typeof R=="function"},E=function(R,Q){return a(R)?R(Q):R},p=f.calcParentsWithoutChildren(b,w),m=function W(R,Q,z,X){for(var rt=Q.length,$=0;$0){var J=void 0;J=z.getGraphManager().add(z.newGraph(),Z),W(J,H,z,X)}}},y=function(R,Q,z){for(var X=0,rt=0,$=0;$0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=X/rt:a(d.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},S=function(R,Q){Q.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=Q.fixedNodeConstraint),Q.alignmentConstraint&&(R.constraints.alignmentConstraint=Q.alignmentConstraint),Q.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=Q.relativePlacementConstraint)};d.nestingFactor!=null&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(h.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,h.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,h.TILE=d.tile,h.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),d.step=="enforced"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),d.step=="cose"&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new e,F=D.newGraphManager();return m(F.addRoot(),f.getTopMostNodes(P),D,d),y(D,F,V),S(D,d),D.runLayout(),j};n.exports={coseLayout:T}},212:(n,r,i)=>{var f=function(){function d(L,b){for(var w=0;w0)if(p){var S=t.getTopMostNodes(w.eles.nodes());if(A=t.connectComponents(P,w.eles,S),A.forEach(function(vt){var it=vt.boundingBox();j.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),w.randomize&&A.forEach(function(vt){w.eles=vt,Y.push(o(w))}),w.quality=="default"||w.quality=="proof"){var D=P.collection();if(w.tile){var F=new Map,W=[],R=[],Q=0,z={nodeIndexes:F,xCoords:W,yCoords:R},X=[];if(A.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Et){D.merge(vt.nodes()[Et]),ut.isParent()||(z.nodeIndexes.set(vt.nodes()[Et].id(),Q++),z.xCoords.push(vt.nodes()[0].position().x),z.yCoords.push(vt.nodes()[0].position().y))}),X.push(it))}),D.length>1){var rt=D.boundingBox();j.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2}),A.push(D),Y.push(z);for(var $=X.length-1;$>=0;$--)A.splice(X[$],1),Y.splice(X[$],1),j.splice(X[$],1)}}A.forEach(function(vt,it){w.eles=vt,B.push(h(w,Y[it])),t.relocateComponent(j[it],B[it],w)})}else A.forEach(function(vt,it){t.relocateComponent(j[it],Y[it],w)});var O=new Set;if(A.length>1){var H=[],Z=V.filter(function(vt){return vt.css("display")=="none"});A.forEach(function(vt,it){var ut=void 0;if(w.quality=="draft"&&(ut=Y[it].nodeIndexes),vt.nodes().not(Z).length>0){var Et={};Et.edges=[],Et.nodes=[];var Ct=void 0;vt.nodes().not(Z).forEach(function(Dt){if(w.quality=="draft")if(!Dt.isParent())Ct=ut.get(Dt.id()),Et.nodes.push({x:Y[it].xCoords[Ct]-Dt.boundingbox().w/2,y:Y[it].yCoords[Ct]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,Y[it].xCoords,Y[it].yCoords,ut);Et.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else B[it][Dt.id()]&&Et.nodes.push({x:B[it][Dt.id()].getLeft(),y:B[it][Dt.id()].getTop(),width:B[it][Dt.id()].getWidth(),height:B[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),Ot=Dt.target();if(mt.css("display")!="none"&&Ot.css("display")!="none")if(w.quality=="draft"){var Rt=ut.get(mt.id()),Ht=ut.get(Ot.id()),Ut=[],Gt=[];if(mt.isParent()){var Ft=t.calcBoundingBox(mt,Y[it].xCoords,Y[it].yCoords,ut);Ut.push(Ft.topLeftX+Ft.width/2),Ut.push(Ft.topLeftY+Ft.height/2)}else Ut.push(Y[it].xCoords[Rt]),Ut.push(Y[it].yCoords[Rt]);if(Ot.isParent()){var Yt=t.calcBoundingBox(Ot,Y[it].xCoords,Y[it].yCoords,ut);Gt.push(Yt.topLeftX+Yt.width/2),Gt.push(Yt.topLeftY+Yt.height/2)}else Gt.push(Y[it].xCoords[Ht]),Gt.push(Y[it].yCoords[Ht]);Et.edges.push({startX:Ut[0],startY:Ut[1],endX:Gt[0],endY:Gt[1]})}else B[it][mt.id()]&&B[it][Ot.id()]&&Et.edges.push({startX:B[it][mt.id()].getCenterX(),startY:B[it][mt.id()].getCenterY(),endX:B[it][Ot.id()].getCenterX(),endY:B[it][Ot.id()].getCenterY()})}),Et.nodes.length>0&&(H.push(Et),O.add(it))}});var tt=E.packComponents(H,w.randomize).shifts;if(w.quality=="draft")Y.forEach(function(vt,it){var ut=vt.xCoords.map(function(Ct){return Ct+tt[it].dx}),Et=vt.yCoords.map(function(Ct){return Ct+tt[it].dy});vt.xCoords=ut,vt.yCoords=Et});else{var ht=0;O.forEach(function(vt){Object.keys(B[vt]).forEach(function(it){var ut=B[vt][it];ut.setCenter(ut.getCenterX()+tt[ht].dx,ut.getCenterY()+tt[ht].dy)}),ht++})}}}else{var m=w.eles.boundingBox();if(j.push({x:m.x1+m.w/2,y:m.y1+m.h/2}),w.randomize){var y=o(w);Y.push(y)}w.quality=="default"||w.quality=="proof"?(B.push(h(w,Y[0])),t.relocateComponent(j[0],B[0],w)):t.relocateComponent(j[0],Y[0],w)}var J=function(it,ut){if(w.quality=="default"||w.quality=="proof"){typeof it=="number"&&(it=ut);var Et=void 0,Ct=void 0,Dt=it.data("id");return B.forEach(function(Ot){Dt in Ot&&(Et={x:Ot[Dt].getRect().getCenterX(),y:Ot[Dt].getRect().getCenterY()},Ct=Ot[Dt])}),w.nodeDimensionsIncludeLabels&&(Ct.labelWidth&&(Ct.labelPosHorizontal=="left"?Et.x+=Ct.labelWidth/2:Ct.labelPosHorizontal=="right"&&(Et.x-=Ct.labelWidth/2)),Ct.labelHeight&&(Ct.labelPosVertical=="top"?Et.y+=Ct.labelHeight/2:Ct.labelPosVertical=="bottom"&&(Et.y-=Ct.labelHeight/2))),Et==null&&(Et={x:it.position("x"),y:it.position("y")}),{x:Et.x,y:Et.y}}else{var mt=void 0;return Y.forEach(function(Ot){var Rt=Ot.nodeIndexes.get(it.id());Rt!=null&&(mt={x:Ot.xCoords[Rt],y:Ot.yCoords[Rt]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(w.quality=="default"||w.quality=="proof"||w.randomize){var It=t.calcParentsWithoutChildren(P,V),Nt=V.filter(function(vt){return vt.css("display")=="none"});w.eles=V.not(Nt),V.nodes().not(":parent").not(Nt).layoutPositions(b,w,J),It.length>0&&It.forEach(function(vt){vt.position(J(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();n.exports=u},657:(n,r,i)=>{var f=i(548),e=i(140).layoutBase.Matrix,g=i(140).layoutBase.SVD,t=function(o){var c=o.cy,h=o.eles,T=h.nodes(),u=h.nodes(":parent"),d=new Map,L=new Map,b=new Map,w=[],P=[],V=[],Y=[],B=[],A=[],j=[],a=[],E=void 0,p=1e8,m=1e-9,y=o.piTol,S=o.samplingType,D=o.nodeSeparation,F=void 0,W=function(){for(var U=0,k=0,K=!1;k=at;){nt=q[at++];for(var xt=w[nt],lt=0;ltdt&&(dt=B[Lt],Mt=Lt)}return Mt},Q=function(U){var k=void 0;if(U){k=Math.floor(Math.random()*E);for(var q=0;q=1)break;_=et}for(var pt=0;pt=1)break;_=et}for(var lt=0;lt0&&(k.isParent()?w[U].push(b.get(k.id())):w[U].push(k.id()))})});var Nt=function(U){var k=L.get(U),K=void 0;d.get(U).forEach(function(q){c.getElementById(q).isParent()?K=b.get(q):K=q,w[k].push(K),w[L.get(K)].push(U)})},vt=!0,it=!1,ut=void 0;try{for(var Et=d.keys()[Symbol.iterator](),Ct;!(vt=(Ct=Et.next()).done);vt=!0){var Dt=Ct.value;Nt(Dt)}}catch(G){it=!0,ut=G}finally{try{!vt&&Et.return&&Et.return()}finally{if(it)throw ut}}E=L.size;var mt=void 0;if(E>2){F=E{var f=i(212),e=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&e(cytoscape),n.exports=e},140:n=>{n.exports=C}},N={};function v(n){var r=N[n];if(r!==void 0)return r.exports;var i=N[n]={exports:{}};return x[n](i,i.exports,v),i.exports}var l=v(579);return l})()})})(be);var pr=be.exports;const yr=gr(pr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:ct(I=>`${I},${I/2} 0,${I} 0,0`,"L"),R:ct(I=>`0,${I/2} ${I},0 ${I},${I}`,"R"),T:ct(I=>`0,0 ${I},0 ${I/2},${I}`,"T"),B:ct(I=>`${I/2},0 ${I},${I} 0,${I}`,"B")},se={L:ct((I,M)=>I-M+2,"L"),R:ct((I,M)=>I-2,"R"),T:ct((I,M)=>I-M+2,"T"),B:ct((I,M)=>I-2,"B")},mr=ct(function(I){return Wt(I)?I==="L"?"R":"L":I==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=ct(function(I){const M=I;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Wt=ct(function(I){const M=I;return M==="L"||M==="R"},"isArchitectureDirectionX"),qt=ct(function(I){const M=I;return M==="T"||M==="B"},"isArchitectureDirectionY"),Ne=ct(function(I,M){const C=Wt(I)&&qt(M),x=qt(I)&&Wt(M);return C||x},"isArchitectureDirectionXY"),Er=ct(function(I){const M=I[0],C=I[1],x=Wt(M)&&qt(C),N=qt(M)&&Wt(C);return x||N},"isArchitecturePairXY"),Tr=ct(function(I){return I!=="LL"&&I!=="RR"&&I!=="TT"&&I!=="BB"},"isValidArchitectureDirectionPair"),pe=ct(function(I,M){const C=`${I}${M}`;return Tr(C)?C:void 0},"getArchitectureDirectionPair"),Nr=ct(function([I,M],C){const x=C[0],N=C[1];return Wt(x)?qt(N)?[I+(x==="L"?-1:1),M+(N==="T"?1:-1)]:[I+(x==="L"?-1:1),M]:Wt(N)?[I+(N==="L"?1:-1),M+(x==="T"?1:-1)]:[I,M+(x==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Lr=ct(function(I){return I==="LT"||I==="TL"?[1,1]:I==="BL"||I==="LB"?[1,-1]:I==="BR"||I==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),wr=ct(function(I,M){return Ne(I,M)?"bend":Wt(I)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),Cr=ct(function(I){return I.type==="service"},"isArchitectureService"),Mr=ct(function(I){return I.type==="junction"},"isArchitectureJunction"),Ge=ct((I,M)=>{const[C,x]=[I,M].sort();return`${JSON.stringify(C)}-${JSON.stringify(x)}`},"architectureGroupAlignmentKey"),Pe=ct(I=>I.data(),"edgeData"),ie=ct(I=>I.data(),"nodeData"),Ar=or.architecture,ae,Ue=(ae=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ke,this.getAccTitle=je,this.setDiagramTitle=_e,this.getDiagramTitle=tr,this.getAccDescription=er,this.setAccDescription=rr,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",ir()}addService({id:M,icon:C,in:x,title:N,iconText:v}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(x)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:C,iconText:v,title:N,edges:[],in:x})}getServices(){return[...this.nodes.values()].filter(Cr)}addJunction({id:M,in:C}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(C!==void 0){if(M===C)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(C))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(C)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:C})}getJunctions(){return[...this.nodes.values()].filter(Mr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:C,in:x,title:N}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(x!==void 0){if(M===x)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(x))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(x)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:C,title:N,in:x})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:C,lhsDir:x,rhsDir:N,lhsInto:v,rhsInto:l,lhsGroup:n,rhsGroup:r,title:i}){if(!Re(x))throw new Error(`Invalid direction given for left hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(x)}`);if(!Re(N))throw new Error(`Invalid direction given for right hand side of edge ${M}--${C}. Expected (L,R,T,B) got ${String(N)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(C)&&!this.groups.has(C))throw new Error(`The right-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);const f=this.nodes.get(M).in,e=this.nodes.get(C).in;if(n&&f&&e&&f==e)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&f&&e&&f==e)throw new Error(`The right-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const g={lhsId:M,lhsDir:x,lhsInto:v,lhsGroup:n,rhsId:C,rhsDir:N,rhsInto:l,rhsGroup:r,title:i};this.edges.push(g);const t=this.nodes.get(M),s=this.nodes.get(C);t&&s&&(t.edges.push(this.edges[this.edges.length-1]),s.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);const C=new Set;M.members.forEach(x=>{if(this.registeredIds.get(x)!=="node")throw new Error(`align ${M.direction} references [${x}], which is not a service or junction`);if(C.has(x))throw new Error(`align ${M.direction} lists [${x}] more than once`);C.add(x)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){var M,C;if(this.dataStructures===void 0){const x=new Map,N=new Map;for(const[i,f]of this.nodes.entries()){const e=new Map;for(const g of f.edges){const t=(M=this.getNode(g.lhsId))==null?void 0:M.in,s=(C=this.getNode(g.rhsId))==null?void 0:C.in;if(t&&s&&t!==s){const o=wr(g.lhsDir,g.rhsDir);o!=="bend"&&x.set(Ge(t,s),o)}if(g.lhsId===i){const o=pe(g.lhsDir,g.rhsDir);o&&e.set(o,g.rhsId)}else{const o=pe(g.rhsDir,g.lhsDir);o&&e.set(o,g.lhsId)}}N.set(i,e)}const v=new Set,l=new Set(N.keys()),n=ct(i=>{const f=new Map([[i,[0,0]]]),e=[i];for(;e.length>0;){const g=e.shift();if(g){v.add(g),l.delete(g);const t=N.get(g);if(!t)throw new Error(`BFS error: adjacency list for id ${g} not found. Please report this as a bug.`);const s=f.get(g);if(!s)throw new Error(`BFS error: position for id ${g} not found in spatial map. Please report this as a bug.`);const[o,c]=s;t.forEach((h,T)=>{v.has(h)||(f.set(h,Nr([o,c],T)),e.push(h))})}}return f},"BFS"),r=[];for(;l.size>0;){const i=l.values().next().value;r.push(n(i))}this.dataStructures={adjList:N,spatialMaps:r,groupAlignments:x}}return this.dataStructures}setElementForId(M,C){this.elements.set(M,C)}getElementById(M){return this.elements.get(M)}getConfig(){return ar({...Ar,...nr().architecture})}getConfigField(M){return this.getConfig()[M]}},ct(ae,"ArchitectureDB"),ae),Dr=ct((I,M)=>{var C;qe(I,M),I.groups.map(x=>M.addGroup(x)),I.services.map(x=>M.addService({...x,type:"service"})),I.junctions.map(x=>M.addJunction({...x,type:"junction"})),I.edges.map(x=>M.addEdge(x)),(C=I.alignments)==null||C.map(x=>M.addLayoutHint({direction:x.direction,members:[...x.members]}))},"populateDb"),Ye={parser:{yy:void 0},parse:ct(async I=>{var x;const M=await cr("architecture",I);Se.debug(M);const C=(x=Ye.parser)==null?void 0:x.yy;if(!(C instanceof Ue))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Dr(M,C)},"parse")},Or=ct(I=>` .edge { stroke-width: ${I.archEdgeWidth}; stroke: ${I.archEdgeColor}; diff --git a/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-BwNY7lEB.js b/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-gakGyyJ-.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-BwNY7lEB.js rename to veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-gakGyyJ-.js index f23530a29..d3467657e 100644 --- a/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-BwNY7lEB.js +++ b/veadk/webui/assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-gakGyyJ-.js @@ -1,4 +1,4 @@ -import{g as de}from"./chunk-5VM5RSS4-CT700Zc5.js";import{am as fe,a7 as Ut,an as pe,b5 as ye,b4 as xe,b7 as be,b6 as we,b1 as me,a$ as Se,aW as Le,aJ as ve,aB as Ee,aA as _e,au as ke,ai as Te,ah as De,aj as Ne,S as Ie,R as Be,K as Ce,m as Oe,I as Re,g as Ae,h as ze,e as Me,a as u,X as nt,B as Pe,at as v,s as Fe,aN as We,Y as M,a3 as Ye,aq as He,G as Ke,a9 as Ue,a1 as Y,F as Et,z as rt,a6 as Xe,ba as at,x as Ve,a5 as je,aO as Ot,M as Rt,A as Ge}from"./mermaid.core-OQ-NoIeH.js";import{ad as O}from"../../app/index-Bj9lylJf.js";import{G as Ze}from"../../chunks/graph-Dqkl27Ch.js";import{c as qe}from"../../chunks/channel-BQo1oGxG.js";function Je(e){return Array.isArray(e)}function Qe(e){if(fe(e))return e;const t=Ut(e);if(!$e(e))return{};if(Je(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(pe(e)){const s=e,i=s.constructor;return new i(s.buffer,s.byteOffset,s.length)}if(t==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(t==="[object DataView]"){const s=e,i=s.buffer,c=s.byteOffset,r=s.byteLength,n=new ArrayBuffer(r),l=new Uint8Array(i,c,r);return new Uint8Array(n).set(l),new DataView(n)}if(t==="[object Boolean]"||t==="[object Number]"||t==="[object String]"){const s=e.constructor,i=new s(e.valueOf());return t==="[object String]"?er(i,e):xt(i,e),i}if(t==="[object Date]")return new Date(Number(e));if(t==="[object RegExp]"){const s=e,i=new RegExp(s.source,s.flags);return i.lastIndex=s.lastIndex,i}if(t==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(t==="[object Map]"){const s=e,i=new Map;return s.forEach((c,r)=>{i.set(r,c)}),i}if(t==="[object Set]"){const s=e,i=new Set;return s.forEach(c=>{i.add(c)}),i}if(t==="[object Arguments]"){const s=e,i={};return xt(i,s),i.length=s.length,i[Symbol.iterator]=s[Symbol.iterator],i}const a={};return rr(a,e),xt(a,e),tr(a,e),a}function $e(e){switch(Ut(e)){case Me:case ze:case Ae:case Re:case Oe:case Ce:case Be:case Ie:case Ne:case De:case Te:case ke:case _e:case Ee:case ve:case Le:case Se:case me:case we:case be:case xe:case ye:return!0;default:return!1}}function xt(e,t){for(const a in t)Object.hasOwn(t,a)&&(e[a]=t[a])}function tr(e,t){const a=Object.getOwnPropertySymbols(t);for(let s=0;s=a)&&(e[s]=t[s])}function rr(e,t){const a=Object.getPrototypeOf(t);a!==null&&typeof t.constructor=="function"&&Object.setPrototypeOf(e,a)}var wt=function(){var e=u(function(N,b,d,y){for(d=d||{},y=N.length;y--;d[N[y]]=b);return d},"o"),t=[1,15],a=[1,7],s=[1,13],i=[1,14],c=[1,19],r=[1,16],n=[1,17],l=[1,18],g=[8,30],h=[8,10,21,28,29,30,31,39,43,46],p=[1,23],m=[1,24],x=[8,10,15,16,21,28,29,30,31,39,43,46],S=[8,10,15,16,21,27,28,29,30,31,39,43,46],_=[1,49],L={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:u(function(b,d,y,w,D,o,k){var f=o.length-1;switch(D){case 4:w.getLogger().debug("Rule: separator (NL) ");break;case 5:w.getLogger().debug("Rule: separator (Space) ");break;case 6:w.getLogger().debug("Rule: separator (EOF) ");break;case 7:w.getLogger().debug("Rule: hierarchy: ",o[f-1]),w.setHierarchy(o[f-1]);break;case 8:w.getLogger().debug("Stop NL ");break;case 9:w.getLogger().debug("Stop EOF ");break;case 10:w.getLogger().debug("Stop NL2 ");break;case 11:w.getLogger().debug("Stop EOF2 ");break;case 12:w.getLogger().debug("Rule: statement: ",o[f]),typeof o[f].length=="number"?this.$=o[f]:this.$=[o[f]];break;case 13:w.getLogger().debug("Rule: statement #2: ",o[f-1]),this.$=[o[f-1]].concat(o[f]);break;case 14:w.getLogger().debug("Rule: link: ",o[f],b),this.$={edgeTypeStr:o[f],label:""};break;case 15:w.getLogger().debug("Rule: LABEL link: ",o[f-3],o[f-1],o[f]),this.$={edgeTypeStr:o[f],label:o[f-1]};break;case 18:const E=parseInt(o[f]),T=w.generateId();this.$={id:T,type:"space",label:"",width:E,children:[]};break;case 23:w.getLogger().debug("Rule: (nodeStatement link node) ",o[f-2],o[f-1],o[f]," typestr: ",o[f-1].edgeTypeStr);const z=w.edgeStrToEdgeData(o[f-1].edgeTypeStr),F=w.edgeStrToEdgeStartData(o[f-1].edgeTypeStr),q=w.edgeStrToThickness(o[f-1].edgeTypeStr),I=w.edgeStrToPattern(o[f-1].edgeTypeStr);this.$=[{id:o[f-2].id,label:o[f-2].label,type:o[f-2].type,directions:o[f-2].directions},{id:o[f-2].id+"-"+o[f].id,start:o[f-2].id,end:o[f].id,label:o[f-1].label,type:"edge",thickness:q,pattern:I,directions:o[f].directions,arrowTypeEnd:z,arrowTypeStart:F},{id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions}];break;case 24:w.getLogger().debug("Rule: nodeStatement (abc88 node size) ",o[f-1],o[f]),this.$={id:o[f-1].id,label:o[f-1].label,type:w.typeStr2Type(o[f-1].typeStr),directions:o[f-1].directions,widthInColumns:parseInt(o[f],10)};break;case 25:w.getLogger().debug("Rule: nodeStatement (node) ",o[f]),this.$={id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions,widthInColumns:1};break;case 26:w.getLogger().debug("APA123",this?this:"na"),w.getLogger().debug("COLUMNS: ",o[f]),this.$={type:"column-setting",columns:o[f]==="auto"?-1:parseInt(o[f])};break;case 27:w.getLogger().debug("Rule: id-block statement : ",o[f-2],o[f-1]),w.generateId(),this.$={...o[f-2],type:"composite",children:o[f-1]};break;case 28:w.getLogger().debug("Rule: blockStatement : ",o[f-2],o[f-1],o[f]);const K=w.generateId();this.$={id:K,type:"composite",label:"",children:o[f-1]};break;case 29:w.getLogger().debug("Rule: node (NODE_ID separator): ",o[f]),this.$={id:o[f]};break;case 30:w.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",o[f-1],o[f]),this.$={id:o[f-1],label:o[f].label,typeStr:o[f].typeStr,directions:o[f].directions};break;case 31:w.getLogger().debug("Rule: dirList: ",o[f]),this.$=[o[f]];break;case 32:w.getLogger().debug("Rule: dirList: ",o[f-1],o[f]),this.$=[o[f-1]].concat(o[f]);break;case 33:w.getLogger().debug("Rule: nodeShapeNLabel: ",o[f-2],o[f-1],o[f]),this.$={typeStr:o[f-2]+o[f],label:o[f-1]};break;case 34:w.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",o[f-3],o[f-2]," #3:",o[f-1],o[f]),this.$={typeStr:o[f-3]+o[f],label:o[f-2],directions:o[f-1]};break;case 35:case 36:this.$={type:"classDef",id:o[f-1].trim(),css:o[f].trim()};break;case 37:this.$={type:"applyClass",id:o[f-1].trim(),styleClass:o[f].trim()};break;case 38:this.$={type:"applyStyles",id:o[f-1].trim(),stylesStr:o[f].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{8:[1,20]},e(g,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:a,28:s,29:i,31:c,39:r,43:n,46:l}),e(h,[2,16],{14:22,15:p,16:m}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(x,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:c},{10:t,11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(S,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(g,[2,13]),{26:35,31:c},{31:[2,14]},{17:[1,36]},e(x,[2,24]),{10:t,11:37,13:4,14:22,15:p,16:m,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(S,[2,30]),{18:[1,43]},{18:[1,44]},e(x,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:_},{15:[1,50]},e(h,[2,27]),e(S,[2,33]),{38:[1,51]},{33:52,34:_,38:[2,31]},{31:[2,15]},e(S,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:u(function(b,d){if(d.recoverable)this.trace(b);else{var y=new Error(b);throw y.hash=d,y}},"parseError"),parse:u(function(b){var d=this,y=[0],w=[],D=[null],o=[],k=this.table,f="",E=0,T=0,z=2,F=1,q=o.slice.call(arguments,1),I=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);I.setInput(b,K.yy),K.yy.lexer=I,K.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var et=I.yylloc;o.push(et);var ft=I.options&&I.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(U){y.length=y.length-2*U,D.length=D.length-U,o.length=o.length-U}u(ue,"popStack");function Bt(){var U;return U=w.pop()||I.lex()||F,typeof U!="number"&&(U instanceof Array&&(w=U,U=w.pop()),U=d.symbols_[U]||U),U}u(Bt,"lex");for(var H,$,V,pt,tt={},ct,Q,Ct,lt;;){if($=y[y.length-1],this.defaultActions[$]?V=this.defaultActions[$]:((H===null||typeof H>"u")&&(H=Bt()),V=k[$]&&k[$][H]),typeof V>"u"||!V.length||!V[0]){var yt="";lt=[];for(ct in k[$])this.terminals_[ct]&&ct>z&<.push("'"+this.terminals_[ct]+"'");I.showPosition?yt="Parse error on line "+(E+1)+`: +import{g as de}from"./chunk-5VM5RSS4-DW5_javj.js";import{am as fe,a7 as Ut,an as pe,b5 as ye,b4 as xe,b7 as be,b6 as we,b1 as me,a$ as Se,aW as Le,aJ as ve,aB as Ee,aA as _e,au as ke,ai as Te,ah as De,aj as Ne,S as Ie,R as Be,K as Ce,m as Oe,I as Re,g as Ae,h as ze,e as Me,a as u,X as nt,B as Pe,at as v,s as Fe,aN as We,Y as M,a3 as Ye,aq as He,G as Ke,a9 as Ue,a1 as Y,F as Et,z as rt,a6 as Xe,ba as at,x as Ve,a5 as je,aO as Ot,M as Rt,A as Ge}from"./mermaid.core-DAX2QfGO.js";import{ad as O}from"../../app/index-sh8QRNzm.js";import{G as Ze}from"../../chunks/graph-Dqkl27Ch.js";import{c as qe}from"../../chunks/channel-Cip7x_1m.js";function Je(e){return Array.isArray(e)}function Qe(e){if(fe(e))return e;const t=Ut(e);if(!$e(e))return{};if(Je(e)){const s=Array.from(e);return e.length>0&&typeof e[0]=="string"&&Object.hasOwn(e,"index")&&(s.index=e.index,s.input=e.input),s}if(pe(e)){const s=e,i=s.constructor;return new i(s.buffer,s.byteOffset,s.length)}if(t==="[object ArrayBuffer]")return new ArrayBuffer(e.byteLength);if(t==="[object DataView]"){const s=e,i=s.buffer,c=s.byteOffset,r=s.byteLength,n=new ArrayBuffer(r),l=new Uint8Array(i,c,r);return new Uint8Array(n).set(l),new DataView(n)}if(t==="[object Boolean]"||t==="[object Number]"||t==="[object String]"){const s=e.constructor,i=new s(e.valueOf());return t==="[object String]"?er(i,e):xt(i,e),i}if(t==="[object Date]")return new Date(Number(e));if(t==="[object RegExp]"){const s=e,i=new RegExp(s.source,s.flags);return i.lastIndex=s.lastIndex,i}if(t==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(e));if(t==="[object Map]"){const s=e,i=new Map;return s.forEach((c,r)=>{i.set(r,c)}),i}if(t==="[object Set]"){const s=e,i=new Set;return s.forEach(c=>{i.add(c)}),i}if(t==="[object Arguments]"){const s=e,i={};return xt(i,s),i.length=s.length,i[Symbol.iterator]=s[Symbol.iterator],i}const a={};return rr(a,e),xt(a,e),tr(a,e),a}function $e(e){switch(Ut(e)){case Me:case ze:case Ae:case Re:case Oe:case Ce:case Be:case Ie:case Ne:case De:case Te:case ke:case _e:case Ee:case ve:case Le:case Se:case me:case we:case be:case xe:case ye:return!0;default:return!1}}function xt(e,t){for(const a in t)Object.hasOwn(t,a)&&(e[a]=t[a])}function tr(e,t){const a=Object.getOwnPropertySymbols(t);for(let s=0;s=a)&&(e[s]=t[s])}function rr(e,t){const a=Object.getPrototypeOf(t);a!==null&&typeof t.constructor=="function"&&Object.setPrototypeOf(e,a)}var wt=function(){var e=u(function(N,b,d,y){for(d=d||{},y=N.length;y--;d[N[y]]=b);return d},"o"),t=[1,15],a=[1,7],s=[1,13],i=[1,14],c=[1,19],r=[1,16],n=[1,17],l=[1,18],g=[8,30],h=[8,10,21,28,29,30,31,39,43,46],p=[1,23],m=[1,24],x=[8,10,15,16,21,28,29,30,31,39,43,46],S=[8,10,15,16,21,27,28,29,30,31,39,43,46],_=[1,49],L={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:u(function(b,d,y,w,D,o,k){var f=o.length-1;switch(D){case 4:w.getLogger().debug("Rule: separator (NL) ");break;case 5:w.getLogger().debug("Rule: separator (Space) ");break;case 6:w.getLogger().debug("Rule: separator (EOF) ");break;case 7:w.getLogger().debug("Rule: hierarchy: ",o[f-1]),w.setHierarchy(o[f-1]);break;case 8:w.getLogger().debug("Stop NL ");break;case 9:w.getLogger().debug("Stop EOF ");break;case 10:w.getLogger().debug("Stop NL2 ");break;case 11:w.getLogger().debug("Stop EOF2 ");break;case 12:w.getLogger().debug("Rule: statement: ",o[f]),typeof o[f].length=="number"?this.$=o[f]:this.$=[o[f]];break;case 13:w.getLogger().debug("Rule: statement #2: ",o[f-1]),this.$=[o[f-1]].concat(o[f]);break;case 14:w.getLogger().debug("Rule: link: ",o[f],b),this.$={edgeTypeStr:o[f],label:""};break;case 15:w.getLogger().debug("Rule: LABEL link: ",o[f-3],o[f-1],o[f]),this.$={edgeTypeStr:o[f],label:o[f-1]};break;case 18:const E=parseInt(o[f]),T=w.generateId();this.$={id:T,type:"space",label:"",width:E,children:[]};break;case 23:w.getLogger().debug("Rule: (nodeStatement link node) ",o[f-2],o[f-1],o[f]," typestr: ",o[f-1].edgeTypeStr);const z=w.edgeStrToEdgeData(o[f-1].edgeTypeStr),F=w.edgeStrToEdgeStartData(o[f-1].edgeTypeStr),q=w.edgeStrToThickness(o[f-1].edgeTypeStr),I=w.edgeStrToPattern(o[f-1].edgeTypeStr);this.$=[{id:o[f-2].id,label:o[f-2].label,type:o[f-2].type,directions:o[f-2].directions},{id:o[f-2].id+"-"+o[f].id,start:o[f-2].id,end:o[f].id,label:o[f-1].label,type:"edge",thickness:q,pattern:I,directions:o[f].directions,arrowTypeEnd:z,arrowTypeStart:F},{id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions}];break;case 24:w.getLogger().debug("Rule: nodeStatement (abc88 node size) ",o[f-1],o[f]),this.$={id:o[f-1].id,label:o[f-1].label,type:w.typeStr2Type(o[f-1].typeStr),directions:o[f-1].directions,widthInColumns:parseInt(o[f],10)};break;case 25:w.getLogger().debug("Rule: nodeStatement (node) ",o[f]),this.$={id:o[f].id,label:o[f].label,type:w.typeStr2Type(o[f].typeStr),directions:o[f].directions,widthInColumns:1};break;case 26:w.getLogger().debug("APA123",this?this:"na"),w.getLogger().debug("COLUMNS: ",o[f]),this.$={type:"column-setting",columns:o[f]==="auto"?-1:parseInt(o[f])};break;case 27:w.getLogger().debug("Rule: id-block statement : ",o[f-2],o[f-1]),w.generateId(),this.$={...o[f-2],type:"composite",children:o[f-1]};break;case 28:w.getLogger().debug("Rule: blockStatement : ",o[f-2],o[f-1],o[f]);const K=w.generateId();this.$={id:K,type:"composite",label:"",children:o[f-1]};break;case 29:w.getLogger().debug("Rule: node (NODE_ID separator): ",o[f]),this.$={id:o[f]};break;case 30:w.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",o[f-1],o[f]),this.$={id:o[f-1],label:o[f].label,typeStr:o[f].typeStr,directions:o[f].directions};break;case 31:w.getLogger().debug("Rule: dirList: ",o[f]),this.$=[o[f]];break;case 32:w.getLogger().debug("Rule: dirList: ",o[f-1],o[f]),this.$=[o[f-1]].concat(o[f]);break;case 33:w.getLogger().debug("Rule: nodeShapeNLabel: ",o[f-2],o[f-1],o[f]),this.$={typeStr:o[f-2]+o[f],label:o[f-1]};break;case 34:w.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",o[f-3],o[f-2]," #3:",o[f-1],o[f]),this.$={typeStr:o[f-3]+o[f],label:o[f-2],directions:o[f-1]};break;case 35:case 36:this.$={type:"classDef",id:o[f-1].trim(),css:o[f].trim()};break;case 37:this.$={type:"applyClass",id:o[f-1].trim(),styleClass:o[f].trim()};break;case 38:this.$={type:"applyStyles",id:o[f-1].trim(),stylesStr:o[f].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{8:[1,20]},e(g,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:a,28:s,29:i,31:c,39:r,43:n,46:l}),e(h,[2,16],{14:22,15:p,16:m}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(x,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:c},{10:t,11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(S,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(g,[2,13]),{26:35,31:c},{31:[2,14]},{17:[1,36]},e(x,[2,24]),{10:t,11:37,13:4,14:22,15:p,16:m,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:s,29:i,31:c,39:r,43:n,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(S,[2,30]),{18:[1,43]},{18:[1,44]},e(x,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:_},{15:[1,50]},e(h,[2,27]),e(S,[2,33]),{38:[1,51]},{33:52,34:_,38:[2,31]},{31:[2,15]},e(S,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:u(function(b,d){if(d.recoverable)this.trace(b);else{var y=new Error(b);throw y.hash=d,y}},"parseError"),parse:u(function(b){var d=this,y=[0],w=[],D=[null],o=[],k=this.table,f="",E=0,T=0,z=2,F=1,q=o.slice.call(arguments,1),I=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);I.setInput(b,K.yy),K.yy.lexer=I,K.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var et=I.yylloc;o.push(et);var ft=I.options&&I.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(U){y.length=y.length-2*U,D.length=D.length-U,o.length=o.length-U}u(ue,"popStack");function Bt(){var U;return U=w.pop()||I.lex()||F,typeof U!="number"&&(U instanceof Array&&(w=U,U=w.pop()),U=d.symbols_[U]||U),U}u(Bt,"lex");for(var H,$,V,pt,tt={},ct,Q,Ct,lt;;){if($=y[y.length-1],this.defaultActions[$]?V=this.defaultActions[$]:((H===null||typeof H>"u")&&(H=Bt()),V=k[$]&&k[$][H]),typeof V>"u"||!V.length||!V[0]){var yt="";lt=[];for(ct in k[$])this.terminals_[ct]&&ct>z&<.push("'"+this.terminals_[ct]+"'");I.showPosition?yt="Parse error on line "+(E+1)+`: `+I.showPosition()+` Expecting `+lt.join(", ")+", got '"+(this.terminals_[H]||H)+"'":yt="Parse error on line "+(E+1)+": Unexpected "+(H==F?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(yt,{text:I.match,token:this.terminals_[H]||H,line:I.yylineno,loc:et,expected:lt})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+H);switch(V[0]){case 1:y.push(H),D.push(I.yytext),o.push(I.yylloc),y.push(V[1]),H=null,T=I.yyleng,f=I.yytext,E=I.yylineno,et=I.yylloc;break;case 2:if(Q=this.productions_[V[1]][1],tt.$=D[D.length-Q],tt._$={first_line:o[o.length-(Q||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(Q||1)].first_column,last_column:o[o.length-1].last_column},ft&&(tt._$.range=[o[o.length-(Q||1)].range[0],o[o.length-1].range[1]]),pt=this.performAction.apply(tt,[f,T,E,K.yy,V[1],D,o].concat(q)),typeof pt<"u")return pt;Q&&(y=y.slice(0,-1*Q*2),D=D.slice(0,-1*Q),o=o.slice(0,-1*Q)),y.push(this.productions_[V[1]][0]),D.push(tt.$),o.push(tt._$),Ct=k[y[y.length-2]][y[y.length-1]],y.push(Ct);break;case 3:return!0}}return!0},"parse")},B=function(){var N={EOF:1,parseError:u(function(d,y){if(this.yy.parser)this.yy.parser.parseError(d,y);else throw new Error(d)},"parseError"),setInput:u(function(b,d){return this.yy=d||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var d=b.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:u(function(b){var d=b.length,y=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var w=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===w.length?this.yylloc.first_column:0)+w[w.length-y.length].length-y[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(b){this.unput(this.match.slice(b))},"less"),pastInput:u(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var b=this.pastInput(),d=new Array(b.length+1).join("-");return b+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-CEzZXd8C.js b/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-BouUrM0V.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-CEzZXd8C.js rename to veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-BouUrM0V.js index fe5fe80b1..737c9e6d0 100644 --- a/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-CEzZXd8C.js +++ b/veadk/webui/assets/visualizations/mermaid/c4Diagram-5PPSVZJV-BouUrM0V.js @@ -1,4 +1,4 @@ -import{g as Se,e as De}from"./chunk-2GRJ4B5K-B2asRype.js";import{aR as Pe,V as Be,W as Ie,aS as Me,a as y,Y as Bt,at as de,B as Le,j as Ne,q as Tt,aO as ge,aP as Ye,bc as je,x as $t,p as fe}from"./mermaid.core-OQ-NoIeH.js";import{ad as jt}from"../../app/index-Bj9lylJf.js";var Ft=function(){var a=y(function(_t,x,v,E){for(v=v||{},E=_t.length;E--;v[_t[E]]=x);return v},"o"),t=[1,24],s=[1,25],o=[1,26],r=[1,27],l=[1,28],e=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],g=[1,69],m=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],st=[1,47],rt=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],St=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:y(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:y(function(x,v,E,b,R,h,Dt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},a(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(Ct,[2,14]),a(Qt,[2,16],{12:[1,76]}),a(Ct,[2,36],{12:[1,77]}),a(St,[2,19]),a(St,[2,20]),{25:[1,78]},{27:[1,79]},a(St,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},a(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(Ct,[2,15]),a(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:r,28:l}),a(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:r,28:l,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(St,[2,21]),a(St,[2,22]),a(T,[2,39]),a(le,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),a(Mt,[2,73]),{78:[1,133]},a(Mt,[2,75]),a(Mt,[2,76]),a(T,[2,40]),a(T,[2,41]),a(T,[2,42]),a(T,[2,43]),a(T,[2,44]),a(T,[2,45]),a(T,[2,46]),a(T,[2,47]),a(T,[2,48]),a(T,[2,49]),a(T,[2,50]),a(T,[2,51]),a(T,[2,52]),a(T,[2,53]),a(T,[2,54]),a(T,[2,55]),a(T,[2,56]),a(T,[2,57]),a(T,[2,58]),a(T,[2,60]),a(T,[2,61]),a(T,[2,62]),a(T,[2,63]),a(T,[2,64]),a(T,[2,65]),a(T,[2,66]),a(T,[2,67]),a(T,[2,68]),a(T,[2,69]),a(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(vt,[2,28]),a(vt,[2,29]),a(vt,[2,30]),a(vt,[2,31]),a(vt,[2,32]),a(vt,[2,33]),a(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a(Qt,[2,18]),a(Ct,[2,38]),a(le,[2,72]),a(Mt,[2,74]),a(T,[2,24]),a(T,[2,35]),a(Ht,[2,25]),a(Ht,[2,26],{12:[1,138]}),a(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:y(function(x,v){if(v.recoverable)this.trace(x);else{var E=new Error(x);throw E.hash=v,E}},"parseError"),parse:y(function(x){var v=this,E=[0],b=[],R=[null],h=[],Dt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),At={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(At.yy[Gt]=this.yy[Gt]);D.setInput(x,At.yy),At.yy.lexer=D,At.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){E.length=E.length-2*L,R.length=R.length-L,h.length=h.length-L}y(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=v.symbols_[L]||L),L}y(he,"lex");for(var I,kt,N,Jt,wt={},Nt,X,ue,Yt;;){if(kt=E[E.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((I===null||typeof I>"u")&&(I=he()),N=Dt[kt]&&Dt[kt][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Dt[kt])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: +import{g as Se,e as De}from"./chunk-2GRJ4B5K-8JeziMcZ.js";import{aR as Pe,V as Be,W as Ie,aS as Me,a as y,Y as Bt,at as de,B as Le,j as Ne,q as Tt,aO as ge,aP as Ye,bc as je,x as $t,p as fe}from"./mermaid.core-DAX2QfGO.js";import{ad as jt}from"../../app/index-sh8QRNzm.js";var Ft=function(){var a=y(function(_t,x,v,E){for(v=v||{},E=_t.length;E--;v[_t[E]]=x);return v},"o"),t=[1,24],s=[1,25],o=[1,26],r=[1,27],l=[1,28],e=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],g=[1,69],m=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],st=[1,47],rt=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],St=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],A=[1,82],k=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:y(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:y(function(x,v,E,b,R,h,Dt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:r,28:l,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},a(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(Ct,[2,14]),a(Qt,[2,16],{12:[1,76]}),a(Ct,[2,36],{12:[1,77]}),a(St,[2,19]),a(St,[2,20]),{25:[1,78]},{27:[1,79]},a(St,[2,23]),{35:80,75:81,76:A,77:k,79:C,80:w},{35:86,75:81,76:A,77:k,79:C,80:w},{35:87,75:81,76:A,77:k,79:C,80:w},{35:88,75:81,76:A,77:k,79:C,80:w},{35:89,75:81,76:A,77:k,79:C,80:w},{35:90,75:81,76:A,77:k,79:C,80:w},{35:91,75:81,76:A,77:k,79:C,80:w},{35:92,75:81,76:A,77:k,79:C,80:w},{35:93,75:81,76:A,77:k,79:C,80:w},{35:94,75:81,76:A,77:k,79:C,80:w},{35:95,75:81,76:A,77:k,79:C,80:w},{35:96,75:81,76:A,77:k,79:C,80:w},{35:97,75:81,76:A,77:k,79:C,80:w},{35:98,75:81,76:A,77:k,79:C,80:w},{35:99,75:81,76:A,77:k,79:C,80:w},{35:100,75:81,76:A,77:k,79:C,80:w},{35:101,75:81,76:A,77:k,79:C,80:w},{35:102,75:81,76:A,77:k,79:C,80:w},{35:103,75:81,76:A,77:k,79:C,80:w},{35:104,75:81,76:A,77:k,79:C,80:w},a(T,[2,59]),{35:105,75:81,76:A,77:k,79:C,80:w},{35:106,75:81,76:A,77:k,79:C,80:w},{35:107,75:81,76:A,77:k,79:C,80:w},{35:108,75:81,76:A,77:k,79:C,80:w},{35:109,75:81,76:A,77:k,79:C,80:w},{35:110,75:81,76:A,77:k,79:C,80:w},{35:111,75:81,76:A,77:k,79:C,80:w},{35:112,75:81,76:A,77:k,79:C,80:w},{35:113,75:81,76:A,77:k,79:C,80:w},{35:114,75:81,76:A,77:k,79:C,80:w},{35:115,75:81,76:A,77:k,79:C,80:w},{20:116,29:49,30:61,32:62,34:e,36:n,37:i,38:u,39:d,40:f,41:g,43:23,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:A,77:k,79:C,80:w},{35:120,75:81,76:A,77:k,79:C,80:w},{35:121,75:81,76:A,77:k,79:C,80:w},{35:122,75:81,76:A,77:k,79:C,80:w},{35:123,75:81,76:A,77:k,79:C,80:w},{35:124,75:81,76:A,77:k,79:C,80:w},{35:125,75:81,76:A,77:k,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(Ct,[2,15]),a(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:r,28:l}),a(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:r,28:l,34:e,36:n,37:i,38:u,39:d,40:f,41:g,44:m,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:st,63:rt,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),a(St,[2,21]),a(St,[2,22]),a(T,[2,39]),a(le,[2,71],{75:81,35:132,76:A,77:k,79:C,80:w}),a(Mt,[2,73]),{78:[1,133]},a(Mt,[2,75]),a(Mt,[2,76]),a(T,[2,40]),a(T,[2,41]),a(T,[2,42]),a(T,[2,43]),a(T,[2,44]),a(T,[2,45]),a(T,[2,46]),a(T,[2,47]),a(T,[2,48]),a(T,[2,49]),a(T,[2,50]),a(T,[2,51]),a(T,[2,52]),a(T,[2,53]),a(T,[2,54]),a(T,[2,55]),a(T,[2,56]),a(T,[2,57]),a(T,[2,58]),a(T,[2,60]),a(T,[2,61]),a(T,[2,62]),a(T,[2,63]),a(T,[2,64]),a(T,[2,65]),a(T,[2,66]),a(T,[2,67]),a(T,[2,68]),a(T,[2,69]),a(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(vt,[2,28]),a(vt,[2,29]),a(vt,[2,30]),a(vt,[2,31]),a(vt,[2,32]),a(vt,[2,33]),a(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a(Qt,[2,18]),a(Ct,[2,38]),a(le,[2,72]),a(Mt,[2,74]),a(T,[2,24]),a(T,[2,35]),a(Ht,[2,25]),a(Ht,[2,26],{12:[1,138]}),a(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:y(function(x,v){if(v.recoverable)this.trace(x);else{var E=new Error(x);throw E.hash=v,E}},"parseError"),parse:y(function(x){var v=this,E=[0],b=[],R=[null],h=[],Dt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),At={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(At.yy[Gt]=this.yy[Gt]);D.setInput(x,At.yy),At.yy.lexer=D,At.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){E.length=E.length-2*L,R.length=R.length-L,h.length=h.length-L}y(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=v.symbols_[L]||L),L}y(he,"lex");for(var I,kt,N,Jt,wt={},Nt,X,ue,Yt;;){if(kt=E[E.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((I===null||typeof I>"u")&&(I=he()),N=Dt[kt]&&Dt[kt][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Dt[kt])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: `+D.showPosition()+` Expecting `+Yt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Zt="Parse error on line "+(Et+1)+": Unexpected "+(I==ce?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Zt,{text:D.match,token:this.terminals_[I]||I,line:D.yylineno,loc:Kt,expected:Yt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+I);switch(N[0]){case 1:E.push(I),R.push(D.yytext),h.push(D.yylloc),E.push(N[1]),I=null,oe=D.yyleng,p=D.yytext,Et=D.yylineno,Kt=D.yylloc;break;case 2:if(X=this.productions_[N[1]][1],wt.$=R[R.length-X],wt._$={first_line:h[h.length-(X||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(X||1)].first_column,last_column:h[h.length-1].last_column},Oe&&(wt._$.range=[h[h.length-(X||1)].range[0],h[h.length-1].range[1]]),Jt=this.performAction.apply(wt,[p,oe,Et,At.yy,N[1],R,h].concat(Te)),typeof Jt<"u")return Jt;X&&(E=E.slice(0,-1*X*2),R=R.slice(0,-1*X),h=h.slice(0,-1*X)),E.push(this.productions_[N[1]][0]),R.push(wt.$),h.push(wt._$),ue=Dt[E[E.length-2]][E[E.length-1]],E.push(ue);break;case 3:return!0}}return!0},"parse")},Ce=function(){var _t={EOF:1,parseError:y(function(v,E){if(this.yy.parser)this.yy.parser.parseError(v,E);else throw new Error(v)},"parseError"),setInput:y(function(x,v){return this.yy=v||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:y(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var v=x.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},"input"),unput:y(function(x){var v=x.length,E=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===b.length?this.yylloc.first_column:0)+b[b.length-E.length].length-E[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:y(function(){return this._more=!0,this},"more"),reject:y(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:y(function(x){this.unput(this.match.slice(x))},"less"),pastInput:y(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:y(function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:y(function(){var x=this.pastInput(),v=new Array(x.length+1).join("-");return x+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-B2asRype.js b/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-8JeziMcZ.js similarity index 93% rename from veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-B2asRype.js rename to veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-8JeziMcZ.js index 04bfe6acb..dd3a9e1f4 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-B2asRype.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-2GRJ4B5K-8JeziMcZ.js @@ -1 +1 @@ -import{a as i,ar as d,aP as o}from"./mermaid.core-OQ-NoIeH.js";import{ad as l}from"../../app/index-Bj9lylJf.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const a in t.attrs)e.attr(a,t.attrs[a]);return t.class&&e.attr("class",t.class),e},"drawRect"),y=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),m=i((r,t)=>{const e=t.text.replace(d," "),a=r.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},"drawText"),g=i((r,t,e,a)=>{const s=r.append("image");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",n)},"drawImage"),f=i((r,t,e,a)=>{const s=r.append("use");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),k=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{f as a,g as b,k as c,y as d,x as e,m as f,h as g,w as h}; +import{a as i,ar as d,aP as o}from"./mermaid.core-DAX2QfGO.js";import{ad as l}from"../../app/index-sh8QRNzm.js";var x=i((r,t)=>{const e=r.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const a in t.attrs)e.attr(a,t.attrs[a]);return t.class&&e.attr("class",t.class),e},"drawRect"),y=i((r,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(r,e).lower()},"drawBackgroundRect"),m=i((r,t)=>{const e=t.text.replace(d," "),a=r.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},"drawText"),g=i((r,t,e,a)=>{const s=r.append("image");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",n)},"drawImage"),f=i((r,t,e,a)=>{const s=r.append("use");s.attr("x",t),s.attr("y",e);const n=o(a);s.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),h=i(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=i(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),k=i(()=>{let r=l(".mermaidTooltip");return r.empty()&&(r=l("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),r},"createTooltip");export{f as a,g as b,k as c,y as d,x as e,m as f,h as g,w as h}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-CcAB9q97.js b/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-DyH4ylUc.js similarity index 66% rename from veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-CcAB9q97.js rename to veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-DyH4ylUc.js index 35572573a..700fb50bd 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-CcAB9q97.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-2Q5K7J3B-DyH4ylUc.js @@ -1 +1 @@ -import{a as s}from"./mermaid.core-OQ-NoIeH.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; +import{a as s}from"./mermaid.core-DAX2QfGO.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-1IWafkh5.js b/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-B8NYulM6.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-1IWafkh5.js rename to veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-B8NYulM6.js index 0357f939b..0b1bde076 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-1IWafkh5.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-5RXB4S5H-B8NYulM6.js @@ -1,4 +1,4 @@ -import{g as ee}from"./chunk-XXDRQBXY-Du2hH_W_.js";import{s as se}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{a as S,at as b,Y as F,aL as ie,ba as re,W as ae,aS as ne,V as oe,aR as le,aU as ce,$ as he,T as ue,x as K,s as de,aH as fe}from"./mermaid.core-OQ-NoIeH.js";import{c as pe}from"./chunk-2GRJ4B5K-B2asRype.js";import{ad as Dt}from"../../app/index-Bj9lylJf.js";var Ct=function(){var t=S(function(U,l,d,n){for(d=d||{},n=U.length;n--;d[U[n]]=l);return d},"o"),e=[1,2],s=[1,3],a=[1,4],i=[2,4],o=[1,9],h=[1,11],p=[1,16],f=[1,17],T=[1,18],E=[1,19],m=[1,33],R=[1,20],C=[1,21],x=[1,22],$=[1,23],O=[1,24],u=[1,26],L=[1,27],k=[1,28],V=[1,29],P=[1,30],v=[1,31],Y=[1,32],j=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],J=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Lt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(l,d,n,g,_,r,B){var c=r.length-1;switch(_){case 3:return g.setRootDoc(r[c]),r[c];case 4:this.$=[];break;case 5:r[c]!="nl"&&(r[c-1].push(r[c]),this.$=r[c-1]);break;case 6:case 7:this.$=r[c];break;case 8:this.$="nl";break;case 12:this.$=r[c];break;case 13:const et=r[c-1];et.description=g.trimColon(r[c]),this.$=et;break;case 14:this.$={stmt:"relation",state1:r[c-2],state2:r[c]};break;case 15:const Tt=g.trimColon(r[c]);this.$={stmt:"relation",state1:r[c-3],state2:r[c-1],description:Tt};break;case 19:this.$={stmt:"state",id:r[c-3],type:"default",description:"",doc:r[c-1]};break;case 20:var G=r[c],q=r[c-2].trim();if(r[c].match(":")){var ut=r[c].split(":");G=ut[0],q=[q,ut[1]]}this.$={stmt:"state",id:G,type:"default",description:q};break;case 21:this.$={stmt:"state",id:r[c-3],type:"default",description:r[c-5],doc:r[c-1]};break;case 22:this.$={stmt:"state",id:r[c],type:"fork"};break;case 23:this.$={stmt:"state",id:r[c],type:"join"};break;case 24:this.$={stmt:"state",id:r[c],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[c-1].trim(),note:{position:r[c-2].trim(),text:r[c].trim()}};break;case 29:this.$=r[c].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=r[c].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:r[c-3],url:r[c-2],tooltip:r[c-1]};break;case 33:this.$={stmt:"click",id:r[c-3],url:r[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:r[c-1].trim(),classes:r[c].trim()};break;case 36:this.$={stmt:"style",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 37:this.$={stmt:"applyClass",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:J},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:J},t(y,[2,17]),t(Lt,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,72],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(Lt,i,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,81],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(l,d){if(d.recoverable)this.trace(l);else{var n=new Error(l);throw n.hash=d,n}},"parseError"),parse:S(function(l){var d=this,n=[0],g=[],_=[null],r=[],B=this.table,c="",G=0,q=0,ut=2,et=1,Tt=r.slice.call(arguments,1),D=Object.create(this.lexer),H={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(H.yy[Et]=this.yy[Et]);D.setInput(l,H.yy),H.yy.lexer=D,H.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var _t=D.yylloc;r.push(_t);var Zt=D.options&&D.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(I){n.length=n.length-2*I,_.length=_.length-I,r.length=r.length-I}S(te,"popStack");function wt(){var I;return I=g.pop()||D.lex()||et,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=d.symbols_[I]||I),I}S(wt,"lex");for(var w,z,N,mt,Q={},dt,M,Rt,ft;;){if(z=n[n.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((w===null||typeof w>"u")&&(w=wt()),N=B[z]&&B[z][w]),typeof N>"u"||!N.length||!N[0]){var bt="";ft=[];for(dt in B[z])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");D.showPosition?bt="Parse error on line "+(G+1)+`: +import{g as ee}from"./chunk-XXDRQBXY-DqdKXcqv.js";import{s as se}from"./chunk-KBJHAD2P-BJQBtkor.js";import{a as S,at as b,Y as F,aL as ie,ba as re,W as ae,aS as ne,V as oe,aR as le,aU as ce,$ as he,T as ue,x as K,s as de,aH as fe}from"./mermaid.core-DAX2QfGO.js";import{c as pe}from"./chunk-2GRJ4B5K-8JeziMcZ.js";import{ad as Dt}from"../../app/index-sh8QRNzm.js";var Ct=function(){var t=S(function(U,l,d,n){for(d=d||{},n=U.length;n--;d[U[n]]=l);return d},"o"),e=[1,2],s=[1,3],a=[1,4],i=[2,4],o=[1,9],h=[1,11],p=[1,16],f=[1,17],T=[1,18],E=[1,19],m=[1,33],R=[1,20],C=[1,21],x=[1,22],$=[1,23],O=[1,24],u=[1,26],L=[1,27],k=[1,28],V=[1,29],P=[1,30],v=[1,31],Y=[1,32],j=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],J=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Lt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:S(function(l,d,n,g,_,r,B){var c=r.length-1;switch(_){case 3:return g.setRootDoc(r[c]),r[c];case 4:this.$=[];break;case 5:r[c]!="nl"&&(r[c-1].push(r[c]),this.$=r[c-1]);break;case 6:case 7:this.$=r[c];break;case 8:this.$="nl";break;case 12:this.$=r[c];break;case 13:const et=r[c-1];et.description=g.trimColon(r[c]),this.$=et;break;case 14:this.$={stmt:"relation",state1:r[c-2],state2:r[c]};break;case 15:const Tt=g.trimColon(r[c]);this.$={stmt:"relation",state1:r[c-3],state2:r[c-1],description:Tt};break;case 19:this.$={stmt:"state",id:r[c-3],type:"default",description:"",doc:r[c-1]};break;case 20:var G=r[c],q=r[c-2].trim();if(r[c].match(":")){var ut=r[c].split(":");G=ut[0],q=[q,ut[1]]}this.$={stmt:"state",id:G,type:"default",description:q};break;case 21:this.$={stmt:"state",id:r[c-3],type:"default",description:r[c-5],doc:r[c-1]};break;case 22:this.$={stmt:"state",id:r[c],type:"fork"};break;case 23:this.$={stmt:"state",id:r[c],type:"join"};break;case 24:this.$={stmt:"state",id:r[c],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[c-1].trim(),note:{position:r[c-2].trim(),text:r[c].trim()}};break;case 29:this.$=r[c].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=r[c].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:r[c-3],url:r[c-2],tooltip:r[c-1]};break;case 33:this.$={stmt:"click",id:r[c-3],url:r[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:r[c-1].trim(),classes:r[c].trim()};break;case 36:this.$={stmt:"style",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 37:this.$={stmt:"applyClass",id:r[c-1].trim(),styleClass:r[c].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[c].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:r[c-2].trim(),classes:[r[c].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:p,17:f,19:T,22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:J},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:J},t(y,[2,17]),t(Lt,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,72],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(Lt,i,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:h,8:8,9:10,10:12,11:13,12:14,13:15,16:p,17:f,19:T,21:[1,81],22:E,24:m,25:R,26:C,27:x,28:$,29:O,32:25,33:u,35:L,37:k,38:V,41:P,45:v,48:Y,51:j,52:nt,53:ot,54:lt,57:J},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:S(function(l,d){if(d.recoverable)this.trace(l);else{var n=new Error(l);throw n.hash=d,n}},"parseError"),parse:S(function(l){var d=this,n=[0],g=[],_=[null],r=[],B=this.table,c="",G=0,q=0,ut=2,et=1,Tt=r.slice.call(arguments,1),D=Object.create(this.lexer),H={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(H.yy[Et]=this.yy[Et]);D.setInput(l,H.yy),H.yy.lexer=D,H.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var _t=D.yylloc;r.push(_t);var Zt=D.options&&D.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(I){n.length=n.length-2*I,_.length=_.length-I,r.length=r.length-I}S(te,"popStack");function wt(){var I;return I=g.pop()||D.lex()||et,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=d.symbols_[I]||I),I}S(wt,"lex");for(var w,z,N,mt,Q={},dt,M,Rt,ft;;){if(z=n[n.length-1],this.defaultActions[z]?N=this.defaultActions[z]:((w===null||typeof w>"u")&&(w=wt()),N=B[z]&&B[z][w]),typeof N>"u"||!N.length||!N[0]){var bt="";ft=[];for(dt in B[z])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");D.showPosition?bt="Parse error on line "+(G+1)+`: `+D.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[w]||w)+"'":bt="Parse error on line "+(G+1)+": Unexpected "+(w==et?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(bt,{text:D.match,token:this.terminals_[w]||w,line:D.yylineno,loc:_t,expected:ft})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+w);switch(N[0]){case 1:n.push(w),_.push(D.yytext),r.push(D.yylloc),n.push(N[1]),w=null,q=D.yyleng,c=D.yytext,G=D.yylineno,_t=D.yylloc;break;case 2:if(M=this.productions_[N[1]][1],Q.$=_[_.length-M],Q._$={first_line:r[r.length-(M||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(M||1)].first_column,last_column:r[r.length-1].last_column},Zt&&(Q._$.range=[r[r.length-(M||1)].range[0],r[r.length-1].range[1]]),mt=this.performAction.apply(Q,[c,q,G,H.yy,N[1],_,r].concat(Tt)),typeof mt<"u")return mt;M&&(n=n.slice(0,-1*M*2),_=_.slice(0,-1*M),r=r.slice(0,-1*M)),n.push(this.productions_[N[1]][0]),_.push(Q.$),r.push(Q._$),Rt=B[n[n.length-2]][n[n.length-1]],n.push(Rt);break;case 3:return!0}}return!0},"parse")},Qt=function(){var U={EOF:1,parseError:S(function(d,n){if(this.yy.parser)this.yy.parser.parseError(d,n);else throw new Error(d)},"parseError"),setInput:S(function(l,d){return this.yy=d||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var d=l.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:S(function(l){var d=l.length,n=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===g.length?this.yylloc.first_column:0)+g[g.length-n.length].length-n[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(l){this.unput(this.match.slice(l))},"less"),pastInput:S(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var l=this.pastInput(),d=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-CT700Zc5.js b/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-DW5_javj.js similarity index 83% rename from veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-CT700Zc5.js rename to veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-DW5_javj.js index 7ac08f89d..89bc464a9 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-CT700Zc5.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-5VM5RSS4-DW5_javj.js @@ -1,4 +1,4 @@ -import{a as e}from"./mermaid.core-OQ-NoIeH.js";var l=e(()=>` +import{a as e}from"./mermaid.core-DAX2QfGO.js";var l=e(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-D1vbrjoS.js b/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-LmTMnw7Y.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-D1vbrjoS.js rename to veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-LmTMnw7Y.js index 95fba96ac..4698e47b4 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-D1vbrjoS.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-6Q2QTUOP-LmTMnw7Y.js @@ -1,4 +1,4 @@ -import{a as p,at as k,aQ as H,X as _,s as q,a8 as G,B as U,aO as j,Y as K}from"./mermaid.core-OQ-NoIeH.js";var A="",M="",O="",D=[],b=new Map,v=p(e=>j(e,K()),"sanitizeText"),y=p(e=>{switch(e.type){case"terminal":return{...e,value:v(e.value)};case"nonterminal":return{...e,name:v(e.name)};case"sequence":return{...e,elements:e.elements.map(y)};case"choice":return{...e,alternatives:e.alternatives.map(y)};case"optional":return{...e,element:y(e.element)};case"repetition":return{...e,element:y(e.element),separator:e.separator?y(e.separator):void 0};case"special":return{...e,text:v(e.text)}}},"sanitizeAstNode"),Q=p(()=>{A="",M="",O="",D.length=0,b.clear(),q(),k.debug("[Railroad] Database cleared")},"clear"),Y=p(e=>{A=v(e),k.debug("[Railroad] Title set:",e)},"setTitle"),P=p(()=>A,"getTitle"),J=p(e=>{const i={...e,name:v(e.name),definition:y(e.definition),comment:e.comment?v(e.comment):void 0};k.debug("[Railroad] Adding rule:",i.name),b.has(i.name)&&k.warn(`[Railroad] Rule '${i.name}' is already defined. Overwriting.`),D.push(i),b.set(i.name,i)},"addRule"),Z=p(()=>D,"getRules"),V=p(e=>b.get(e),"getRule"),ee=p(e=>{M=v(e).replace(/^\s+/g,""),k.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),te=p(()=>M,"getAccTitle"),re=p(e=>{O=v(e).replace(/\n\s+/g,` +import{a as p,at as k,aQ as H,X as _,s as q,a8 as G,B as U,aO as j,Y as K}from"./mermaid.core-DAX2QfGO.js";var A="",M="",O="",D=[],b=new Map,v=p(e=>j(e,K()),"sanitizeText"),y=p(e=>{switch(e.type){case"terminal":return{...e,value:v(e.value)};case"nonterminal":return{...e,name:v(e.name)};case"sequence":return{...e,elements:e.elements.map(y)};case"choice":return{...e,alternatives:e.alternatives.map(y)};case"optional":return{...e,element:y(e.element)};case"repetition":return{...e,element:y(e.element),separator:e.separator?y(e.separator):void 0};case"special":return{...e,text:v(e.text)}}},"sanitizeAstNode"),Q=p(()=>{A="",M="",O="",D.length=0,b.clear(),q(),k.debug("[Railroad] Database cleared")},"clear"),Y=p(e=>{A=v(e),k.debug("[Railroad] Title set:",e)},"setTitle"),P=p(()=>A,"getTitle"),J=p(e=>{const i={...e,name:v(e.name),definition:y(e.definition),comment:e.comment?v(e.comment):void 0};k.debug("[Railroad] Adding rule:",i.name),b.has(i.name)&&k.warn(`[Railroad] Rule '${i.name}' is already defined. Overwriting.`),D.push(i),b.set(i.name,i)},"addRule"),Z=p(()=>D,"getRules"),V=p(e=>b.get(e),"getRule"),ee=p(e=>{M=v(e).replace(/^\s+/g,""),k.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),te=p(()=>M,"getAccTitle"),re=p(e=>{O=v(e).replace(/\n\s+/g,` `),k.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),ie=p(()=>O,"getAccDescription"),ae=Y,ne=P,oe={clear:Q,setTitle:Y,getTitle:P,addRule:J,getRules:Z,getRule:V,setAccTitle:ee,getAccTitle:te,setAccDescription:re,getAccDescription:ie,setDiagramTitle:ae,getDiagramTitle:ne},f={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},le=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,se=/^[\w "',.-]+$/,de=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),L=p(e=>e?Object.keys(e).every(i=>i==="railroad"||de.has(i)):!1,"isRailroadStyleOptions"),ce=p(e=>e?"railroad"in e&&e.railroad?e.railroad:L(e)?e:{}:{},"extractRailroadOverrides"),me=p(e=>{if(!e||L(e))return{};const{railroad:i,svgId:n,theme:a,look:t,...r}=e;return r},"extractThemeOverrides"),m=p((e,i)=>{if(typeof e!="string")return i;const n=e.trim();return le.test(n)?n:i},"sanitizeColorValue"),X=p((e,i)=>{if(typeof e!="string")return i;const n=e.trim();return se.test(n)?n:i},"sanitizeFontFamilyValue"),F=p((e,i)=>{const n=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)&&n>=0?n:i},"sanitizeNumberValue"),he=p(e=>{const i=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(i)&&i>0?i:void 0},"parseThemeFontSize"),pe=p(e=>{const i=X(e.fontFamily,f.fontFamily),n=he(e.fontSize)??f.fontSize;return{...f,fontFamily:i,fontSize:n,terminalFill:m(e.secondBkg??e.secondaryColor,f.terminalFill),terminalStroke:m(e.secondaryBorderColor??e.lineColor,f.terminalStroke),terminalTextColor:m(e.secondaryTextColor??e.textColor,f.terminalTextColor),nonTerminalFill:m(e.mainBkg??e.background,f.nonTerminalFill),nonTerminalStroke:m(e.primaryBorderColor??e.lineColor,f.nonTerminalStroke),nonTerminalTextColor:m(e.primaryTextColor??e.textColor,f.nonTerminalTextColor),lineColor:m(e.lineColor,f.lineColor),markerFill:m(e.lineColor,f.markerFill),commentFill:m(e.labelBackground??e.tertiaryColor,f.commentFill),commentStroke:m(e.tertiaryBorderColor??e.lineColor,f.commentStroke),commentTextColor:m(e.tertiaryTextColor??e.textColor,f.commentTextColor),specialFill:m(e.tertiaryColor??e.secondaryColor,f.specialFill),specialStroke:m(e.tertiaryBorderColor??e.secondaryBorderColor,f.specialStroke),ruleNameColor:m(e.titleColor??e.textColor,f.ruleNameColor)}},"buildThemeDefaults"),E=p(e=>{const i=_(),n={...G(),...i.themeVariables??{},...me(e)},a=pe(n),t={...i.railroad??{},...ce(e)};return{compactMode:t.compactMode??a.compactMode,padding:F(t.padding,a.padding),verticalSeparation:F(t.verticalSeparation,a.verticalSeparation),horizontalSeparation:F(t.horizontalSeparation,a.horizontalSeparation),arcRadius:F(t.arcRadius,a.arcRadius),fontSize:F(t.fontSize,a.fontSize),fontFamily:X(t.fontFamily,a.fontFamily),terminalFill:m(t.terminalFill,a.terminalFill),terminalStroke:m(t.terminalStroke,a.terminalStroke),terminalTextColor:m(t.terminalTextColor,a.terminalTextColor),nonTerminalFill:m(t.nonTerminalFill,a.nonTerminalFill),nonTerminalStroke:m(t.nonTerminalStroke,a.nonTerminalStroke),nonTerminalTextColor:m(t.nonTerminalTextColor,a.nonTerminalTextColor),lineColor:m(t.lineColor,a.lineColor),strokeWidth:F(t.strokeWidth,a.strokeWidth),markerFill:m(t.markerFill,a.markerFill),commentFill:m(t.commentFill,a.commentFill),commentStroke:m(t.commentStroke,a.commentStroke),commentTextColor:m(t.commentTextColor,a.commentTextColor),specialFill:m(t.specialFill,a.specialFill),specialStroke:m(t.specialStroke,a.specialStroke),ruleNameColor:m(t.ruleNameColor,a.ruleNameColor),showMarkers:t.showMarkers??a.showMarkers,markerRadius:F(t.markerRadius,a.markerRadius)}},"buildRailroadStyleOptions"),Te=p(e=>{const{fontFamily:i,fontSize:n,terminalFill:a,terminalStroke:t,terminalTextColor:r,nonTerminalFill:o,nonTerminalStroke:g,nonTerminalTextColor:l,lineColor:s,strokeWidth:h,markerFill:u,commentFill:c,commentStroke:w,commentTextColor:d,specialFill:T,specialStroke:z,ruleNameColor:S}=E(e);return` .railroad-diagram { font-family: ${i}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-DqMkuj7n.js b/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-CcKNV6UO.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-DqMkuj7n.js rename to veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-CcKNV6UO.js index 2c1b990a2..334053017 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-DqMkuj7n.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-GF5L2VYU-CcKNV6UO.js @@ -1,4 +1,4 @@ -import{g as st}from"./chunk-5VM5RSS4-CT700Zc5.js";import{g as it}from"./chunk-XXDRQBXY-Du2hH_W_.js";import{s as at}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{a as g,at as we,Y as F,a4 as rt,aL as nt,ba as Ve,aH as ut,aS as lt,W as ct,aR as ot,V as ht,aU as dt,$ as pt,x as I,s as At,a0 as ft,aO as gt,aD as z}from"./mermaid.core-OQ-NoIeH.js";import{c as mt}from"./chunk-2GRJ4B5K-B2asRype.js";import{ad as fe}from"../../app/index-Bj9lylJf.js";var Pe=function(){var s=g(function(O,o,d,p){for(d=d||{},p=O.length;p--;d[O[p]]=o);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],u=[1,26],h=[1,42],f=[1,24],c=[1,25],m=[1,32],B=[1,33],R=[1,34],b=[1,45],me=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],Be=[1,9],A=[1,8,9],te=[1,58],se=[1,59],ie=[1,60],ae=[1,61],re=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Me=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ne=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],K=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],le=[1,103],W=[1,121],Q=[1,117],j=[1,113],X=[1,119],H=[1,114],q=[1,115],J=[1,116],Z=[1,118],$=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],oe=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(o,d,p,l,C,e,ee){var t=e.length-1;switch(C){case 8:this.$=e[t-1];break;case 9:case 10:case 13:case 15:this.$=e[t];break;case 11:case 14:this.$=e[t-2]+"."+e[t];break;case 12:case 16:this.$=e[t-1]+e[t];break;case 17:case 18:this.$=e[t-1]+"~"+e[t]+"~";break;case 19:l.addRelation(e[t]);break;case 20:e[t-1].title=l.cleanupLabel(e[t]),l.addRelation(e[t-1]);break;case 31:this.$=e[t].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[t].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[t-3],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[t-4],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[t]);break;case 37:this.$=l.addNamespace(e[t-1],e[t]);break;case 38:this.$=[[e[t]],[]];break;case 39:this.$=[[e[t-1]],[]];break;case 40:e[t][0].unshift(e[t-2]),this.$=e[t];break;case 41:this.$=[[],[e[t]]];break;case 42:this.$=[[],[e[t-1]]];break;case 43:e[t][1].unshift(e[t-2]),this.$=e[t];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[t];break;case 48:l.setCssClass(e[t-2],e[t]);break;case 49:l.addMembers(e[t-3],e[t-1]);break;case 51:l.setCssClass(e[t-5],e[t-3]),l.addMembers(e[t-5],e[t-1]);break;case 52:l.addAnnotation(e[t-3],e[t-1]);break;case 53:l.addAnnotation(e[t-6],e[t-4]),l.addMembers(e[t-6],e[t-1]);break;case 54:l.addAnnotation(e[t-5],e[t-3]);break;case 55:this.$=e[t],l.addClass(e[t]);break;case 56:this.$=e[t-1],l.addClass(e[t-1]),l.setClassLabel(e[t-1],e[t]);break;case 60:l.addAnnotation(e[t],e[t-2]);break;case 61:case 74:this.$=[e[t]];break;case 62:e[t].push(e[t-1]),this.$=e[t];break;case 63:break;case 64:l.addMember(e[t-1],l.cleanupLabel(e[t]));break;case 65:break;case 66:break;case 67:this.$={id1:e[t-2],id2:e[t],relation:e[t-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[t-3],id2:e[t],relation:e[t-1],relationTitle1:e[t-2],relationTitle2:"none"};break;case 69:this.$={id1:e[t-3],id2:e[t],relation:e[t-2],relationTitle1:"none",relationTitle2:e[t-1]};break;case 70:this.$={id1:e[t-4],id2:e[t],relation:e[t-2],relationTitle1:e[t-3],relationTitle2:e[t-1]};break;case 71:this.$=l.addNote(e[t],e[t-1]);break;case 72:this.$=l.addNote(e[t]);break;case 73:this.$=e[t-2],l.defineClass(e[t-1],e[t]);break;case 75:this.$=e[t-2].concat([e[t]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[t-2],type2:e[t],lineType:e[t-1]};break;case 81:this.$={type1:"none",type2:e[t],lineType:e[t-1]};break;case 82:this.$={type1:e[t-1],type2:"none",lineType:e[t]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[t]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[t-2],l.setClickEvent(e[t-1],e[t]);break;case 92:case 98:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 93:this.$=e[t-2],l.setLink(e[t-1],e[t]);break;case 94:this.$=e[t-3],l.setLink(e[t-2],e[t-1],e[t]);break;case 95:this.$=e[t-3],l.setLink(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 96:this.$=e[t-4],l.setLink(e[t-3],e[t-2],e[t]),l.setTooltip(e[t-3],e[t-1]);break;case 99:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1],e[t]);break;case 100:this.$=e[t-4],l.setClickEvent(e[t-3],e[t-2],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 101:this.$=e[t-3],l.setLink(e[t-2],e[t]);break;case 102:this.$=e[t-4],l.setLink(e[t-3],e[t-1],e[t]);break;case 103:this.$=e[t-4],l.setLink(e[t-3],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 104:this.$=e[t-5],l.setLink(e[t-4],e[t-2],e[t]),l.setTooltip(e[t-4],e[t-1]);break;case 105:this.$=e[t-2],l.setCssStyle(e[t-1],e[t]);break;case 106:l.setCssClass(e[t-1],e[t]);break;case 107:this.$=[e[t]];break;case 108:e[t-2].push(e[t]),this.$=e[t-2];break;case 110:this.$=e[t-1]+e[t];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Be,[2,5],{8:[1,48]}),{8:[1,49]},s(A,[2,19],{22:[1,50]}),s(A,[2,21]),s(A,[2,22]),s(A,[2,23]),s(A,[2,24]),s(A,[2,25]),s(A,[2,26]),s(A,[2,27]),s(A,[2,28]),s(A,[2,29]),s(A,[2,30]),{34:[1,51]},{36:[1,52]},s(A,[2,33]),s(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se}),{39:[1,65]},s(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(A,[2,65]),s(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Me,55:76},{58:78,60:[1,79]},s(A,[2,76]),s(A,[2,77]),s(A,[2,78]),s(A,[2,79]),s(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),s(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},s(ne,[2,133]),s(ne,[2,134]),s(ne,[2,135]),s(ne,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},s(A,[2,20]),s(A,[2,31]),s(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se},s(A,[2,64]),{67:93,73:_e,74:Se},s(ue,[2,83],{66:94,68:te,69:se,70:ie,71:ae,72:re}),s(K,[2,84]),s(K,[2,85]),s(K,[2,86]),s(K,[2,87]),s(K,[2,88]),s(Re,[2,89]),s(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:m,56:B},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:le},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:Q,59:110,60:j,82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},{60:[1,122]},{13:Me,55:123},s(S,[2,72]),s(S,[2,138]),{22:W,50:Q,59:124,60:j,61:[1,125],82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},s(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},s(G,[2,16]),s(G,[2,17]),s(G,[2,18]),{11:127,12:Ue,39:[2,36]},s(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),s(ce,[2,10]),s(Ne,[2,55],{11:131,12:Ue}),s(Be,[2,7]),{9:[1,132]},s(oe,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},s(ue,[2,82],{66:136,68:te,69:se,70:ie,71:ae,72:re}),s(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:m,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(S,[2,48],{39:[1,142]}),{41:[1,143]},s(S,[2,50]),{41:[2,61],45:144,51:le},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},s(A,[2,91],{13:[1,147]}),s(A,[2,93],{13:[1,149],77:[1,148]}),s(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(A,[2,105],{61:ze}),s(Ye,[2,107],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(x,[2,109]),s(x,[2,111]),s(x,[2,112]),s(x,[2,113]),s(x,[2,114]),s(x,[2,115]),s(x,[2,116]),s(x,[2,117]),s(x,[2,118]),s(x,[2,119]),s(A,[2,106]),s(S,[2,71]),s(A,[2,73],{61:ze}),{60:[1,155]},s(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},s(ce,[2,12]),s(Ne,[2,56]),{1:[2,4]},s(oe,[2,69]),s(oe,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},s(ue,[2,80]),s(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:m,56:B},{45:163,51:le},s(S,[2,49]),{41:[2,62]},s(S,[2,52],{39:[1,164]}),s(A,[2,60]),s(A,[2,92]),s(A,[2,94]),s(A,[2,95],{77:[1,165]}),s(A,[2,98]),s(A,[2,99],{13:[1,166]}),s(A,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:Q,60:j,82:X,84:169,85:112,86:H,87:q,88:J,89:Z,90:$},s(x,[2,110]),s(Ge,[2,75]),{14:[1,170]},s(ce,[2,11]),s(oe,[2,70]),s(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:le},s(A,[2,96]),s(A,[2,100]),s(A,[2,102]),s(A,[2,103],{77:[1,174]}),s(Ye,[2,108],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(Ne,[2,8]),s(S,[2,51]),{41:[1,175]},s(S,[2,54]),s(A,[2,104]),s(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(o,d){if(d.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=d,p}},"parseError"),parse:g(function(o){var d=this,p=[0],l=[],C=[null],e=[],ee=this.table,t="",de=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),D=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);D.setInput(o,V.yy),V.yy.lexer=D,V.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ve=D.yylloc;e.push(ve);var et=D.options&&D.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){p.length=p.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=l.pop()||D.lex()||We,typeof N!="number"&&(N instanceof Array&&(l=N,N=l.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},pe,v,je,Ae;;){if(P=p[p.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=ee[P]&&ee[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";Ae=[];for(pe in ee[P])this.terminals_[pe]&&pe>Ze&&Ae.push("'"+this.terminals_[pe]+"'");D.showPosition?Oe="Parse error on line "+(de+1)+`: +import{g as st}from"./chunk-5VM5RSS4-DW5_javj.js";import{g as it}from"./chunk-XXDRQBXY-DqdKXcqv.js";import{s as at}from"./chunk-KBJHAD2P-BJQBtkor.js";import{a as g,at as we,Y as F,a4 as rt,aL as nt,ba as Ve,aH as ut,aS as lt,W as ct,aR as ot,V as ht,aU as dt,$ as pt,x as I,s as At,a0 as ft,aO as gt,aD as z}from"./mermaid.core-DAX2QfGO.js";import{c as mt}from"./chunk-2GRJ4B5K-8JeziMcZ.js";import{ad as fe}from"../../app/index-sh8QRNzm.js";var Pe=function(){var s=g(function(O,o,d,p){for(d=d||{},p=O.length;p--;d[O[p]]=o);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],u=[1,26],h=[1,42],f=[1,24],c=[1,25],m=[1,32],B=[1,33],R=[1,34],b=[1,45],me=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],y=[1,47],Be=[1,9],A=[1,8,9],te=[1,58],se=[1,59],ie=[1,60],ae=[1,61],re=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Me=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ne=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],K=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],le=[1,103],W=[1,121],Q=[1,117],j=[1,113],X=[1,119],H=[1,114],q=[1,115],J=[1,116],Z=[1,118],$=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],oe=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(o,d,p,l,C,e,ee){var t=e.length-1;switch(C){case 8:this.$=e[t-1];break;case 9:case 10:case 13:case 15:this.$=e[t];break;case 11:case 14:this.$=e[t-2]+"."+e[t];break;case 12:case 16:this.$=e[t-1]+e[t];break;case 17:case 18:this.$=e[t-1]+"~"+e[t]+"~";break;case 19:l.addRelation(e[t]);break;case 20:e[t-1].title=l.cleanupLabel(e[t]),l.addRelation(e[t-1]);break;case 31:this.$=e[t].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[t].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[t-3],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[t-4],e[t-1][0],e[t-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[t]);break;case 37:this.$=l.addNamespace(e[t-1],e[t]);break;case 38:this.$=[[e[t]],[]];break;case 39:this.$=[[e[t-1]],[]];break;case 40:e[t][0].unshift(e[t-2]),this.$=e[t];break;case 41:this.$=[[],[e[t]]];break;case 42:this.$=[[],[e[t-1]]];break;case 43:e[t][1].unshift(e[t-2]),this.$=e[t];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[t];break;case 48:l.setCssClass(e[t-2],e[t]);break;case 49:l.addMembers(e[t-3],e[t-1]);break;case 51:l.setCssClass(e[t-5],e[t-3]),l.addMembers(e[t-5],e[t-1]);break;case 52:l.addAnnotation(e[t-3],e[t-1]);break;case 53:l.addAnnotation(e[t-6],e[t-4]),l.addMembers(e[t-6],e[t-1]);break;case 54:l.addAnnotation(e[t-5],e[t-3]);break;case 55:this.$=e[t],l.addClass(e[t]);break;case 56:this.$=e[t-1],l.addClass(e[t-1]),l.setClassLabel(e[t-1],e[t]);break;case 60:l.addAnnotation(e[t],e[t-2]);break;case 61:case 74:this.$=[e[t]];break;case 62:e[t].push(e[t-1]),this.$=e[t];break;case 63:break;case 64:l.addMember(e[t-1],l.cleanupLabel(e[t]));break;case 65:break;case 66:break;case 67:this.$={id1:e[t-2],id2:e[t],relation:e[t-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[t-3],id2:e[t],relation:e[t-1],relationTitle1:e[t-2],relationTitle2:"none"};break;case 69:this.$={id1:e[t-3],id2:e[t],relation:e[t-2],relationTitle1:"none",relationTitle2:e[t-1]};break;case 70:this.$={id1:e[t-4],id2:e[t],relation:e[t-2],relationTitle1:e[t-3],relationTitle2:e[t-1]};break;case 71:this.$=l.addNote(e[t],e[t-1]);break;case 72:this.$=l.addNote(e[t]);break;case 73:this.$=e[t-2],l.defineClass(e[t-1],e[t]);break;case 75:this.$=e[t-2].concat([e[t]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[t-2],type2:e[t],lineType:e[t-1]};break;case 81:this.$={type1:"none",type2:e[t],lineType:e[t-1]};break;case 82:this.$={type1:e[t-1],type2:"none",lineType:e[t]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[t]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[t-2],l.setClickEvent(e[t-1],e[t]);break;case 92:case 98:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 93:this.$=e[t-2],l.setLink(e[t-1],e[t]);break;case 94:this.$=e[t-3],l.setLink(e[t-2],e[t-1],e[t]);break;case 95:this.$=e[t-3],l.setLink(e[t-2],e[t-1]),l.setTooltip(e[t-2],e[t]);break;case 96:this.$=e[t-4],l.setLink(e[t-3],e[t-2],e[t]),l.setTooltip(e[t-3],e[t-1]);break;case 99:this.$=e[t-3],l.setClickEvent(e[t-2],e[t-1],e[t]);break;case 100:this.$=e[t-4],l.setClickEvent(e[t-3],e[t-2],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 101:this.$=e[t-3],l.setLink(e[t-2],e[t]);break;case 102:this.$=e[t-4],l.setLink(e[t-3],e[t-1],e[t]);break;case 103:this.$=e[t-4],l.setLink(e[t-3],e[t-1]),l.setTooltip(e[t-3],e[t]);break;case 104:this.$=e[t-5],l.setLink(e[t-4],e[t-2],e[t]),l.setTooltip(e[t-4],e[t-1]);break;case 105:this.$=e[t-2],l.setCssStyle(e[t-1],e[t]);break;case 106:l.setCssClass(e[t-1],e[t]);break;case 107:this.$=[e[t]];break;case 108:e[t-2].push(e[t]),this.$=e[t-2];break;case 110:this.$=e[t-1]+e[t];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Be,[2,5],{8:[1,48]}),{8:[1,49]},s(A,[2,19],{22:[1,50]}),s(A,[2,21]),s(A,[2,22]),s(A,[2,23]),s(A,[2,24]),s(A,[2,25]),s(A,[2,26]),s(A,[2,27]),s(A,[2,28]),s(A,[2,29]),s(A,[2,30]),{34:[1,51]},{36:[1,52]},s(A,[2,33]),s(A,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se}),{39:[1,65]},s(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(A,[2,65]),s(A,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:y},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:y},{13:Me,55:76},{58:78,60:[1,79]},s(A,[2,76]),s(A,[2,77]),s(A,[2,78]),s(A,[2,79]),s(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:y}),s(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:y},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:y},s(ne,[2,133]),s(ne,[2,134]),s(ne,[2,135]),s(ne,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:u,48:h,51:f,52:c,54:m,56:B,57:R,60:b,62:me,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:y},s(A,[2,20]),s(A,[2,31]),s(A,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:y},{53:92,66:56,67:57,68:te,69:se,70:ie,71:ae,72:re,73:_e,74:Se},s(A,[2,64]),{67:93,73:_e,74:Se},s(ue,[2,83],{66:94,68:te,69:se,70:ie,71:ae,72:re}),s(K,[2,84]),s(K,[2,85]),s(K,[2,86]),s(K,[2,87]),s(K,[2,88]),s(Re,[2,89]),s(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:m,56:B},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:le},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:Q,59:110,60:j,82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},{60:[1,122]},{13:Me,55:123},s(S,[2,72]),s(S,[2,138]),{22:W,50:Q,59:124,60:j,61:[1,125],82:X,84:111,85:112,86:H,87:q,88:J,89:Z,90:$},s(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:y},s(G,[2,16]),s(G,[2,17]),s(G,[2,18]),{11:127,12:Ue,39:[2,36]},s(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:y}),s(ce,[2,10]),s(Ne,[2,55],{11:131,12:Ue}),s(Be,[2,7]),{9:[1,132]},s(oe,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:y},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:y},s(ue,[2,82],{66:136,68:te,69:se,70:ie,71:ae,72:re}),s(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:m,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(S,[2,48],{39:[1,142]}),{41:[1,143]},s(S,[2,50]),{41:[2,61],45:144,51:le},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:y},s(A,[2,91],{13:[1,147]}),s(A,[2,93],{13:[1,149],77:[1,148]}),s(A,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(A,[2,105],{61:ze}),s(Ye,[2,107],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(x,[2,109]),s(x,[2,111]),s(x,[2,112]),s(x,[2,113]),s(x,[2,114]),s(x,[2,115]),s(x,[2,116]),s(x,[2,117]),s(x,[2,118]),s(x,[2,119]),s(A,[2,106]),s(S,[2,71]),s(A,[2,73],{61:ze}),{60:[1,155]},s(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:y},s(ce,[2,12]),s(Ne,[2,56]),{1:[2,4]},s(oe,[2,69]),s(oe,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:y},s(ue,[2,80]),s(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:m,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:m,56:B},{45:163,51:le},s(S,[2,49]),{41:[2,62]},s(S,[2,52],{39:[1,164]}),s(A,[2,60]),s(A,[2,92]),s(A,[2,94]),s(A,[2,95],{77:[1,165]}),s(A,[2,98]),s(A,[2,99],{13:[1,166]}),s(A,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:Q,60:j,82:X,84:169,85:112,86:H,87:q,88:J,89:Z,90:$},s(x,[2,110]),s(Ge,[2,75]),{14:[1,170]},s(ce,[2,11]),s(oe,[2,70]),s(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:le},s(A,[2,96]),s(A,[2,100]),s(A,[2,102]),s(A,[2,103],{77:[1,174]}),s(Ye,[2,108],{85:154,22:W,50:Q,60:j,82:X,86:H,87:q,88:J,89:Z,90:$}),s(Ne,[2,8]),s(S,[2,51]),{41:[1,175]},s(S,[2,54]),s(A,[2,104]),s(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(o,d){if(d.recoverable)this.trace(o);else{var p=new Error(o);throw p.hash=d,p}},"parseError"),parse:g(function(o){var d=this,p=[0],l=[],C=[null],e=[],ee=this.table,t="",de=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),D=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);D.setInput(o,V.yy),V.yy.lexer=D,V.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var ve=D.yylloc;e.push(ve);var et=D.options&&D.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){p.length=p.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=l.pop()||D.lex()||We,typeof N!="number"&&(N instanceof Array&&(l=N,N=l.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},pe,v,je,Ae;;){if(P=p[p.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=ee[P]&&ee[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";Ae=[];for(pe in ee[P])this.terminals_[pe]&&pe>Ze&&Ae.push("'"+this.terminals_[pe]+"'");D.showPosition?Oe="Parse error on line "+(de+1)+`: `+D.showPosition()+` Expecting `+Ae.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Oe="Parse error on line "+(de+1)+": Unexpected "+(_==We?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Oe,{text:D.match,token:this.terminals_[_]||_,line:D.yylineno,loc:ve,expected:Ae})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+_);switch(L[0]){case 1:p.push(_),C.push(D.yytext),e.push(D.yylloc),p.push(L[1]),_=null,Ke=D.yyleng,t=D.yytext,de=D.yylineno,ve=D.yylloc;break;case 2:if(v=this.productions_[L[1]][1],U.$=C[C.length-v],U._$={first_line:e[e.length-(v||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(v||1)].first_column,last_column:e[e.length-1].last_column},et&&(U._$.range=[e[e.length-(v||1)].range[0],e[e.length-1].range[1]]),Ie=this.performAction.apply(U,[t,Ke,de,V.yy,L[1],C,e].concat($e)),typeof Ie<"u")return Ie;v&&(p=p.slice(0,-1*v*2),C=C.slice(0,-1*v),e=e.slice(0,-1*v)),p.push(this.productions_[L[1]][0]),C.push(U.$),e.push(U._$),je=ee[p[p.length-2]][p[p.length-1]],p.push(je);break;case 3:return!0}}return!0},"parse")},Je=function(){var O={EOF:1,parseError:g(function(d,p){if(this.yy.parser)this.yy.parser.parseError(d,p);else throw new Error(d)},"parseError"),setInput:g(function(o,d){return this.yy=d||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:g(function(o){var d=o.length,p=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===l.length?this.yylloc.first_column:0)+l[l.length-p.length].length-p[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(o){this.unput(this.match.slice(o))},"less"),pastInput:g(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-8-vh9tdk.js b/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-DKTpV34k.js similarity index 78% rename from veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-8-vh9tdk.js rename to veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-DKTpV34k.js index 78bec7ad1..db2bfbd4a 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-8-vh9tdk.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-JWPE2WC7-DKTpV34k.js @@ -1 +1 @@ -import{a as l}from"./mermaid.core-OQ-NoIeH.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; +import{a as l}from"./mermaid.core-DAX2QfGO.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-svjqEuWZ.js b/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-BJQBtkor.js similarity index 87% rename from veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-svjqEuWZ.js rename to veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-BJQBtkor.js index f55c5cb28..3b4297856 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-svjqEuWZ.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-KBJHAD2P-BJQBtkor.js @@ -1 +1 @@ -import{a,B as w,at as x}from"./mermaid.core-OQ-NoIeH.js";var g=a((t,e,i,o)=>{t.attr("class",i);const{width:r,height:h,x:n,y:c}=u(t,e);w(t,h,r,o);const s=B(n,c,r,h,e);t.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${e}`)},"setupViewPortForSVG"),u=a((t,e)=>{var o;const i=((o=t.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+e*2,height:i.height+e*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),B=a((t,e,i,o,r)=>`${t-r} ${e-r} ${i} ${o}`,"createViewBox");export{g as s}; +import{a,B as w,at as x}from"./mermaid.core-DAX2QfGO.js";var g=a((t,e,i,o)=>{t.attr("class",i);const{width:r,height:h,x:n,y:c}=u(t,e);w(t,h,r,o);const s=B(n,c,r,h,e);t.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${e}`)},"setupViewPortForSVG"),u=a((t,e)=>{var o;const i=((o=t.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+e*2,height:i.height+e*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),B=a((t,e,i,o,r)=>`${t-r} ${e-r} ${i} ${o}`,"createViewBox");export{g as s}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Cqxp3wyY.js b/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-8wtkB9Bx.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Cqxp3wyY.js rename to veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-8wtkB9Bx.js index 859e0c554..310d1d267 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-Cqxp3wyY.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-RYQCIY6F-8wtkB9Bx.js @@ -1 +1 @@ -import{a as d,at as i}from"./mermaid.core-OQ-NoIeH.js";import{Q as C,G as y}from"../../chunks/graph-Dqkl27Ch.js";import{c as j,m as X}from"../../chunks/map-8WAJQ6ap.js";var p=4;function F(e){return j(e,p)}function b(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:R(e)};return C(e.graph())||(r.value=F(e.graph())),r}function M(e){return X(e.nodes(),function(r){var s=e.node(r),n=e.parent(r),a={v:r};return C(s)||(a.value=s),C(n)||(a.parent=n),a})}function R(e){return X(e.edges(),function(r){var s=e.edge(r),n={v:r.v,w:r.w};return C(r.name)||(n.name=r.name),C(s)||(n.value=s),n})}var c=new Map,v=new Map,A=new Map,J=d(()=>{v.clear(),A.clear(),c.clear()},"clear"),g=d((e,r)=>{const s=v.get(r)||[];return i.trace("In isDescendant",r," ",e," = ",s.includes(e)),s.includes(e)},"isDescendant"),_=d((e,r)=>{const s=v.get(r)||[];return i.info("Descendants of ",r," is ",s),i.info("Edge is ",e),e.v===r||e.w===r?!1:s?s.includes(e.v)||g(e.v,r)||g(e.w,r)||s.includes(e.w):(i.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),x=d((e,r,s,n)=>{i.warn("Copying children of ",e,"root",n,"data",r.node(e),n);const a=r.children(e)||[];e!==n&&a.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",a),a.forEach(o=>{if(r.children(o).length>0)x(o,r,s,n);else{const l=r.node(o);i.info("cp ",o," to ",n," with parent ",e),s.setNode(o,l),n!==r.parent(o)&&(i.warn("Setting parent",o,r.parent(o)),s.setParent(o,r.parent(o))),e!==n&&o!==e?(i.debug("Setting parent",o,e),s.setParent(o,e)):(i.info("In copy ",e,"root",n,"data",r.node(e),n),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==n,"node!==clusterId",o!==e));const u=r.edges(o);i.debug("Copying Edges",u),u.forEach(t=>{i.info("Edge",t);const f=r.edge(t.v,t.w,t.name);i.info("Edge data",f,n);try{if(_(t,n)){const w=v.get(n)||[],m=w.includes(t.v)||g(t.v,n)||t.v===n,D=w.includes(t.w)||g(t.w,n)||t.w===n;if(m&&D)i.info("Copying as ",t.v,t.w,f,t.name),s.setEdge(t.v,t.w,f,t.name),i.info("newGraph edges ",s.edges(),s.edge(s.edges()[0]));else{const N=m?n:t.v,h=D?n:t.w;i.info("Rebinding cross-boundary edge as ",N,h,f,t.name),r.setEdge(N,h,f,t.name)}}else i.info("Skipping copy of edge ",t.v,"-->",t.w," rootId: ",n," clusterId:",e)}catch(w){i.error(w)}})}i.debug("Removing node",o),r.removeNode(o)})},"copy"),O=d((e,r)=>{const s=r.children(e);let n=[...s];for(const a of s)A.set(a,e),n=[...n,...O(a,r)];return n},"extractDescendants"),P=d((e,r,s)=>{const n=e.edges().filter(t=>t.v===r||t.w===r),a=e.edges().filter(t=>t.v===s||t.w===s),o=n.map(t=>({v:t.v===r?s:t.v,w:t.w===r?r:t.w})),l=a.map(t=>({v:t.v,w:t.w}));return o.filter(t=>l.some(f=>t.v===f.v&&t.w===f.w))},"findCommonEdges"),E=d((e,r,s)=>{const n=r.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return e;let a;for(const o of n){const l=E(o,r,s),u=P(r,s,l);if(l)if(u.length>0)a=l;else return l}return a},"findNonClusterChild"),S=d(e=>!c.has(e)||!c.get(e).externalConnections?e:c.has(e)?c.get(e).id:e,"getAnchorId"),Q=d((e,r)=>{var s;if(!e||r>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",E(n,e,n)),v.set(n,O(n,e)),c.set(n,{id:E(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),o=e.edges();a.length>0?(i.debug("Cluster identified",n,v),o.forEach(l=>{const u=g(l.v,n),t=g(l.w,n);u^t&&(i.warn("Edge: ",l," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",v.get(n)),c.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,v)});for(let n of c.keys()){const a=c.get(n).id,o=e.parent(a);o!==n&&c.has(o)&&!c.get(o).externalConnections&&(c.get(n).id=o);const l=e.edges().some(u=>u.v===n);if(a&&((s=c.get(n))!=null&&s.externalConnections)&&l&&L(e,a,n)){const u=T(e,n,e.parent(a));u&&(c.get(n).id=u)}}e.edges().forEach(function(n){const a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let o=n.v,l=n.w;if(i.warn("Fix XXX",c,"ids:",n.v,n.w,"Translating: ",c.get(n.v)," --- ",c.get(n.w)),c.get(n.v)||c.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),o=S(n.v),l=S(n.w),e.removeEdge(n.v,n.w,n.name),o!==n.v){const u=e.parent(o);c.get(u).externalConnections=!0,a.fromCluster=n.v}if(l!==n.w){const u=e.parent(l);c.get(u).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",o,l,n.name),e.setEdge(o,l,a,n.name)}}),i.warn("Adjusted Graph",b(e)),k(e,0),i.trace(c)},"adjustClustersAndEdges"),k=d((e,r)=>{var a,o,l,u;if(i.warn("extractor - ",r,b(e),e.children("D")),r>10){i.error("Bailing out");return}let s=e.nodes(),n=!1;for(const t of s){const f=e.children(t);n=n||f.length>0}if(!n){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",s,r);for(const t of s)if(i.debug("Extracting node",t,c,c.has(t)&&!c.get(t).externalConnections,!e.parent(t),e.node(t),e.children("D")," Depth ",r),!c.has(t))i.debug("Not a cluster",t,r);else if((o=(a=c.get(t))==null?void 0:a.clusterData)!=null&&o.explicitDir&&e.children(t)&&e.children(t).length>0){i.warn("Cluster with explicit dir, creating subgraph for children",t,r);const f=c.get(t).clusterData.dir,w=new y({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,w,t);const m=e.node(t)||{};e.setNode(t,{...m,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:w}),i.warn("Subgraph for cluster with explicit dir created:",t,b(w))}else if(!c.get(t).externalConnections&&e.children(t)&&e.children(t).length>0){i.warn("Cluster without external connections, without a parent and with children",t,r);let w=e.graph().rankdir==="TB"?"LR":"TB";(u=(l=c.get(t))==null?void 0:l.clusterData)!=null&&u.dir&&(w=c.get(t).clusterData.dir,i.warn("Fixing dir",c.get(t).clusterData.dir,w));const m=new y({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,m,t);const D=e.node(t)||{};e.setNode(t,{...D,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:m}),i.debug("Old graph after copy",b(e))}else i.warn("Cluster ** ",t," **not meeting the criteria !externalConnections:",!c.get(t).externalConnections," no parent: ",!e.parent(t)," children ",e.children(t)&&e.children(t).length>0,e.children("D"),r),i.debug(c);s=e.nodes(),i.warn("New list of nodes",s);for(const t of s){const f=e.node(t);i.warn(" Now next level",t,f),f!=null&&f.clusterNode&&k(f.graph,r+1)}},"extractor"),B=d((e,r)=>{if(r.length===0)return[];let s=Object.assign([],r);return r.forEach(n=>{const a=e.children(n),o=B(e,a);s=[...s,...o]}),s},"sorter"),U=d(e=>B(e,e.children()),"sortNodesByHierarchy"),L=d((e,r,s)=>{let n=e.parent(r);for(;n&&n!==s;){const a=c.get(n);if(a&&!a.externalConnections)return!0;n=e.parent(n)}return!1},"isNodeInExtractableCluster"),T=d((e,r,s)=>{const n=e.children(r)??[];for(const a of n){if(a===s||g(a,s))continue;const o=E(a,e,r);if(o&&!L(e,o,r))return o}return null},"findSafeAnchorNode");export{Q as a,c as b,J as c,E as f,U as s,b as w}; +import{a as d,at as i}from"./mermaid.core-DAX2QfGO.js";import{Q as C,G as y}from"../../chunks/graph-Dqkl27Ch.js";import{c as j,m as X}from"../../chunks/map-8WAJQ6ap.js";var p=4;function F(e){return j(e,p)}function b(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:R(e)};return C(e.graph())||(r.value=F(e.graph())),r}function M(e){return X(e.nodes(),function(r){var s=e.node(r),n=e.parent(r),a={v:r};return C(s)||(a.value=s),C(n)||(a.parent=n),a})}function R(e){return X(e.edges(),function(r){var s=e.edge(r),n={v:r.v,w:r.w};return C(r.name)||(n.name=r.name),C(s)||(n.value=s),n})}var c=new Map,v=new Map,A=new Map,J=d(()=>{v.clear(),A.clear(),c.clear()},"clear"),g=d((e,r)=>{const s=v.get(r)||[];return i.trace("In isDescendant",r," ",e," = ",s.includes(e)),s.includes(e)},"isDescendant"),_=d((e,r)=>{const s=v.get(r)||[];return i.info("Descendants of ",r," is ",s),i.info("Edge is ",e),e.v===r||e.w===r?!1:s?s.includes(e.v)||g(e.v,r)||g(e.w,r)||s.includes(e.w):(i.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),x=d((e,r,s,n)=>{i.warn("Copying children of ",e,"root",n,"data",r.node(e),n);const a=r.children(e)||[];e!==n&&a.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",a),a.forEach(o=>{if(r.children(o).length>0)x(o,r,s,n);else{const l=r.node(o);i.info("cp ",o," to ",n," with parent ",e),s.setNode(o,l),n!==r.parent(o)&&(i.warn("Setting parent",o,r.parent(o)),s.setParent(o,r.parent(o))),e!==n&&o!==e?(i.debug("Setting parent",o,e),s.setParent(o,e)):(i.info("In copy ",e,"root",n,"data",r.node(e),n),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==n,"node!==clusterId",o!==e));const u=r.edges(o);i.debug("Copying Edges",u),u.forEach(t=>{i.info("Edge",t);const f=r.edge(t.v,t.w,t.name);i.info("Edge data",f,n);try{if(_(t,n)){const w=v.get(n)||[],m=w.includes(t.v)||g(t.v,n)||t.v===n,D=w.includes(t.w)||g(t.w,n)||t.w===n;if(m&&D)i.info("Copying as ",t.v,t.w,f,t.name),s.setEdge(t.v,t.w,f,t.name),i.info("newGraph edges ",s.edges(),s.edge(s.edges()[0]));else{const N=m?n:t.v,h=D?n:t.w;i.info("Rebinding cross-boundary edge as ",N,h,f,t.name),r.setEdge(N,h,f,t.name)}}else i.info("Skipping copy of edge ",t.v,"-->",t.w," rootId: ",n," clusterId:",e)}catch(w){i.error(w)}})}i.debug("Removing node",o),r.removeNode(o)})},"copy"),O=d((e,r)=>{const s=r.children(e);let n=[...s];for(const a of s)A.set(a,e),n=[...n,...O(a,r)];return n},"extractDescendants"),P=d((e,r,s)=>{const n=e.edges().filter(t=>t.v===r||t.w===r),a=e.edges().filter(t=>t.v===s||t.w===s),o=n.map(t=>({v:t.v===r?s:t.v,w:t.w===r?r:t.w})),l=a.map(t=>({v:t.v,w:t.w}));return o.filter(t=>l.some(f=>t.v===f.v&&t.w===f.w))},"findCommonEdges"),E=d((e,r,s)=>{const n=r.children(e);if(i.trace("Searching children of id ",e,n),n.length<1)return e;let a;for(const o of n){const l=E(o,r,s),u=P(r,s,l);if(l)if(u.length>0)a=l;else return l}return a},"findNonClusterChild"),S=d(e=>!c.has(e)||!c.get(e).externalConnections?e:c.has(e)?c.get(e).id:e,"getAnchorId"),Q=d((e,r)=>{var s;if(!e||r>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",E(n,e,n)),v.set(n,O(n,e)),c.set(n,{id:E(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),o=e.edges();a.length>0?(i.debug("Cluster identified",n,v),o.forEach(l=>{const u=g(l.v,n),t=g(l.w,n);u^t&&(i.warn("Edge: ",l," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",v.get(n)),c.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,v)});for(let n of c.keys()){const a=c.get(n).id,o=e.parent(a);o!==n&&c.has(o)&&!c.get(o).externalConnections&&(c.get(n).id=o);const l=e.edges().some(u=>u.v===n);if(a&&((s=c.get(n))!=null&&s.externalConnections)&&l&&L(e,a,n)){const u=T(e,n,e.parent(a));u&&(c.get(n).id=u)}}e.edges().forEach(function(n){const a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let o=n.v,l=n.w;if(i.warn("Fix XXX",c,"ids:",n.v,n.w,"Translating: ",c.get(n.v)," --- ",c.get(n.w)),c.get(n.v)||c.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),o=S(n.v),l=S(n.w),e.removeEdge(n.v,n.w,n.name),o!==n.v){const u=e.parent(o);c.get(u).externalConnections=!0,a.fromCluster=n.v}if(l!==n.w){const u=e.parent(l);c.get(u).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",o,l,n.name),e.setEdge(o,l,a,n.name)}}),i.warn("Adjusted Graph",b(e)),k(e,0),i.trace(c)},"adjustClustersAndEdges"),k=d((e,r)=>{var a,o,l,u;if(i.warn("extractor - ",r,b(e),e.children("D")),r>10){i.error("Bailing out");return}let s=e.nodes(),n=!1;for(const t of s){const f=e.children(t);n=n||f.length>0}if(!n){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",s,r);for(const t of s)if(i.debug("Extracting node",t,c,c.has(t)&&!c.get(t).externalConnections,!e.parent(t),e.node(t),e.children("D")," Depth ",r),!c.has(t))i.debug("Not a cluster",t,r);else if((o=(a=c.get(t))==null?void 0:a.clusterData)!=null&&o.explicitDir&&e.children(t)&&e.children(t).length>0){i.warn("Cluster with explicit dir, creating subgraph for children",t,r);const f=c.get(t).clusterData.dir,w=new y({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,w,t);const m=e.node(t)||{};e.setNode(t,{...m,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:w}),i.warn("Subgraph for cluster with explicit dir created:",t,b(w))}else if(!c.get(t).externalConnections&&e.children(t)&&e.children(t).length>0){i.warn("Cluster without external connections, without a parent and with children",t,r);let w=e.graph().rankdir==="TB"?"LR":"TB";(u=(l=c.get(t))==null?void 0:l.clusterData)!=null&&u.dir&&(w=c.get(t).clusterData.dir,i.warn("Fixing dir",c.get(t).clusterData.dir,w));const m=new y({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});x(t,e,m,t);const D=e.node(t)||{};e.setNode(t,{...D,clusterNode:!0,id:t,clusterData:c.get(t).clusterData,label:c.get(t).label,graph:m}),i.debug("Old graph after copy",b(e))}else i.warn("Cluster ** ",t," **not meeting the criteria !externalConnections:",!c.get(t).externalConnections," no parent: ",!e.parent(t)," children ",e.children(t)&&e.children(t).length>0,e.children("D"),r),i.debug(c);s=e.nodes(),i.warn("New list of nodes",s);for(const t of s){const f=e.node(t);i.warn(" Now next level",t,f),f!=null&&f.clusterNode&&k(f.graph,r+1)}},"extractor"),B=d((e,r)=>{if(r.length===0)return[];let s=Object.assign([],r);return r.forEach(n=>{const a=e.children(n),o=B(e,a);s=[...s,...o]}),s},"sorter"),U=d(e=>B(e,e.children()),"sortNodesByHierarchy"),L=d((e,r,s)=>{let n=e.parent(r);for(;n&&n!==s;){const a=c.get(n);if(a&&!a.externalConnections)return!0;n=e.parent(n)}return!1},"isNodeInExtractableCluster"),T=d((e,r,s)=>{const n=e.children(r)??[];for(const a of n){if(a===s||g(a,s))continue;const o=E(a,e,r);if(o&&!L(e,o,r))return o}return null},"findSafeAnchorNode");export{Q as a,c as b,J as c,E as f,U as s,b as w}; diff --git a/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-Du2hH_W_.js b/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-DqdKXcqv.js similarity index 52% rename from veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-Du2hH_W_.js rename to veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-DqdKXcqv.js index 56acc81ec..1cd8f3d43 100644 --- a/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-Du2hH_W_.js +++ b/veadk/webui/assets/visualizations/mermaid/chunk-XXDRQBXY-DqdKXcqv.js @@ -1 +1 @@ -import{a as n}from"./mermaid.core-OQ-NoIeH.js";import{ad as o}from"../../app/index-Bj9lylJf.js";var g=n((t,e)=>{let a;return e==="sandbox"&&(a=o("#i"+t)),(e==="sandbox"?o(a.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g}; +import{a as n}from"./mermaid.core-DAX2QfGO.js";import{ad as o}from"../../app/index-sh8QRNzm.js";var g=n((t,e)=>{let a;return e==="sandbox"&&(a=o("#i"+t)),(e==="sandbox"?o(a.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DN0k_PIr.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DN0k_PIr.js new file mode 100644 index 000000000..b107bb956 --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-DN0k_PIr.js @@ -0,0 +1 @@ +import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-CcKNV6UO.js";import{a as i}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import"./chunk-5VM5RSS4-DW5_javj.js";import"./chunk-XXDRQBXY-DqdKXcqv.js";import"./chunk-KBJHAD2P-BJQBtkor.js";import"./chunk-2GRJ4B5K-8JeziMcZ.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-zSKdSbJy.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-zSKdSbJy.js deleted file mode 100644 index b1a90bc6f..000000000 --- a/veadk/webui/assets/visualizations/mermaid/classDiagram-JCYQIIEL-zSKdSbJy.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-DqMkuj7n.js";import{a as i}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import"./chunk-5VM5RSS4-CT700Zc5.js";import"./chunk-XXDRQBXY-Du2hH_W_.js";import"./chunk-KBJHAD2P-svjqEuWZ.js";import"./chunk-2GRJ4B5K-B2asRype.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DN0k_PIr.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DN0k_PIr.js new file mode 100644 index 000000000..b107bb956 --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-DN0k_PIr.js @@ -0,0 +1 @@ +import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-CcKNV6UO.js";import{a as i}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import"./chunk-5VM5RSS4-DW5_javj.js";import"./chunk-XXDRQBXY-DqdKXcqv.js";import"./chunk-KBJHAD2P-BJQBtkor.js";import"./chunk-2GRJ4B5K-8JeziMcZ.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-zSKdSbJy.js b/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-zSKdSbJy.js deleted file mode 100644 index b1a90bc6f..000000000 --- a/veadk/webui/assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-zSKdSbJy.js +++ /dev/null @@ -1 +0,0 @@ -import{s as a,a as s,c as e,C as t}from"./chunk-GF5L2VYU-DqMkuj7n.js";import{a as i}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import"./chunk-5VM5RSS4-CT700Zc5.js";import"./chunk-XXDRQBXY-Du2hH_W_.js";import"./chunk-KBJHAD2P-svjqEuWZ.js";import"./chunk-2GRJ4B5K-B2asRype.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DtOdEs-G.js b/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-CPiC1B6a.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DtOdEs-G.js rename to veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-CPiC1B6a.js index c35e9f8b2..83071cc6a 100644 --- a/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DtOdEs-G.js +++ b/veadk/webui/assets/visualizations/mermaid/cose-bilkent-JH36ORCC-CPiC1B6a.js @@ -1 +1 @@ -import{a as V,at as k}from"./mermaid.core-OQ-NoIeH.js";import{c as J}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as $,N as lt,ad as gt}from"../../app/index-Bj9lylJf.js";var tt={exports:{}},Z={exports:{}},Q={exports:{}},q;function ut(){return q||(q=1,function(G,b){(function(I,T){G.exports=T()})($,function(){return function(N){var I={};function T(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,T),e.l=!0,e.exports}return T.m=N,T.c=I,T.i=function(o){return o},T.d=function(o,e,t){T.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},T.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return T.d(e,"a",e),e},T.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},T.p="",T(T.s=26)}([function(N,I,T){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o},function(N,I,T){var o=T(2),e=T(8),t=T(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i},function(N,I,T){function o(e){this.vGraphObject=e}N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(13),i=T(0),l=T(16),g=T(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n},function(N,I,T){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(0),i=T(6),l=T(3),g=T(1),n=T(13),d=T(12),r=T(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var E=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(E.source=v,E.target=D,E.isInterGraph=!1,this.getEdges().push(E),v.edges.push(E),D!=v&&D.edges.push(E),E)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,E=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,E,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?E=y[0].getParent().paddingLeft:E=this.margin,this.left=v-E,this.top=p-E,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,E=-e.MAX_VALUE,y,O,s,f,c,L=this.nodes,A=L.length,m=0;my&&(v=y),Ds&&(u=s),Ey&&(v=y),Ds&&(u=s),E=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h},function(N,I,T){var o,e=T(1);function t(i){o=T(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=L,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,C=!0):(l[0]=p,l[1]=a,C=!0):S===w&&(g>d?(l[0]=h,l[1]=a,C=!0):(l[0]=u,l[1]=D,C=!0)),-Y===w?d>g?(l[2]=c,l[3]=L,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=L,M=!0)),C&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!C)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+E*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-E*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-R/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=L,_=d+R/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,E=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,L=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,L=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*L-f*c)/A,E=(O*c-y*L)/A,new o(u,E))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o},function(N,I,T){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o},function(N,I,T){var o=function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e},function(N,I,T){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),E.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(R,1)}E=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(L,1);var A=O.getNeighborsList();A.forEach(function(C){if(v.indexOf(C)<0){var M=D.get(C),S=M-1;S==1&&f.push(C),D.set(C,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,E=p[0])}return E},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h},function(N,I,T){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o},function(N,I,T){var o=T(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e},function(N,I,T){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),E=new Set,a=0;ay||E>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||E>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l}();N.exports=i},function(N,I,T){var o=function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(L){return f.has(L)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var C;for(C=0;CL&&(L=Math.floor(R.y)),m=Math.floor(R.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-R.x/2,r.WORLD_CENTER_Y-R.y/2))},y.radialLayout=function(s,f,c){var L=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,L);var A=u.calculateBounds(s),m=new E;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var R=0;R1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(L-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var j=(c+F*W)%360,ht=(j+W)%360;y.branchRadialLayout(K,s,j,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],L=this.graphManager.getAllNodes(),A=0;A"u"&&(f[C]=[]),f[C]=f[C].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,L=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,L,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var L=s.idToDummyNode[c],A=L.paddingLeft,m=L.paddingTop;s.adjustLocations(f[c],L.rect.x,L.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var L=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,L=0;LM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(L){var A=f[L];c.tiledMemberPack[L]=c.tileNodes(s[L],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[L].width,A.rect.height=c.tiledMemberPack[L].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,L=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:L};s.sort(function(C,M){return C.rect.width*C.rect.height>M.rect.width*M.rect.height?-1:C.rect.width*C.rect.height0&&(R+=s.horizontalPadding),s.rowWidth[c]=R,s.width0&&(C+=s.verticalPadding);var M=0;C>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=C,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,L=0;Lc&&(f=L,c=s.rowWidth[L]);return f},y.prototype.canAddHorizontal=function(s,f,c){var L=this.getShortestRowIndex(s);if(L<0)return!0;var A=s.rowWidth[L];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[L]0&&(m=c+s.verticalPadding-s.rowHeight[L]);var R;s.width-A>=f+s.horizontalPadding?R=(s.height+m)/(A+f+s.horizontalPadding):R=(s.height+m)/s.width,m=c+s.verticalPadding;var C;return s.widthm&&f!=c){L.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,C=0;CR&&(R=L[C].height);f>0&&(R+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=R,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(m0)for(var F=R;F<=C;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var C;C=E.getGraphManager().add(E.newGraph(),c),this.processChildrenList(C,f,E)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v}])})})(tt);var ct=tt.exports;const pt=lt(ct);J.use(pt);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(T=>{["id","label","height","width","padding","x","y"].includes(T)||(I[T]=N[T])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(T=>{["id","start","end"].includes(T)||(I[T]=N[T])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=gt("body").append("div").attr("id","cy").attr("style","display:none"),I=J({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const T={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(T).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),T={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(T[o]=N[o])}),T})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,T={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(T[o]=N[o])}),T})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),T=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${T.length} edges`),{nodes:I,edges:T}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var dt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:T,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const E={...u};n[u.id]=E,g[u.id]=E,await N(r,u)}else{const E={...u};g[u.id]=E;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();E.width=O.width,E.height=O.height,E.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const E=g[u.id];return{...u,width:E.width,height:E.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const E=g[u.id];E!=null&&E.domId&&(E.domId.attr("transform",`translate(${u.x}, ${u.y})`),E.x=u.x,E.y=u.y,t.debug(`Positioned node ${E.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const E=G.edges.find(y=>y.id===u.id);E&&(E.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await T(a,u);const E=g[u.start??""],y=g[u.end??""];if(E&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:E.x||0,y:E.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Lt=dt;export{Lt as render}; +import{a as V,at as k}from"./mermaid.core-DAX2QfGO.js";import{c as J}from"../../chunks/cytoscape.esm-Dz9tvMTw.js";import{q as $,N as lt,ad as gt}from"../../app/index-sh8QRNzm.js";var tt={exports:{}},Z={exports:{}},Q={exports:{}},q;function ut(){return q||(q=1,function(G,b){(function(I,T){G.exports=T()})($,function(){return function(N){var I={};function T(o){if(I[o])return I[o].exports;var e=I[o]={i:o,l:!1,exports:{}};return N[o].call(e.exports,e,e.exports,T),e.l=!0,e.exports}return T.m=N,T.c=I,T.i=function(o){return o},T.d=function(o,e,t){T.o(o,e)||Object.defineProperty(o,e,{configurable:!1,enumerable:!0,get:t})},T.n=function(o){var e=o&&o.__esModule?function(){return o.default}:function(){return o};return T.d(e,"a",e),e},T.o=function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},T.p="",T(T.s=26)}([function(N,I,T){function o(){}o.QUALITY=1,o.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,o.DEFAULT_INCREMENTAL=!1,o.DEFAULT_ANIMATION_ON_LAYOUT=!0,o.DEFAULT_ANIMATION_DURING_LAYOUT=!1,o.DEFAULT_ANIMATION_PERIOD=50,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,o.DEFAULT_GRAPH_MARGIN=15,o.NODE_DIMENSIONS_INCLUDE_LABELS=!1,o.SIMPLE_NODE_SIZE=40,o.SIMPLE_NODE_HALF_SIZE=o.SIMPLE_NODE_SIZE/2,o.EMPTY_COMPOUND_NODE_SIZE=40,o.MIN_EDGE_LENGTH=1,o.WORLD_BOUNDARY=1e6,o.INITIAL_WORLD_BOUNDARY=o.WORLD_BOUNDARY/1e3,o.WORLD_CENTER_X=1200,o.WORLD_CENTER_Y=900,N.exports=o},function(N,I,T){var o=T(2),e=T(8),t=T(9);function i(g,n,d){o.call(this,d),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=d,this.bendpoints=[],this.source=g,this.target=n}i.prototype=Object.create(o.prototype);for(var l in o)i[l]=o[l];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,n){for(var d=this.getOtherEnd(g),r=n.getGraphManager().getRoot();;){if(d.getOwner()==n)return d;if(d.getOwner()==r)break;d=d.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=t.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=t.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},N.exports=i},function(N,I,T){function o(e){this.vGraphObject=e}N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(13),i=T(0),l=T(16),g=T(4);function n(r,h,a,p){a==null&&p==null&&(p=h),o.call(this,p),r.graphManager!=null&&(r=r.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=p,this.edges=[],this.graphManager=r,a!=null&&h!=null?this.rect=new t(h.x,h.y,a.width,a.height):this.rect=new t}n.prototype=Object.create(o.prototype);for(var d in o)n[d]=o[d];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(r){this.rect.width=r},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(r){this.rect.height=r},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(r,h){this.rect.x=r.x,this.rect.y=r.y,this.rect.width=h.width,this.rect.height=h.height},n.prototype.setCenter=function(r,h){this.rect.x=r-this.rect.width/2,this.rect.y=h-this.rect.height/2},n.prototype.setLocation=function(r,h){this.rect.x=r,this.rect.y=h},n.prototype.moveBy=function(r,h){this.rect.x+=r,this.rect.y+=h},n.prototype.getEdgeListToNode=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(p.target==r){if(p.source!=a)throw"Incorrect edge source!";h.push(p)}}),h},n.prototype.getEdgesBetween=function(r){var h=[],a=this;return a.edges.forEach(function(p){if(!(p.source==a||p.target==a))throw"Incorrect edge source and/or target";(p.target==r||p.source==r)&&h.push(p)}),h},n.prototype.getNeighborsList=function(){var r=new Set,h=this;return h.edges.forEach(function(a){if(a.source==h)r.add(a.target);else{if(a.target!=h)throw"Incorrect incidency!";r.add(a.source)}}),r},n.prototype.withChildren=function(){var r=new Set,h,a;if(r.add(this),this.child!=null)for(var p=this.child.getNodes(),v=0;vh&&(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)),this.labelHeight>a&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-a)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-a),this.setHeight(this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(r){var h=this.rect.x;h>i.WORLD_BOUNDARY?h=i.WORLD_BOUNDARY:h<-i.WORLD_BOUNDARY&&(h=-i.WORLD_BOUNDARY);var a=this.rect.y;a>i.WORLD_BOUNDARY?a=i.WORLD_BOUNDARY:a<-i.WORLD_BOUNDARY&&(a=-i.WORLD_BOUNDARY);var p=new g(h,a),v=r.inverseTransformPoint(p);this.setLocation(v.x,v.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},N.exports=n},function(N,I,T){function o(e,t){e==null&&t==null?(this.x=0,this.y=0):(this.x=e,this.y=t)}o.prototype.getX=function(){return this.x},o.prototype.getY=function(){return this.y},o.prototype.setX=function(e){this.x=e},o.prototype.setY=function(e){this.y=e},o.prototype.getDifference=function(e){return new DimensionD(this.x-e.x,this.y-e.y)},o.prototype.getCopy=function(){return new o(this.x,this.y)},o.prototype.translate=function(e){return this.x+=e.width,this.y+=e.height,this},N.exports=o},function(N,I,T){var o=T(2),e=T(10),t=T(0),i=T(6),l=T(3),g=T(1),n=T(13),d=T(12),r=T(11);function h(p,v,D){o.call(this,D),this.estimatedSize=e.MIN_VALUE,this.margin=t.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,v!=null&&v instanceof i?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}h.prototype=Object.create(o.prototype);for(var a in o)h[a]=o[a];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(p,v,D){if(v==null&&D==null){var u=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var E=p;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(D)>-1))throw"Source or target not in graph!";if(!(v.owner==D.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=D.owner?null:(E.source=v,E.target=D,E.isInterGraph=!1,this.getEdges().push(E),v.edges.push(E),D!=v&&D.edges.push(E),E)}},h.prototype.remove=function(p){var v=p;if(p instanceof l){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var D=v.edges.slice(),u,E=D.length,y=0;y-1&&f>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(s,1),u.target!=u.source&&u.target.edges.splice(f,1);var O=u.source.owner.getEdges().indexOf(u);if(O==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(O,1)}},h.prototype.updateLeftTop=function(){for(var p=e.MAX_VALUE,v=e.MAX_VALUE,D,u,E,y=this.getNodes(),O=y.length,s=0;sD&&(p=D),v>u&&(v=u)}return p==e.MAX_VALUE?null:(y[0].getParent().paddingLeft!=null?E=y[0].getParent().paddingLeft:E=this.margin,this.left=v-E,this.top=p-E,new d(this.left,this.top))},h.prototype.updateBounds=function(p){for(var v=e.MAX_VALUE,D=-e.MAX_VALUE,u=e.MAX_VALUE,E=-e.MAX_VALUE,y,O,s,f,c,L=this.nodes,A=L.length,m=0;my&&(v=y),Ds&&(u=s),Ey&&(v=y),Ds&&(u=s),E=this.nodes.length){var A=0;D.forEach(function(m){m.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},N.exports=h},function(N,I,T){var o,e=T(1);function t(i){o=T(5),this.layout=i,this.graphs=[],this.edges=[]}t.prototype.addRoot=function(){var i=this.layout.newGraph(),l=this.layout.newNode(null),g=this.add(i,l);return this.setRootGraph(g),this.rootGraph},t.prototype.add=function(i,l,g,n,d){if(g==null&&n==null&&d==null){if(i==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return i.parent=l,l.child=i,i}else{d=g,n=l,g=i;var r=n.getOwner(),h=d.getOwner();if(!(r!=null&&r.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(r==h)return g.isInterGraph=!1,r.add(g,n,d);if(g.isInterGraph=!0,g.source=n,g.target=d,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},t.prototype.remove=function(i){if(i instanceof o){var l=i;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(l.getEdges());for(var n,d=g.length,r=0;r=i.getRight()?l[0]+=Math.min(i.getX()-t.getX(),t.getRight()-i.getRight()):i.getX()<=t.getX()&&i.getRight()>=t.getRight()&&(l[0]+=Math.min(t.getX()-i.getX(),i.getRight()-t.getRight())),t.getY()<=i.getY()&&t.getBottom()>=i.getBottom()?l[1]+=Math.min(i.getY()-t.getY(),t.getBottom()-i.getBottom()):i.getY()<=t.getY()&&i.getBottom()>=t.getBottom()&&(l[1]+=Math.min(t.getY()-i.getY(),i.getBottom()-t.getBottom()));var d=Math.abs((i.getCenterY()-t.getCenterY())/(i.getCenterX()-t.getCenterX()));i.getCenterY()===t.getCenterY()&&i.getCenterX()===t.getCenterX()&&(d=1);var r=d*l[0],h=l[1]/d;l[0]r)return l[0]=g,l[1]=a,l[2]=d,l[3]=L,!1;if(nd)return l[0]=h,l[1]=n,l[2]=f,l[3]=r,!1;if(gd?(l[0]=v,l[1]=D,C=!0):(l[0]=p,l[1]=a,C=!0):S===w&&(g>d?(l[0]=h,l[1]=a,C=!0):(l[0]=u,l[1]=D,C=!0)),-Y===w?d>g?(l[2]=c,l[3]=L,M=!0):(l[2]=f,l[3]=s,M=!0):Y===w&&(d>g?(l[2]=O,l[3]=s,M=!0):(l[2]=A,l[3]=L,M=!0)),C&&M)return!1;if(g>d?n>r?(x=this.getCardinalDirection(S,w,4),F=this.getCardinalDirection(Y,w,2)):(x=this.getCardinalDirection(-S,w,3),F=this.getCardinalDirection(-Y,w,1)):n>r?(x=this.getCardinalDirection(-S,w,1),F=this.getCardinalDirection(-Y,w,3)):(x=this.getCardinalDirection(S,w,2),F=this.getCardinalDirection(Y,w,4)),!C)switch(x){case 1:P=a,U=g+-y/w,l[0]=U,l[1]=P;break;case 2:U=u,P=n+E*w,l[0]=U,l[1]=P;break;case 3:P=D,U=g+y/w,l[0]=U,l[1]=P;break;case 4:U=v,P=n+-E*w,l[0]=U,l[1]=P;break}if(!M)switch(F){case 1:X=s,_=d+-R/w,l[2]=_,l[3]=X;break;case 2:_=A,X=r+m*w,l[2]=_,l[3]=X;break;case 3:X=L,_=d+R/w,l[2]=_,l[3]=X;break;case 4:_=c,X=r+-m*w,l[2]=_,l[3]=X;break}}return!1},e.getCardinalDirection=function(t,i,l){return t>i?l:1+l%4},e.getIntersection=function(t,i,l,g){if(g==null)return this.getIntersection2(t,i,l);var n=t.x,d=t.y,r=i.x,h=i.y,a=l.x,p=l.y,v=g.x,D=g.y,u=void 0,E=void 0,y=void 0,O=void 0,s=void 0,f=void 0,c=void 0,L=void 0,A=void 0;return y=h-d,s=n-r,c=r*d-n*h,O=D-p,f=a-v,L=v*p-a*D,A=y*f-O*s,A===0?null:(u=(s*L-f*c)/A,E=(O*c-y*L)/A,new o(u,E))},e.angleOfVector=function(t,i,l,g){var n=void 0;return t!==l?(n=Math.atan((g-i)/(l-t)),l0?1:e<0?-1:0},o.floor=function(e){return e<0?Math.ceil(e):Math.floor(e)},o.ceil=function(e){return e<0?Math.floor(e):Math.ceil(e)},N.exports=o},function(N,I,T){function o(){}o.MAX_VALUE=2147483647,o.MIN_VALUE=-2147483648,N.exports=o},function(N,I,T){var o=function(){function n(d,r){for(var h=0;h"u"?"undefined":o(t);return t==null||i!="object"&&i!="function"},N.exports=e},function(N,I,T){function o(a){if(Array.isArray(a)){for(var p=0,v=Array(a.length);p0&&p;){for(y.push(s[0]);y.length>0&&p;){var f=y[0];y.splice(0,1),E.add(f);for(var c=f.getEdges(),u=0;u-1&&s.splice(R,1)}E=new Set,O=new Map}}return a},h.prototype.createDummyNodesForBendpoints=function(a){for(var p=[],v=a.source,D=this.graphManager.calcLowestCommonAncestor(a.source,a.target),u=0;u0){for(var D=this.edgeToDummyNodes.get(v),u=0;u=0&&p.splice(L,1);var A=O.getNeighborsList();A.forEach(function(C){if(v.indexOf(C)<0){var M=D.get(C),S=M-1;S==1&&f.push(C),D.set(C,S)}})}v=v.concat(f),(p.length==1||p.length==2)&&(u=!0,E=p[0])}return E},h.prototype.setGraphManager=function(a){this.graphManager=a},N.exports=h},function(N,I,T){function o(){}o.seed=1,o.x=0,o.nextDouble=function(){return o.x=Math.sin(o.seed++)*1e4,o.x-Math.floor(o.x)},N.exports=o},function(N,I,T){var o=T(4);function e(t,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(t){this.lworldExtX=t},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(t){this.lworldExtY=t},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},e.prototype.transformX=function(t){var i=0,l=this.lworldExtX;return l!=0&&(i=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/l),i},e.prototype.transformY=function(t){var i=0,l=this.lworldExtY;return l!=0&&(i=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/l),i},e.prototype.inverseTransformX=function(t){var i=0,l=this.ldeviceExtX;return l!=0&&(i=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/l),i},e.prototype.inverseTransformY=function(t){var i=0,l=this.ldeviceExtY;return l!=0&&(i=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/l),i},e.prototype.inverseTransformPoint=function(t){var i=new o(this.inverseTransformX(t.x),this.inverseTransformY(t.y));return i},N.exports=e},function(N,I,T){function o(r){if(Array.isArray(r)){for(var h=0,a=Array(r.length);ht.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*t.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-t.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT_INCREMENTAL):(r>t.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(t.COOLING_ADAPTATION_FACTOR,1-(r-t.ADAPTATION_LOWER_NODE_LIMIT)/(t.ADAPTATION_UPPER_NODE_LIMIT-t.ADAPTATION_LOWER_NODE_LIMIT)*(1-t.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=t.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var r=this.getAllEdges(),h,a=0;a0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a,p,v,D,u=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%t.GRID_CALCULATION_CHECK_PERIOD==1&&r&&this.updateGrid(),E=new Set,a=0;ay||E>y)&&(r.gravitationForceX=-this.gravityConstant*v,r.gravitationForceY=-this.gravityConstant*D)):(y=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>y||E>y)&&(r.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,r.gravitationForceY=-this.gravityConstant*D*this.compoundGravityConstant))},n.prototype.isConverged=function(){var r,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),r=this.totalDisplacement=u.length||y>=u[0].length)){for(var O=0;On}}]),l}();N.exports=i},function(N,I,T){var o=function(){function i(l,g){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;e(this,i),this.sequence1=l,this.sequence2=g,this.match_score=n,this.mismatch_penalty=d,this.gap_penalty=r,this.iMax=l.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;l--){var g=this.listeners[l];g.event===t&&g.callback===i&&this.listeners.splice(l,1)}},e.emit=function(t,i){for(var l=0;lg.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*t.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,n){for(var d=this.getChild().getNodes(),r,h=0;h0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var f=new Set(this.getAllNodes()),c=this.nodesWithGravity.filter(function(L){return f.has(L)});this.graphManager.setAllNodesToApplyGravitation(c),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),f=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(f),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,L=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,L),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),f={},c=0;c1){var C;for(C=0;CL&&(L=Math.floor(R.y)),m=Math.floor(R.x+n.DEFAULT_COMPONENT_SEPERATION)}this.transform(new a(r.WORLD_CENTER_X-R.x/2,r.WORLD_CENTER_Y-R.y/2))},y.radialLayout=function(s,f,c){var L=Math.max(this.maxDiagonalInTree(s),n.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(f,null,0,359,0,L);var A=u.calculateBounds(s),m=new E;m.setDeviceOrgX(A.getMinX()),m.setDeviceOrgY(A.getMinY()),m.setWorldOrgX(c.x),m.setWorldOrgY(c.y);for(var R=0;R1;){var X=_[0];_.splice(0,1);var H=w.indexOf(X);H>=0&&w.splice(H,1),U--,x--}f!=null?P=(w.indexOf(_[0])+1)%U:P=0;for(var W=Math.abs(L-c)/x,B=P;F!=x;B=++B%U){var K=w[B].getOtherEnd(s);if(K!=f){var j=(c+F*W)%360,ht=(j+W)%360;y.branchRadialLayout(K,s,j,ht,A+m,m),F++}}},y.maxDiagonalInTree=function(s){for(var f=v.MIN_VALUE,c=0;cf&&(f=A)}return f},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var s=this,f={};this.memberGroups={},this.idToDummyNode={};for(var c=[],L=this.graphManager.getAllNodes(),A=0;A"u"&&(f[C]=[]),f[C]=f[C].concat(m)}Object.keys(f).forEach(function(M){if(f[M].length>1){var S="DummyCompound_"+M;s.memberGroups[S]=f[M];var Y=f[M][0].getParent(),w=new l(s.graphManager);w.id=S,w.paddingLeft=Y.paddingLeft||0,w.paddingRight=Y.paddingRight||0,w.paddingBottom=Y.paddingBottom||0,w.paddingTop=Y.paddingTop||0,s.idToDummyNode[S]=w;var x=s.getGraphManager().add(s.newGraph(),w),F=Y.getChild();F.add(w);for(var U=0;U=0;s--){var f=this.compoundOrder[s],c=f.id,L=f.paddingLeft,A=f.paddingTop;this.adjustLocations(this.tiledMemberPack[c],f.rect.x,f.rect.y,L,A)}},y.prototype.repopulateZeroDegreeMembers=function(){var s=this,f=this.tiledZeroDegreePack;Object.keys(f).forEach(function(c){var L=s.idToDummyNode[c],A=L.paddingLeft,m=L.paddingTop;s.adjustLocations(f[c],L.rect.x,L.rect.y,A,m)})},y.prototype.getToBeTiled=function(s){var f=s.id;if(this.toBeTiled[f]!=null)return this.toBeTiled[f];var c=s.getChild();if(c==null)return this.toBeTiled[f]=!1,!1;for(var L=c.getNodes(),A=0;A0)return this.toBeTiled[f]=!1,!1;if(m.getChild()==null){this.toBeTiled[m.id]=!1;continue}if(!this.getToBeTiled(m))return this.toBeTiled[f]=!1,!1}return this.toBeTiled[f]=!0,!0},y.prototype.getNodeDegree=function(s){s.id;for(var f=s.getEdges(),c=0,L=0;LM&&(M=Y.rect.height)}c+=M+s.verticalPadding}},y.prototype.tileCompoundMembers=function(s,f){var c=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(L){var A=f[L];c.tiledMemberPack[L]=c.tileNodes(s[L],A.paddingLeft+A.paddingRight),A.rect.width=c.tiledMemberPack[L].width,A.rect.height=c.tiledMemberPack[L].height})},y.prototype.tileNodes=function(s,f){var c=n.TILING_PADDING_VERTICAL,L=n.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:f,verticalPadding:c,horizontalPadding:L};s.sort(function(C,M){return C.rect.width*C.rect.height>M.rect.width*M.rect.height?-1:C.rect.width*C.rect.height0&&(R+=s.horizontalPadding),s.rowWidth[c]=R,s.width0&&(C+=s.verticalPadding);var M=0;C>s.rowHeight[c]&&(M=s.rowHeight[c],s.rowHeight[c]=C,M=s.rowHeight[c]-M),s.height+=M,s.rows[c].push(f)},y.prototype.getShortestRowIndex=function(s){for(var f=-1,c=Number.MAX_VALUE,L=0;Lc&&(f=L,c=s.rowWidth[L]);return f},y.prototype.canAddHorizontal=function(s,f,c){var L=this.getShortestRowIndex(s);if(L<0)return!0;var A=s.rowWidth[L];if(A+s.horizontalPadding+f<=s.width)return!0;var m=0;s.rowHeight[L]0&&(m=c+s.verticalPadding-s.rowHeight[L]);var R;s.width-A>=f+s.horizontalPadding?R=(s.height+m)/(A+f+s.horizontalPadding):R=(s.height+m)/s.width,m=c+s.verticalPadding;var C;return s.widthm&&f!=c){L.splice(-1,1),s.rows[c].push(A),s.rowWidth[f]=s.rowWidth[f]-m,s.rowWidth[c]=s.rowWidth[c]+m,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,C=0;CR&&(R=L[C].height);f>0&&(R+=s.verticalPadding);var M=s.rowHeight[f]+s.rowHeight[c];s.rowHeight[f]=R,s.rowHeight[c]0)for(var F=A;F<=m;F++)x[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(m0)for(var F=R;F<=C;F++)x[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var U=v.MAX_VALUE,P,_,X=0;X0){var C;C=E.getGraphManager().add(E.newGraph(),c),this.processChildrenList(C,f,E)}}},a.prototype.stop=function(){return this.stopped=!0,this};var v=function(u){u("layout","cose-bilkent",a)};typeof cytoscape<"u"&&v(cytoscape),I.exports=v}])})})(tt);var ct=tt.exports;const pt=lt(ct);J.use(pt);function et(G,b){G.forEach(N=>{const I={id:N.id,labelText:N.label,height:N.height,width:N.width,padding:N.padding??0};Object.keys(N).forEach(T=>{["id","label","height","width","padding","x","y"].includes(T)||(I[T]=N[T])}),b.add({group:"nodes",data:I,position:{x:N.x??0,y:N.y??0}})})}V(et,"addNodes");function rt(G,b){G.forEach(N=>{const I={id:N.id,source:N.start,target:N.end};Object.keys(N).forEach(T=>{["id","start","end"].includes(T)||(I[T]=N[T])}),b.add({group:"edges",data:I})})}V(rt,"addEdges");function it(G){return new Promise(b=>{const N=gt("body").append("div").attr("id","cy").attr("style","display:none"),I=J({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});N.remove(),et(G.nodes,I),rt(G.edges,I),I.nodes().forEach(function(o){o.layoutDimensions=()=>{const e=o.data();return{w:e.width,h:e.height}}});const T={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};I.layout(T).run(),I.ready(o=>{k.info("Cytoscape ready",o),b(I)})})}V(it,"createCytoscapeInstance");function nt(G){return G.nodes().map(b=>{const N=b.data(),I=b.position(),T={id:N.id,x:I.x,y:I.y};return Object.keys(N).forEach(o=>{o!=="id"&&(T[o]=N[o])}),T})}V(nt,"extractPositionedNodes");function ot(G){return G.edges().map(b=>{const N=b.data(),I=b._private.rscratch,T={id:N.id,source:N.source,target:N.target,startX:I.startX,startY:I.startY,midX:I.midX,midY:I.midY,endX:I.endX,endY:I.endY};return Object.keys(N).forEach(o=>{["id","source","target"].includes(o)||(T[o]=N[o])}),T})}V(ot,"extractPositionedEdges");async function st(G,b){k.debug("Starting cose-bilkent layout algorithm");try{at(G);const N=await it(G),I=nt(N),T=ot(N);return k.debug(`Layout completed: ${I.length} nodes, ${T.length} edges`),{nodes:I,edges:T}}catch(N){throw k.error("Error in cose-bilkent layout algorithm:",N),N}}V(st,"executeCoseBilkentLayout");function at(G){if(!G)throw new Error("Layout data is required");if(!G.config)throw new Error("Configuration is required in layout data");if(!G.rootNode)throw new Error("Root node is required");if(!G.nodes||!Array.isArray(G.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(G.edges))throw new Error("Edges array is required in layout data");return!0}V(at,"validateLayoutData");var dt=V(async(G,b,{insertCluster:N,insertEdge:I,insertEdgeLabel:T,insertMarkers:o,insertNode:e,log:t,positionEdgeLabel:i},{algorithm:l})=>{const g={},n={},d=b.select("g");o(d,G.markers,G.type,G.diagramId);const r=d.insert("g").attr("class","subgraphs"),h=d.insert("g").attr("class","edgePaths"),a=d.insert("g").attr("class","edgeLabels"),p=d.insert("g").attr("class","nodes");t.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(G.nodes.map(async u=>{if(u.isGroup){const E={...u};n[u.id]=E,g[u.id]=E,await N(r,u)}else{const E={...u};g[u.id]=E;const y=await e(p,u,{config:G.config,dir:G.direction||"TB"}),O=y.node().getBBox();E.width=O.width,E.height=O.height,E.domId=y,t.debug(`Node ${u.id} dimensions: ${O.width}x${O.height}`)}})),t.debug("Running cose-bilkent layout algorithm");const v={...G,nodes:G.nodes.map(u=>{const E=g[u.id];return{...u,width:E.width,height:E.height}})},D=await st(v,G.config);t.debug("Positioning nodes based on layout results"),D.nodes.forEach(u=>{const E=g[u.id];E!=null&&E.domId&&(E.domId.attr("transform",`translate(${u.x}, ${u.y})`),E.x=u.x,E.y=u.y,t.debug(`Positioned node ${E.id} at center (${u.x}, ${u.y})`))}),D.edges.forEach(u=>{const E=G.edges.find(y=>y.id===u.id);E&&(E.points=[{x:u.startX,y:u.startY},{x:u.midX,y:u.midY},{x:u.endX,y:u.endY}])}),t.debug("Inserting and positioning edges"),await Promise.all(G.edges.map(async u=>{await T(a,u);const E=g[u.start??""],y=g[u.end??""];if(E&&y){const O=D.edges.find(s=>s.id===u.id);if(O){t.debug("APA01 positionedEdge",O);const s={...u},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}else{const s={...u,points:[{x:E.x||0,y:E.y||0},{x:y.x||0,y:y.y||0}]},f=I(h,s,n,G.type,E,y,G.diagramId);i(s,f)}}})),t.debug("Cose-bilkent rendering completed")},"render"),Lt=dt;export{Lt as render}; diff --git a/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-YC-F1ZLy.js b/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-CVRcDGzI.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-YC-F1ZLy.js rename to veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-CVRcDGzI.js index 0e1c55677..625cae38a 100644 --- a/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-YC-F1ZLy.js +++ b/veadk/webui/assets/visualizations/mermaid/cynefin-OW5HDTMX-CVRcDGzI.js @@ -1,4 +1,4 @@ -var dk=Object.defineProperty;var pk=(t,e,r)=>e in t?dk(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Br=(t,e,r)=>pk(t,typeof e!="symbol"?e+"":e,r);import{_ as ut}from"../../app/index-Bj9lylJf.js";var mk=Object.create,Du=Object.defineProperty,hk=Object.getOwnPropertyDescriptor,Th=Object.getOwnPropertyNames,yk=Object.getPrototypeOf,gk=Object.prototype.hasOwnProperty,s=(t,e)=>Du(t,"name",{value:e,configurable:!0}),vk=(t,e)=>function(){return t&&(e=(0,t[Th(t)[0]])(t=0)),e},X=(t,e)=>function(){return e||(0,t[Th(t)[0]])((e={exports:{}}).exports,e),e.exports},tn=(t,e)=>{for(var r in e)Du(t,r,{get:e[r],enumerable:!0})},$h=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Th(e))!gk.call(t,a)&&a!==r&&Du(t,a,{get:()=>e[a],enumerable:!(n=hk(e,a))||n.enumerable});return t},Of=(t,e,r)=>($h(t,e,"default"),r),Rh=(t,e,r)=>(r=t!=null?mk(yk(t)):{},$h(Du(r,"default",{value:t,enumerable:!0}),t)),Ah=t=>$h(Du({},"__esModule",{value:!0}),t),Lf={};tn(Lf,{AnnotatedTextEdit:()=>Ar,ChangeAnnotation:()=>mn,ChangeAnnotationIdentifier:()=>et,CodeAction:()=>Qp,CodeActionContext:()=>Zp,CodeActionKind:()=>Jp,CodeActionTriggerKind:()=>Xl,CodeDescription:()=>Ip,CodeLens:()=>em,Color:()=>Ec,ColorInformation:()=>Ep,ColorPresentation:()=>Cp,Command:()=>pn,CompletionItem:()=>Fp,CompletionItemKind:()=>Op,CompletionItemLabelDetails:()=>Gp,CompletionItemTag:()=>Dp,CompletionList:()=>zp,CreateFile:()=>_a,DeleteFile:()=>wa,Diagnostic:()=>Vl,DiagnosticRelatedInformation:()=>Cc,DiagnosticSeverity:()=>Sp,DiagnosticTag:()=>wp,DocumentHighlight:()=>Wp,DocumentHighlightKind:()=>Kp,DocumentLink:()=>rm,DocumentSymbol:()=>Xp,DocumentUri:()=>$p,EOL:()=>x$,FoldingRange:()=>_p,FoldingRangeKind:()=>bp,FormattingOptions:()=>tm,Hover:()=>jp,InlayHint:()=>fm,InlayHintKind:()=>Sc,InlayHintLabelPart:()=>wc,InlineCompletionContext:()=>gm,InlineCompletionItem:()=>pm,InlineCompletionList:()=>mm,InlineCompletionTriggerKind:()=>hm,InlineValueContext:()=>cm,InlineValueEvaluatableExpression:()=>um,InlineValueText:()=>om,InlineValueVariableLookup:()=>lm,InsertReplaceEdit:()=>Mp,InsertTextFormat:()=>Lp,InsertTextMode:()=>xp,Location:()=>Wl,LocationLink:()=>Ap,MarkedString:()=>Yl,MarkupContent:()=>Ia,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>Hl,ParameterInformation:()=>Bp,Position:()=>oe,Range:()=>te,RenameFile:()=>Sa,SelectedCompletionInfo:()=>ym,SelectionRange:()=>nm,SemanticTokenModifiers:()=>im,SemanticTokenTypes:()=>am,SemanticTokens:()=>sm,SignatureInformation:()=>Up,StringValue:()=>dm,SymbolInformation:()=>Hp,SymbolKind:()=>Vp,SymbolTag:()=>qp,TextDocument:()=>Tm,TextDocumentEdit:()=>ql,TextDocumentIdentifier:()=>Np,TextDocumentItem:()=>kp,TextEdit:()=>ar,URI:()=>Ac,VersionedTextDocumentIdentifier:()=>Pp,WorkspaceChange:()=>M$,WorkspaceEdit:()=>bc,WorkspaceFolder:()=>vm,WorkspaceSymbol:()=>Yp,integer:()=>Rp,uinteger:()=>Kl});var $p,Ac,Rp,Kl,oe,te,Wl,Ap,Ec,Ep,Cp,bp,_p,Cc,Sp,wp,Ip,Vl,pn,ar,mn,et,Ar,ql,_a,Sa,wa,bc,kl,Ud,M$,Np,Pp,Hl,kp,_c,Ia,Op,Lp,Dp,Mp,xp,Gp,Fp,zp,Yl,jp,Bp,Up,Kp,Wp,Vp,qp,Hp,Yp,Xp,Jp,Xl,Zp,Qp,em,tm,rm,nm,am,im,sm,om,lm,um,cm,Sc,wc,fm,dm,pm,mm,hm,ym,gm,vm,x$,Tm,iv,C,Mu=vk({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})($p||($p={})),function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i}(Ac||(Ac={})),function(a){a.MIN_VALUE=-2147483648,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Rp||(Rp={})),function(a){a.MIN_VALUE=0,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Kl||(Kl={})),function(a){function i(u,l){return u===Number.MAX_VALUE&&(u=Kl.MAX_VALUE),l===Number.MAX_VALUE&&(l=Kl.MAX_VALUE),{line:u,character:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&C.uinteger(l.line)&&C.uinteger(l.character)}s(o,"is"),a.is=o}(oe||(oe={})),function(a){function i(u,l,c,f){if(C.uinteger(u)&&C.uinteger(l)&&C.uinteger(c)&&C.uinteger(f))return{start:oe.create(u,l),end:oe.create(c,f)};if(oe.is(u)&&oe.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${f}]`)}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&oe.is(l.start)&&oe.is(l.end)}s(o,"is"),a.is=o}(te||(te={})),function(a){function i(u,l){return{uri:u,range:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(C.string(l.uri)||C.undefined(l.uri))}s(o,"is"),a.is=o}(Wl||(Wl={})),function(a){function i(u,l,c,f){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.targetRange)&&C.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||C.undefined(l.originSelectionRange))}s(o,"is"),a.is=o}(Ap||(Ap={})),function(a){function i(u,l,c,f){return{red:u,green:l,blue:c,alpha:f}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.numberRange(l.red,0,1)&&C.numberRange(l.green,0,1)&&C.numberRange(l.blue,0,1)&&C.numberRange(l.alpha,0,1)}s(o,"is"),a.is=o}(Ec||(Ec={})),function(a){function i(u,l){return{range:u,color:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&te.is(l.range)&&Ec.is(l.color)}s(o,"is"),a.is=o}(Ep||(Ep={})),function(a){function i(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.undefined(l.textEdit)||ar.is(l))&&(C.undefined(l.additionalTextEdits)||C.typedArray(l.additionalTextEdits,ar.is))}s(o,"is"),a.is=o}(Cp||(Cp={})),function(a){a.Comment="comment",a.Imports="imports",a.Region="region"}(bp||(bp={})),function(a){function i(u,l,c,f,d,p){const h={startLine:u,endLine:l};return C.defined(c)&&(h.startCharacter=c),C.defined(f)&&(h.endCharacter=f),C.defined(d)&&(h.kind=d),C.defined(p)&&(h.collapsedText=p),h}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.uinteger(l.startLine)&&C.uinteger(l.startLine)&&(C.undefined(l.startCharacter)||C.uinteger(l.startCharacter))&&(C.undefined(l.endCharacter)||C.uinteger(l.endCharacter))&&(C.undefined(l.kind)||C.string(l.kind))}s(o,"is"),a.is=o}(_p||(_p={})),function(a){function i(u,l){return{location:u,message:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Wl.is(l.location)&&C.string(l.message)}s(o,"is"),a.is=o}(Cc||(Cc={})),function(a){a.Error=1,a.Warning=2,a.Information=3,a.Hint=4}(Sp||(Sp={})),function(a){a.Unnecessary=1,a.Deprecated=2}(wp||(wp={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&C.string(u.href)}s(i,"is"),a.is=i}(Ip||(Ip={})),function(a){function i(u,l,c,f,d,p){let h={range:u,message:l};return C.defined(c)&&(h.severity=c),C.defined(f)&&(h.code=f),C.defined(d)&&(h.source=d),C.defined(p)&&(h.relatedInformation=p),h}s(i,"create"),a.create=i;function o(u){var l;let c=u;return C.defined(c)&&te.is(c.range)&&C.string(c.message)&&(C.number(c.severity)||C.undefined(c.severity))&&(C.integer(c.code)||C.string(c.code)||C.undefined(c.code))&&(C.undefined(c.codeDescription)||C.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(C.string(c.source)||C.undefined(c.source))&&(C.undefined(c.relatedInformation)||C.typedArray(c.relatedInformation,Cc.is))}s(o,"is"),a.is=o}(Vl||(Vl={})),function(a){function i(u,l,...c){let f={title:u,command:l};return C.defined(c)&&c.length>0&&(f.arguments=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.title)&&C.string(l.command)}s(o,"is"),a.is=o}(pn||(pn={})),function(a){function i(c,f){return{range:c,newText:f}}s(i,"replace"),a.replace=i;function o(c,f){return{range:{start:c,end:c},newText:f}}s(o,"insert"),a.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),a.del=u;function l(c){const f=c;return C.objectLiteral(f)&&C.string(f.newText)&&te.is(f.range)}s(l,"is"),a.is=l}(ar||(ar={})),function(a){function i(u,l,c){const f={label:u};return l!==void 0&&(f.needsConfirmation=l),c!==void 0&&(f.description=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(C.string(l.description)||l.description===void 0)}s(o,"is"),a.is=o}(mn||(mn={})),function(a){function i(o){const u=o;return C.string(u)}s(i,"is"),a.is=i}(et||(et={})),function(a){function i(c,f,d){return{range:c,newText:f,annotationId:d}}s(i,"replace"),a.replace=i;function o(c,f,d){return{range:{start:c,end:c},newText:f,annotationId:d}}s(o,"insert"),a.insert=o;function u(c,f){return{range:c,newText:"",annotationId:f}}s(u,"del"),a.del=u;function l(c){const f=c;return ar.is(f)&&(mn.is(f.annotationId)||et.is(f.annotationId))}s(l,"is"),a.is=l}(Ar||(Ar={})),function(a){function i(u,l){return{textDocument:u,edits:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Hl.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),a.is=o}(ql||(ql={})),function(a){function i(u,l,c){let f={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="create"&&C.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(_a||(_a={})),function(a){function i(u,l,c,f){let d={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(d.options=c),f!==void 0&&(d.annotationId=f),d}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="rename"&&C.string(l.oldUri)&&C.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(Sa||(Sa={})),function(a){function i(u,l,c){let f={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="delete"&&C.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||C.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||C.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(wa||(wa={})),function(a){function i(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>C.string(l.kind)?_a.is(l)||Sa.is(l)||wa.is(l):ql.is(l)))}s(i,"is"),a.is=i}(bc||(bc={})),kl=(t=class{constructor(i,o){this.edits=i,this.changeAnnotations=o}insert(i,o,u){let l,c;if(u===void 0?l=ar.insert(i,o):et.is(u)?(c=u,l=Ar.insert(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.insert(i,o,c)),this.edits.push(l),c!==void 0)return c}replace(i,o,u){let l,c;if(u===void 0?l=ar.replace(i,o):et.is(u)?(c=u,l=Ar.replace(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.replace(i,o,c)),this.edits.push(l),c!==void 0)return c}delete(i,o){let u,l;if(o===void 0?u=ar.del(i):et.is(o)?(l=o,u=Ar.del(i,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=Ar.del(i,l)),this.edits.push(u),l!==void 0)return l}add(i){this.edits.push(i)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(i){if(i===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),Ud=(e=class{constructor(i){this._annotations=i===void 0?Object.create(null):i,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(i,o){let u;if(et.is(i)?u=i:(u=this.nextId(),o=i),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),M$=(r=class{constructor(i){this._textEditChanges=Object.create(null),i!==void 0?(this._workspaceEdit=i,i.documentChanges?(this._changeAnnotations=new Ud(i.changeAnnotations),i.changeAnnotations=this._changeAnnotations.all(),i.documentChanges.forEach(o=>{if(ql.is(o)){const u=new kl(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):i.changes&&Object.keys(i.changes).forEach(o=>{const u=new kl(i.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(i){if(Hl.is(i)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const o={uri:i.uri,version:i.version};let u=this._textEditChanges[o.uri];if(!u){const l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new kl(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[i];if(!o){let u=[];this._workspaceEdit.changes[i]=u,o=new kl(u),this._textEditChanges[i]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ud,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=_a.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=_a.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}renameFile(i,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;mn.is(u)||et.is(u)?c=u:l=u;let f,d;if(c===void 0?f=Sa.create(i,o,l):(d=et.is(c)?c:this._changeAnnotations.manage(c),f=Sa.create(i,o,l,d)),this._workspaceEdit.documentChanges.push(f),d!==void 0)return d}deleteFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=wa.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=wa.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}},s(r,"WorkspaceChange"),r),function(a){function i(u){return{uri:u}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)}s(o,"is"),a.is=o}(Np||(Np={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.integer(l.version)}s(o,"is"),a.is=o}(Pp||(Pp={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&(l.version===null||C.integer(l.version))}s(o,"is"),a.is=o}(Hl||(Hl={})),function(a){function i(u,l,c,f){return{uri:u,languageId:l,version:c,text:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.string(l.languageId)&&C.integer(l.version)&&C.string(l.text)}s(o,"is"),a.is=o}(kp||(kp={})),function(a){a.PlainText="plaintext",a.Markdown="markdown";function i(o){const u=o;return u===a.PlainText||u===a.Markdown}s(i,"is"),a.is=i}(_c||(_c={})),function(a){function i(o){const u=o;return C.objectLiteral(o)&&_c.is(u.kind)&&C.string(u.value)}s(i,"is"),a.is=i}(Ia||(Ia={})),function(a){a.Text=1,a.Method=2,a.Function=3,a.Constructor=4,a.Field=5,a.Variable=6,a.Class=7,a.Interface=8,a.Module=9,a.Property=10,a.Unit=11,a.Value=12,a.Enum=13,a.Keyword=14,a.Snippet=15,a.Color=16,a.File=17,a.Reference=18,a.Folder=19,a.EnumMember=20,a.Constant=21,a.Struct=22,a.Event=23,a.Operator=24,a.TypeParameter=25}(Op||(Op={})),function(a){a.PlainText=1,a.Snippet=2}(Lp||(Lp={})),function(a){a.Deprecated=1}(Dp||(Dp={})),function(a){function i(u,l,c){return{newText:u,insert:l,replace:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l&&C.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),a.is=o}(Mp||(Mp={})),function(a){a.asIs=1,a.adjustIndentation=2}(xp||(xp={})),function(a){function i(o){const u=o;return u&&(C.string(u.detail)||u.detail===void 0)&&(C.string(u.description)||u.description===void 0)}s(i,"is"),a.is=i}(Gp||(Gp={})),function(a){function i(o){return{label:o}}s(i,"create"),a.create=i}(Fp||(Fp={})),function(a){function i(o,u){return{items:o||[],isIncomplete:!!u}}s(i,"create"),a.create=i}(zp||(zp={})),function(a){function i(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(i,"fromPlainText"),a.fromPlainText=i;function o(u){const l=u;return C.string(l)||C.objectLiteral(l)&&C.string(l.language)&&C.string(l.value)}s(o,"is"),a.is=o}(Yl||(Yl={})),function(a){function i(o){let u=o;return!!u&&C.objectLiteral(u)&&(Ia.is(u.contents)||Yl.is(u.contents)||C.typedArray(u.contents,Yl.is))&&(o.range===void 0||te.is(o.range))}s(i,"is"),a.is=i}(jp||(jp={})),function(a){function i(o,u){return u?{label:o,documentation:u}:{label:o}}s(i,"create"),a.create=i}(Bp||(Bp={})),function(a){function i(o,u,...l){let c={label:o};return C.defined(u)&&(c.documentation=u),C.defined(l)?c.parameters=l:c.parameters=[],c}s(i,"create"),a.create=i}(Up||(Up={})),function(a){a.Text=1,a.Read=2,a.Write=3}(Kp||(Kp={})),function(a){function i(o,u){let l={range:o};return C.number(u)&&(l.kind=u),l}s(i,"create"),a.create=i}(Wp||(Wp={})),function(a){a.File=1,a.Module=2,a.Namespace=3,a.Package=4,a.Class=5,a.Method=6,a.Property=7,a.Field=8,a.Constructor=9,a.Enum=10,a.Interface=11,a.Function=12,a.Variable=13,a.Constant=14,a.String=15,a.Number=16,a.Boolean=17,a.Array=18,a.Object=19,a.Key=20,a.Null=21,a.EnumMember=22,a.Struct=23,a.Event=24,a.Operator=25,a.TypeParameter=26}(Vp||(Vp={})),function(a){a.Deprecated=1}(qp||(qp={})),function(a){function i(o,u,l,c,f){let d={name:o,kind:u,location:{uri:c,range:l}};return f&&(d.containerName=f),d}s(i,"create"),a.create=i}(Hp||(Hp={})),function(a){function i(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(i,"create"),a.create=i}(Yp||(Yp={})),function(a){function i(u,l,c,f,d,p){let h={name:u,detail:l,kind:c,range:f,selectionRange:d};return p!==void 0&&(h.children=p),h}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.name)&&C.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||C.string(l.detail))&&(l.deprecated===void 0||C.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),a.is=o}(Xp||(Xp={})),function(a){a.Empty="",a.QuickFix="quickfix",a.Refactor="refactor",a.RefactorExtract="refactor.extract",a.RefactorInline="refactor.inline",a.RefactorRewrite="refactor.rewrite",a.Source="source",a.SourceOrganizeImports="source.organizeImports",a.SourceFixAll="source.fixAll"}(Jp||(Jp={})),function(a){a.Invoked=1,a.Automatic=2}(Xl||(Xl={})),function(a){function i(u,l,c){let f={diagnostics:u};return l!=null&&(f.only=l),c!=null&&(f.triggerKind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.typedArray(l.diagnostics,Vl.is)&&(l.only===void 0||C.typedArray(l.only,C.string))&&(l.triggerKind===void 0||l.triggerKind===Xl.Invoked||l.triggerKind===Xl.Automatic)}s(o,"is"),a.is=o}(Zp||(Zp={})),function(a){function i(u,l,c){let f={title:u},d=!0;return typeof l=="string"?(d=!1,f.kind=l):pn.is(l)?f.command=l:f.edit=l,d&&c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.title)&&(l.diagnostics===void 0||C.typedArray(l.diagnostics,Vl.is))&&(l.kind===void 0||C.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||pn.is(l.command))&&(l.isPreferred===void 0||C.boolean(l.isPreferred))&&(l.edit===void 0||bc.is(l.edit))}s(o,"is"),a.is=o}(Qp||(Qp={})),function(a){function i(u,l){let c={range:u};return C.defined(l)&&(c.data=l),c}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.command)||pn.is(l.command))}s(o,"is"),a.is=o}(em||(em={})),function(a){function i(u,l){return{tabSize:u,insertSpaces:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.uinteger(l.tabSize)&&C.boolean(l.insertSpaces)}s(o,"is"),a.is=o}(tm||(tm={})),function(a){function i(u,l,c){return{range:u,target:l,data:c}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.target)||C.string(l.target))}s(o,"is"),a.is=o}(rm||(rm={})),function(a){function i(u,l){return{range:u,parent:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||a.is(l.parent))}s(o,"is"),a.is=o}(nm||(nm={})),function(a){a.namespace="namespace",a.type="type",a.class="class",a.enum="enum",a.interface="interface",a.struct="struct",a.typeParameter="typeParameter",a.parameter="parameter",a.variable="variable",a.property="property",a.enumMember="enumMember",a.event="event",a.function="function",a.method="method",a.macro="macro",a.keyword="keyword",a.modifier="modifier",a.comment="comment",a.string="string",a.number="number",a.regexp="regexp",a.operator="operator",a.decorator="decorator"}(am||(am={})),function(a){a.declaration="declaration",a.definition="definition",a.readonly="readonly",a.static="static",a.deprecated="deprecated",a.abstract="abstract",a.async="async",a.modification="modification",a.documentation="documentation",a.defaultLibrary="defaultLibrary"}(im||(im={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(i,"is"),a.is=i}(sm||(sm={})),function(a){function i(u,l){return{range:u,text:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.string(l.text)}s(o,"is"),a.is=o}(om||(om={})),function(a){function i(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.boolean(l.caseSensitiveLookup)&&(C.string(l.variableName)||l.variableName===void 0)}s(o,"is"),a.is=o}(lm||(lm={})),function(a){function i(u,l){return{range:u,expression:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&(C.string(l.expression)||l.expression===void 0)}s(o,"is"),a.is=o}(um||(um={})),function(a){function i(u,l){return{frameId:u,stoppedLocation:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),a.is=o}(cm||(cm={})),function(a){a.Type=1,a.Parameter=2;function i(o){return o===1||o===2}s(i,"is"),a.is=i}(Sc||(Sc={})),function(a){function i(u){return{value:u}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.location===void 0||Wl.is(l.location))&&(l.command===void 0||pn.is(l.command))}s(o,"is"),a.is=o}(wc||(wc={})),function(a){function i(u,l,c){const f={position:u,label:l};return c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&oe.is(l.position)&&(C.string(l.label)||C.typedArray(l.label,wc.is))&&(l.kind===void 0||Sc.is(l.kind))&&l.textEdits===void 0||C.typedArray(l.textEdits,ar.is)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.paddingLeft===void 0||C.boolean(l.paddingLeft))&&(l.paddingRight===void 0||C.boolean(l.paddingRight))}s(o,"is"),a.is=o}(fm||(fm={})),function(a){function i(o){return{kind:"snippet",value:o}}s(i,"createSnippet"),a.createSnippet=i}(dm||(dm={})),function(a){function i(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(i,"create"),a.create=i}(pm||(pm={})),function(a){function i(o){return{items:o}}s(i,"create"),a.create=i}(mm||(mm={})),function(a){a.Invoked=0,a.Automatic=1}(hm||(hm={})),function(a){function i(o,u){return{range:o,text:u}}s(i,"create"),a.create=i}(ym||(ym={})),function(a){function i(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(i,"create"),a.create=i}(gm||(gm={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&Ac.is(u.uri)&&C.string(u.name)}s(i,"is"),a.is=i}(vm||(vm={})),x$=[` +var dk=Object.defineProperty;var pk=(t,e,r)=>e in t?dk(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Br=(t,e,r)=>pk(t,typeof e!="symbol"?e+"":e,r);import{_ as ut}from"../../app/index-sh8QRNzm.js";var mk=Object.create,Du=Object.defineProperty,hk=Object.getOwnPropertyDescriptor,Th=Object.getOwnPropertyNames,yk=Object.getPrototypeOf,gk=Object.prototype.hasOwnProperty,s=(t,e)=>Du(t,"name",{value:e,configurable:!0}),vk=(t,e)=>function(){return t&&(e=(0,t[Th(t)[0]])(t=0)),e},X=(t,e)=>function(){return e||(0,t[Th(t)[0]])((e={exports:{}}).exports,e),e.exports},tn=(t,e)=>{for(var r in e)Du(t,r,{get:e[r],enumerable:!0})},$h=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Th(e))!gk.call(t,a)&&a!==r&&Du(t,a,{get:()=>e[a],enumerable:!(n=hk(e,a))||n.enumerable});return t},Of=(t,e,r)=>($h(t,e,"default"),r),Rh=(t,e,r)=>(r=t!=null?mk(yk(t)):{},$h(Du(r,"default",{value:t,enumerable:!0}),t)),Ah=t=>$h(Du({},"__esModule",{value:!0}),t),Lf={};tn(Lf,{AnnotatedTextEdit:()=>Ar,ChangeAnnotation:()=>mn,ChangeAnnotationIdentifier:()=>et,CodeAction:()=>Qp,CodeActionContext:()=>Zp,CodeActionKind:()=>Jp,CodeActionTriggerKind:()=>Xl,CodeDescription:()=>Ip,CodeLens:()=>em,Color:()=>Ec,ColorInformation:()=>Ep,ColorPresentation:()=>Cp,Command:()=>pn,CompletionItem:()=>Fp,CompletionItemKind:()=>Op,CompletionItemLabelDetails:()=>Gp,CompletionItemTag:()=>Dp,CompletionList:()=>zp,CreateFile:()=>_a,DeleteFile:()=>wa,Diagnostic:()=>Vl,DiagnosticRelatedInformation:()=>Cc,DiagnosticSeverity:()=>Sp,DiagnosticTag:()=>wp,DocumentHighlight:()=>Wp,DocumentHighlightKind:()=>Kp,DocumentLink:()=>rm,DocumentSymbol:()=>Xp,DocumentUri:()=>$p,EOL:()=>x$,FoldingRange:()=>_p,FoldingRangeKind:()=>bp,FormattingOptions:()=>tm,Hover:()=>jp,InlayHint:()=>fm,InlayHintKind:()=>Sc,InlayHintLabelPart:()=>wc,InlineCompletionContext:()=>gm,InlineCompletionItem:()=>pm,InlineCompletionList:()=>mm,InlineCompletionTriggerKind:()=>hm,InlineValueContext:()=>cm,InlineValueEvaluatableExpression:()=>um,InlineValueText:()=>om,InlineValueVariableLookup:()=>lm,InsertReplaceEdit:()=>Mp,InsertTextFormat:()=>Lp,InsertTextMode:()=>xp,Location:()=>Wl,LocationLink:()=>Ap,MarkedString:()=>Yl,MarkupContent:()=>Ia,MarkupKind:()=>_c,OptionalVersionedTextDocumentIdentifier:()=>Hl,ParameterInformation:()=>Bp,Position:()=>oe,Range:()=>te,RenameFile:()=>Sa,SelectedCompletionInfo:()=>ym,SelectionRange:()=>nm,SemanticTokenModifiers:()=>im,SemanticTokenTypes:()=>am,SemanticTokens:()=>sm,SignatureInformation:()=>Up,StringValue:()=>dm,SymbolInformation:()=>Hp,SymbolKind:()=>Vp,SymbolTag:()=>qp,TextDocument:()=>Tm,TextDocumentEdit:()=>ql,TextDocumentIdentifier:()=>Np,TextDocumentItem:()=>kp,TextEdit:()=>ar,URI:()=>Ac,VersionedTextDocumentIdentifier:()=>Pp,WorkspaceChange:()=>M$,WorkspaceEdit:()=>bc,WorkspaceFolder:()=>vm,WorkspaceSymbol:()=>Yp,integer:()=>Rp,uinteger:()=>Kl});var $p,Ac,Rp,Kl,oe,te,Wl,Ap,Ec,Ep,Cp,bp,_p,Cc,Sp,wp,Ip,Vl,pn,ar,mn,et,Ar,ql,_a,Sa,wa,bc,kl,Ud,M$,Np,Pp,Hl,kp,_c,Ia,Op,Lp,Dp,Mp,xp,Gp,Fp,zp,Yl,jp,Bp,Up,Kp,Wp,Vp,qp,Hp,Yp,Xp,Jp,Xl,Zp,Qp,em,tm,rm,nm,am,im,sm,om,lm,um,cm,Sc,wc,fm,dm,pm,mm,hm,ym,gm,vm,x$,Tm,iv,C,Mu=vk({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i})($p||($p={})),function(a){function i(o){return typeof o=="string"}s(i,"is"),a.is=i}(Ac||(Ac={})),function(a){a.MIN_VALUE=-2147483648,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Rp||(Rp={})),function(a){a.MIN_VALUE=0,a.MAX_VALUE=2147483647;function i(o){return typeof o=="number"&&a.MIN_VALUE<=o&&o<=a.MAX_VALUE}s(i,"is"),a.is=i}(Kl||(Kl={})),function(a){function i(u,l){return u===Number.MAX_VALUE&&(u=Kl.MAX_VALUE),l===Number.MAX_VALUE&&(l=Kl.MAX_VALUE),{line:u,character:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&C.uinteger(l.line)&&C.uinteger(l.character)}s(o,"is"),a.is=o}(oe||(oe={})),function(a){function i(u,l,c,f){if(C.uinteger(u)&&C.uinteger(l)&&C.uinteger(c)&&C.uinteger(f))return{start:oe.create(u,l),end:oe.create(c,f)};if(oe.is(u)&&oe.is(l))return{start:u,end:l};throw new Error(`Range#create called with invalid arguments[${u}, ${l}, ${c}, ${f}]`)}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&oe.is(l.start)&&oe.is(l.end)}s(o,"is"),a.is=o}(te||(te={})),function(a){function i(u,l){return{uri:u,range:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(C.string(l.uri)||C.undefined(l.uri))}s(o,"is"),a.is=o}(Wl||(Wl={})),function(a){function i(u,l,c,f){return{targetUri:u,targetRange:l,targetSelectionRange:c,originSelectionRange:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.targetRange)&&C.string(l.targetUri)&&te.is(l.targetSelectionRange)&&(te.is(l.originSelectionRange)||C.undefined(l.originSelectionRange))}s(o,"is"),a.is=o}(Ap||(Ap={})),function(a){function i(u,l,c,f){return{red:u,green:l,blue:c,alpha:f}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.numberRange(l.red,0,1)&&C.numberRange(l.green,0,1)&&C.numberRange(l.blue,0,1)&&C.numberRange(l.alpha,0,1)}s(o,"is"),a.is=o}(Ec||(Ec={})),function(a){function i(u,l){return{range:u,color:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&te.is(l.range)&&Ec.is(l.color)}s(o,"is"),a.is=o}(Ep||(Ep={})),function(a){function i(u,l,c){return{label:u,textEdit:l,additionalTextEdits:c}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.undefined(l.textEdit)||ar.is(l))&&(C.undefined(l.additionalTextEdits)||C.typedArray(l.additionalTextEdits,ar.is))}s(o,"is"),a.is=o}(Cp||(Cp={})),function(a){a.Comment="comment",a.Imports="imports",a.Region="region"}(bp||(bp={})),function(a){function i(u,l,c,f,d,p){const h={startLine:u,endLine:l};return C.defined(c)&&(h.startCharacter=c),C.defined(f)&&(h.endCharacter=f),C.defined(d)&&(h.kind=d),C.defined(p)&&(h.collapsedText=p),h}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.uinteger(l.startLine)&&C.uinteger(l.startLine)&&(C.undefined(l.startCharacter)||C.uinteger(l.startCharacter))&&(C.undefined(l.endCharacter)||C.uinteger(l.endCharacter))&&(C.undefined(l.kind)||C.string(l.kind))}s(o,"is"),a.is=o}(_p||(_p={})),function(a){function i(u,l){return{location:u,message:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Wl.is(l.location)&&C.string(l.message)}s(o,"is"),a.is=o}(Cc||(Cc={})),function(a){a.Error=1,a.Warning=2,a.Information=3,a.Hint=4}(Sp||(Sp={})),function(a){a.Unnecessary=1,a.Deprecated=2}(wp||(wp={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&C.string(u.href)}s(i,"is"),a.is=i}(Ip||(Ip={})),function(a){function i(u,l,c,f,d,p){let h={range:u,message:l};return C.defined(c)&&(h.severity=c),C.defined(f)&&(h.code=f),C.defined(d)&&(h.source=d),C.defined(p)&&(h.relatedInformation=p),h}s(i,"create"),a.create=i;function o(u){var l;let c=u;return C.defined(c)&&te.is(c.range)&&C.string(c.message)&&(C.number(c.severity)||C.undefined(c.severity))&&(C.integer(c.code)||C.string(c.code)||C.undefined(c.code))&&(C.undefined(c.codeDescription)||C.string((l=c.codeDescription)===null||l===void 0?void 0:l.href))&&(C.string(c.source)||C.undefined(c.source))&&(C.undefined(c.relatedInformation)||C.typedArray(c.relatedInformation,Cc.is))}s(o,"is"),a.is=o}(Vl||(Vl={})),function(a){function i(u,l,...c){let f={title:u,command:l};return C.defined(c)&&c.length>0&&(f.arguments=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.title)&&C.string(l.command)}s(o,"is"),a.is=o}(pn||(pn={})),function(a){function i(c,f){return{range:c,newText:f}}s(i,"replace"),a.replace=i;function o(c,f){return{range:{start:c,end:c},newText:f}}s(o,"insert"),a.insert=o;function u(c){return{range:c,newText:""}}s(u,"del"),a.del=u;function l(c){const f=c;return C.objectLiteral(f)&&C.string(f.newText)&&te.is(f.range)}s(l,"is"),a.is=l}(ar||(ar={})),function(a){function i(u,l,c){const f={label:u};return l!==void 0&&(f.needsConfirmation=l),c!==void 0&&(f.description=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&C.string(l.label)&&(C.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(C.string(l.description)||l.description===void 0)}s(o,"is"),a.is=o}(mn||(mn={})),function(a){function i(o){const u=o;return C.string(u)}s(i,"is"),a.is=i}(et||(et={})),function(a){function i(c,f,d){return{range:c,newText:f,annotationId:d}}s(i,"replace"),a.replace=i;function o(c,f,d){return{range:{start:c,end:c},newText:f,annotationId:d}}s(o,"insert"),a.insert=o;function u(c,f){return{range:c,newText:"",annotationId:f}}s(u,"del"),a.del=u;function l(c){const f=c;return ar.is(f)&&(mn.is(f.annotationId)||et.is(f.annotationId))}s(l,"is"),a.is=l}(Ar||(Ar={})),function(a){function i(u,l){return{textDocument:u,edits:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&Hl.is(l.textDocument)&&Array.isArray(l.edits)}s(o,"is"),a.is=o}(ql||(ql={})),function(a){function i(u,l,c){let f={kind:"create",uri:u};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="create"&&C.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(_a||(_a={})),function(a){function i(u,l,c,f){let d={kind:"rename",oldUri:u,newUri:l};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(d.options=c),f!==void 0&&(d.annotationId=f),d}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="rename"&&C.string(l.oldUri)&&C.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||C.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||C.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(Sa||(Sa={})),function(a){function i(u,l,c){let f={kind:"delete",uri:u};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(f.options=l),c!==void 0&&(f.annotationId=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&l.kind==="delete"&&C.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||C.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||C.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||et.is(l.annotationId))}s(o,"is"),a.is=o}(wa||(wa={})),function(a){function i(o){let u=o;return u&&(u.changes!==void 0||u.documentChanges!==void 0)&&(u.documentChanges===void 0||u.documentChanges.every(l=>C.string(l.kind)?_a.is(l)||Sa.is(l)||wa.is(l):ql.is(l)))}s(i,"is"),a.is=i}(bc||(bc={})),kl=(t=class{constructor(i,o){this.edits=i,this.changeAnnotations=o}insert(i,o,u){let l,c;if(u===void 0?l=ar.insert(i,o):et.is(u)?(c=u,l=Ar.insert(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.insert(i,o,c)),this.edits.push(l),c!==void 0)return c}replace(i,o,u){let l,c;if(u===void 0?l=ar.replace(i,o):et.is(u)?(c=u,l=Ar.replace(i,o,u)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(u),l=Ar.replace(i,o,c)),this.edits.push(l),c!==void 0)return c}delete(i,o){let u,l;if(o===void 0?u=ar.del(i):et.is(o)?(l=o,u=Ar.del(i,o)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(o),u=Ar.del(i,l)),this.edits.push(u),l!==void 0)return l}add(i){this.edits.push(i)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(i){if(i===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},s(t,"TextEditChangeImpl"),t),Ud=(e=class{constructor(i){this._annotations=i===void 0?Object.create(null):i,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(i,o){let u;if(et.is(i)?u=i:(u=this.nextId(),o=i),this._annotations[u]!==void 0)throw new Error(`Id ${u} is already in use.`);if(o===void 0)throw new Error(`No annotation provided for id ${u}`);return this._annotations[u]=o,this._size++,u}nextId(){return this._counter++,this._counter.toString()}},s(e,"ChangeAnnotations"),e),M$=(r=class{constructor(i){this._textEditChanges=Object.create(null),i!==void 0?(this._workspaceEdit=i,i.documentChanges?(this._changeAnnotations=new Ud(i.changeAnnotations),i.changeAnnotations=this._changeAnnotations.all(),i.documentChanges.forEach(o=>{if(ql.is(o)){const u=new kl(o.edits,this._changeAnnotations);this._textEditChanges[o.textDocument.uri]=u}})):i.changes&&Object.keys(i.changes).forEach(o=>{const u=new kl(i.changes[o]);this._textEditChanges[o]=u})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(i){if(Hl.is(i)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const o={uri:i.uri,version:i.version};let u=this._textEditChanges[o.uri];if(!u){const l=[],c={textDocument:o,edits:l};this._workspaceEdit.documentChanges.push(c),u=new kl(l,this._changeAnnotations),this._textEditChanges[o.uri]=u}return u}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let o=this._textEditChanges[i];if(!o){let u=[];this._workspaceEdit.changes[i]=u,o=new kl(u),this._textEditChanges[i]=o}return o}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ud,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=_a.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=_a.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}renameFile(i,o,u,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let c;mn.is(u)||et.is(u)?c=u:l=u;let f,d;if(c===void 0?f=Sa.create(i,o,l):(d=et.is(c)?c:this._changeAnnotations.manage(c),f=Sa.create(i,o,l,d)),this._workspaceEdit.documentChanges.push(f),d!==void 0)return d}deleteFile(i,o,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;mn.is(o)||et.is(o)?l=o:u=o;let c,f;if(l===void 0?c=wa.create(i,u):(f=et.is(l)?l:this._changeAnnotations.manage(l),c=wa.create(i,u,f)),this._workspaceEdit.documentChanges.push(c),f!==void 0)return f}},s(r,"WorkspaceChange"),r),function(a){function i(u){return{uri:u}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)}s(o,"is"),a.is=o}(Np||(Np={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.integer(l.version)}s(o,"is"),a.is=o}(Pp||(Pp={})),function(a){function i(u,l){return{uri:u,version:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&(l.version===null||C.integer(l.version))}s(o,"is"),a.is=o}(Hl||(Hl={})),function(a){function i(u,l,c,f){return{uri:u,languageId:l,version:c,text:f}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.string(l.uri)&&C.string(l.languageId)&&C.integer(l.version)&&C.string(l.text)}s(o,"is"),a.is=o}(kp||(kp={})),function(a){a.PlainText="plaintext",a.Markdown="markdown";function i(o){const u=o;return u===a.PlainText||u===a.Markdown}s(i,"is"),a.is=i}(_c||(_c={})),function(a){function i(o){const u=o;return C.objectLiteral(o)&&_c.is(u.kind)&&C.string(u.value)}s(i,"is"),a.is=i}(Ia||(Ia={})),function(a){a.Text=1,a.Method=2,a.Function=3,a.Constructor=4,a.Field=5,a.Variable=6,a.Class=7,a.Interface=8,a.Module=9,a.Property=10,a.Unit=11,a.Value=12,a.Enum=13,a.Keyword=14,a.Snippet=15,a.Color=16,a.File=17,a.Reference=18,a.Folder=19,a.EnumMember=20,a.Constant=21,a.Struct=22,a.Event=23,a.Operator=24,a.TypeParameter=25}(Op||(Op={})),function(a){a.PlainText=1,a.Snippet=2}(Lp||(Lp={})),function(a){a.Deprecated=1}(Dp||(Dp={})),function(a){function i(u,l,c){return{newText:u,insert:l,replace:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l&&C.string(l.newText)&&te.is(l.insert)&&te.is(l.replace)}s(o,"is"),a.is=o}(Mp||(Mp={})),function(a){a.asIs=1,a.adjustIndentation=2}(xp||(xp={})),function(a){function i(o){const u=o;return u&&(C.string(u.detail)||u.detail===void 0)&&(C.string(u.description)||u.description===void 0)}s(i,"is"),a.is=i}(Gp||(Gp={})),function(a){function i(o){return{label:o}}s(i,"create"),a.create=i}(Fp||(Fp={})),function(a){function i(o,u){return{items:o||[],isIncomplete:!!u}}s(i,"create"),a.create=i}(zp||(zp={})),function(a){function i(u){return u.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(i,"fromPlainText"),a.fromPlainText=i;function o(u){const l=u;return C.string(l)||C.objectLiteral(l)&&C.string(l.language)&&C.string(l.value)}s(o,"is"),a.is=o}(Yl||(Yl={})),function(a){function i(o){let u=o;return!!u&&C.objectLiteral(u)&&(Ia.is(u.contents)||Yl.is(u.contents)||C.typedArray(u.contents,Yl.is))&&(o.range===void 0||te.is(o.range))}s(i,"is"),a.is=i}(jp||(jp={})),function(a){function i(o,u){return u?{label:o,documentation:u}:{label:o}}s(i,"create"),a.create=i}(Bp||(Bp={})),function(a){function i(o,u,...l){let c={label:o};return C.defined(u)&&(c.documentation=u),C.defined(l)?c.parameters=l:c.parameters=[],c}s(i,"create"),a.create=i}(Up||(Up={})),function(a){a.Text=1,a.Read=2,a.Write=3}(Kp||(Kp={})),function(a){function i(o,u){let l={range:o};return C.number(u)&&(l.kind=u),l}s(i,"create"),a.create=i}(Wp||(Wp={})),function(a){a.File=1,a.Module=2,a.Namespace=3,a.Package=4,a.Class=5,a.Method=6,a.Property=7,a.Field=8,a.Constructor=9,a.Enum=10,a.Interface=11,a.Function=12,a.Variable=13,a.Constant=14,a.String=15,a.Number=16,a.Boolean=17,a.Array=18,a.Object=19,a.Key=20,a.Null=21,a.EnumMember=22,a.Struct=23,a.Event=24,a.Operator=25,a.TypeParameter=26}(Vp||(Vp={})),function(a){a.Deprecated=1}(qp||(qp={})),function(a){function i(o,u,l,c,f){let d={name:o,kind:u,location:{uri:c,range:l}};return f&&(d.containerName=f),d}s(i,"create"),a.create=i}(Hp||(Hp={})),function(a){function i(o,u,l,c){return c!==void 0?{name:o,kind:u,location:{uri:l,range:c}}:{name:o,kind:u,location:{uri:l}}}s(i,"create"),a.create=i}(Yp||(Yp={})),function(a){function i(u,l,c,f,d,p){let h={name:u,detail:l,kind:c,range:f,selectionRange:d};return p!==void 0&&(h.children=p),h}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.name)&&C.number(l.kind)&&te.is(l.range)&&te.is(l.selectionRange)&&(l.detail===void 0||C.string(l.detail))&&(l.deprecated===void 0||C.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}s(o,"is"),a.is=o}(Xp||(Xp={})),function(a){a.Empty="",a.QuickFix="quickfix",a.Refactor="refactor",a.RefactorExtract="refactor.extract",a.RefactorInline="refactor.inline",a.RefactorRewrite="refactor.rewrite",a.Source="source",a.SourceOrganizeImports="source.organizeImports",a.SourceFixAll="source.fixAll"}(Jp||(Jp={})),function(a){a.Invoked=1,a.Automatic=2}(Xl||(Xl={})),function(a){function i(u,l,c){let f={diagnostics:u};return l!=null&&(f.only=l),c!=null&&(f.triggerKind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.typedArray(l.diagnostics,Vl.is)&&(l.only===void 0||C.typedArray(l.only,C.string))&&(l.triggerKind===void 0||l.triggerKind===Xl.Invoked||l.triggerKind===Xl.Automatic)}s(o,"is"),a.is=o}(Zp||(Zp={})),function(a){function i(u,l,c){let f={title:u},d=!0;return typeof l=="string"?(d=!1,f.kind=l):pn.is(l)?f.command=l:f.edit=l,d&&c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){let l=u;return l&&C.string(l.title)&&(l.diagnostics===void 0||C.typedArray(l.diagnostics,Vl.is))&&(l.kind===void 0||C.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||pn.is(l.command))&&(l.isPreferred===void 0||C.boolean(l.isPreferred))&&(l.edit===void 0||bc.is(l.edit))}s(o,"is"),a.is=o}(Qp||(Qp={})),function(a){function i(u,l){let c={range:u};return C.defined(l)&&(c.data=l),c}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.command)||pn.is(l.command))}s(o,"is"),a.is=o}(em||(em={})),function(a){function i(u,l){return{tabSize:u,insertSpaces:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&C.uinteger(l.tabSize)&&C.boolean(l.insertSpaces)}s(o,"is"),a.is=o}(tm||(tm={})),function(a){function i(u,l,c){return{range:u,target:l,data:c}}s(i,"create"),a.create=i;function o(u){let l=u;return C.defined(l)&&te.is(l.range)&&(C.undefined(l.target)||C.string(l.target))}s(o,"is"),a.is=o}(rm||(rm={})),function(a){function i(u,l){return{range:u,parent:l}}s(i,"create"),a.create=i;function o(u){let l=u;return C.objectLiteral(l)&&te.is(l.range)&&(l.parent===void 0||a.is(l.parent))}s(o,"is"),a.is=o}(nm||(nm={})),function(a){a.namespace="namespace",a.type="type",a.class="class",a.enum="enum",a.interface="interface",a.struct="struct",a.typeParameter="typeParameter",a.parameter="parameter",a.variable="variable",a.property="property",a.enumMember="enumMember",a.event="event",a.function="function",a.method="method",a.macro="macro",a.keyword="keyword",a.modifier="modifier",a.comment="comment",a.string="string",a.number="number",a.regexp="regexp",a.operator="operator",a.decorator="decorator"}(am||(am={})),function(a){a.declaration="declaration",a.definition="definition",a.readonly="readonly",a.static="static",a.deprecated="deprecated",a.abstract="abstract",a.async="async",a.modification="modification",a.documentation="documentation",a.defaultLibrary="defaultLibrary"}(im||(im={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&(u.resultId===void 0||typeof u.resultId=="string")&&Array.isArray(u.data)&&(u.data.length===0||typeof u.data[0]=="number")}s(i,"is"),a.is=i}(sm||(sm={})),function(a){function i(u,l){return{range:u,text:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.string(l.text)}s(o,"is"),a.is=o}(om||(om={})),function(a){function i(u,l,c){return{range:u,variableName:l,caseSensitiveLookup:c}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&C.boolean(l.caseSensitiveLookup)&&(C.string(l.variableName)||l.variableName===void 0)}s(o,"is"),a.is=o}(lm||(lm={})),function(a){function i(u,l){return{range:u,expression:l}}s(i,"create"),a.create=i;function o(u){const l=u;return l!=null&&te.is(l.range)&&(C.string(l.expression)||l.expression===void 0)}s(o,"is"),a.is=o}(um||(um={})),function(a){function i(u,l){return{frameId:u,stoppedLocation:l}}s(i,"create"),a.create=i;function o(u){const l=u;return C.defined(l)&&te.is(u.stoppedLocation)}s(o,"is"),a.is=o}(cm||(cm={})),function(a){a.Type=1,a.Parameter=2;function i(o){return o===1||o===2}s(i,"is"),a.is=i}(Sc||(Sc={})),function(a){function i(u){return{value:u}}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.location===void 0||Wl.is(l.location))&&(l.command===void 0||pn.is(l.command))}s(o,"is"),a.is=o}(wc||(wc={})),function(a){function i(u,l,c){const f={position:u,label:l};return c!==void 0&&(f.kind=c),f}s(i,"create"),a.create=i;function o(u){const l=u;return C.objectLiteral(l)&&oe.is(l.position)&&(C.string(l.label)||C.typedArray(l.label,wc.is))&&(l.kind===void 0||Sc.is(l.kind))&&l.textEdits===void 0||C.typedArray(l.textEdits,ar.is)&&(l.tooltip===void 0||C.string(l.tooltip)||Ia.is(l.tooltip))&&(l.paddingLeft===void 0||C.boolean(l.paddingLeft))&&(l.paddingRight===void 0||C.boolean(l.paddingRight))}s(o,"is"),a.is=o}(fm||(fm={})),function(a){function i(o){return{kind:"snippet",value:o}}s(i,"createSnippet"),a.createSnippet=i}(dm||(dm={})),function(a){function i(o,u,l,c){return{insertText:o,filterText:u,range:l,command:c}}s(i,"create"),a.create=i}(pm||(pm={})),function(a){function i(o){return{items:o}}s(i,"create"),a.create=i}(mm||(mm={})),function(a){a.Invoked=0,a.Automatic=1}(hm||(hm={})),function(a){function i(o,u){return{range:o,text:u}}s(i,"create"),a.create=i}(ym||(ym={})),function(a){function i(o,u){return{triggerKind:o,selectedCompletionInfo:u}}s(i,"create"),a.create=i}(gm||(gm={})),function(a){function i(o){const u=o;return C.objectLiteral(u)&&Ac.is(u.uri)&&C.string(u.name)}s(i,"is"),a.is=i}(vm||(vm={})),x$=[` `,`\r `,"\r"],function(a){function i(c,f,d,p){return new iv(c,f,d,p)}s(i,"create"),a.create=i;function o(c){let f=c;return!!(C.defined(f)&&C.string(f.uri)&&(C.undefined(f.languageId)||C.string(f.languageId))&&C.uinteger(f.lineCount)&&C.func(f.getText)&&C.func(f.positionAt)&&C.func(f.offsetAt))}s(o,"is"),a.is=o;function u(c,f){let d=c.getText(),p=l(f,(y,v)=>{let E=y.range.start.line-v.range.start.line;return E===0?y.range.start.character-v.range.start.character:E}),h=d.length;for(let y=p.length-1;y>=0;y--){let v=p[y],E=c.offsetAt(v.range.start),T=c.offsetAt(v.range.end);if(T<=h)d=d.substring(0,E)+v.newText+d.substring(T,d.length);else throw new Error("Overlapping edit");h=E}return d}s(u,"applyEdits"),a.applyEdits=u;function l(c,f){if(c.length<=1)return c;const d=c.length/2|0,p=c.slice(0,d),h=c.slice(d);l(p,f),l(h,f);let y=0,v=0,E=0;for(;y({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(X.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>q({...At.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{Tt(),H=rt()},"clear"),O={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},Wt=s(t=>{xt(t,O),O.setDomains(t.domains),O.setTransitions(t.transitions)},"populate"),It={parse:s(async t=>{const e=await Bt("cynefin",t);X.debug(e),Wt(e)},"parse")};function E(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(E,"seededRandom");function st(t){let e=0;for(let n=0;n{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),Vt=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinDomainColors"),U=3,Ft=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),I=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=Vt();X.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,V=i+b*2,F=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,F,V,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${V} ${F}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const T=k.append("g").attr("transform",`translate(${b}, ${b})`),_=Rt(i,f),Z=it(o.seed,e),mt=T.append("g").attr("class","cynefin-backgrounds"),Y=["complex","complicated","chaotic","clear"];for(const l of Y){const r=_[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=T.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;T.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=T.append("g").attr("class","cynefin-labels");for(const l of Y){const r=_[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=T.append("g").attr("class","cynefin-subtitles");for(const r of Y){const u=_[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=T.append("g").attr("class","cynefin-items"),A=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=_[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>U&&(N=r.items.length-U,L=r.items.slice(0,U));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(A+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,W=u.cx-C/2;M.attr("transform",`translate(${W}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",A/2)}),N>0){const g=B+L.length*(A+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const W=$.getBBox();W.width>0&&(P=W.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",A/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=T.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=_[y.from],N=_[y.to];if(!L||!N)return;if(y.from===y.to){X.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),W=C*.15,G=-x/C,ht=$/C,et=M+G*W,nt=P+ht*W;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}I&&T.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(I)},"draw"),_t={draw:Ft},Et=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Et();return` +import{p as xt}from"./chunk-JWPE2WC7-DKTpV34k.js";import{aR as gt,V as $t,$ as bt,aU as wt,W as Ct,aS as vt,a as s,at as X,aQ as Dt,B as kt,s as Tt,r as q,X as Q,O as At,a8 as ot}from"./mermaid.core-DAX2QfGO.js";import{p as Bt}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import"../../app/index-sh8QRNzm.js";var rt=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(X.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>q({...At.cynefin,...Q().cynefin}),"getConfig"),Pt=s(()=>{Tt(),H=rt()},"clear"),O={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},Wt=s(t=>{xt(t,O),O.setDomains(t.domains),O.setTransitions(t.transitions)},"populate"),It={parse:s(async t=>{const e=await Bt("cynefin",t);X.debug(e),Wt(e)},"parse")};function E(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(E,"seededRandom");function st(t){let e=0;for(let n=0;n{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),Vt=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinDomainColors"),U=3,Ft=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),I=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=Vt();X.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,V=i+b*2,F=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,F,V,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${V} ${F}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const T=k.append("g").attr("transform",`translate(${b}, ${b})`),_=Rt(i,f),Z=it(o.seed,e),mt=T.append("g").attr("class","cynefin-backgrounds"),Y=["complex","complicated","chaotic","clear"];for(const l of Y){const r=_[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=T.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Z,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Z+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;T.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=T.append("g").attr("class","cynefin-labels");for(const l of Y){const r=_[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=T.append("g").attr("class","cynefin-subtitles");for(const r of Y){const u=_[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=T.append("g").attr("class","cynefin-items"),A=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=_[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>U&&(N=r.items.length-U,L=r.items.slice(0,U));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const w=B+S*(A+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,W=u.cx-C/2;M.attr("transform",`translate(${W}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",A/2)}),N>0){const g=B+L.length*(A+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const W=$.getBBox();W.width>0&&(P=W.width)}const x=P+tt*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",A/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=T.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=_[y.from],N=_[y.to];if(!L||!N)return;if(y.from===y.to){X.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),W=C*.15,G=-x/C,ht=$/C,et=M+G*W,nt=P+ht*W;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}I&&T.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(I)},"draw"),_t={draw:Ft},Et=s(()=>{const t=ot(),e=Q();return q(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Et();return` .cynefinDomain { stroke: none; } diff --git a/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-C5CLJfcV.js b/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-jpR8BtJi.js similarity index 97% rename from veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-C5CLJfcV.js rename to veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-jpR8BtJi.js index f1f4d8b6d..d8f1f78b7 100644 --- a/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-C5CLJfcV.js +++ b/veadk/webui/assets/visualizations/mermaid/dagre-VZM6K2ZE-jpR8BtJi.js @@ -1,4 +1,4 @@ -import{c as O,w as M,a as J,f as P,b as N,s as A}from"./chunk-RYQCIY6F-Cqxp3wyY.js";import{a as X,aw as v,v as D,t as Y,u as H,at as d,Y as _,b9 as F,aV as W,ag as $,a6 as j,aG as R,ad as V,ae as q,aF as z,af as G}from"./mermaid.core-OQ-NoIeH.js";import{G as K}from"../../chunks/graph-Dqkl27Ch.js";import{l as Q}from"../../chunks/layout-B6FSD_Du.js";import"../../chunks/map-8WAJQ6ap.js";import"../../app/index-Bj9lylJf.js";var C=X((o,s,l)=>Math.max(s,Math.min(l,o)),"clamp"),B=X((o="TB")=>{switch(o){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),U=X(o=>o==="flowchart"||o==="flowchart-v2"||o==="stateDiagram","shouldMergeSelfLoopSegments"),Z=X((o,s,l,y,a)=>{const f=[],p=new Set;if(l.forEach(({start:r,end:t})=>{r!==y&&p.add(r),t!==y&&p.add(t)}),p.forEach(r=>{const t=o.node(r);typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)}),f.length===0&&l.forEach(({edge:r})=>{(r.points??[]).forEach(t=>{typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)})}),f.length===0)return B(a);const c=f.reduce((r,t)=>({x:r.x+t.x/f.length,y:r.y+t.y/f.length}),{x:0,y:0}),h=c.x-s.x,i=c.y-s.y;return Math.abs(h)>Math.abs(i)?h>0?"right":"left":Math.abs(i)>0?i>0?"bottom":"top":B(a)},"getSelfLoopSide"),ee=X((o,s="top",l=0,y=0)=>{const a=o.x,f=o.y-l,p=o.width/2,c=o.height/2,h=Math.max(36,Math.min(100,o.width*.8)),i=C(Math.max(y,o.width*.35),36,h),r=C(Math.min(o.width,o.height)*.45,24,48);switch(s){case"bottom":{const t=f+c;return[{x:a-i/2,y:t},{x:a-i/2,y:t+r},{x:a+i/2,y:t+r},{x:a+i/2,y:t}]}case"right":{const t=a+p;return[{x:t,y:f-i/2},{x:t+r,y:f-i/2},{x:t+r,y:f+i/2},{x:t,y:f+i/2}]}case"left":{const t=a-p;return[{x:t,y:f-i/2},{x:t-r,y:f-i/2},{x:t-r,y:f+i/2},{x:t,y:f+i/2}]}case"top":default:{const t=f-c;return[{x:a-i/2,y:t},{x:a-i/2,y:t-r},{x:a+i/2,y:t-r},{x:a+i/2,y:t}]}}},"getSelfLoopPoints"),te=X((o,s,l="top",y=0,a={})=>{const p=o.x,c=o.y-y,h=a.width??0,i=a.height??0;switch(l){case"bottom":return{x:p,y:Math.max(...s.map(r=>r.y))+i/2+4};case"right":return{x:Math.max(...s.map(r=>r.x))+h/2+4,y:c};case"left":return{x:Math.min(...s.map(r=>r.x))-h/2-4,y:c};case"top":default:return{x:p,y:Math.min(...s.map(r=>r.y))-i/2-4}}},"getSelfLoopLabelPosition"),se=X((o,s=0,{mergeSelfLoops:l=!0}={})=>{var p;const y=new Map,a=[],f=(p=o.graph())==null?void 0:p.rankdir;return o.edges().forEach(c=>{const h=o.edge(c);if(l&&h.selfLoop){const i=h.selfLoop.id;y.has(i)||y.set(i,[]),y.get(i).push({edge:h,start:c.v,end:c.w})}else a.push({edge:h,start:c.v,end:c.w})}),y.forEach(c=>{if(c.length!==3){c.forEach(n=>a.push(n));return}c.sort((n,e)=>n.edge.selfLoop.order-e.edge.selfLoop.order);const[h,i,r]=c,t=h.edge.originalEdge??i.edge.originalEdge??r.edge.originalEdge??i.edge,g=o.node(t.start);if(!g){c.forEach(n=>a.push(n));return}const S={width:i.edge.width,height:i.edge.height},w=Z(o,g,c,t.start,f),b=ee(g,w,s,S.width??0),E=te(g,b,w,s,S),m={...i.edge,...t,id:t.id,points:b,start:t.start,end:t.end,x:E.x,y:E.y,width:S.width,height:S.height,labelStyle:i.edge.labelStyle,fromCluster:h.edge.fromCluster??i.edge.fromCluster??r.edge.fromCluster,toCluster:h.edge.toCluster??i.edge.toCluster??r.edge.toCluster};delete m.selfLoop,delete m.originalEdge,a.push({edge:m,start:m.start,end:m.end})}),a},"getEdgesToRender"),T=X(async(o,s,l,y,a,f)=>{d.warn("Graph in recursive render:XAX",M(s),a);const p=s.graph().rankdir;d.trace("Dir in recursive render - dir:",p);const c=o.insert("g").attr("class","root");s.nodes()?d.info("Recursive render XXX",s.nodes()):d.info("No nodes found for",s),s.edges().length>0&&d.info("Recursive edges",s.edge(s.edges()[0]));const h=c.insert("g").attr("class","clusters"),i=c.insert("g").attr("class","edgePaths"),r=c.insert("g").attr("class","edgeLabels"),t=c.insert("g").attr("class","nodes"),g=U(l);await Promise.all(s.nodes().map(async function(n){const e=s.node(n);if(a!==void 0){const u=JSON.parse(JSON.stringify(a.clusterData));d.trace(`Setting data for parent cluster XXX +import{c as O,w as M,a as J,f as P,b as N,s as A}from"./chunk-RYQCIY6F-8wtkB9Bx.js";import{a as X,aw as v,v as D,t as Y,u as H,at as d,Y as _,b9 as F,aV as W,ag as $,a6 as j,aG as R,ad as V,ae as q,aF as z,af as G}from"./mermaid.core-DAX2QfGO.js";import{G as K}from"../../chunks/graph-Dqkl27Ch.js";import{l as Q}from"../../chunks/layout-B6FSD_Du.js";import"../../chunks/map-8WAJQ6ap.js";import"../../app/index-sh8QRNzm.js";var C=X((o,s,l)=>Math.max(s,Math.min(l,o)),"clamp"),B=X((o="TB")=>{switch(o){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),U=X(o=>o==="flowchart"||o==="flowchart-v2"||o==="stateDiagram","shouldMergeSelfLoopSegments"),Z=X((o,s,l,y,a)=>{const f=[],p=new Set;if(l.forEach(({start:r,end:t})=>{r!==y&&p.add(r),t!==y&&p.add(t)}),p.forEach(r=>{const t=o.node(r);typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)}),f.length===0&&l.forEach(({edge:r})=>{(r.points??[]).forEach(t=>{typeof(t==null?void 0:t.x)=="number"&&typeof(t==null?void 0:t.y)=="number"&&f.push(t)})}),f.length===0)return B(a);const c=f.reduce((r,t)=>({x:r.x+t.x/f.length,y:r.y+t.y/f.length}),{x:0,y:0}),h=c.x-s.x,i=c.y-s.y;return Math.abs(h)>Math.abs(i)?h>0?"right":"left":Math.abs(i)>0?i>0?"bottom":"top":B(a)},"getSelfLoopSide"),ee=X((o,s="top",l=0,y=0)=>{const a=o.x,f=o.y-l,p=o.width/2,c=o.height/2,h=Math.max(36,Math.min(100,o.width*.8)),i=C(Math.max(y,o.width*.35),36,h),r=C(Math.min(o.width,o.height)*.45,24,48);switch(s){case"bottom":{const t=f+c;return[{x:a-i/2,y:t},{x:a-i/2,y:t+r},{x:a+i/2,y:t+r},{x:a+i/2,y:t}]}case"right":{const t=a+p;return[{x:t,y:f-i/2},{x:t+r,y:f-i/2},{x:t+r,y:f+i/2},{x:t,y:f+i/2}]}case"left":{const t=a-p;return[{x:t,y:f-i/2},{x:t-r,y:f-i/2},{x:t-r,y:f+i/2},{x:t,y:f+i/2}]}case"top":default:{const t=f-c;return[{x:a-i/2,y:t},{x:a-i/2,y:t-r},{x:a+i/2,y:t-r},{x:a+i/2,y:t}]}}},"getSelfLoopPoints"),te=X((o,s,l="top",y=0,a={})=>{const p=o.x,c=o.y-y,h=a.width??0,i=a.height??0;switch(l){case"bottom":return{x:p,y:Math.max(...s.map(r=>r.y))+i/2+4};case"right":return{x:Math.max(...s.map(r=>r.x))+h/2+4,y:c};case"left":return{x:Math.min(...s.map(r=>r.x))-h/2-4,y:c};case"top":default:return{x:p,y:Math.min(...s.map(r=>r.y))-i/2-4}}},"getSelfLoopLabelPosition"),se=X((o,s=0,{mergeSelfLoops:l=!0}={})=>{var p;const y=new Map,a=[],f=(p=o.graph())==null?void 0:p.rankdir;return o.edges().forEach(c=>{const h=o.edge(c);if(l&&h.selfLoop){const i=h.selfLoop.id;y.has(i)||y.set(i,[]),y.get(i).push({edge:h,start:c.v,end:c.w})}else a.push({edge:h,start:c.v,end:c.w})}),y.forEach(c=>{if(c.length!==3){c.forEach(n=>a.push(n));return}c.sort((n,e)=>n.edge.selfLoop.order-e.edge.selfLoop.order);const[h,i,r]=c,t=h.edge.originalEdge??i.edge.originalEdge??r.edge.originalEdge??i.edge,g=o.node(t.start);if(!g){c.forEach(n=>a.push(n));return}const S={width:i.edge.width,height:i.edge.height},w=Z(o,g,c,t.start,f),b=ee(g,w,s,S.width??0),E=te(g,b,w,s,S),m={...i.edge,...t,id:t.id,points:b,start:t.start,end:t.end,x:E.x,y:E.y,width:S.width,height:S.height,labelStyle:i.edge.labelStyle,fromCluster:h.edge.fromCluster??i.edge.fromCluster??r.edge.fromCluster,toCluster:h.edge.toCluster??i.edge.toCluster??r.edge.toCluster};delete m.selfLoop,delete m.originalEdge,a.push({edge:m,start:m.start,end:m.end})}),a},"getEdgesToRender"),T=X(async(o,s,l,y,a,f)=>{d.warn("Graph in recursive render:XAX",M(s),a);const p=s.graph().rankdir;d.trace("Dir in recursive render - dir:",p);const c=o.insert("g").attr("class","root");s.nodes()?d.info("Recursive render XXX",s.nodes()):d.info("No nodes found for",s),s.edges().length>0&&d.info("Recursive edges",s.edge(s.edges()[0]));const h=c.insert("g").attr("class","clusters"),i=c.insert("g").attr("class","edgePaths"),r=c.insert("g").attr("class","edgeLabels"),t=c.insert("g").attr("class","nodes"),g=U(l);await Promise.all(s.nodes().map(async function(n){const e=s.node(n);if(a!==void 0){const u=JSON.parse(JSON.stringify(a.clusterData));d.trace(`Setting data for parent cluster XXX Node.id = `,n,` data=`,u.height,` Parent cluster`,a.height),s.setNode(a.id,u),s.parent(n)||(d.trace("Setting parent",n,a.id),s.setParent(n,a.id,u))}if(d.info("(Insert) Node XXX"+n+": "+JSON.stringify(s.node(n))),e!=null&&e.clusterNode){d.info("Cluster identified XBX",n,e.width,s.node(n));const{ranksep:u,nodesep:x}=s.graph();e.graph.setGraph({...e.graph.graph(),ranksep:u+25,nodesep:x});const L=await T(t,e.graph,l,y,s.node(n),f),I=L.elem;F(e,I),e.diff=L.diff||0,d.info("New compound node after recursive render XAX",n,"width",e.width,"height",e.height),W(I,e)}else s.children(n).length>0?(d.trace("Cluster - the non recursive path XBX",n,e.id,e,e.width,"Graph:",s),d.trace(P(e.id,s)),N.set(e.id,{id:P(e.id,s),node:e})):(d.trace("Node - the non recursive path XAX",n,t,s.node(n),p),await $(t,s.node(n),{config:f,dir:p}))})),await X(async()=>{const n=s.edges().map(async function(e){const u=s.edge(e.v,e.w,e.name);if(d.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),d.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(s.edge(e))),d.info("Fix",N,"ids:",e.v,e.w,"Translating: ",N.get(e.v),N.get(e.w)),g&&u.selfLoop){if(u.selfLoop.order!==1)return;const x=u.id;u.id=u.selfLoop.id,await G(r,u),u.id=x;return}await G(r,u)});await Promise.all(n)},"processEdges")(),d.info("Graph before layout:",JSON.stringify(M(s))),d.info("############################################# XXX"),d.info("### Layout ### XXX"),d.info("############################################# XXX"),Q(s),d.info("Graph after layout:",JSON.stringify(M(s)));let w=0,{subGraphTitleTotalMargin:b}=j(f);await Promise.all(A(s).map(async function(n){var u;const e=s.node(n);if(d.info("Position XBX => "+n+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e!=null&&e.clusterNode)e.y+=b,d.info("A tainted cluster node XBX1",n,e.id,e.width,e.height,e.x,e.y,s.parent(n)),N.get(e.id).node=e,R(e);else if(s.children(n).length>0){d.info("A pure cluster node XBX1",n,e.id,e.x,e.y,e.width,e.height,s.parent(n)),e.height+=b,s.node(e.parentId);const x=(e==null?void 0:e.padding)/2||0,L=((u=e==null?void 0:e.labelBBox)==null?void 0:u.height)||0,I=L-x||0;d.debug("OffsetY",I,"labelHeight",L,"halfPadding",x),await V(h,e),N.get(e.id).node=e}else{const x=s.node(e.parentId);e.y+=b/2,d.info("A regular node XBX1 - using the padding",e.id,"parent",e.parentId,e.width,e.height,e.x,e.y,"offsetY",e.offsetY,"parent",x,x==null?void 0:x.offsetY,e),R(e)}}));const E=b/2;return se(s,E,{mergeSelfLoops:g}).forEach(function({edge:n,start:e,end:u}){d.info("Edge "+e+" -> "+u+": "+JSON.stringify(n),n),n.points.forEach(k=>k.y+=E);const x=s.node(e),L=s.node(u),I=q(i,n,N,l,x,L,y);z(n,I)}),s.nodes().forEach(function(n){const e=s.node(n);d.info(n,e.type,e.diff),e.isGroup&&(w=e.diff)}),d.warn("Returning from recursive render XAX",c,w),{elem:c,diff:w}},"recursiveRender"),ce=X(async(o,s)=>{var f,p,c,h,i,r;const l=new K({multigraph:!0,compound:!0}).setGraph({rankdir:o.direction,nodesep:((f=o.config)==null?void 0:f.nodeSpacing)||((c=(p=o.config)==null?void 0:p.flowchart)==null?void 0:c.nodeSpacing)||o.nodeSpacing,ranksep:((h=o.config)==null?void 0:h.rankSpacing)||((r=(i=o.config)==null?void 0:i.flowchart)==null?void 0:r.rankSpacing)||o.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),y=s.select("g");v(y,o.markers,o.type,o.diagramId),D(),Y(),H(),O(),o.nodes.forEach(t=>{l.setNode(t.id,{...t}),t.parentId&&l.setParent(t.id,t.parentId)}),d.debug("Edges:",o.edges),o.edges.forEach(t=>{if(t.start===t.end){const g=t.start,S=g+"---"+g+"---1",w=g+"---"+g+"---2",b=l.node(g);l.setNode(S,{domId:S,id:S,parentId:b.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),l.setParent(S,b.parentId),l.setNode(w,{domId:w,id:w,parentId:b.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),l.setParent(w,b.parentId);const E=structuredClone(t),m=structuredClone(t),n=structuredClone(t),e=structuredClone(t);m.originalEdge=E,m.selfLoop={id:E.id,order:0},n.originalEdge=E,n.selfLoop={id:E.id,order:1},e.originalEdge=E,e.selfLoop={id:E.id,order:2},m.label="",m.arrowTypeEnd="none",m.endLabelLeft="",m.endLabelRight="",m.startLabelLeft="",m.id=g+"-cyclic-special-1",n.startLabelRight="",n.startLabelLeft="",n.endLabelLeft="",n.endLabelRight="",n.arrowTypeStart="none",n.arrowTypeEnd="none",n.id=g+"-cyclic-special-mid",e.label="",e.startLabelRight="",e.startLabelLeft="",e.arrowTypeStart="none",b.isGroup&&(m.fromCluster=g,e.toCluster=g),e.id=g+"-cyclic-special-2",e.arrowTypeStart="none",l.setEdge(g,S,m,g+"-cyclic-special-0"),l.setEdge(S,w,n,g+"-cyclic-special-1"),l.setEdge(w,g,e,g+"-cyclic-special-2")}else l.setEdge(t.start,t.end,{...t},t.id)}),d.warn("Graph at first:",JSON.stringify(M(l))),J(l),d.warn("Graph after XAX:",JSON.stringify(M(l)));const a=_();await T(y,l,o.type,o.diagramId,void 0,a)},"render");export{se as getEdgesToRender,ce as render}; diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-BGqbHV5N.js b/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-8KW8pRlJ.js similarity index 96% rename from veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-BGqbHV5N.js rename to veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-8KW8pRlJ.js index ad7c334f8..12344c736 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-BGqbHV5N.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-7IWD3JNH-8KW8pRlJ.js @@ -1,4 +1,4 @@ -import{I as X}from"./chunk-2Q5K7J3B-CcAB9q97.js";import{p as z}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{aU as G,aS as Y,aR as P,$ as F,V as j,W as U,a as p,r as N,at as S,aQ as Z,B as q,X as D,s as K,aO as Q,a2 as J,O as ee,aK as te}from"./mermaid.core-OQ-NoIeH.js";import{p as re}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import"../../app/index-Bj9lylJf.js";var E=/[─━│┃└┗├┣]/,L=/[└┗├┣]/,ne=/[─━]/,$=/^[\s│┃]+$/,k=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,ie=" ";function _(r){return r.some(e=>E.test(e))}p(_,"isBoxDrawingFormat");function M(r){for(const e of r){const t=L.exec(e);if(t!=null&&t.index&&t.index>0)return t.index}return 4}p(M,"inferSegmentWidth");function R(r,e){return r.replace(/\bline\s+(\d+)\b/gi,(t,i)=>{const o=parseInt(i,10),c=e.get(o);return c?`line ${c}`:t})}p(R,"remapErrorLines");function H(r){const e=r.split(` +import{I as X}from"./chunk-2Q5K7J3B-DyH4ylUc.js";import{p as z}from"./chunk-JWPE2WC7-DKTpV34k.js";import{aU as G,aS as Y,aR as P,$ as F,V as j,W as U,a as p,r as N,at as S,aQ as Z,B as q,X as D,s as K,aO as Q,a2 as J,O as ee,aK as te}from"./mermaid.core-DAX2QfGO.js";import{p as re}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import"../../app/index-sh8QRNzm.js";var E=/[─━│┃└┗├┣]/,L=/[└┗├┣]/,ne=/[─━]/,$=/^[\s│┃]+$/,k=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,ie=" ";function _(r){return r.some(e=>E.test(e))}p(_,"isBoxDrawingFormat");function M(r){for(const e of r){const t=L.exec(e);if(t!=null&&t.index&&t.index>0)return t.index}return 4}p(M,"inferSegmentWidth");function R(r,e){return r.replace(/\bline\s+(\d+)\b/gi,(t,i)=>{const o=parseInt(i,10),c=e.get(o);return c?`line ${c}`:t})}p(R,"remapErrorLines");function H(r){const e=r.split(` `),t=new Map;let i=-1;for(const[a,s]of e.entries())if(s.trim()==="treeView-beta"){i=a;break}if(i===-1)return{text:r,lineMap:t};const o=[];for(let a=i+1;a({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),oe=p(()=>{x.reset(),K()},"clear"),se=p(()=>x.records.stack[0],"getRoot"),ae=p(()=>x.records.cnt,"getCount"),ce=ee.treeView,le=p(()=>N(ce,D().treeView),"getConfig"),de=p((r,e,t,i,o,c)=>{for(;r<=x.records.stack[x.records.stack.length-1].level;)x.records.stack.pop();const n={id:x.records.cnt++,level:r,name:e,nodeType:t,icon:o,cssClass:i,description:c,children:[]};x.records.stack[x.records.stack.length-1].children.push(n),x.records.stack.push(n)},"addNode"),he={clear:oe,addNode:de,getRoot:se,getCount:ae,getConfig:le,getAccTitle:U,getAccDescription:j,getDiagramTitle:F,setAccDescription:P,setAccTitle:Y,setDiagramTitle:G},y=he,pe=p(r=>{z(r,y);for(const e of r.nodes){const t=typeof e.indent=="number"?e.indent:0;let i=e.name;const o=i.endsWith("/");o&&(i=i.slice(0,-1));const c=o?"directory":"file",n=e.classAnnotation||void 0,l=e.iconAnnotation,a=l!==void 0?l||"none":void 0,s=e.descAnnotation||void 0,u=s?Q(s,D()):void 0;y.addNode(t,i,c,n,a,u)}},"populate"),fe={parse:p(async r=>{const{text:e,lineMap:t}=H(r);try{const i=await re("treeView",e);S.debug(i),pe(i)}catch(i){throw t.size>0&&i instanceof Error&&(i.message=R(i.message,t)),i}},"parse")},C={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:''},file:{body:''}}};function O(r,e){var o;const t=(o=e==null?void 0:e.filenameIcons)==null?void 0:o[r];if(t)return t;const i=r.lastIndexOf(".");if(i>0){const c=r.substring(i).toLowerCase(),n=e==null?void 0:e.extensionIcons;return(n==null?void 0:n[c])??(n==null?void 0:n[c.slice(1)])}}p(O,"detectIcon");function I(r,e){return r.includes(":")?r:r in C.icons||!e?`${C.prefix}:${r}`:`${e}:${r}`}p(I,"qualifyIcon");function V(r,e){if(r.icon!=="none"){if(r.icon)return I(r.icon,e.defaultIconPack);if(e.showIcons){if(r.nodeType==="file"){const t=O(r.name,e);if(t==="none")return;if(t)return I(t,e.defaultIconPack)}return`${C.prefix}:${r.nodeType==="directory"?"folder":"file"}`}}}p(V,"getNodeIcon");te([{name:C.prefix,icons:C}]);var B=14,ge=4,ue=16,W=p((r,e)=>`tv-icon-${r}-${e.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),we=p(async(r,e,t,i)=>{const o=new Set,c=p(a=>{const s=V(a,t);s&&o.add(s),a.children.forEach(c)},"collect");if(c(e),o.size===0)return;const n=await Promise.all([...o].map(async a=>({icon:a,svg:await J(a,{height:B,width:B})}))),l=r.append("defs");for(const{icon:a,svg:s}of n)l.append("g").attr("id",W(i,a)).html(s)},"injectIconDefs"),me=p((r,e,t,i,o,c)=>{var b;const n=i.append("g");let l="treeView-node-label";t.nodeType==="directory"&&(l+=" treeView-node-dir"),t.cssClass&&(l+=` ${t.cssClass}`);const a=B+ge,s=V(t,o),u=s!==void 0;s&&n.append("use").attr("xlink:href",`#${W(c,s)}`).attr("x",r+o.paddingX).attr("y",e+o.paddingY).attr("class","treeView-node-icon");const d=n.append("text").text(t.name).attr("dominant-baseline","middle").attr("class",l),{height:f,width:h}=d.node().getBBox(),m=f+o.paddingY*2,w=r+o.paddingX+(u?a:0);d.attr("x",w),d.attr("y",e+m/2);const g=w+h,v=h+o.paddingX*2+(u?a:0);return t.BBox={x:r,y:e,width:v,height:m},(b=t.cssClass)!=null&&b.split(/\s+/).includes("highlight")&&n.insert("rect",":first-child").attr("x",r).attr("y",e+1).attr("width",0).attr("height",m-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:t,nodeGroup:n,labelRightEdge:g,centerY:e+m/2}},"positionLabel"),A=p((r,e,t,i,o,c)=>r.append("line").attr("x1",e).attr("y1",t).attr("x2",i).attr("y2",o).attr("stroke-width",c).attr("class","treeView-node-line"),"positionLine"),ve=p((r,e,t,i)=>{var u;let o=0,c=0;const n=[],l=p((d,f,h,m)=>{const w=m*(h.rowIndent+h.paddingX),g=me(w,o,f,d,h,i);n.push(g);const{height:v,width:b}=f.BBox;A(d,w-h.rowIndent,o+v/2,w,o+v/2,h.lineThickness),c=Math.max(c,w+b),o+=v},"drawNode"),a=p((d,f=0)=>{l(r,d,t,f),d.children.forEach(g=>{a(g,f+1)});const{x:h,y:m,height:w}=d.BBox;if(d.children.length){const{y:g,height:v}=d.children[d.children.length-1].BBox;A(r,h+t.paddingX,m+w,h+t.paddingX,g+v/2+t.lineThickness/2,t.lineThickness)}},"processNode");a(e);const s=n.filter(d=>d.node.description);if(s.length>0){const f=Math.max(...n.map(h=>h.labelRightEdge))+ue;for(const h of s){const w=h.nodeGroup.append("text").text(h.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",f).attr("y",h.centerY).node().getBBox();c=Math.max(c,f+w.width+t.paddingX)}}for(const d of n)if((u=d.node.cssClass)!=null&&u.split(/\s+/).includes("highlight")){const f=d.nodeGroup.select(".treeView-highlight-bg");if(!f.empty()){const h=c-d.node.BBox.x+8;f.attr("width",h),c=Math.max(c,d.node.BBox.x+h+2)}}return{totalHeight:o,totalWidth:c}},"drawTree"),xe=p(async(r,e,t,i)=>{S.debug(`Rendering treeView diagram `+r);const o=i.db,c=o.getRoot(),n=o.getConfig(),l=Z(e);await we(l,c,n,e);const a=l.append("g");a.attr("class","tree-view");const{totalHeight:s,totalWidth:u}=ve(a,c,n,e);l.attr("viewBox",`-${n.lineThickness/2} 0 ${u} ${s}`),q(l,s,u,n.useMaxWidth)},"draw"),be={draw:xe},Ce=be,ye={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},Ie=p(({treeView:r})=>{const{labelFontSize:e,labelColor:t,lineColor:i,iconColor:o,descriptionColor:c,highlightBg:n,highlightStroke:l}=N(ye,r);return` diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-jvDWlu8p.js b/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-Zn-3nBVO.js similarity index 97% rename from veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-jvDWlu8p.js rename to veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-Zn-3nBVO.js index 22641c234..e058f9a30 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-jvDWlu8p.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-B4RE2ZJO-Zn-3nBVO.js @@ -1,3 +1,3 @@ -import{p as oe}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{$ as se,aU as de,aR as le,V as ce,W as me,aS as ue,a as o,at as g,Y as T,aY as xe,s as fe,r as ge,X as E,O as he,aO as P,bc as S,o as pe}from"./mermaid.core-OQ-NoIeH.js";import{p as be,i as ve}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import{ad as we}from"../../app/index-Bj9lylJf.js";var D="position frame",N="frame positioned",M="position relation",O="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){C(),fe()},"clear");function C(){R={}}o(C,"reset");var ke=he.eventmodeling,Me=o(()=>ge({...ke,...E().eventmodeling}),"getConfig"),R={};function W(){let e=Be;const{ast:n}=R,t=A();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=L(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let d;q(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:l})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){R.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:450-2*10,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function A(){return s}o(A,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function V(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(V,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(v,"findNextAvailableIndex");function X(e,n){const t=H(e.entityIdentifier),i=V(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(X,"calculateSwimlaneProps");function _(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(_,"calculateEntityVisualProps");function L(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
    "};let c=`${S(a,t.textMaxWidth,d)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ +import{p as oe}from"./chunk-JWPE2WC7-DKTpV34k.js";import{$ as se,aU as de,aR as le,V as ce,W as me,aS as ue,a as o,at as g,Y as T,aY as xe,s as fe,r as ge,X as E,O as he,aO as P,bc as S,o as pe}from"./mermaid.core-DAX2QfGO.js";import{p as be,i as ve}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import{ad as we}from"../../app/index-sh8QRNzm.js";var D="position frame",N="frame positioned",M="position relation",O="relation positioned",ye=o(function(e){g.debug("options str",e)},"setOptions"),Pe=o(function(){return{}},"getOptions"),Se=o(function(){C(),fe()},"clear");function C(){R={}}o(C,"reset");var ke=he.eventmodeling,Me=o(()=>ge({...ke,...E().eventmodeling}),"getConfig"),R={};function W(){let e=Be;const{ast:n}=R,t=A();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,a)=>{const r=L(i,n.dataEntities,t);e=w(e,{$kind:D,index:a,frame:i,textProps:r});let d;q(i)?(g.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=w(e,{$kind:M,index:a,frame:i,sourceFrame:l})})):e=w(e,{$kind:M,index:a,frame:i})}),e={...e,sortedSwimlanesArray:$(e.swimlanes)},e}o(W,"getState");function I(e){R.ast=e}o(I,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:450-2*10,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function A(){return s}o(A,"getDiagramProps");var Be={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function H(e){const n=e.split(".");if(n.length===2)return n[0]}o(H,"extractNamespace");function U(e){const n=e.split(".");return n.length===2?n[1]:e}o(U,"extractName");function V(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(V,"findSwimlaneByNamespace");function v(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const a=Number.parseInt(i);return a>n&&aNumber.parseInt(i)))+1}o(v,"findNextAvailableIndex");function X(e,n){const t=H(e.entityIdentifier),i=V(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:v(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:v(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:v(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(X,"calculateSwimlaneProps");function _(e){const{themeVariables:n}=E();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(_,"calculateEntityVisualProps");function L(e,n,t){const i=E(),a=P(U(e.entityIdentifier)??"",i);let r;const d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"
    "};let c=`${S(a,t.textMaxWidth,d)}`;if(e.dataInlineValue&&(r=e.dataInlineValue,r=r.substring(r.indexOf("{")+1),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" "," ")),e.dataReference){const p=n.find(y=>{var b;return y.name===((b=e.dataReference)==null?void 0:b.$refText)});p&&(r=p.dataBlockValue,r=r.substring(r.indexOf(`{ `)+2),r=r.substring(0,r.lastIndexOf("}")-1),r=P(r,i),r=S(r,t.textMaxWidth,d),r=r.replaceAll(" "," "),r+="
    ")}const m=r!==void 0;m&&(c+=`

    ${r}`);const x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=pe(c,x),h=m?u.width/3:u.width,f={content:c,width:h,height:u.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,f),f}o(L,"calculateTextProps");function Y(e,n){const t=n,i=_(t.frame),a={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:N,frame:t.frame,index:t.index,visual:i,dimension:a,textProps:t.textProps}]}o(Y,"decidePositionFrame");function G(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(G,"calculateX");function j(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}o(j,"calculateMaxRight");function $(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o($,"sortedSwimlanesArray");function z(e,n){const t=n,i=X(t.frame,e.swimlanes);let a;i.index in e.swimlanes?a=e.swimlanes[i.index]:a={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const r=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=G(a,d,r),m=c+l.width+s.boxPadding,x=j(Object.values(e.swimlanes),m);a.r=c+l.width,a.maxHeight=Math.max(a.maxHeight,l.height),a.height=Math.max(s.swimlaneMinHeight,a.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+a.y,r:m,dimension:l,leftSibling:!1,swimlane:a,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${a.index}`]:a},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},f=$(h.swimlanes);f.length>0&&(f[0].y=0);for(let p=1;p0}o(q,"hasSourceFrame");function B(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(B,"findBoxByFrame");function J(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const a=e[i];if(a.swimlane.index!==n)return a}}o(J,"findBoxByLineIndex");function Q(e,n){const t=n;if(ve(t.frame)||K(t.index,t.frame))return[];const i=B(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let a;return t.sourceFrame?a=B(e.boxes,t.sourceFrame):a=J(e.boxes,i.swimlane.index,t.index-1),a===void 0?[]:[{$kind:O,frame:t.frame,index:t.index,sourceBox:a,targetBox:i}]}o(Q,"decidePositionRelation");function Z(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(Z,"evolveRelationPositioned");var Fe={[D]:Y,[M]:Q},Ee={[N]:z,[O]:Z};function ee(e,n){const t=Fe[n.$kind];if(t==null)return[];const i=t(e,n);return g.debug("decided events",i),i}o(ee,"decide");function te(e,n){const t=n.reduce((i,a)=>{const r=Ee[a.$kind];return r==null?i:r(i,a)},e);return g.debug("evolve events",{state:e,newState:t,events:n}),t}o(te,"evolve");function w(e,n){const t=ee(e,n);return te(e,t)}o(w,"dispatch");var F={getConfig:Me,setOptions:ye,getOptions:Pe,clear:Se,setAccTitle:ue,getAccTitle:me,getAccDescription:ce,setAccDescription:le,setDiagramTitle:de,getDiagramTitle:se,setAst:I,getDiagramProps:A,getState:W},Re={parse:o(async e=>{const n=await be("eventmodeling",e);g.debug(n),F.setAst(n),oe(n,F)},"parse")},k=T(),Ae=k==null?void 0:k.eventmodeling;function ne(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),a.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(ne,"renderD3Box");function ie(e,n){return e>n}o(ie,"dirUpwards");function ae(e,n,t,i){return a=>{const r=a.sourceBox.swimlane.y+n.swimlanePadding,d=a.targetBox.swimlane.y+n.swimlanePadding,l=ie(r,d),c=a.sourceBox.x+a.sourceBox.dimension.width*2/3,m=a.targetBox.x+a.targetBox.dimension.width/3;let x,u;g.debug(`rendering relation up=${l} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),l?(x=r,u=d+a.targetBox.dimension.height):(x=r+a.sourceBox.dimension.height,u=d);const h=i.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(ae,"renderD3Relation");function re(e,n,t,i){return a=>{const r=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",a.height).attr("fill",d).attr("stroke",l),r.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}o(re,"renderD3Swimlane");var $e=o(function(e,n,t,i){if(g.debug("in eventmodeling renderer",e+` `,"id:",n,t),!Ae)throw new Error("EventModeling config not found");const a=i.db,{themeVariables:r,eventmodeling:d}=T(),l=we(`[id="${n}"]`),c=a.getDiagramProps(),m=a.getState(),x=`em-arrowhead-${n}`,u=r.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(re(l,m.maxR,c,r)),m.boxes.forEach(ne(l,c)),m.relations.forEach(ae(l,c,x,r)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),xe(void 0,l,(d==null?void 0:d.padding)??30,d==null?void 0:d.useMaxWidth)},"draw"),Te={draw:$e},De=o(e=>"","getStyles"),Ne=De,He={parser:Re,db:F,renderer:Te,styles:Ne};export{He as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-Dc5BMbsw.js b/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-sifT50JQ.js similarity index 93% rename from veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-Dc5BMbsw.js rename to veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-sifT50JQ.js index 0dd025ba8..e1048b43a 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-Dc5BMbsw.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-LBJQPF4R-sifT50JQ.js @@ -1,4 +1,4 @@ -import{p as B}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{a as b,r as m,aQ as C,B as S,at as w,aS as D,W as T,aU as P,$ as z,V as E,aR as F,X as A,O as W,s as _}from"./mermaid.core-OQ-NoIeH.js";import{p as N}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import"../../app/index-Bj9lylJf.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=P,this.getDiagramTitle=z,this.getAccDescription=E,this.setAccDescription=F}getConfig(){const t=m({...L,...A().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,O=b((e,t)=>{B(e,t);let s=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*s)return[e,void 0];const r=t*s-1,n=t*s;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),s=(r=x.parser)==null?void 0:r.yy;if(!(s instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),O(t,s)},"parse")},I=b((e,t,s,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())R(f,$,y,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),R=b((e,t,s,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=s*(r+l)+l;for(const o of t){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),U={draw:I},X={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},j=b(({packet:e}={})=>{const t=m(X,e);return` +import{p as B}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a as b,r as m,aQ as C,B as S,at as w,aS as D,W as T,aU as P,$ as z,V as E,aR as F,X as A,O as W,s as _}from"./mermaid.core-DAX2QfGO.js";import{p as N}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import"../../app/index-sh8QRNzm.js";var L=W.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=D,this.getAccTitle=T,this.setDiagramTitle=P,this.getDiagramTitle=z,this.getAccDescription=E,this.setAccDescription=F}getConfig(){const t=m({...L,...A().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){_(),this.packet=[]}},b(u,"PacketDB"),u),M=1e4,O=b((e,t)=>{B(e,t);let s=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*s)return[e,void 0];const r=t*s-1,n=t*s;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await N("packet",e),s=(r=x.parser)==null?void 0:r.yy;if(!(s instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),O(t,s)},"parse")},I=b((e,t,s,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=C(t);f.attr("viewBox",`0 0 ${k} ${g}`),S(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())R(f,$,y,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),R=b((e,t,s,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=s*(r+l)+l;for(const o of t){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),U={draw:I},X={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},j=b(({packet:e}={})=>{const t=m(X,e);return` .packetByte { font-size: ${t.byteFontSize}; } diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-Chesnco4.js b/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-D9fRizrn.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-Chesnco4.js rename to veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-D9fRizrn.js index db1caebe1..f7a36e2d9 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-Chesnco4.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-Q27KOJAE-D9fRizrn.js @@ -1,4 +1,4 @@ -import{p as ge}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{a as w,a8 as ye,X as ae,r as ee,aQ as Se,B as ve,at as te,b0 as B,aS as xe,W as be,aU as we,$ as Ce,V as Te,aR as Le,O as $e,al as Ae,s as Fe}from"./mermaid.core-OQ-NoIeH.js";import{s as Ne}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{p as Me}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import{ad as U}from"../../app/index-Bj9lylJf.js";import{f as O}from"../../chunks/defaultLocale-CrowFXzY.js";import{o as K}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function _e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function ke(){return this.eachAfter(_e)}function Ve(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function ze(t,a){for(var l=this,n=[l],r,s,h=-1;l=n.pop();)if(t.call(a,l,++h,this),r=l.children)for(s=r.length-1;s>=0;--s)n.push(r[s]);return this}function De(t,a){for(var l=this,n=[l],r=[],s,h,d,g=-1;l=n.pop();)if(r.push(l),s=l.children)for(h=0,d=s.length;h=0;)l+=n[r].value;a.value=l})}function Re(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function We(t){for(var a=this,l=Ee(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function Ee(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function He(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Ie(){return Array.from(this)}function Oe(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ge(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Xe(){var t=this,a,l=[t],n,r,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,s=n.length;r=0;--d)r.push(s=h[d]=new Q(h[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Qe)}function qe(){return ne(this).eachBefore(Ue)}function Ye(t){return t.children}function je(t){return Array.isArray(t)?t[1]:null}function Ue(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Qe(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Q(t){this.data=t,this.depth=this.height=0,this.parent=null}Q.prototype=ne.prototype={constructor:Q,count:ke,each:Ve,eachAfter:De,eachBefore:ze,find:Pe,sum:Be,sort:Re,path:We,ancestors:He,descendants:Ie,leaves:Oe,links:Ge,copy:qe,[Symbol.iterator]:Xe};function Ze(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function X(t){return function(){return t}}function Je(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ke(t,a,l,n,r){for(var s=t.children,h,d=-1,g=s.length,c=t.value&&(n-a)/t.value;++dM&&(M=c),_=p*p*E,A=Math.max(M/_,_/y),A>z){p-=c;break}z=A}h.push(g={value:p,dice:x1?n:1)},l}(tt);function lt(){var t=nt,a=!1,l=1,n=1,r=[0],s=G,h=G,d=G,g=G,c=G;function u(i){return i.x0=i.y0=0,i.x1=l,i.y1=n,i.eachBefore(b),r=[0],a&&i.eachBefore(Je),i}function b(i){var x=r[i.depth],S=i.x0+x,v=i.y0+x,p=i.x1-x,y=i.y1-x;p{Ae(s)&&(n!=null&&n.textStyles?n.textStyles.push(s):n.textStyles=[s]),n!=null&&n.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){var l;return((l=this.classes.get(a))==null?void 0:l.styles)??[]}clear(){Fe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(W,"TreeMapDB"),W);function ce(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const s=l[l.length-1].node;s.children?s.children.push(r):s.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(ce,"buildHierarchy");var rt=w((t,a)=>{ge(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const h=s.item;if(!h)continue;const d=s.indent?parseInt(s.indent):0,g=st(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],u=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:u};l.push(b)}const n=ce(l),r=w((s,h)=>{for(const d of s)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(n,0)},"populate"),st=w(t=>t.name?String(t.name):"","getItemName"),he={parser:{yy:void 0},parse:w(async t=>{var a;try{const n=await Me("treemap",t);te.debug("Treemap AST:",n);const r=(a=he.parser)==null?void 0:a.yy;if(!(r instanceof oe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(n,r)}catch(l){throw te.error("Error parsing treemap:",l),l}},"parse")},it=10,R=10,q=25,ot=w((t,a,l,n)=>{const r=n.db,s=r.getConfig(),h=s.padding??it,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=ae();if(!g)return;const u=d?30:0,b=Se(a),i=s.nodeWidth?s.nodeWidth*R:960,x=s.nodeHeight?s.nodeHeight*R:500,S=i,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ve(b,v,S,s.useMaxWidth);let p;try{const e=s.valueFormat||",";if(e==="$0,0")p=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);p=w(f=>"$"+O(o||"")(f),"valueFormat")}else p=O(e)}catch(e){te.error("Error creating format function:",e),p=O(",")}const y=K().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=K().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),A=K().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const z=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),E=ne(g).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),le=lt().size([i,x]).paddingTop(e=>e.children&&e.children.length>0?q+R:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?R:0).paddingRight(e=>e.children&&e.children.length>0?R:0).paddingBottom(e=>e.children&&e.children.length>0?R:0).round(!0)(E),de=le.descendants().filter(e=>e.children&&e.children.length>0),H=z.selectAll(".treemapSection").data(de).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",q).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),H.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",q),H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=B({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),H.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",q/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,o)=>`url(#clip-section-${a}-${o})`).attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=U(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let T;s.showValues!==!1&&e.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),k=o.node();if(k.getComputedTextLength()>m){const $="...";let V=f;for(;V.length>0;){if(V=f.substring(0,V.length-1),V.length===0){o.text($),k.getComputedTextLength()>m&&o.text("");break}if(o.text(V+$),k.getComputedTextLength()<=m)break}}}),s.showValues!==!1&&H.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",q/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const re=le.leaves(),F=re.length>20,ue=F?16:38,Y=F?14:28,D=F?4:8,I=F?4:6,Z=F?2:4,se=F?8:10,J=F?1:2,j=z.selectAll(".treemapLeafGroup").data(re).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o=`text-anchor: middle; dominant-baseline: middle; font-size: ${ue}px;fill:`+A(e.data.name)+";",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=U(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),T=f-2*Z,P=C-2*Z;if(TT&&m>D;)m--,o.style("font-size",`${m}px`);let N=Math.max(I,Math.min(Y,Math.round(m*k))),$=m+J+N;for(;$>P&&m>D&&(m--,N=Math.max(I,Math.min(Y,Math.round(m*k))),!(NT||m(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${Y}px;fill:`+A(o.data.name)+";",C=B({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?p(o.value):"").each(function(o){const f=U(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=U(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(I,Math.min(Y,Math.round(T*.6)));f.style("font-size",`${m}px`);const N=(o.y1-o.y0)/2+T/2+J;f.attr("y",N);const $=o.x1-o.x0,ie=o.y1-o.y0-4,me=$-2*Z;f.node().getComputedTextLength()>me||N+m>ie||m{const a=ye(),l=ae(),n=ee(a,l.themeVariables),r=ee(dt,t),s=r.titleColor??n.titleColor,h=r.labelColor??n.textColor,d=r.valueColor??n.textColor;return` +import{p as ge}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a as w,a8 as ye,X as ae,r as ee,aQ as Se,B as ve,at as te,b0 as B,aS as xe,W as be,aU as we,$ as Ce,V as Te,aR as Le,O as $e,al as Ae,s as Fe}from"./mermaid.core-DAX2QfGO.js";import{s as Ne}from"./chunk-KBJHAD2P-BJQBtkor.js";import{p as Me}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import{ad as U}from"../../app/index-sh8QRNzm.js";import{f as O}from"../../chunks/defaultLocale-CrowFXzY.js";import{o as K}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function _e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function ke(){return this.eachAfter(_e)}function Ve(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function ze(t,a){for(var l=this,n=[l],r,s,h=-1;l=n.pop();)if(t.call(a,l,++h,this),r=l.children)for(s=r.length-1;s>=0;--s)n.push(r[s]);return this}function De(t,a){for(var l=this,n=[l],r=[],s,h,d,g=-1;l=n.pop();)if(r.push(l),s=l.children)for(h=0,d=s.length;h=0;)l+=n[r].value;a.value=l})}function Re(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function We(t){for(var a=this,l=Ee(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function Ee(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function He(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Ie(){return Array.from(this)}function Oe(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ge(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Xe(){var t=this,a,l=[t],n,r,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,s=n.length;r=0;--d)r.push(s=h[d]=new Q(h[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Qe)}function qe(){return ne(this).eachBefore(Ue)}function Ye(t){return t.children}function je(t){return Array.isArray(t)?t[1]:null}function Ue(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Qe(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Q(t){this.data=t,this.depth=this.height=0,this.parent=null}Q.prototype=ne.prototype={constructor:Q,count:ke,each:Ve,eachAfter:De,eachBefore:ze,find:Pe,sum:Be,sort:Re,path:We,ancestors:He,descendants:Ie,leaves:Oe,links:Ge,copy:qe,[Symbol.iterator]:Xe};function Ze(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function X(t){return function(){return t}}function Je(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ke(t,a,l,n,r){for(var s=t.children,h,d=-1,g=s.length,c=t.value&&(n-a)/t.value;++dM&&(M=c),_=p*p*E,A=Math.max(M/_,_/y),A>z){p-=c;break}z=A}h.push(g={value:p,dice:x1?n:1)},l}(tt);function lt(){var t=nt,a=!1,l=1,n=1,r=[0],s=G,h=G,d=G,g=G,c=G;function u(i){return i.x0=i.y0=0,i.x1=l,i.y1=n,i.eachBefore(b),r=[0],a&&i.eachBefore(Je),i}function b(i){var x=r[i.depth],S=i.x0+x,v=i.y0+x,p=i.x1-x,y=i.y1-x;p{Ae(s)&&(n!=null&&n.textStyles?n.textStyles.push(s):n.textStyles=[s]),n!=null&&n.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){var l;return((l=this.classes.get(a))==null?void 0:l.styles)??[]}clear(){Fe(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(W,"TreeMapDB"),W);function ce(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const s=l[l.length-1].node;s.children?s.children.push(r):s.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(ce,"buildHierarchy");var rt=w((t,a)=>{ge(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const h=s.item;if(!h)continue;const d=s.indent?parseInt(s.indent):0,g=st(h),c=h.classSelector?a.getStylesForClass(h.classSelector):[],u=c.length>0?c:void 0,b={level:d,name:g,type:h.$type,value:h.value,classSelector:h.classSelector,cssCompiledStyles:u};l.push(b)}const n=ce(l),r=w((s,h)=>{for(const d of s)a.addNode(d,h),d.children&&d.children.length>0&&r(d.children,h+1)},"addNodesRecursively");r(n,0)},"populate"),st=w(t=>t.name?String(t.name):"","getItemName"),he={parser:{yy:void 0},parse:w(async t=>{var a;try{const n=await Me("treemap",t);te.debug("Treemap AST:",n);const r=(a=he.parser)==null?void 0:a.yy;if(!(r instanceof oe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");rt(n,r)}catch(l){throw te.error("Error parsing treemap:",l),l}},"parse")},it=10,R=10,q=25,ot=w((t,a,l,n)=>{const r=n.db,s=r.getConfig(),h=s.padding??it,d=r.getDiagramTitle(),g=r.getRoot(),{themeVariables:c}=ae();if(!g)return;const u=d?30:0,b=Se(a),i=s.nodeWidth?s.nodeWidth*R:960,x=s.nodeHeight?s.nodeHeight*R:500,S=i,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),ve(b,v,S,s.useMaxWidth);let p;try{const e=s.valueFormat||",";if(e==="$0,0")p=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);p=w(f=>"$"+O(o||"")(f),"valueFormat")}else p=O(e)}catch(e){te.error("Error creating format function:",e),p=O(",")}const y=K().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=K().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),A=K().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const z=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),E=ne(g).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),le=lt().size([i,x]).paddingTop(e=>e.children&&e.children.length>0?q+R:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?R:0).paddingRight(e=>e.children&&e.children.length>0?R:0).paddingBottom(e=>e.children&&e.children.length>0?R:0).round(!0)(E),de=le.descendants().filter(e=>e.children&&e.children.length>0),H=z.selectAll(".treemapSection").data(de).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",q).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),H.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",q),H.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>y(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=B({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),H.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",q/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,o)=>`url(#clip-section-${a}-${o})`).attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=U(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let T;s.showValues!==!1&&e.value?T=C-10-30-10-L:T=C-L-6;const m=Math.max(15,T),k=o.node();if(k.getComputedTextLength()>m){const $="...";let V=f;for(;V.length>0;){if(V=f.substring(0,V.length-1),V.length===0){o.text($),k.getComputedTextLength()>m&&o.text("");break}if(o.text(V+$),k.getComputedTextLength()<=m)break}}}),s.showValues!==!1&&H.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",q/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+A(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const re=le.leaves(),F=re.length>20,ue=F?16:38,Y=F?14:28,D=F?4:8,I=F?4:6,Z=F?2:4,se=F?8:10,J=F?1:2,j=z.selectAll(".treemapLeafGroup").data(re).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);j.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("style",e=>B({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?y(e.parent.data.name):y(e.data.name)).attr("stroke-width",3),j.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),j.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o=`text-anchor: middle; dominant-baseline: middle; font-size: ${ue}px;fill:`+A(e.data.name)+";",f=B({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=U(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),T=f-2*Z,P=C-2*Z;if(TT&&m>D;)m--,o.style("font-size",`${m}px`);let N=Math.max(I,Math.min(Y,Math.round(m*k))),$=m+J+N;for(;$>P&&m>D&&(m--,N=Math.max(I,Math.min(Y,Math.round(m*k))),!(NT||m(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f=`text-anchor: middle; dominant-baseline: hanging; font-size: ${Y}px;fill:`+A(o.data.name)+";",C=B({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?p(o.value):"").each(function(o){const f=U(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=U(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const T=parseFloat(L.style("font-size")),m=Math.max(I,Math.min(Y,Math.round(T*.6)));f.style("font-size",`${m}px`);const N=(o.y1-o.y0)/2+T/2+J;f.attr("y",N);const $=o.x1-o.x0,ie=o.y1-o.y0-4,me=$-2*Z;f.node().getComputedTextLength()>me||N+m>ie||m{const a=ye(),l=ae(),n=ee(a,l.themeVariables),r=ee(dt,t),s=r.titleColor??n.titleColor,h=r.labelColor??n.textColor,d=r.valueColor??n.textColor;return` .treemapNode.section { stroke: ${r.sectionStrokeColor}; stroke-width: ${r.sectionStrokeWidth}; diff --git a/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-B_baGY6Y.js b/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-CgqkXTUU.js similarity index 95% rename from veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-B_baGY6Y.js rename to veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-CgqkXTUU.js index 992da8569..e2dc34b4a 100644 --- a/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-B_baGY6Y.js +++ b/veadk/webui/assets/visualizations/mermaid/diagram-UB23O5K3-CgqkXTUU.js @@ -1,4 +1,4 @@ -import{p as I}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{aR as _,V as E,$ as F,aU as D,W as P,aS as z,a as c,aQ as G,s as B,r as w,X as C,O as W,at as b,a8 as V,B as H}from"./mermaid.core-OQ-NoIeH.js";import{p as U}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import"../../app/index-Bj9lylJf.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},y=32,A={axes:[],curves:[],options:x},m=structuredClone(A),X=W.radar,j=c(()=>w({...X,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),K=c(()=>m.curves,"getCurves"),N=c(()=>m.options,"getOptions"),Q=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),J=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:K,getOptions:N,setAxes:Q,setCurves:Y,setOptions:q,getConfig:j,clear:J,setAccTitle:z,getAccTitle:P,setDiagramTitle:D,getDiagramTitle:F,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await U("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(u,n,v,o.ticks,o.graticule),nt(u,n,v,i),L(u,n,l,h,g,o.graticule,i),k(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;rw({...X,...C().radar}),"getConfig"),M=c(()=>m.axes,"getAxes"),K=c(()=>m.curves,"getCurves"),N=c(()=>m.options,"getOptions"),Q=c(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=c(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=c(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var n;return((n=s.axis)==null?void 0:n.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),q=c(a=>{var e,r,s,n,l;const t=a.reduce((o,i)=>(o[i.name]=i,o),{});m.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??x.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??x.ticks,max:((s=t.max)==null?void 0:s.value)??x.max,min:((n=t.min)==null?void 0:n.value)??x.min,graticule:((l=t.graticule)==null?void 0:l.value)??x.graticule},m.options.ticks>y&&(b.warn(`Radar diagram ticks (${m.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`),m.options.ticks=y)},"setOptions"),J=c(()=>{B(),m=structuredClone(A)},"clear"),$={getAxes:M,getCurves:K,getOptions:N,setAxes:Q,setCurves:Y,setOptions:q,getConfig:j,clear:J,setAccTitle:z,getAccTitle:P,setDiagramTitle:D,getDiagramTitle:F,getAccDescription:E,setAccDescription:_},tt=c(a=>{I(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),et={parse:c(async a=>{const t=await U("radar",a);b.debug(t),tt(t)},"parse")},at=c((a,t,e,r)=>{const s=r.db,n=s.getAxes(),l=s.getCurves(),o=s.getOptions(),i=s.getConfig(),d=s.getDiagramTitle(),p=G(t),u=rt(p,i),g=o.max??Math.max(...l.map(f=>Math.max(...f.entries))),h=o.min,v=Math.min(i.width,i.height)/2;st(u,n,v,o.ticks,o.graticule),nt(u,n,v,i),L(u,n,l,h,g,o.graticule,i),k(u,l,o.showLegend,i),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-i.height/2-i.marginTop)},"draw"),rt=c((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return H(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`).attr("overflow","visible"),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),st=c((a,t,e,r,s)=>{if(s==="circle")for(let n=0;n{const u=2*p*Math.PI/n-Math.PI/2,g=o*Math.cos(u),h=o*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",i).attr("class","radarGraticule")}}},"drawGraticule"),nt=c((a,t,e,r)=>{const s=t.length;for(let n=0;n.01?"start":i<-.01?"end":"middle",u=d>.01?"hanging":d<-.01?"auto":"central",g=4;a.append("text").text(l).attr("x",e*r.axisLabelFactor*i+g*i).attr("y",e*r.axisLabelFactor*d+g*d).attr("text-anchor",p).attr("dominant-baseline",u).attr("class","radarAxisLabel")}},"drawAxes");function L(a,t,e,r,s,n,l){const o=t.length,i=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==o)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/o-Math.PI/2,f=T(g,r,s,i),O=f*Math.cos(v),R=f*Math.sin(v);return{x:O,y:R}});n==="circle"?a.append("path").attr("d",S(u,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}c(L,"drawCurves");function T(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}c(T,"relativeRadius");function S(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s{const d=a.append("g").attr("transform",`translate(${s}, ${n+i*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${i}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}c(k,"drawLegend");var ot={draw:at},it=c((a,t)=>{let e="";for(let r=0;r{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},R={parser:g,db:n,renderer:m,styles:l};export{R as diagram}; +import{g as l,r as m,d as n}from"./chunk-6Q2QTUOP-LmTMnw7Y.js";import{p}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a as t,at as o}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import{M as u,a as f}from"./cynefin-OW5HDTMX-CVRcDGzI.js";var c=f().RailroadEbnf.parser.LangiumParser,s=t(e=>{const r=e.alternatives.map(E);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformChoice"),E=t(e=>{const r=e.elements.map(d);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),i=t(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return s(e.element);case"EbnfOptional":return{type:"optional",element:s(e.element)};case"EbnfRepetition":return{type:"repetition",element:s(e.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),b=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},i(r.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),d=t(e=>e.postfixes.reduce((r,a)=>b(r,a),i(e.base)),"transformTerm"),y=t(e=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t(e=>{p(e,n),e.title&&n.setTitle(e.title),e.rules.map(r=>n.addRule(y(r)))},"populateDb"),g={parse:t(e=>{n.clear(),o.debug("[EBNF Parser] Starting Langium parse");const r=c.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const a=r.value;o.debug("[EBNF Parser] Parsed rules:",a.rules.length),v(a),o.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n}},R={parser:g,db:n,renderer:m,styles:l};export{R as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-DNCYxMoL.js b/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-Dj7zNU_j.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-DNCYxMoL.js rename to veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-Dj7zNU_j.js index efbd067b1..af9878033 100644 --- a/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-DNCYxMoL.js +++ b/veadk/webui/assets/visualizations/mermaid/erDiagram-JOGREHBK-Dj7zNU_j.js @@ -1,4 +1,4 @@ -import{g as Bt}from"./chunk-XXDRQBXY-Du2hH_W_.js";import{s as Ft}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{a as p,aS as Yt,W as Pt,aR as zt,V as Gt,aU as Kt,$ as Ut,Y as rt,at as V,s as Zt,a0 as jt,aN as Wt,_ as Qt,a4 as Xt,aL as qt,ba as Ht}from"./mermaid.core-OQ-NoIeH.js";import{ad as Jt}from"../../app/index-Bj9lylJf.js";import{c as $t}from"../../chunks/channel-BQo1oGxG.js";var gt=function(){var s=p(function(R,n,a,l){for(a=a||{},l=R.length;l--;a[R[l]]=n);return a},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],o=[1,10],h=[1,11],c=[1,12],u=[1,13],y=[1,23],d=[1,24],m=[1,25],W=[1,26],Q=[1,27],S=[1,19],X=[1,28],B=[1,29],D=[1,20],I=[1,18],T=[1,21],x=[1,22],at=[1,36],ct=[1,37],ot=[1,38],lt=[1,39],ht=[1,40],F=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],O=[1,45],N=[1,46],Y=[1,55],P=[40,48,50,51,52,71,72],z=[1,66],G=[1,64],A=[1,61],K=[1,65],U=[1,67],q=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],bt=[66,67,68,69,70],kt=[1,85],mt=[1,84],Et=[1,82],St=[1,83],Tt=[6,10,42,47],L=[6,10,13,41,42,47,48,49],H=[1,93],J=[1,92],$=[1,91],Z=[19,58],Ot=[1,102],Nt=[1,101],ut=[19,58,61,63],dt={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:p(function(n,a,l,r,f,t,j){var e=t.length-1;switch(f){case 1:break;case 2:this.$=[];break;case 3:t[e-1].push(t[e]),this.$=t[e-1];break;case 4:case 5:this.$=t[e];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[e-4]),r.addEntity(t[e-2]),r.addRelationship(t[e-4],t[e],t[e-2],t[e-3]);break;case 9:r.addEntity(t[e-8]),r.addEntity(t[e-4]),r.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),r.setClass([t[e-8]],t[e-6]),r.setClass([t[e-4]],t[e-2]);break;case 10:r.addEntity(t[e-6]),r.addEntity(t[e-2]),r.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),r.setClass([t[e-6]],t[e-4]);break;case 11:r.addEntity(t[e-6]),r.addEntity(t[e-4]),r.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),r.setClass([t[e-4]],t[e-2]);break;case 12:r.addEntity(t[e-3]),r.addAttributes(t[e-3],t[e-1]);break;case 13:r.addEntity(t[e-5]),r.addAttributes(t[e-5],t[e-1]),r.setClass([t[e-5]],t[e-3]);break;case 14:r.addEntity(t[e-2]);break;case 15:r.addEntity(t[e-4]),r.setClass([t[e-4]],t[e-2]);break;case 16:r.addEntity(t[e]);break;case 17:r.addEntity(t[e-2]),r.setClass([t[e-2]],t[e]);break;case 18:r.addEntity(t[e-6],t[e-4]),r.addAttributes(t[e-6],t[e-1]);break;case 19:r.addEntity(t[e-8],t[e-6]),r.addAttributes(t[e-8],t[e-1]),r.setClass([t[e-8]],t[e-3]);break;case 20:r.addEntity(t[e-5],t[e-3]);break;case 21:r.addEntity(t[e-7],t[e-5]),r.setClass([t[e-7]],t[e-2]);break;case 22:r.addEntity(t[e-3],t[e-1]);break;case 23:r.addEntity(t[e-5],t[e-3]),r.setClass([t[e-5]],t[e]);break;case 24:case 25:this.$=t[e].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[e].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[e-3],r.addClass(t[e-2],t[e-1]);break;case 37:case 38:case 59:case 68:this.$=[t[e]];break;case 39:case 40:this.$=t[e-2].concat([t[e]]);break;case 41:this.$=t[e-2],r.setClass(t[e-1],t[e]);break;case 42:this.$=t[e-3],r.addCssStyles(t[e-2],t[e-1]);break;case 43:this.$=[t[e]];break;case 44:t[e-2].push(t[e]),this.$=t[e-2];break;case 46:this.$=t[e-1]+t[e];break;case 54:case 80:case 81:this.$=t[e].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=t[e];break;case 60:t[e].push(t[e-1]),this.$=t[e];break;case 61:this.$={type:t[e-1],name:t[e]};break;case 62:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 63:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 64:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 65:case 67:case 70:this.$=t[e];break;case 66:this.$=t[e-1]+t[e];break;case 69:t[e-2].push(t[e]),this.$=t[e-2];break;case 71:this.$=t[e].replace(/"/g,"");break;case 72:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,7],{1:[2,1]}),s(i,[2,3]),{9:30,11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,5]),s(i,[2,6]),s(i,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:at,67:ct,68:ot,69:lt,70:ht}),{23:[1,41]},{25:[1,42]},{27:[1,43]},s(i,[2,27]),s(i,[2,28]),s(i,[2,29]),s(i,[2,30]),s(i,[2,31]),s(F,[2,54]),s(F,[2,55]),s(F,[2,56]),s(F,[2,57]),s(F,[2,58]),s(i,[2,32]),s(i,[2,33]),s(i,[2,34]),s(i,[2,35]),{16:44,40:O,41:N},{16:47,40:O,41:N},{16:48,40:O,41:N},s(i,[2,4]),{11:49,40:S,48:D,50:I,51:T,52:x},{16:50,40:O,41:N},{18:51,19:[1,52],53:53,54:54,58:Y},{11:56,40:S,48:D,50:I,51:T,52:x},{65:57,71:[1,58],72:[1,59]},s(P,[2,73]),s(P,[2,74]),s(P,[2,75]),s(P,[2,76]),s(P,[2,77]),s(i,[2,24]),s(i,[2,25]),s(i,[2,26]),{13:z,38:60,41:G,42:A,45:62,46:63,48:K,49:U},s(q,[2,37]),s(q,[2,38]),{16:68,40:O,41:N,42:A},{13:z,38:69,41:G,42:A,45:62,46:63,48:K,49:U},{13:[1,70],15:[1,71]},s(i,[2,17],{64:35,12:72,17:[1,73],42:A,66:at,67:ct,68:ot,69:lt,70:ht}),{19:[1,74]},s(i,[2,14]),{18:75,19:[2,59],53:53,54:54,58:Y},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:at,67:ct,68:ot,69:lt,70:ht},s(bt,[2,78]),s(bt,[2,79]),{6:kt,10:mt,39:81,42:Et,47:St},{40:[1,86],41:[1,87]},s(Tt,[2,43],{46:88,13:z,41:G,48:K,49:U}),s(L,[2,45]),s(L,[2,50]),s(L,[2,51]),s(L,[2,52]),s(L,[2,53]),s(i,[2,41],{42:A}),{6:kt,10:mt,39:89,42:Et,47:St},{14:90,40:H,50:J,73:$},{16:94,40:O,41:N},{11:95,40:S,48:D,50:I,51:T,52:x},{18:96,19:[1,97],53:53,54:54,58:Y},s(i,[2,12]),{19:[2,60]},s(Z,[2,61],{56:98,57:99,60:100,62:Ot,63:Nt}),s([19,58,62,63],[2,67]),{58:[2,66]},s(i,[2,22],{15:[1,104],17:[1,103]}),s([40,48,50,51,52],[2,72]),s(i,[2,36]),{13:z,41:G,45:105,46:63,48:K,49:U},s(i,[2,47]),s(i,[2,48]),s(i,[2,49]),s(q,[2,39]),s(q,[2,40]),s(L,[2,46]),s(i,[2,42]),s(i,[2,8]),s(i,[2,80]),s(i,[2,81]),s(i,[2,82]),{13:[1,106],42:A},{13:[1,108],15:[1,107]},{19:[1,109]},s(i,[2,15]),s(Z,[2,62],{57:110,61:[1,111],63:Nt}),s(Z,[2,63]),s(ut,[2,68]),s(Z,[2,71]),s(ut,[2,70]),{18:112,19:[1,113],53:53,54:54,58:Y},{16:114,40:O,41:N},s(Tt,[2,44],{46:88,13:z,41:G,48:K,49:U}),{14:115,40:H,50:J,73:$},{16:116,40:O,41:N},{14:117,40:H,50:J,73:$},s(i,[2,13]),s(Z,[2,64]),{60:118,62:Ot},{19:[1,119]},s(i,[2,20]),s(i,[2,23],{17:[1,120],42:A}),s(i,[2,11]),{13:[1,121],42:A},s(i,[2,10]),s(ut,[2,69]),s(i,[2,18]),{18:122,19:[1,123],53:53,54:54,58:Y},{14:124,40:H,50:J,73:$},{19:[1,125]},s(i,[2,21]),s(i,[2,9]),s(i,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:p(function(n,a){if(a.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=a,l}},"parseError"),parse:p(function(n){var a=this,l=[0],r=[],f=[null],t=[],j=this.table,e="",et=0,At=0,Lt=2,Rt=1,wt=t.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var pt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pt)&&(C.yy[pt]=this.yy[pt]);_.setInput(n,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ft=_.yylloc;t.push(ft);var Vt=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(b){l.length=l.length-2*b,f.length=f.length-b,t.length=t.length-b}p(Mt,"popStack");function It(){var b;return b=r.pop()||_.lex()||Rt,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=a.symbols_[b]||b),b}p(It,"lex");for(var g,v,k,yt,w={},st,E,xt,it;;){if(v=l[l.length-1],this.defaultActions[v]?k=this.defaultActions[v]:((g===null||typeof g>"u")&&(g=It()),k=j[v]&&j[v][g]),typeof k>"u"||!k.length||!k[0]){var _t="";it=[];for(st in j[v])this.terminals_[st]&&st>Lt&&it.push("'"+this.terminals_[st]+"'");_.showPosition?_t="Parse error on line "+(et+1)+`: +import{g as Bt}from"./chunk-XXDRQBXY-DqdKXcqv.js";import{s as Ft}from"./chunk-KBJHAD2P-BJQBtkor.js";import{a as p,aS as Yt,W as Pt,aR as zt,V as Gt,aU as Kt,$ as Ut,Y as rt,at as V,s as Zt,a0 as jt,aN as Wt,_ as Qt,a4 as Xt,aL as qt,ba as Ht}from"./mermaid.core-DAX2QfGO.js";import{ad as Jt}from"../../app/index-sh8QRNzm.js";import{c as $t}from"../../chunks/channel-Cip7x_1m.js";var gt=function(){var s=p(function(R,n,a,l){for(a=a||{},l=R.length;l--;a[R[l]]=n);return a},"o"),i=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],o=[1,10],h=[1,11],c=[1,12],u=[1,13],y=[1,23],d=[1,24],m=[1,25],W=[1,26],Q=[1,27],S=[1,19],X=[1,28],B=[1,29],D=[1,20],I=[1,18],T=[1,21],x=[1,22],at=[1,36],ct=[1,37],ot=[1,38],lt=[1,39],ht=[1,40],F=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],O=[1,45],N=[1,46],Y=[1,55],P=[40,48,50,51,52,71,72],z=[1,66],G=[1,64],A=[1,61],K=[1,65],U=[1,67],q=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],bt=[66,67,68,69,70],kt=[1,85],mt=[1,84],Et=[1,82],St=[1,83],Tt=[6,10,42,47],L=[6,10,13,41,42,47,48,49],H=[1,93],J=[1,92],$=[1,91],Z=[19,58],Ot=[1,102],Nt=[1,101],ut=[19,58,61,63],dt={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:p(function(n,a,l,r,f,t,j){var e=t.length-1;switch(f){case 1:break;case 2:this.$=[];break;case 3:t[e-1].push(t[e]),this.$=t[e-1];break;case 4:case 5:this.$=t[e];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(t[e-4]),r.addEntity(t[e-2]),r.addRelationship(t[e-4],t[e],t[e-2],t[e-3]);break;case 9:r.addEntity(t[e-8]),r.addEntity(t[e-4]),r.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),r.setClass([t[e-8]],t[e-6]),r.setClass([t[e-4]],t[e-2]);break;case 10:r.addEntity(t[e-6]),r.addEntity(t[e-2]),r.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),r.setClass([t[e-6]],t[e-4]);break;case 11:r.addEntity(t[e-6]),r.addEntity(t[e-4]),r.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),r.setClass([t[e-4]],t[e-2]);break;case 12:r.addEntity(t[e-3]),r.addAttributes(t[e-3],t[e-1]);break;case 13:r.addEntity(t[e-5]),r.addAttributes(t[e-5],t[e-1]),r.setClass([t[e-5]],t[e-3]);break;case 14:r.addEntity(t[e-2]);break;case 15:r.addEntity(t[e-4]),r.setClass([t[e-4]],t[e-2]);break;case 16:r.addEntity(t[e]);break;case 17:r.addEntity(t[e-2]),r.setClass([t[e-2]],t[e]);break;case 18:r.addEntity(t[e-6],t[e-4]),r.addAttributes(t[e-6],t[e-1]);break;case 19:r.addEntity(t[e-8],t[e-6]),r.addAttributes(t[e-8],t[e-1]),r.setClass([t[e-8]],t[e-3]);break;case 20:r.addEntity(t[e-5],t[e-3]);break;case 21:r.addEntity(t[e-7],t[e-5]),r.setClass([t[e-7]],t[e-2]);break;case 22:r.addEntity(t[e-3],t[e-1]);break;case 23:r.addEntity(t[e-5],t[e-3]),r.setClass([t[e-5]],t[e]);break;case 24:case 25:this.$=t[e].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=t[e].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection("TB");break;case 33:r.setDirection("BT");break;case 34:r.setDirection("RL");break;case 35:r.setDirection("LR");break;case 36:this.$=t[e-3],r.addClass(t[e-2],t[e-1]);break;case 37:case 38:case 59:case 68:this.$=[t[e]];break;case 39:case 40:this.$=t[e-2].concat([t[e]]);break;case 41:this.$=t[e-2],r.setClass(t[e-1],t[e]);break;case 42:this.$=t[e-3],r.addCssStyles(t[e-2],t[e-1]);break;case 43:this.$=[t[e]];break;case 44:t[e-2].push(t[e]),this.$=t[e-2];break;case 46:this.$=t[e-1]+t[e];break;case 54:case 80:case 81:this.$=t[e].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=t[e];break;case 60:t[e].push(t[e-1]),this.$=t[e];break;case 61:this.$={type:t[e-1],name:t[e]};break;case 62:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 63:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 64:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 65:case 67:case 70:this.$=t[e];break;case 66:this.$=t[e-1]+t[e];break;case 69:t[e-2].push(t[e]),this.$=t[e-2];break;case 71:this.$=t[e].replace(/"/g,"");break;case 72:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,7],{1:[2,1]}),s(i,[2,3]),{9:30,11:9,22:o,24:h,26:c,28:u,29:14,30:15,31:16,32:17,33:y,34:d,35:m,36:W,37:Q,40:S,43:X,44:B,48:D,50:I,51:T,52:x},s(i,[2,5]),s(i,[2,6]),s(i,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:at,67:ct,68:ot,69:lt,70:ht}),{23:[1,41]},{25:[1,42]},{27:[1,43]},s(i,[2,27]),s(i,[2,28]),s(i,[2,29]),s(i,[2,30]),s(i,[2,31]),s(F,[2,54]),s(F,[2,55]),s(F,[2,56]),s(F,[2,57]),s(F,[2,58]),s(i,[2,32]),s(i,[2,33]),s(i,[2,34]),s(i,[2,35]),{16:44,40:O,41:N},{16:47,40:O,41:N},{16:48,40:O,41:N},s(i,[2,4]),{11:49,40:S,48:D,50:I,51:T,52:x},{16:50,40:O,41:N},{18:51,19:[1,52],53:53,54:54,58:Y},{11:56,40:S,48:D,50:I,51:T,52:x},{65:57,71:[1,58],72:[1,59]},s(P,[2,73]),s(P,[2,74]),s(P,[2,75]),s(P,[2,76]),s(P,[2,77]),s(i,[2,24]),s(i,[2,25]),s(i,[2,26]),{13:z,38:60,41:G,42:A,45:62,46:63,48:K,49:U},s(q,[2,37]),s(q,[2,38]),{16:68,40:O,41:N,42:A},{13:z,38:69,41:G,42:A,45:62,46:63,48:K,49:U},{13:[1,70],15:[1,71]},s(i,[2,17],{64:35,12:72,17:[1,73],42:A,66:at,67:ct,68:ot,69:lt,70:ht}),{19:[1,74]},s(i,[2,14]),{18:75,19:[2,59],53:53,54:54,58:Y},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:at,67:ct,68:ot,69:lt,70:ht},s(bt,[2,78]),s(bt,[2,79]),{6:kt,10:mt,39:81,42:Et,47:St},{40:[1,86],41:[1,87]},s(Tt,[2,43],{46:88,13:z,41:G,48:K,49:U}),s(L,[2,45]),s(L,[2,50]),s(L,[2,51]),s(L,[2,52]),s(L,[2,53]),s(i,[2,41],{42:A}),{6:kt,10:mt,39:89,42:Et,47:St},{14:90,40:H,50:J,73:$},{16:94,40:O,41:N},{11:95,40:S,48:D,50:I,51:T,52:x},{18:96,19:[1,97],53:53,54:54,58:Y},s(i,[2,12]),{19:[2,60]},s(Z,[2,61],{56:98,57:99,60:100,62:Ot,63:Nt}),s([19,58,62,63],[2,67]),{58:[2,66]},s(i,[2,22],{15:[1,104],17:[1,103]}),s([40,48,50,51,52],[2,72]),s(i,[2,36]),{13:z,41:G,45:105,46:63,48:K,49:U},s(i,[2,47]),s(i,[2,48]),s(i,[2,49]),s(q,[2,39]),s(q,[2,40]),s(L,[2,46]),s(i,[2,42]),s(i,[2,8]),s(i,[2,80]),s(i,[2,81]),s(i,[2,82]),{13:[1,106],42:A},{13:[1,108],15:[1,107]},{19:[1,109]},s(i,[2,15]),s(Z,[2,62],{57:110,61:[1,111],63:Nt}),s(Z,[2,63]),s(ut,[2,68]),s(Z,[2,71]),s(ut,[2,70]),{18:112,19:[1,113],53:53,54:54,58:Y},{16:114,40:O,41:N},s(Tt,[2,44],{46:88,13:z,41:G,48:K,49:U}),{14:115,40:H,50:J,73:$},{16:116,40:O,41:N},{14:117,40:H,50:J,73:$},s(i,[2,13]),s(Z,[2,64]),{60:118,62:Ot},{19:[1,119]},s(i,[2,20]),s(i,[2,23],{17:[1,120],42:A}),s(i,[2,11]),{13:[1,121],42:A},s(i,[2,10]),s(ut,[2,69]),s(i,[2,18]),{18:122,19:[1,123],53:53,54:54,58:Y},{14:124,40:H,50:J,73:$},{19:[1,125]},s(i,[2,21]),s(i,[2,9]),s(i,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:p(function(n,a){if(a.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=a,l}},"parseError"),parse:p(function(n){var a=this,l=[0],r=[],f=[null],t=[],j=this.table,e="",et=0,At=0,Lt=2,Rt=1,wt=t.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var pt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pt)&&(C.yy[pt]=this.yy[pt]);_.setInput(n,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ft=_.yylloc;t.push(ft);var Vt=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(b){l.length=l.length-2*b,f.length=f.length-b,t.length=t.length-b}p(Mt,"popStack");function It(){var b;return b=r.pop()||_.lex()||Rt,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=a.symbols_[b]||b),b}p(It,"lex");for(var g,v,k,yt,w={},st,E,xt,it;;){if(v=l[l.length-1],this.defaultActions[v]?k=this.defaultActions[v]:((g===null||typeof g>"u")&&(g=It()),k=j[v]&&j[v][g]),typeof k>"u"||!k.length||!k[0]){var _t="";it=[];for(st in j[v])this.terminals_[st]&&st>Lt&&it.push("'"+this.terminals_[st]+"'");_.showPosition?_t="Parse error on line "+(et+1)+`: `+_.showPosition()+` Expecting `+it.join(", ")+", got '"+(this.terminals_[g]||g)+"'":_t="Parse error on line "+(et+1)+": Unexpected "+(g==Rt?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(_t,{text:_.match,token:this.terminals_[g]||g,line:_.yylineno,loc:ft,expected:it})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+g);switch(k[0]){case 1:l.push(g),f.push(_.yytext),t.push(_.yylloc),l.push(k[1]),g=null,At=_.yyleng,e=_.yytext,et=_.yylineno,ft=_.yylloc;break;case 2:if(E=this.productions_[k[1]][1],w.$=f[f.length-E],w._$={first_line:t[t.length-(E||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(E||1)].first_column,last_column:t[t.length-1].last_column},Vt&&(w._$.range=[t[t.length-(E||1)].range[0],t[t.length-1].range[1]]),yt=this.performAction.apply(w,[e,At,et,C.yy,k[1],f,t].concat(wt)),typeof yt<"u")return yt;E&&(l=l.slice(0,-1*E*2),f=f.slice(0,-1*E),t=t.slice(0,-1*E)),l.push(this.productions_[k[1]][0]),f.push(w.$),t.push(w._$),xt=j[l[l.length-2]][l[l.length-1]],l.push(xt);break;case 3:return!0}}return!0},"parse")},Dt=function(){var R={EOF:1,parseError:p(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:p(function(n,a){return this.yy=a||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:p(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var a=n.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:p(function(n){var a=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===r.length?this.yylloc.first_column:0)+r[r.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:p(function(){return this._more=!0,this},"more"),reject:p(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:p(function(n){this.unput(this.match.slice(n))},"less"),pastInput:p(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:p(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:p(function(){var n=this.pastInput(),a=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-DDwOl6M5.js b/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-2fX5nZXI.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-DDwOl6M5.js rename to veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-2fX5nZXI.js index a5c61dbc9..7a61435b1 100644 --- a/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-DDwOl6M5.js +++ b/veadk/webui/assets/visualizations/mermaid/flowDiagram-UKHOOZJN-2fX5nZXI.js @@ -1,4 +1,4 @@ -import{g as Xt}from"./chunk-5VM5RSS4-CT700Zc5.js";import{g as Qt}from"./chunk-XXDRQBXY-Du2hH_W_.js";import{s as Jt}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{a as m,aa as Zt,aT as Mt,at as J,Y as g1,a4 as $t,aL as te,ba as rt,aS as ee,aR as se,aU as ie,W as re,V as ae,$ as ne,x as ue,as as le,J as oe,ao as ce,a0 as st,aH as he,s as de,N as pe,aN as fe}from"./mermaid.core-OQ-NoIeH.js";import{c as ge}from"./chunk-2GRJ4B5K-B2asRype.js";import{ad as it}from"../../app/index-Bj9lylJf.js";import{c as be}from"../../chunks/channel-BQo1oGxG.js";var Ae="flowchart-",G1,ke=(G1=class{constructor(){this.vertexCounter=0,this.config=g1(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=ee,this.setAccDescription=se,this.setDiagramTitle=ie,this.getAccTitle=re,this.getAccDescription=ae,this.getDiagramTitle=ne,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return ue.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const a of this.vertices.values())if(a.id===i)return this.diagramId?`${this.diagramId}-${a.domId}`:a.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,a,n,u,o,h,c={},g){var L,y;if(!i||i.trim().length===0)return;let r;if(g!==void 0){let f;g.includes(` +import{g as Xt}from"./chunk-5VM5RSS4-DW5_javj.js";import{g as Qt}from"./chunk-XXDRQBXY-DqdKXcqv.js";import{s as Jt}from"./chunk-KBJHAD2P-BJQBtkor.js";import{a as m,aa as Zt,aT as Mt,at as J,Y as g1,a4 as $t,aL as te,ba as rt,aS as ee,aR as se,aU as ie,W as re,V as ae,$ as ne,x as ue,as as le,J as oe,ao as ce,a0 as st,aH as he,s as de,N as pe,aN as fe}from"./mermaid.core-DAX2QfGO.js";import{c as ge}from"./chunk-2GRJ4B5K-8JeziMcZ.js";import{ad as it}from"../../app/index-sh8QRNzm.js";import{c as be}from"../../chunks/channel-Cip7x_1m.js";var Ae="flowchart-",G1,ke=(G1=class{constructor(){this.vertexCounter=0,this.config=g1(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=ee,this.setAccDescription=se,this.setDiagramTitle=ie,this.getAccTitle=re,this.getAccDescription=ae,this.getDiagramTitle=ne,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return ue.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const a of this.vertices.values())if(a.id===i)return this.diagramId?`${this.diagramId}-${a.domId}`:a.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,a,n,u,o,h,c={},g){var L,y;if(!i||i.trim().length===0)return;let r;if(g!==void 0){let f;g.includes(` `)?f=g+` `:f=`{ `+g+` diff --git a/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D_QbS2Qe.js b/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-X7kwbkc4.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D_QbS2Qe.js rename to veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-X7kwbkc4.js index 4120eadbd..15c3ee896 100644 --- a/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D_QbS2Qe.js +++ b/veadk/webui/assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-X7kwbkc4.js @@ -1,4 +1,4 @@ -import{V as An,aR as Wn,$ as $n,aU as On,W as Hn,aS as Nn,a as d,Y as Yt,B as Vn,L as it,at as Tt,x as Pn,aP as zn,s as Rn,ba as Bn}from"./mermaid.core-OQ-NoIeH.js";import{h as Ke,ac as Zn,E as tn,H as en,C as nn,a6 as ae,$ as Xn,q as re,N as ie,ad as Xt}from"../../app/index-Bj9lylJf.js";import{b as qn,t as $e,c as Gn,a as jn,l as Qn}from"../../chunks/linear-Dil5wD59.js";import{i as Jn}from"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";const Kn=Math.PI/180,tr=180/Math.PI,Jt=18,rn=.96422,sn=1,an=.82521,on=4/29,Ft=6/29,cn=3*Ft*Ft,er=Ft*Ft*Ft;function un(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return ln(t);t instanceof Ke||(t=Zn(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=oe((.2225045*e+.7168786*n+.0606169*r)/sn),s,a;return e===n&&n===r?s=a=i:(s=oe((.4360747*e+.3850649*n+.1430804*r)/rn),a=oe((.0139322*e+.0971045*n+.7141733*r)/an)),new ft(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?un(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}tn(ft,nr,en(nn,{brighter(t){return new ft(this.l+Jt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-Jt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=rn*ce(e),t=sn*ce(t),n=an*ce(n),new Ke(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function oe(t){return t>er?Math.pow(t,1/3):t/cn+on}function ce(t){return t>Ft?t*t*t:cn*(t-on)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=un(t)),t.a===0&&t.b===0)return new ht(NaN,0=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function or(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function cr(t){return t}var Gt=1,fe=2,ve=3,qt=4,Oe=1e-6;function ur(t){return"translate("+t+",0)"}function lr(t){return"translate(0,"+t+")"}function fr(t){return e=>+t(e)}function dr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function hr(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===Gt||t===qt?-1:1,w=t===qt||t===fe?"x":"y",V=t===Gt||t===ve?ur:lr;function _(Y){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),Z=i??(e.tickFormat?e.tickFormat.apply(e,n):cr),v=Math.max(s,0)+y,U=e.range(),z=+U[0]+F,E=+U[U.length-1]+F,R=(e.bandwidth?dr:fr)(e.copy(),F),G=Y.selection?Y.selection():Y,T=G.selectAll(".domain").data([null]),k=G.selectAll(".tick").data(q,e).order(),p=k.exit(),L=k.enter().append("g").attr("class","tick"),x=k.select("line"),C=k.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(L),x=x.merge(L.append("line").attr("stroke","currentColor").attr(w+"2",S*s)),C=C.merge(L.append("text").attr("fill","currentColor").attr(w,S*v).attr("dy",t===Gt?"0em":t===ve?"0.71em":"0.32em")),Y!==G&&(T=T.transition(Y),k=k.transition(Y),x=x.transition(Y),C=C.transition(Y),p=p.transition(Y).attr("opacity",Oe).attr("transform",function(M){return isFinite(M=R(M))?V(M+F):this.getAttribute("transform")}),L.attr("opacity",Oe).attr("transform",function(M){var D=this.parentNode.__axis;return V((D&&isFinite(D=D(M))?D:R(M))+F)})),p.remove(),T.attr("d",t===qt||t===fe?a?"M"+S*a+","+z+"H"+F+"V"+E+"H"+S*a:"M"+F+","+z+"V"+E:a?"M"+z+","+S*a+"V"+F+"H"+E+"V"+S*a:"M"+z+","+F+"H"+E),k.attr("opacity",1).attr("transform",function(M){return V(R(M)+F)}),x.attr(w+"2",S*s),C.attr(w,S*v).text(Z),G.filter(hr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===fe?"start":t===qt?"end":"middle"),G.each(function(){this.__axis=R})}return _.scale=function(Y){return arguments.length?(e=Y,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(Y){return arguments.length?(n=Y==null?[]:Array.from(Y),_):n.slice()},_.tickValues=function(Y){return arguments.length?(r=Y==null?null:Array.from(Y),_):r&&r.slice()},_.tickFormat=function(Y){return arguments.length?(i=Y,_):i},_.tickSize=function(Y){return arguments.length?(s=a=+Y,_):s},_.tickSizeInner=function(Y){return arguments.length?(s=+Y,_):s},_.tickSizeOuter=function(Y){return arguments.length?(a=+Y,_):a},_.tickPadding=function(Y){return arguments.length?(y=+Y,_):y},_.offset=function(Y){return arguments.length?(F=+Y,_):F},_}function mr(t){return fn(Gt,t)}function gr(t){return fn(ve,t)}function yr(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],a;return s(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const F=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return F;let S;do F.push(S=new Date(+s)),e(s,y),t(s);while(Snt(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(de.setTime(+s),he.setTime(+a),t(de),t(he),Math.floor(n(de,he))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Et=nt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?nt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,De=yt*7,He=yt*30,me=yt*365,vt=nt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Nt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Nt.range;const kr=nt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());kr.range;const Vt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Vt.range;const pr=nt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());pr.range;const xt=nt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const Me=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);Me.range;const vr=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));vr.range;function Dt(t){return nt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/De)}const Rt=Dt(0),Pt=Dt(1),dn=Dt(2),hn=Dt(3),bt=Dt(4),mn=Dt(5),gn=Dt(6);Rt.range;Pt.range;dn.range;hn.range;bt.range;mn.range;gn.range;function Mt(t){return nt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/De)}const yn=Mt(0),Kt=Mt(1),Tr=Mt(2),xr=Mt(3),It=Mt(4),br=Mt(5),wr=Mt(6);yn.range;Kt.range;Tr.range;xr.range;It.range;br.range;wr.range;const zt=nt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());zt.range;const Dr=nt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Dr.range;const kt=nt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=nt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function Mr(t,e,n,r,i,s){const a=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[s,1,ct],[s,5,5*ct],[s,15,15*ct],[s,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,De],[e,1,He],[e,3,3*He],[t,1,me]];function y(S,w,V){const _=wv).right(a,_);if(Y===a.length)return t.every($e(S/me,w/me,V));if(Y===0)return Et.every(Math.max($e(S,w,V),1));const[q,Z]=a[_/a[Y-1][2]53)return null;"w"in f||(f.w=1),"Z"in f?(A=ye($t(f.y,0,1)),Q=A.getUTCDay(),A=Q>4||Q===0?Kt.ceil(A):Kt(A),A=Me.offset(A,(f.V-1)*7),f.y=A.getUTCFullYear(),f.m=A.getUTCMonth(),f.d=A.getUTCDate()+(f.w+6)%7):(A=ge($t(f.y,0,1)),Q=A.getDay(),A=Q>4||Q===0?Pt.ceil(A):Pt(A),A=xt.offset(A,(f.V-1)*7),f.y=A.getFullYear(),f.m=A.getMonth(),f.d=A.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),Q="Z"in f?ye($t(f.y,0,1)).getUTCDay():ge($t(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+f.W*7-(Q+5)%7:f.w+f.U*7-(Q+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,ye(f)):ge(f)}}function p(h,N,P,f){for(var tt=0,A=N.length,Q=P.length,X,st;tt=Q)return-1;if(X=N.charCodeAt(tt++),X===37){if(X=N.charAt(tt++),st=G[X in Ne?N.charAt(tt++):X],!st||(f=st(h,P,f))<0)return-1}else if(X!=P.charCodeAt(f++))return-1}return f}function L(h,N,P){var f=S.exec(N.slice(P));return f?(h.p=w.get(f[0].toLowerCase()),P+f[0].length):-1}function x(h,N,P){var f=Y.exec(N.slice(P));return f?(h.w=q.get(f[0].toLowerCase()),P+f[0].length):-1}function C(h,N,P){var f=V.exec(N.slice(P));return f?(h.w=_.get(f[0].toLowerCase()),P+f[0].length):-1}function M(h,N,P){var f=U.exec(N.slice(P));return f?(h.m=z.get(f[0].toLowerCase()),P+f[0].length):-1}function D(h,N,P){var f=Z.exec(N.slice(P));return f?(h.m=v.get(f[0].toLowerCase()),P+f[0].length):-1}function c(h,N,P){return p(h,e,N,P)}function g(h,N,P){return p(h,n,N,P)}function b(h,N,P){return p(h,r,N,P)}function m(h){return a[h.getDay()]}function I(h){return s[h.getDay()]}function o(h){return F[h.getMonth()]}function W(h){return y[h.getMonth()]}function u(h){return i[+(h.getHours()>=12)]}function K(h){return 1+~~(h.getMonth()/3)}function l(h){return a[h.getUTCDay()]}function $(h){return s[h.getUTCDay()]}function O(h){return F[h.getUTCMonth()]}function j(h){return y[h.getUTCMonth()]}function H(h){return i[+(h.getUTCHours()>=12)]}function J(h){return 1+~~(h.getUTCMonth()/3)}return{format:function(h){var N=T(h+="",E);return N.toString=function(){return h},N},parse:function(h){var N=k(h+="",!1);return N.toString=function(){return h},N},utcFormat:function(h){var N=T(h+="",R);return N.toString=function(){return h},N},utcParse:function(h){var N=k(h+="",!0);return N.toString=function(){return h},N}}}var Ne={"-":"",_:" ",0:"0"},rt=/^\s*\d+/,Yr=/^%/,Fr=/[\\^$*+?|[\]().{}]/g;function B(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Er(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ve(t,e,n){var r=rt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function $r(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Or(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Hr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ze(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Re(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=rt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Br(t,e,n){var r=Yr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Zr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Xr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Be(t,e){return B(t.getDate(),e,2)}function qr(t,e){return B(t.getHours(),e,2)}function Gr(t,e){return B(t.getHours()%12||12,e,2)}function jr(t,e){return B(1+xt.count(kt(t),t),e,3)}function kn(t,e){return B(t.getMilliseconds(),e,3)}function Qr(t,e){return kn(t,e)+"000"}function Jr(t,e){return B(t.getMonth()+1,e,2)}function Kr(t,e){return B(t.getMinutes(),e,2)}function ti(t,e){return B(t.getSeconds(),e,2)}function ei(t){var e=t.getDay();return e===0?7:e}function ni(t,e){return B(Rt.count(kt(t)-1,t),e,2)}function pn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ri(t,e){return t=pn(t),B(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ii(t){return t.getDay()}function si(t,e){return B(Pt.count(kt(t)-1,t),e,2)}function ai(t,e){return B(t.getFullYear()%100,e,2)}function oi(t,e){return t=pn(t),B(t.getFullYear()%100,e,2)}function ci(t,e){return B(t.getFullYear()%1e4,e,4)}function ui(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),B(t.getFullYear()%1e4,e,4)}function li(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+B(e/60|0,"0",2)+B(e%60,"0",2)}function Ze(t,e){return B(t.getUTCDate(),e,2)}function fi(t,e){return B(t.getUTCHours(),e,2)}function di(t,e){return B(t.getUTCHours()%12||12,e,2)}function hi(t,e){return B(1+Me.count(wt(t),t),e,3)}function vn(t,e){return B(t.getUTCMilliseconds(),e,3)}function mi(t,e){return vn(t,e)+"000"}function gi(t,e){return B(t.getUTCMonth()+1,e,2)}function yi(t,e){return B(t.getUTCMinutes(),e,2)}function ki(t,e){return B(t.getUTCSeconds(),e,2)}function pi(t){var e=t.getUTCDay();return e===0?7:e}function vi(t,e){return B(yn.count(wt(t)-1,t),e,2)}function Tn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function Ti(t,e){return t=Tn(t),B(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function xi(t){return t.getUTCDay()}function bi(t,e){return B(Kt.count(wt(t)-1,t),e,2)}function wi(t,e){return B(t.getUTCFullYear()%100,e,2)}function Di(t,e){return t=Tn(t),B(t.getUTCFullYear()%100,e,2)}function Mi(t,e){return B(t.getUTCFullYear()%1e4,e,4)}function Ci(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),B(t.getUTCFullYear()%1e4,e,4)}function Si(){return"+0000"}function Xe(){return"%"}function qe(t){return+t}function Ge(t){return Math.floor(+t/1e3)}var St,te;_i({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function _i(t){return St=_r(t),te=St.format,St.parse,St.utcFormat,St.utcParse,St}function Yi(t){return new Date(t)}function Fi(t){return t instanceof Date?+t:+new Date(+t)}function xn(t,e,n,r,i,s,a,y,F,S){var w=Gn(),V=w.invert,_=w.domain,Y=S(".%L"),q=S(":%S"),Z=S("%I:%M"),v=S("%I %p"),U=S("%a %d"),z=S("%b %d"),E=S("%B"),R=S("%Y");function G(T){return(F(T)4&&(Y+=7),_.add(Y,n));return q.diff(Z,"week")+1},y.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var F=y.startOf;y.startOf=function(S,w){var V=this.$utils(),_=!!V.u(w)||w;return V.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(S,w)}}})})(bn);var Ei=bn.exports;const Ii=ie(Ei);var wn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,a=/\d\d?/,y=/\d*[^-_:/,()\s\d]+/,F={},S=function(v){return(v=+v)+(v>68?1900:2e3)},w=function(v){return function(U){this[v]=+U}},V=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=function(U){if(!U||U==="Z")return 0;var z=U.match(/([+-]|\d\d)/g),E=60*z[1]+(+z[2]||0);return E===0?0:z[0]==="+"?-E:E}(v)}],_=function(v){var U=F[v];return U&&(U.indexOf?U:U.s.concat(U.f))},Y=function(v,U){var z,E=F.meridiem;if(E){for(var R=1;R<=24;R+=1)if(v.indexOf(E(R,0,U))>-1){z=R>12;break}}else z=v===(U?"pm":"PM");return z},q={A:[y,function(v){this.afternoon=Y(v,!1)}],a:[y,function(v){this.afternoon=Y(v,!0)}],Q:[i,function(v){this.month=3*(v-1)+1}],S:[i,function(v){this.milliseconds=100*+v}],SS:[s,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,w("seconds")],ss:[a,w("seconds")],m:[a,w("minutes")],mm:[a,w("minutes")],H:[a,w("hours")],h:[a,w("hours")],HH:[a,w("hours")],hh:[a,w("hours")],D:[a,w("day")],DD:[s,w("day")],Do:[y,function(v){var U=F.ordinal,z=v.match(/\d+/);if(this.day=z[0],U)for(var E=1;E<=31;E+=1)U(E).replace(/\[|\]/g,"")===v&&(this.day=E)}],w:[a,w("week")],ww:[s,w("week")],M:[a,w("month")],MM:[s,w("month")],MMM:[y,function(v){var U=_("months"),z=(_("monthsShort")||U.map(function(E){return E.slice(0,3)})).indexOf(v)+1;if(z<1)throw new Error;this.month=z%12||z}],MMMM:[y,function(v){var U=_("months").indexOf(v)+1;if(U<1)throw new Error;this.month=U%12||U}],Y:[/[+-]?\d+/,w("year")],YY:[s,function(v){this.year=S(v)}],YYYY:[/\d{4}/,w("year")],Z:V,ZZ:V};function Z(v){var U,z;U=v,z=F&&F.formats;for(var E=(v=U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(x,C,M){var D=M&&M.toUpperCase();return C||z[M]||n[M]||z[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(c,g,b){return g||b.slice(1)})})).match(r),R=E.length,G=0;G-1)return new Date((I==="X"?1e3:1)*m);var u=Z(I)(m),K=u.year,l=u.month,$=u.day,O=u.hours,j=u.minutes,H=u.seconds,J=u.milliseconds,h=u.zone,N=u.week,P=new Date,f=$||(K||l?1:P.getDate()),tt=K||P.getFullYear(),A=0;K&&!l||(A=l>0?l-1:P.getMonth());var Q,X=O||0,st=j||0,at=H||0,pt=J||0;return h?new Date(Date.UTC(tt,A,f,X,st,at,pt+60*h.offset*1e3)):o?new Date(Date.UTC(tt,A,f,X,st,at,pt)):(Q=new Date(tt,A,f,X,st,at,pt),N&&(Q=W(Q).week(N).toDate()),Q)}catch{return new Date("")}}(T,L,k,z),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),M&&T!=this.format(L)&&(this.$d=new Date("")),F={}}else if(L instanceof Array)for(var c=L.length,g=1;g<=c;g+=1){p[1]=L[g-1];var b=z.apply(this,p);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}g===c&&(this.$d=new Date(""))}else R.call(this,G)}}})})(wn);var Li=wn.exports;const Ai=ie(Li);var Dn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,F=this.$locale();if(!this.isValid())return s.bind(this)(a);var S=this.$utils(),w=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(V){switch(V){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return F.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return F.ordinal(y.week(),"W");case"w":case"ww":return S.s(y.week(),V==="w"?1:2,"0");case"W":case"WW":return S.s(y.isoWeek(),V==="W"?1:2,"0");case"k":case"kk":return S.s(String(y.$H===0?24:y.$H),V==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return V}});return s.bind(this)(w)}}})})(Dn);var Wi=Dn.exports;const $i=ie(Wi);var Mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n,r,i=1e3,s=6e4,a=36e5,y=864e5,F=31536e6,S=2628e6,w=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,V=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:F,months:S,days:y,hours:a,minutes:s,seconds:i,milliseconds:1,weeks:6048e5},Y=function(T){return T instanceof R},q=function(T,k,p){return new R(T,p,k.$l)},Z=function(T){return r.p(T)+"s"},v=function(T){return T<0},U=function(T){return v(T)?Math.ceil(T):Math.floor(T)},z=function(T){return Math.abs(T)},E=function(T,k){return T?v(T)?{negative:!0,format:""+z(T)+k}:{negative:!1,format:""+T+k}:{negative:!1,format:""}},R=function(){function T(p,L,x){var C=this;if(this.$d={},this.$l=x,p===void 0&&(this.$ms=0,this.parseFromMilliseconds()),L)return q(p*_[Z(L)],this);if(typeof p=="number")return this.$ms=p,this.parseFromMilliseconds(),this;if(typeof p=="object")return Object.keys(p).forEach(function(c){C.$d[Z(c)]=p[c]}),this.calMilliseconds(),this;if(typeof p=="string"){var M=p.match(w);if(M){var D=M.slice(2).map(function(c){return c!=null?Number(c):0});return this.$d.years=D[0],this.$d.months=D[1],this.$d.weeks=D[2],this.$d.days=D[3],this.$d.hours=D[4],this.$d.minutes=D[5],this.$d.seconds=D[6],this.calMilliseconds(),this}}return this}var k=T.prototype;return k.calMilliseconds=function(){var p=this;this.$ms=Object.keys(this.$d).reduce(function(L,x){return L+(p.$d[x]||0)*_[x]},0)},k.parseFromMilliseconds=function(){var p=this.$ms;this.$d.years=U(p/F),p%=F,this.$d.months=U(p/S),p%=S,this.$d.days=U(p/y),p%=y,this.$d.hours=U(p/a),p%=a,this.$d.minutes=U(p/s),p%=s,this.$d.seconds=U(p/i),p%=i,this.$d.milliseconds=p},k.toISOString=function(){var p=E(this.$d.years,"Y"),L=E(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var C=E(x,"D"),M=E(this.$d.hours,"H"),D=E(this.$d.minutes,"M"),c=this.$d.seconds||0;this.$d.milliseconds&&(c+=this.$d.milliseconds/1e3,c=Math.round(1e3*c)/1e3);var g=E(c,"S"),b=p.negative||L.negative||C.negative||M.negative||D.negative||g.negative,m=M.format||D.format||g.format?"T":"",I=(b?"-":"")+"P"+p.format+L.format+C.format+m+M.format+D.format+g.format;return I==="P"||I==="-P"?"P0D":I},k.toJSON=function(){return this.toISOString()},k.format=function(p){var L=p||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return L.replace(V,function(C,M){return M||String(x[C])})},k.as=function(p){return this.$ms/_[Z(p)]},k.get=function(p){var L=this.$ms,x=Z(p);return x==="milliseconds"?L%=1e3:L=x==="weeks"?U(L/_[x]):this.$d[x],L||0},k.add=function(p,L,x){var C;return C=L?p*_[Z(L)]:Y(p)?p.$ms:q(p,this).$ms,q(this.$ms+C*(x?-1:1),this)},k.subtract=function(p,L){return this.add(p,L,!0)},k.locale=function(p){var L=this.clone();return L.$l=p,L},k.clone=function(){return q(this.$ms,this)},k.humanize=function(p){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!p)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},T}(),G=function(T,k,p){return T.add(k.years()*p,"y").add(k.months()*p,"M").add(k.days()*p,"d").add(k.hours()*p,"h").add(k.minutes()*p,"m").add(k.seconds()*p,"s").add(k.milliseconds()*p,"ms")};return function(T,k,p){n=p,r=p().$utils(),p.duration=function(C,M){var D=p.locale();return q(C,{$l:D},M)},p.isDuration=Y;var L=k.prototype.add,x=k.prototype.subtract;k.prototype.add=function(C,M){return Y(C)?G(this,C,1):L.bind(this)(C,M)},k.prototype.subtract=function(C,M){return Y(C)?G(this,C,-1):x.bind(this)(C,M)}}})})(Mn);var Oi=Mn.exports;const Hi=ie(Oi);var Te=function(){var t=d(function(D,c,g,b){for(g=g||{},b=D.length;b--;g[D[b]]=c);return g},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],s=[1,29],a=[1,30],y=[1,31],F=[1,32],S=[1,33],w=[1,34],V=[1,9],_=[1,10],Y=[1,11],q=[1,12],Z=[1,13],v=[1,14],U=[1,15],z=[1,16],E=[1,19],R=[1,20],G=[1,21],T=[1,22],k=[1,23],p=[1,25],L=[1,35],x={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:d(function(c,g,b,m,I,o,W){var u=o.length-1;switch(I){case 1:return o[u-1];case 2:this.$=[];break;case 3:o[u-1].push(o[u]),this.$=o[u-1];break;case 4:case 5:this.$=o[u];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=o[u].substr(18);break;case 19:m.TopAxis(),this.$=o[u].substr(8);break;case 20:m.setAxisFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 21:m.setTickInterval(o[u].substr(13)),this.$=o[u].substr(13);break;case 22:m.setExcludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 23:m.setIncludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 24:m.setTodayMarker(o[u].substr(12)),this.$=o[u].substr(12);break;case 27:m.setDiagramTitle(o[u].substr(6)),this.$=o[u].substr(6);break;case 28:this.$=o[u].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=o[u].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(o[u].substr(8)),this.$=o[u].substr(8);break;case 33:m.addTask(o[u-1],o[u]),this.$="task";break;case 34:this.$=o[u-1],m.setClickEvent(o[u-1],o[u],null);break;case 35:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],o[u]);break;case 36:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],null),m.setLink(o[u-2],o[u]);break;case 37:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-2],o[u-1]),m.setLink(o[u-3],o[u]);break;case 38:this.$=o[u-2],m.setClickEvent(o[u-2],o[u],null),m.setLink(o[u-2],o[u-1]);break;case 39:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-1],o[u]),m.setLink(o[u-3],o[u-2]);break;case 40:this.$=o[u-1],m.setLink(o[u-1],o[u]);break;case 41:case 47:this.$=o[u-1]+" "+o[u];break;case 42:case 43:case 45:this.$=o[u-2]+" "+o[u-1]+" "+o[u];break;case 44:case 46:this.$=o[u-3]+" "+o[u-2]+" "+o[u-1]+" "+o[u];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:d(function(c,g){if(g.recoverable)this.trace(c);else{var b=new Error(c);throw b.hash=g,b}},"parseError"),parse:d(function(c){var g=this,b=[0],m=[],I=[null],o=[],W=this.table,u="",K=0,l=0,$=2,O=1,j=o.slice.call(arguments,1),H=Object.create(this.lexer),J={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(J.yy[h]=this.yy[h]);H.setInput(c,J.yy),J.yy.lexer=H,J.yy.parser=this,typeof H.yylloc>"u"&&(H.yylloc={});var N=H.yylloc;o.push(N);var P=H.options&&H.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function f(ot){b.length=b.length-2*ot,I.length=I.length-ot,o.length=o.length-ot}d(f,"popStack");function tt(){var ot;return ot=m.pop()||H.lex()||O,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=g.symbols_[ot]||ot),ot}d(tt,"lex");for(var A,Q,X,st,at={},pt,ut,We,Zt;;){if(Q=b[b.length-1],this.defaultActions[Q]?X=this.defaultActions[Q]:((A===null||typeof A>"u")&&(A=tt()),X=W[Q]&&W[Q][A]),typeof X>"u"||!X.length||!X[0]){var se="";Zt=[];for(pt in W[Q])this.terminals_[pt]&&pt>$&&Zt.push("'"+this.terminals_[pt]+"'");H.showPosition?se="Parse error on line "+(K+1)+`: +import{V as An,aR as Wn,$ as $n,aU as On,W as Hn,aS as Nn,a as d,Y as Yt,B as Vn,L as it,at as Tt,x as Pn,aP as zn,s as Rn,ba as Bn}from"./mermaid.core-DAX2QfGO.js";import{h as Ke,ac as Zn,E as tn,H as en,C as nn,a6 as ae,$ as Xn,q as re,N as ie,ad as Xt}from"../../app/index-sh8QRNzm.js";import{b as qn,t as $e,c as Gn,a as jn,l as Qn}from"../../chunks/linear-BmzcZuEF.js";import{i as Jn}from"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";const Kn=Math.PI/180,tr=180/Math.PI,Jt=18,rn=.96422,sn=1,an=.82521,on=4/29,Ft=6/29,cn=3*Ft*Ft,er=Ft*Ft*Ft;function un(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return ln(t);t instanceof Ke||(t=Zn(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=oe((.2225045*e+.7168786*n+.0606169*r)/sn),s,a;return e===n&&n===r?s=a=i:(s=oe((.4360747*e+.3850649*n+.1430804*r)/rn),a=oe((.0139322*e+.0971045*n+.7141733*r)/an)),new ft(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?un(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}tn(ft,nr,en(nn,{brighter(t){return new ft(this.l+Jt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-Jt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=rn*ce(e),t=sn*ce(t),n=an*ce(n),new Ke(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function oe(t){return t>er?Math.pow(t,1/3):t/cn+on}function ce(t){return t>Ft?t*t*t:cn*(t-on)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=un(t)),t.a===0&&t.b===0)return new ht(NaN,0=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function or(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function cr(t){return t}var Gt=1,fe=2,ve=3,qt=4,Oe=1e-6;function ur(t){return"translate("+t+",0)"}function lr(t){return"translate(0,"+t+")"}function fr(t){return e=>+t(e)}function dr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function hr(){return!this.__axis}function fn(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===Gt||t===qt?-1:1,w=t===qt||t===fe?"x":"y",V=t===Gt||t===ve?ur:lr;function _(Y){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),Z=i??(e.tickFormat?e.tickFormat.apply(e,n):cr),v=Math.max(s,0)+y,U=e.range(),z=+U[0]+F,E=+U[U.length-1]+F,R=(e.bandwidth?dr:fr)(e.copy(),F),G=Y.selection?Y.selection():Y,T=G.selectAll(".domain").data([null]),k=G.selectAll(".tick").data(q,e).order(),p=k.exit(),L=k.enter().append("g").attr("class","tick"),x=k.select("line"),C=k.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(L),x=x.merge(L.append("line").attr("stroke","currentColor").attr(w+"2",S*s)),C=C.merge(L.append("text").attr("fill","currentColor").attr(w,S*v).attr("dy",t===Gt?"0em":t===ve?"0.71em":"0.32em")),Y!==G&&(T=T.transition(Y),k=k.transition(Y),x=x.transition(Y),C=C.transition(Y),p=p.transition(Y).attr("opacity",Oe).attr("transform",function(M){return isFinite(M=R(M))?V(M+F):this.getAttribute("transform")}),L.attr("opacity",Oe).attr("transform",function(M){var D=this.parentNode.__axis;return V((D&&isFinite(D=D(M))?D:R(M))+F)})),p.remove(),T.attr("d",t===qt||t===fe?a?"M"+S*a+","+z+"H"+F+"V"+E+"H"+S*a:"M"+F+","+z+"V"+E:a?"M"+z+","+S*a+"V"+F+"H"+E+"V"+S*a:"M"+z+","+F+"H"+E),k.attr("opacity",1).attr("transform",function(M){return V(R(M)+F)}),x.attr(w+"2",S*s),C.attr(w,S*v).text(Z),G.filter(hr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===fe?"start":t===qt?"end":"middle"),G.each(function(){this.__axis=R})}return _.scale=function(Y){return arguments.length?(e=Y,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(Y){return arguments.length?(n=Y==null?[]:Array.from(Y),_):n.slice()},_.tickValues=function(Y){return arguments.length?(r=Y==null?null:Array.from(Y),_):r&&r.slice()},_.tickFormat=function(Y){return arguments.length?(i=Y,_):i},_.tickSize=function(Y){return arguments.length?(s=a=+Y,_):s},_.tickSizeInner=function(Y){return arguments.length?(s=+Y,_):s},_.tickSizeOuter=function(Y){return arguments.length?(a=+Y,_):a},_.tickPadding=function(Y){return arguments.length?(y=+Y,_):y},_.offset=function(Y){return arguments.length?(F=+Y,_):F},_}function mr(t){return fn(Gt,t)}function gr(t){return fn(ve,t)}function yr(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],a;return s(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const F=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return F;let S;do F.push(S=new Date(+s)),e(s,y),t(s);while(Snt(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(de.setTime(+s),he.setTime(+a),t(de),t(he),Math.floor(n(de,he))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Et=nt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Et.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?nt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Et);Et.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,De=yt*7,He=yt*30,me=yt*365,vt=nt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const Nt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());Nt.range;const kr=nt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());kr.range;const Vt=nt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Vt.range;const pr=nt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());pr.range;const xt=nt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);xt.range;const Me=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);Me.range;const vr=nt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));vr.range;function Dt(t){return nt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/De)}const Rt=Dt(0),Pt=Dt(1),dn=Dt(2),hn=Dt(3),bt=Dt(4),mn=Dt(5),gn=Dt(6);Rt.range;Pt.range;dn.range;hn.range;bt.range;mn.range;gn.range;function Mt(t){return nt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/De)}const yn=Mt(0),Kt=Mt(1),Tr=Mt(2),xr=Mt(3),It=Mt(4),br=Mt(5),wr=Mt(6);yn.range;Kt.range;Tr.range;xr.range;It.range;br.range;wr.range;const zt=nt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());zt.range;const Dr=nt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Dr.range;const kt=nt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=nt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:nt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function Mr(t,e,n,r,i,s){const a=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[s,1,ct],[s,5,5*ct],[s,15,15*ct],[s,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,De],[e,1,He],[e,3,3*He],[t,1,me]];function y(S,w,V){const _=wv).right(a,_);if(Y===a.length)return t.every($e(S/me,w/me,V));if(Y===0)return Et.every(Math.max($e(S,w,V),1));const[q,Z]=a[_/a[Y-1][2]53)return null;"w"in f||(f.w=1),"Z"in f?(A=ye($t(f.y,0,1)),Q=A.getUTCDay(),A=Q>4||Q===0?Kt.ceil(A):Kt(A),A=Me.offset(A,(f.V-1)*7),f.y=A.getUTCFullYear(),f.m=A.getUTCMonth(),f.d=A.getUTCDate()+(f.w+6)%7):(A=ge($t(f.y,0,1)),Q=A.getDay(),A=Q>4||Q===0?Pt.ceil(A):Pt(A),A=xt.offset(A,(f.V-1)*7),f.y=A.getFullYear(),f.m=A.getMonth(),f.d=A.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),Q="Z"in f?ye($t(f.y,0,1)).getUTCDay():ge($t(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+f.W*7-(Q+5)%7:f.w+f.U*7-(Q+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,ye(f)):ge(f)}}function p(h,N,P,f){for(var tt=0,A=N.length,Q=P.length,X,st;tt=Q)return-1;if(X=N.charCodeAt(tt++),X===37){if(X=N.charAt(tt++),st=G[X in Ne?N.charAt(tt++):X],!st||(f=st(h,P,f))<0)return-1}else if(X!=P.charCodeAt(f++))return-1}return f}function L(h,N,P){var f=S.exec(N.slice(P));return f?(h.p=w.get(f[0].toLowerCase()),P+f[0].length):-1}function x(h,N,P){var f=Y.exec(N.slice(P));return f?(h.w=q.get(f[0].toLowerCase()),P+f[0].length):-1}function C(h,N,P){var f=V.exec(N.slice(P));return f?(h.w=_.get(f[0].toLowerCase()),P+f[0].length):-1}function M(h,N,P){var f=U.exec(N.slice(P));return f?(h.m=z.get(f[0].toLowerCase()),P+f[0].length):-1}function D(h,N,P){var f=Z.exec(N.slice(P));return f?(h.m=v.get(f[0].toLowerCase()),P+f[0].length):-1}function c(h,N,P){return p(h,e,N,P)}function g(h,N,P){return p(h,n,N,P)}function b(h,N,P){return p(h,r,N,P)}function m(h){return a[h.getDay()]}function I(h){return s[h.getDay()]}function o(h){return F[h.getMonth()]}function W(h){return y[h.getMonth()]}function u(h){return i[+(h.getHours()>=12)]}function K(h){return 1+~~(h.getMonth()/3)}function l(h){return a[h.getUTCDay()]}function $(h){return s[h.getUTCDay()]}function O(h){return F[h.getUTCMonth()]}function j(h){return y[h.getUTCMonth()]}function H(h){return i[+(h.getUTCHours()>=12)]}function J(h){return 1+~~(h.getUTCMonth()/3)}return{format:function(h){var N=T(h+="",E);return N.toString=function(){return h},N},parse:function(h){var N=k(h+="",!1);return N.toString=function(){return h},N},utcFormat:function(h){var N=T(h+="",R);return N.toString=function(){return h},N},utcParse:function(h){var N=k(h+="",!0);return N.toString=function(){return h},N}}}var Ne={"-":"",_:" ",0:"0"},rt=/^\s*\d+/,Yr=/^%/,Fr=/[\\^$*+?|[\]().{}]/g;function B(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Er(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ve(t,e,n){var r=rt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function $r(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Or(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Hr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ze(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Re(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=rt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function zr(t,e,n){var r=rt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=rt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Br(t,e,n){var r=Yr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Zr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Xr(t,e,n){var r=rt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Be(t,e){return B(t.getDate(),e,2)}function qr(t,e){return B(t.getHours(),e,2)}function Gr(t,e){return B(t.getHours()%12||12,e,2)}function jr(t,e){return B(1+xt.count(kt(t),t),e,3)}function kn(t,e){return B(t.getMilliseconds(),e,3)}function Qr(t,e){return kn(t,e)+"000"}function Jr(t,e){return B(t.getMonth()+1,e,2)}function Kr(t,e){return B(t.getMinutes(),e,2)}function ti(t,e){return B(t.getSeconds(),e,2)}function ei(t){var e=t.getDay();return e===0?7:e}function ni(t,e){return B(Rt.count(kt(t)-1,t),e,2)}function pn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ri(t,e){return t=pn(t),B(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ii(t){return t.getDay()}function si(t,e){return B(Pt.count(kt(t)-1,t),e,2)}function ai(t,e){return B(t.getFullYear()%100,e,2)}function oi(t,e){return t=pn(t),B(t.getFullYear()%100,e,2)}function ci(t,e){return B(t.getFullYear()%1e4,e,4)}function ui(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),B(t.getFullYear()%1e4,e,4)}function li(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+B(e/60|0,"0",2)+B(e%60,"0",2)}function Ze(t,e){return B(t.getUTCDate(),e,2)}function fi(t,e){return B(t.getUTCHours(),e,2)}function di(t,e){return B(t.getUTCHours()%12||12,e,2)}function hi(t,e){return B(1+Me.count(wt(t),t),e,3)}function vn(t,e){return B(t.getUTCMilliseconds(),e,3)}function mi(t,e){return vn(t,e)+"000"}function gi(t,e){return B(t.getUTCMonth()+1,e,2)}function yi(t,e){return B(t.getUTCMinutes(),e,2)}function ki(t,e){return B(t.getUTCSeconds(),e,2)}function pi(t){var e=t.getUTCDay();return e===0?7:e}function vi(t,e){return B(yn.count(wt(t)-1,t),e,2)}function Tn(t){var e=t.getUTCDay();return e>=4||e===0?It(t):It.ceil(t)}function Ti(t,e){return t=Tn(t),B(It.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function xi(t){return t.getUTCDay()}function bi(t,e){return B(Kt.count(wt(t)-1,t),e,2)}function wi(t,e){return B(t.getUTCFullYear()%100,e,2)}function Di(t,e){return t=Tn(t),B(t.getUTCFullYear()%100,e,2)}function Mi(t,e){return B(t.getUTCFullYear()%1e4,e,4)}function Ci(t,e){var n=t.getUTCDay();return t=n>=4||n===0?It(t):It.ceil(t),B(t.getUTCFullYear()%1e4,e,4)}function Si(){return"+0000"}function Xe(){return"%"}function qe(t){return+t}function Ge(t){return Math.floor(+t/1e3)}var St,te;_i({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function _i(t){return St=_r(t),te=St.format,St.parse,St.utcFormat,St.utcParse,St}function Yi(t){return new Date(t)}function Fi(t){return t instanceof Date?+t:+new Date(+t)}function xn(t,e,n,r,i,s,a,y,F,S){var w=Gn(),V=w.invert,_=w.domain,Y=S(".%L"),q=S(":%S"),Z=S("%I:%M"),v=S("%I %p"),U=S("%a %d"),z=S("%b %d"),E=S("%B"),R=S("%Y");function G(T){return(F(T)4&&(Y+=7),_.add(Y,n));return q.diff(Z,"week")+1},y.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var F=y.startOf;y.startOf=function(S,w){var V=this.$utils(),_=!!V.u(w)||w;return V.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(S,w)}}})})(bn);var Ei=bn.exports;const Ii=ie(Ei);var wn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,a=/\d\d?/,y=/\d*[^-_:/,()\s\d]+/,F={},S=function(v){return(v=+v)+(v>68?1900:2e3)},w=function(v){return function(U){this[v]=+U}},V=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=function(U){if(!U||U==="Z")return 0;var z=U.match(/([+-]|\d\d)/g),E=60*z[1]+(+z[2]||0);return E===0?0:z[0]==="+"?-E:E}(v)}],_=function(v){var U=F[v];return U&&(U.indexOf?U:U.s.concat(U.f))},Y=function(v,U){var z,E=F.meridiem;if(E){for(var R=1;R<=24;R+=1)if(v.indexOf(E(R,0,U))>-1){z=R>12;break}}else z=v===(U?"pm":"PM");return z},q={A:[y,function(v){this.afternoon=Y(v,!1)}],a:[y,function(v){this.afternoon=Y(v,!0)}],Q:[i,function(v){this.month=3*(v-1)+1}],S:[i,function(v){this.milliseconds=100*+v}],SS:[s,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,w("seconds")],ss:[a,w("seconds")],m:[a,w("minutes")],mm:[a,w("minutes")],H:[a,w("hours")],h:[a,w("hours")],HH:[a,w("hours")],hh:[a,w("hours")],D:[a,w("day")],DD:[s,w("day")],Do:[y,function(v){var U=F.ordinal,z=v.match(/\d+/);if(this.day=z[0],U)for(var E=1;E<=31;E+=1)U(E).replace(/\[|\]/g,"")===v&&(this.day=E)}],w:[a,w("week")],ww:[s,w("week")],M:[a,w("month")],MM:[s,w("month")],MMM:[y,function(v){var U=_("months"),z=(_("monthsShort")||U.map(function(E){return E.slice(0,3)})).indexOf(v)+1;if(z<1)throw new Error;this.month=z%12||z}],MMMM:[y,function(v){var U=_("months").indexOf(v)+1;if(U<1)throw new Error;this.month=U%12||U}],Y:[/[+-]?\d+/,w("year")],YY:[s,function(v){this.year=S(v)}],YYYY:[/\d{4}/,w("year")],Z:V,ZZ:V};function Z(v){var U,z;U=v,z=F&&F.formats;for(var E=(v=U.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(x,C,M){var D=M&&M.toUpperCase();return C||z[M]||n[M]||z[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(c,g,b){return g||b.slice(1)})})).match(r),R=E.length,G=0;G-1)return new Date((I==="X"?1e3:1)*m);var u=Z(I)(m),K=u.year,l=u.month,$=u.day,O=u.hours,j=u.minutes,H=u.seconds,J=u.milliseconds,h=u.zone,N=u.week,P=new Date,f=$||(K||l?1:P.getDate()),tt=K||P.getFullYear(),A=0;K&&!l||(A=l>0?l-1:P.getMonth());var Q,X=O||0,st=j||0,at=H||0,pt=J||0;return h?new Date(Date.UTC(tt,A,f,X,st,at,pt+60*h.offset*1e3)):o?new Date(Date.UTC(tt,A,f,X,st,at,pt)):(Q=new Date(tt,A,f,X,st,at,pt),N&&(Q=W(Q).week(N).toDate()),Q)}catch{return new Date("")}}(T,L,k,z),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),M&&T!=this.format(L)&&(this.$d=new Date("")),F={}}else if(L instanceof Array)for(var c=L.length,g=1;g<=c;g+=1){p[1]=L[g-1];var b=z.apply(this,p);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}g===c&&(this.$d=new Date(""))}else R.call(this,G)}}})})(wn);var Li=wn.exports;const Ai=ie(Li);var Dn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,F=this.$locale();if(!this.isValid())return s.bind(this)(a);var S=this.$utils(),w=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(V){switch(V){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return F.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return F.ordinal(y.week(),"W");case"w":case"ww":return S.s(y.week(),V==="w"?1:2,"0");case"W":case"WW":return S.s(y.isoWeek(),V==="W"?1:2,"0");case"k":case"kk":return S.s(String(y.$H===0?24:y.$H),V==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return V}});return s.bind(this)(w)}}})})(Dn);var Wi=Dn.exports;const $i=ie(Wi);var Mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(re,function(){var n,r,i=1e3,s=6e4,a=36e5,y=864e5,F=31536e6,S=2628e6,w=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,V=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,_={years:F,months:S,days:y,hours:a,minutes:s,seconds:i,milliseconds:1,weeks:6048e5},Y=function(T){return T instanceof R},q=function(T,k,p){return new R(T,p,k.$l)},Z=function(T){return r.p(T)+"s"},v=function(T){return T<0},U=function(T){return v(T)?Math.ceil(T):Math.floor(T)},z=function(T){return Math.abs(T)},E=function(T,k){return T?v(T)?{negative:!0,format:""+z(T)+k}:{negative:!1,format:""+T+k}:{negative:!1,format:""}},R=function(){function T(p,L,x){var C=this;if(this.$d={},this.$l=x,p===void 0&&(this.$ms=0,this.parseFromMilliseconds()),L)return q(p*_[Z(L)],this);if(typeof p=="number")return this.$ms=p,this.parseFromMilliseconds(),this;if(typeof p=="object")return Object.keys(p).forEach(function(c){C.$d[Z(c)]=p[c]}),this.calMilliseconds(),this;if(typeof p=="string"){var M=p.match(w);if(M){var D=M.slice(2).map(function(c){return c!=null?Number(c):0});return this.$d.years=D[0],this.$d.months=D[1],this.$d.weeks=D[2],this.$d.days=D[3],this.$d.hours=D[4],this.$d.minutes=D[5],this.$d.seconds=D[6],this.calMilliseconds(),this}}return this}var k=T.prototype;return k.calMilliseconds=function(){var p=this;this.$ms=Object.keys(this.$d).reduce(function(L,x){return L+(p.$d[x]||0)*_[x]},0)},k.parseFromMilliseconds=function(){var p=this.$ms;this.$d.years=U(p/F),p%=F,this.$d.months=U(p/S),p%=S,this.$d.days=U(p/y),p%=y,this.$d.hours=U(p/a),p%=a,this.$d.minutes=U(p/s),p%=s,this.$d.seconds=U(p/i),p%=i,this.$d.milliseconds=p},k.toISOString=function(){var p=E(this.$d.years,"Y"),L=E(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var C=E(x,"D"),M=E(this.$d.hours,"H"),D=E(this.$d.minutes,"M"),c=this.$d.seconds||0;this.$d.milliseconds&&(c+=this.$d.milliseconds/1e3,c=Math.round(1e3*c)/1e3);var g=E(c,"S"),b=p.negative||L.negative||C.negative||M.negative||D.negative||g.negative,m=M.format||D.format||g.format?"T":"",I=(b?"-":"")+"P"+p.format+L.format+C.format+m+M.format+D.format+g.format;return I==="P"||I==="-P"?"P0D":I},k.toJSON=function(){return this.toISOString()},k.format=function(p){var L=p||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return L.replace(V,function(C,M){return M||String(x[C])})},k.as=function(p){return this.$ms/_[Z(p)]},k.get=function(p){var L=this.$ms,x=Z(p);return x==="milliseconds"?L%=1e3:L=x==="weeks"?U(L/_[x]):this.$d[x],L||0},k.add=function(p,L,x){var C;return C=L?p*_[Z(L)]:Y(p)?p.$ms:q(p,this).$ms,q(this.$ms+C*(x?-1:1),this)},k.subtract=function(p,L){return this.add(p,L,!0)},k.locale=function(p){var L=this.clone();return L.$l=p,L},k.clone=function(){return q(this.$ms,this)},k.humanize=function(p){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!p)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},T}(),G=function(T,k,p){return T.add(k.years()*p,"y").add(k.months()*p,"M").add(k.days()*p,"d").add(k.hours()*p,"h").add(k.minutes()*p,"m").add(k.seconds()*p,"s").add(k.milliseconds()*p,"ms")};return function(T,k,p){n=p,r=p().$utils(),p.duration=function(C,M){var D=p.locale();return q(C,{$l:D},M)},p.isDuration=Y;var L=k.prototype.add,x=k.prototype.subtract;k.prototype.add=function(C,M){return Y(C)?G(this,C,1):L.bind(this)(C,M)},k.prototype.subtract=function(C,M){return Y(C)?G(this,C,-1):x.bind(this)(C,M)}}})})(Mn);var Oi=Mn.exports;const Hi=ie(Oi);var Te=function(){var t=d(function(D,c,g,b){for(g=g||{},b=D.length;b--;g[D[b]]=c);return g},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],s=[1,29],a=[1,30],y=[1,31],F=[1,32],S=[1,33],w=[1,34],V=[1,9],_=[1,10],Y=[1,11],q=[1,12],Z=[1,13],v=[1,14],U=[1,15],z=[1,16],E=[1,19],R=[1,20],G=[1,21],T=[1,22],k=[1,23],p=[1,25],L=[1,35],x={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:d(function(c,g,b,m,I,o,W){var u=o.length-1;switch(I){case 1:return o[u-1];case 2:this.$=[];break;case 3:o[u-1].push(o[u]),this.$=o[u-1];break;case 4:case 5:this.$=o[u];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=o[u].substr(18);break;case 19:m.TopAxis(),this.$=o[u].substr(8);break;case 20:m.setAxisFormat(o[u].substr(11)),this.$=o[u].substr(11);break;case 21:m.setTickInterval(o[u].substr(13)),this.$=o[u].substr(13);break;case 22:m.setExcludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 23:m.setIncludes(o[u].substr(9)),this.$=o[u].substr(9);break;case 24:m.setTodayMarker(o[u].substr(12)),this.$=o[u].substr(12);break;case 27:m.setDiagramTitle(o[u].substr(6)),this.$=o[u].substr(6);break;case 28:this.$=o[u].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=o[u].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(o[u].substr(8)),this.$=o[u].substr(8);break;case 33:m.addTask(o[u-1],o[u]),this.$="task";break;case 34:this.$=o[u-1],m.setClickEvent(o[u-1],o[u],null);break;case 35:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],o[u]);break;case 36:this.$=o[u-2],m.setClickEvent(o[u-2],o[u-1],null),m.setLink(o[u-2],o[u]);break;case 37:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-2],o[u-1]),m.setLink(o[u-3],o[u]);break;case 38:this.$=o[u-2],m.setClickEvent(o[u-2],o[u],null),m.setLink(o[u-2],o[u-1]);break;case 39:this.$=o[u-3],m.setClickEvent(o[u-3],o[u-1],o[u]),m.setLink(o[u-3],o[u-2]);break;case 40:this.$=o[u-1],m.setLink(o[u-1],o[u]);break;case 41:case 47:this.$=o[u-1]+" "+o[u];break;case 42:case 43:case 45:this.$=o[u-2]+" "+o[u-1]+" "+o[u];break;case 44:case 46:this.$=o[u-3]+" "+o[u-2]+" "+o[u-1]+" "+o[u];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:F,19:18,20:S,21:w,22:V,23:_,24:Y,25:q,26:Z,27:v,28:U,29:z,30:E,31:R,33:G,35:T,36:k,37:24,38:p,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:d(function(c,g){if(g.recoverable)this.trace(c);else{var b=new Error(c);throw b.hash=g,b}},"parseError"),parse:d(function(c){var g=this,b=[0],m=[],I=[null],o=[],W=this.table,u="",K=0,l=0,$=2,O=1,j=o.slice.call(arguments,1),H=Object.create(this.lexer),J={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(J.yy[h]=this.yy[h]);H.setInput(c,J.yy),J.yy.lexer=H,J.yy.parser=this,typeof H.yylloc>"u"&&(H.yylloc={});var N=H.yylloc;o.push(N);var P=H.options&&H.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function f(ot){b.length=b.length-2*ot,I.length=I.length-ot,o.length=o.length-ot}d(f,"popStack");function tt(){var ot;return ot=m.pop()||H.lex()||O,typeof ot!="number"&&(ot instanceof Array&&(m=ot,ot=m.pop()),ot=g.symbols_[ot]||ot),ot}d(tt,"lex");for(var A,Q,X,st,at={},pt,ut,We,Zt;;){if(Q=b[b.length-1],this.defaultActions[Q]?X=this.defaultActions[Q]:((A===null||typeof A>"u")&&(A=tt()),X=W[Q]&&W[Q][A]),typeof X>"u"||!X.length||!X[0]){var se="";Zt=[];for(pt in W[Q])this.terminals_[pt]&&pt>$&&Zt.push("'"+this.terminals_[pt]+"'");H.showPosition?se="Parse error on line "+(K+1)+`: `+H.showPosition()+` Expecting `+Zt.join(", ")+", got '"+(this.terminals_[A]||A)+"'":se="Parse error on line "+(K+1)+": Unexpected "+(A==O?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(se,{text:H.match,token:this.terminals_[A]||A,line:H.yylineno,loc:N,expected:Zt})}if(X[0]instanceof Array&&X.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+A);switch(X[0]){case 1:b.push(A),I.push(H.yytext),o.push(H.yylloc),b.push(X[1]),A=null,l=H.yyleng,u=H.yytext,K=H.yylineno,N=H.yylloc;break;case 2:if(ut=this.productions_[X[1]][1],at.$=I[I.length-ut],at._$={first_line:o[o.length-(ut||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(ut||1)].first_column,last_column:o[o.length-1].last_column},P&&(at._$.range=[o[o.length-(ut||1)].range[0],o[o.length-1].range[1]]),st=this.performAction.apply(at,[u,l,K,J.yy,X[1],I,o].concat(j)),typeof st<"u")return st;ut&&(b=b.slice(0,-1*ut*2),I=I.slice(0,-1*ut),o=o.slice(0,-1*ut)),b.push(this.productions_[X[1]][0]),I.push(at.$),o.push(at._$),We=W[b[b.length-2]][b[b.length-1]],b.push(We);break;case 3:return!0}}return!0},"parse")},C=function(){var D={EOF:1,parseError:d(function(g,b){if(this.yy.parser)this.yy.parser.parseError(g,b);else throw new Error(g)},"parseError"),setInput:d(function(c,g){return this.yy=g||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var g=c.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},"input"),unput:d(function(c){var g=c.length,b=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===m.length?this.yylloc.first_column:0)+m[m.length-b.length].length-b[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(c){this.unput(this.match.slice(c))},"less"),pastInput:d(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var c=this.pastInput(),g=new Array(c.length+1).join("-");return c+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-CMdbkt4j.js b/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-RzHaRRjn.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-CMdbkt4j.js rename to veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-RzHaRRjn.js index 7562e30d9..d194e6282 100644 --- a/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-CMdbkt4j.js +++ b/veadk/webui/assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-RzHaRRjn.js @@ -1,4 +1,4 @@ -import{I as he}from"./chunk-2Q5K7J3B-CcAB9q97.js";import{p as $e}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{$ as fe,aU as ge,aR as ue,V as ye,W as xe,aS as me,a as $,X as Q,at as k,Y as z,ba as pe,aY as be,s as we,x as L,r as ke,O as ve,aI as Ee}from"./mermaid.core-OQ-NoIeH.js";import{p as Ce}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import{ad as Be}from"../../app/index-Bj9lylJf.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Te=ve.gitGraph,D=$(()=>ke({...Te,...Q().gitGraph}),"getConfig"),i=new he(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function K(){return Ee({length:7})}$(K,"getID");function ae(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}$(ae,"uniqBy");var Le=$(function(e){i.records.direction=e},"setDirection"),Me=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),Ie=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+K(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),ne(r),k.debug("in createBranch")},"branch"),_e=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${K()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),Ge=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+K(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),ne=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function X(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}$(X,"upsert");function Z(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);X(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);X(e,r,s)}}e=ae(e,s=>s.id),Z(e)}$(Z,"prettyPrintCommitHistory");var He=$(function(){k.debug(i.records.commits);const e=se()[0];Z([e])},"prettyPrint"),Se=$(function(){i.reset(),we()},"clear"),Ae=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),De=$(function(){return i.records.branches},"getBranches"),We=$(function(){return i.records.commits},"getCommits"),se=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),Pe=$(function(){return i.records.currBranch},"getCurrentBranch"),qe=$(function(){return i.records.direction},"getDirection"),Ne=$(function(){return i.records.head},"getHead"),oe={commitType:p,getConfig:D,setDirection:Le,setOptions:Me,getOptions:Re,commit:Ie,branch:Oe,merge:_e,cherryPick:Ge,checkout:ne,prettyPrint:He,clear:Se,getBranchesAsObjArray:Ae,getBranches:De,getCommits:We,getCommitsArray:se,getCurrentBranch:Pe,getDirection:qe,getHead:Ne,setAccTitle:me,getAccTitle:xe,getAccDescription:ye,setAccDescription:ue,setDiagramTitle:ge,getDiagramTitle:fe},Fe=$((e,r)=>{$e(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)ze(t,r)},"populate"),ze=$((e,r)=>{const o={Commit:$(s=>r.commit(Ye(s)),"Commit"),Branch:$(s=>r.branch(je(s)),"Branch"),Merge:$(s=>r.merge(Ue(s)),"Merge"),Checkout:$(s=>r.checkout(Ke(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Ve(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ye=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),je=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ue=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ke=$(e=>e.branch,"parseCheckout"),Ve=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Xe={parse:$(async e=>{const r=await Ce("gitGraph",e);k.debug(r),Fe(r,oe)},"parse")},G=10,H=40,M=4,I=2,S=8,V=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),J=12,ee=new Set(["redux-color","redux-dark-color"]),Je=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),A=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,j=30,N=new Map,U=[],O=0,y="LR",Qe=$(()=>{B.clear(),T.clear(),N.clear(),O=0,U=[],y="LR"},"clear"),ce=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),ie=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),Ze=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),er=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=tr(a),s=Math.max(o,s)):d.push(a),ar(a,o)}),o=s,d.forEach(n=>{nr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=Ze(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),rr=$(e=>{var o;const r=ie(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),tr=$(e=>rr(e)+H,"calculateCommitPosition"),ar=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),nr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),sr=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=V.has(n??""),l=ee.has(n??""),h=Je.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${A(s,S,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${A(s,S,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${A(s,S,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}}},"drawCommitBullet"),or=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-I).attr("y",t.y+13.5).attr("width",h.width+2*I).attr("height",h.height+2*I),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),cr=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",` +import{I as he}from"./chunk-2Q5K7J3B-DyH4ylUc.js";import{p as $e}from"./chunk-JWPE2WC7-DKTpV34k.js";import{$ as fe,aU as ge,aR as ue,V as ye,W as xe,aS as me,a as $,X as Q,at as k,Y as z,ba as pe,aY as be,s as we,x as L,r as ke,O as ve,aI as Ee}from"./mermaid.core-DAX2QfGO.js";import{p as Ce}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import{ad as Be}from"../../app/index-sh8QRNzm.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Te=ve.gitGraph,D=$(()=>ke({...Te,...Q().gitGraph}),"getConfig"),i=new he(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function K(){return Ee({length:7})}$(K,"getID");function ae(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}$(ae,"uniqBy");var Le=$(function(e){i.records.direction=e},"setDirection"),Me=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),Ie=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+K(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),ne(r),k.debug("in createBranch")},"branch"),_e=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${K()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),Ge=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+K(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),ne=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function X(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}$(X,"upsert");function Z(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);X(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);X(e,r,s)}}e=ae(e,s=>s.id),Z(e)}$(Z,"prettyPrintCommitHistory");var He=$(function(){k.debug(i.records.commits);const e=se()[0];Z([e])},"prettyPrint"),Se=$(function(){i.reset(),we()},"clear"),Ae=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),De=$(function(){return i.records.branches},"getBranches"),We=$(function(){return i.records.commits},"getCommits"),se=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),Pe=$(function(){return i.records.currBranch},"getCurrentBranch"),qe=$(function(){return i.records.direction},"getDirection"),Ne=$(function(){return i.records.head},"getHead"),oe={commitType:p,getConfig:D,setDirection:Le,setOptions:Me,getOptions:Re,commit:Ie,branch:Oe,merge:_e,cherryPick:Ge,checkout:ne,prettyPrint:He,clear:Se,getBranchesAsObjArray:Ae,getBranches:De,getCommits:We,getCommitsArray:se,getCurrentBranch:Pe,getDirection:qe,getHead:Ne,setAccTitle:me,getAccTitle:xe,getAccDescription:ye,setAccDescription:ue,setDiagramTitle:ge,getDiagramTitle:fe},Fe=$((e,r)=>{$e(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)ze(t,r)},"populate"),ze=$((e,r)=>{const o={Commit:$(s=>r.commit(Ye(s)),"Commit"),Branch:$(s=>r.branch(je(s)),"Branch"),Merge:$(s=>r.merge(Ue(s)),"Merge"),Checkout:$(s=>r.checkout(Ke(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Ve(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ye=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),je=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ue=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ke=$(e=>e.branch,"parseCheckout"),Ve=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Xe={parse:$(async e=>{const r=await Ce("gitGraph",e);k.debug(r),Fe(r,oe)},"parse")},G=10,H=40,M=4,I=2,S=8,V=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),J=12,ee=new Set(["redux-color","redux-dark-color"]),Je=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),A=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,j=30,N=new Map,U=[],O=0,y="LR",Qe=$(()=>{B.clear(),T.clear(),N.clear(),O=0,U=[],y="LR"},"clear"),ce=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),ie=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),Ze=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),er=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=tr(a),s=Math.max(o,s)):d.push(a),ar(a,o)}),o=s,d.forEach(n=>{nr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=Ze(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),rr=$(e=>{var o;const r=ie(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),tr=$(e=>rr(e)+H,"calculateCommitPosition"),ar=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),nr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),sr=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=V.has(n??""),l=ee.has(n??""),h=Je.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${A(s,S,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${A(s,S,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${A(s,S,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${A(s,S,l)}`)}}},"drawCommitBullet"),or=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-I).attr("y",t.y+13.5).attr("width",h.width+2*I).attr("height",h.height+2*I),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),cr=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",` ${o-n/2-M/2},${u+I} ${o-n/2-M/2},${u-I} ${t.posWithOffset-n/2-M},${u-x-I} diff --git a/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-ZpsMRN3K.js b/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-NV32ThPD.js similarity index 67% rename from veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-ZpsMRN3K.js rename to veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-NV32ThPD.js index 97258accc..bb7901e89 100644 --- a/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-ZpsMRN3K.js +++ b/veadk/webui/assets/visualizations/mermaid/infoDiagram-6WML65LV-NV32ThPD.js @@ -1,2 +1,2 @@ -import{a as e,at as s,aQ as o,B as i}from"./mermaid.core-OQ-NoIeH.js";import{p as g}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import"../../app/index-Bj9lylJf.js";var p={parse:e(async r=>{const a=await g("info",r);s.debug(a)},"parse")},v={version:"11.16.1"},d=e(()=>v.version,"getVersion"),m={getVersion:d},c=e((r,a,n)=>{s.debug(`rendering info diagram +import{a as e,at as s,aQ as o,B as i}from"./mermaid.core-DAX2QfGO.js";import{p as g}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import"../../app/index-sh8QRNzm.js";var p={parse:e(async r=>{const a=await g("info",r);s.debug(a)},"parse")},v={version:"11.16.1"},d=e(()=>v.version,"getVersion"),m={getVersion:d},c=e((r,a,n)=>{s.debug(`rendering info diagram `+r);const t=o(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)},"draw"),f={draw:c},b={parser:p,db:m,renderer:f};export{b as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-h593HVGE.js b/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-DcfYA8UA.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-h593HVGE.js rename to veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-DcfYA8UA.js index 965be5bab..438e07361 100644 --- a/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-h593HVGE.js +++ b/veadk/webui/assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-DcfYA8UA.js @@ -1,4 +1,4 @@ -import{a as o,Y as ot,aC as ut,aQ as dt,k as yt,s as ft,x as pt,aU as it,W as gt,aS as kt,V as mt,aR as wt,$ as _t,B as xt}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";var tt=function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],b=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(b,[2,11]),e(b,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),x=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);x.setInput(t,C.yy),C.yy.lexer=x,C.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var T=x.yylloc;n.push(T);var D=x.options&&x.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(B){i.length=i.length-2*B,p.length=p.length-B,n.length=n.length-B}o(j,"popStack");function z(){var B;return B=u.pop()||x.lex()||E,typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=s.symbols_[B]||B),B}o(z,"lex");for(var A,W,P,Q,H={},Z,V,et,X;;){if(W=i[i.length-1],this.defaultActions[W]?P=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),P=v[W]&&v[W][A]),typeof P>"u"||!P.length||!P[0]){var q="";X=[];for(Z in v[W])this.terminals_[Z]&&Z>L&&X.push("'"+this.terminals_[Z]+"'");x.showPosition?q="Parse error on line "+(I+1)+`: +import{a as o,Y as ot,aC as ut,aQ as dt,k as yt,s as ft,x as pt,aU as it,W as gt,aS as kt,V as mt,aR as wt,$ as _t,B as xt}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";var tt=function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],b=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(b,[2,11]),e(b,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),x=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);x.setInput(t,C.yy),C.yy.lexer=x,C.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var T=x.yylloc;n.push(T);var D=x.options&&x.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(B){i.length=i.length-2*B,p.length=p.length-B,n.length=n.length-B}o(j,"popStack");function z(){var B;return B=u.pop()||x.lex()||E,typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=s.symbols_[B]||B),B}o(z,"lex");for(var A,W,P,Q,H={},Z,V,et,X;;){if(W=i[i.length-1],this.defaultActions[W]?P=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),P=v[W]&&v[W][A]),typeof P>"u"||!P.length||!P[0]){var q="";X=[];for(Z in v[W])this.terminals_[Z]&&Z>L&&X.push("'"+this.terminals_[Z]+"'");x.showPosition?q="Parse error on line "+(I+1)+`: `+x.showPosition()+` Expecting `+X.join(", ")+", got '"+(this.terminals_[A]||A)+"'":q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(q,{text:x.match,token:this.terminals_[A]||A,line:x.yylineno,loc:T,expected:X})}if(P[0]instanceof Array&&P.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(P[0]){case 1:i.push(A),p.push(x.yytext),n.push(x.yylloc),i.push(P[1]),A=null,S=x.yyleng,w=x.yytext,I=x.yylineno,T=x.yylloc;break;case 2:if(V=this.productions_[P[1]][1],H.$=p[p.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),Q=this.performAction.apply(H,[w,S,I,C.yy,P[1],p,n].concat(R)),typeof Q<"u")return Q;V&&(i=i.slice(0,-1*V*2),p=p.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[P[1]][0]),p.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-B5NSsZK6.js b/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-DpRdtcYa.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-B5NSsZK6.js rename to veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-DpRdtcYa.js index debe15856..1511d33e5 100644 --- a/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-B5NSsZK6.js +++ b/veadk/webui/assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-DpRdtcYa.js @@ -1,4 +1,4 @@ -import{g as gt}from"./chunk-5VM5RSS4-CT700Zc5.js";import{d as mt,g as lt,f as xt,e as kt}from"./chunk-2GRJ4B5K-B2asRype.js";import{V as _t,aR as vt,W as bt,aS as wt,$ as Tt,aU as St,a as s,Y as R,B as $t,s as Mt}from"./mermaid.core-OQ-NoIeH.js";import{ad as G}from"../../app/index-Bj9lylJf.js";import{d as it}from"../../chunks/arc-BKJrW-GX.js";var U=function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,W;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var X="";W=[];for(N in v[A])this.terminals_[N]&&N>yt&&W.push("'"+this.terminals_[N]+"'");_.showPosition?X="Parse error on line "+(C+1)+`: +import{g as gt}from"./chunk-5VM5RSS4-DW5_javj.js";import{d as mt,g as lt,f as xt,e as kt}from"./chunk-2GRJ4B5K-8JeziMcZ.js";import{V as _t,aR as vt,W as bt,aS as wt,$ as Tt,aU as St,a as s,Y as R,B as $t,s as Mt}from"./mermaid.core-DAX2QfGO.js";import{ad as G}from"../../app/index-sh8QRNzm.js";import{d as it}from"../../chunks/arc-B7D7fKkF.js";var U=function(){var t=s(function(h,r,n,l){for(n=n||{},l=h.length;l--;n[h[l]]=r);return n},"o"),e=[6,8,10,11,12,14,16,17,18],a=[1,9],f=[1,10],i=[1,11],u=[1,12],p=[1,13],o=[1,14],g={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(r,n,l,y,d,c,v){var k=c.length-1;switch(d){case 1:return c[k-1];case 2:this.$=[];break;case 3:c[k-1].push(c[k]),this.$=c[k-1];break;case 4:case 5:this.$=c[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(c[k].substr(6)),this.$=c[k].substr(6);break;case 9:this.$=c[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=c[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(c[k].substr(8)),this.$=c[k].substr(8);break;case 13:y.addTask(c[k-1],c[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:a,12:f,14:i,16:u,17:p,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(r,n){if(n.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=n,l}},"parseError"),parse:s(function(r){var n=this,l=[0],y=[],d=[null],c=[],v=this.table,k="",C=0,Q=0,yt=2,D=1,dt=c.slice.call(arguments,1),_=Object.create(this.lexer),I={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(I.yy[O]=this.yy[O]);_.setInput(r,I.yy),I.yy.lexer=_,I.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Y=_.yylloc;c.push(Y);var ft=_.options&&_.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(w){l.length=l.length-2*w,d.length=d.length-w,c.length=c.length-w}s(pt,"popStack");function tt(){var w;return w=y.pop()||_.lex()||D,typeof w!="number"&&(w instanceof Array&&(y=w,w=y.pop()),w=n.symbols_[w]||w),w}s(tt,"lex");for(var b,A,T,q,F={},N,M,et,W;;){if(A=l[l.length-1],this.defaultActions[A]?T=this.defaultActions[A]:((b===null||typeof b>"u")&&(b=tt()),T=v[A]&&v[A][b]),typeof T>"u"||!T.length||!T[0]){var X="";W=[];for(N in v[A])this.terminals_[N]&&N>yt&&W.push("'"+this.terminals_[N]+"'");_.showPosition?X="Parse error on line "+(C+1)+`: `+_.showPosition()+` Expecting `+W.join(", ")+", got '"+(this.terminals_[b]||b)+"'":X="Parse error on line "+(C+1)+": Unexpected "+(b==D?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(X,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:Y,expected:W})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(T[0]){case 1:l.push(b),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),b=null,Q=_.yyleng,k=_.yytext,C=_.yylineno,Y=_.yylloc;break;case 2:if(M=this.productions_[T[1]][1],F.$=d[d.length-M],F._$={first_line:c[c.length-(M||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(M||1)].first_column,last_column:c[c.length-1].last_column},ft&&(F._$.range=[c[c.length-(M||1)].range[0],c[c.length-1].range[1]]),q=this.performAction.apply(F,[k,Q,C,I.yy,T[1],d,c].concat(dt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),d=d.slice(0,-1*M),c=c.slice(0,-1*M)),l.push(this.productions_[T[1]][0]),d.push(F.$),c.push(F._$),et=v[l[l.length-2]][l[l.length-1]],l.push(et);break;case 3:return!0}}return!0},"parse")},m=function(){var h={EOF:1,parseError:s(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:s(function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var n=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-B08icks5.js b/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-T-j7ARpv.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-B08icks5.js rename to veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-T-j7ARpv.js index c834d5590..b02f53b0c 100644 --- a/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-B08icks5.js +++ b/veadk/webui/assets/visualizations/mermaid/kanban-definition-27J2QSJJ-T-j7ARpv.js @@ -1,4 +1,4 @@ -import{a as c,at as te,Y as W,aQ as fe,ad as ye,ag as be,aG as me,aX as ke,O as K,aO as F,as as Ee,J as _e,ak as Se,ap as le,H as ce}from"./mermaid.core-OQ-NoIeH.js";import{g as Ne}from"./chunk-5VM5RSS4-CT700Zc5.js";import"../../app/index-Bj9lylJf.js";var $=function(){var t=c(function(k,s,n,a){for(n=n||{},a=k.length;a--;n[k[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],E=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],H=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],M=[1,35],U=[1,36],A=[1,6,7,11,13,16,17,20,23],j=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:H}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(P,[2,14],{7:M,11:U}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:H}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:j}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:M,11:U}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:j}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Q=m.yylloc;e.push(Q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var _,R,v,q,G={},X,I,oe,Y;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((_===null||typeof _>"u")&&(_=ae()),v=B[R]&&B[R][_]),typeof v>"u"||!v.length||!v[0]){var Z="";Y=[];for(X in B[R])this.terminals_[X]&&X>ue&&Y.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`: +import{a as c,at as te,Y as W,aQ as fe,ad as ye,ag as be,aG as me,aX as ke,O as K,aO as F,as as Ee,J as _e,ak as Se,ap as le,H as ce}from"./mermaid.core-DAX2QfGO.js";import{g as Ne}from"./chunk-5VM5RSS4-DW5_javj.js";import"../../app/index-sh8QRNzm.js";var $=function(){var t=c(function(k,s,n,a){for(n=n||{},a=k.length;a--;n[k[a]]=s);return n},"o"),g=[1,4],d=[1,13],r=[1,12],p=[1,15],E=[1,16],f=[1,20],h=[1,19],L=[6,7,8],C=[1,26],w=[1,24],N=[1,25],i=[6,7,11],H=[1,31],x=[6,7,11,24],P=[1,6,13,16,17,20,23],M=[1,35],U=[1,36],A=[1,6,7,11,13,16,17,20,23],j=[1,38],V={trace:c(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:c(function(s,n,a,o,u,e,B){var l=e.length-1;switch(u){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",e[l-1].id),o.addNode(e[l-2].length,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 16:o.getLogger().info("Node: ",e[l].id),o.addNode(e[l-1].length,e[l].id,e[l].descr,e[l].type);break;case 17:o.getLogger().trace("Icon: ",e[l]),o.decorateNode({icon:e[l]});break;case 18:case 23:o.decorateNode({class:e[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",e[l-1].id),o.addNode(0,e[l-1].id,e[l-1].descr,e[l-1].type,e[l]);break;case 21:o.getLogger().trace("Node: ",e[l].id),o.addNode(0,e[l].id,e[l].descr,e[l].type);break;case 22:o.decorateNode({icon:e[l]});break;case 27:o.getLogger().trace("node found ..",e[l-2]),this.$={id:e[l-1],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 28:this.$={id:e[l],descr:e[l],type:0};break;case 29:o.getLogger().trace("node found ..",e[l-3]),this.$={id:e[l-3],descr:e[l-1],type:o.getType(e[l-2],e[l])};break;case 30:this.$=e[l-1]+e[l];break;case 31:this.$=e[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:g},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:g},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(L,[2,3]),{1:[2,2]},t(L,[2,4]),t(L,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:d,9:22,12:11,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},{6:C,7:w,10:23,11:N},t(i,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:f,23:h}),t(i,[2,19]),t(i,[2,21],{15:30,24:H}),t(i,[2,22]),t(i,[2,23]),t(x,[2,25]),t(x,[2,26]),t(x,[2,28],{20:[1,32]}),{21:[1,33]},{6:C,7:w,10:34,11:N},{1:[2,7],6:d,12:21,13:r,14:14,16:p,17:E,18:17,19:18,20:f,23:h},t(P,[2,14],{7:M,11:U}),t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(i,[2,16],{15:37,24:H}),t(i,[2,17]),t(i,[2,18]),t(i,[2,20],{24:j}),t(x,[2,31]),{21:[1,39]},{22:[1,40]},t(P,[2,13],{7:M,11:U}),t(A,[2,11]),t(A,[2,12]),t(i,[2,15],{24:j}),t(x,[2,30]),{22:[1,41]},t(x,[2,27]),t(x,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:c(function(s,n){if(n.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=n,a}},"parseError"),parse:c(function(s){var n=this,a=[0],o=[],u=[null],e=[],B=this.table,l="",z=0,ie=0,ue=2,re=1,ge=e.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(T.yy[J]=this.yy[J]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Q=m.yylloc;e.push(Q);var de=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(S){a.length=a.length-2*S,u.length=u.length-S,e.length=e.length-S}c(pe,"popStack");function ae(){var S;return S=o.pop()||m.lex()||re,typeof S!="number"&&(S instanceof Array&&(o=S,S=o.pop()),S=n.symbols_[S]||S),S}c(ae,"lex");for(var _,R,v,q,G={},X,I,oe,Y;;){if(R=a[a.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((_===null||typeof _>"u")&&(_=ae()),v=B[R]&&B[R][_]),typeof v>"u"||!v.length||!v[0]){var Z="";Y=[];for(X in B[R])this.terminals_[X]&&X>ue&&Y.push("'"+this.terminals_[X]+"'");m.showPosition?Z="Parse error on line "+(z+1)+`: `+m.showPosition()+` Expecting `+Y.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(_==re?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Z,{text:m.match,token:this.terminals_[_]||_,line:m.yylineno,loc:Q,expected:Y})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+_);switch(v[0]){case 1:a.push(_),u.push(m.yytext),e.push(m.yylloc),a.push(v[1]),_=null,ie=m.yyleng,l=m.yytext,z=m.yylineno,Q=m.yylloc;break;case 2:if(I=this.productions_[v[1]][1],G.$=u[u.length-I],G._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},de&&(G._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),q=this.performAction.apply(G,[l,ie,z,T.yy,v[1],u,e].concat(ge)),typeof q<"u")return q;I&&(a=a.slice(0,-1*I*2),u=u.slice(0,-1*I),e=e.slice(0,-1*I)),a.push(this.productions_[v[1]][0]),u.push(G.$),e.push(G._$),oe=B[a[a.length-2]][a[a.length-1]],a.push(oe);break;case 3:return!0}}return!0},"parse")},y=function(){var k={EOF:1,parseError:c(function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},"parseError"),setInput:c(function(s,n){return this.yy=n||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:c(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var n=s.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:c(function(s){var n=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===o.length?this.yylloc.first_column:0)+o[o.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:c(function(){return this._more=!0,this},"more"),reject:c(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:c(function(s){this.unput(this.match.slice(s))},"less"),pastInput:c(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:c(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:c(function(){var s=this.pastInput(),n=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/mermaid.core-OQ-NoIeH.js b/veadk/webui/assets/visualizations/mermaid/mermaid.core-DAX2QfGO.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/mermaid.core-OQ-NoIeH.js rename to veadk/webui/assets/visualizations/mermaid/mermaid.core-DAX2QfGO.js index 89f8f8b7a..e3ec9b4c0 100644 --- a/veadk/webui/assets/visualizations/mermaid/mermaid.core-OQ-NoIeH.js +++ b/veadk/webui/assets/visualizations/mermaid/mermaid.core-DAX2QfGO.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visualizations/mermaid/dagre-VZM6K2ZE-C5CLJfcV.js","assets/visualizations/mermaid/chunk-RYQCIY6F-Cqxp3wyY.js","assets/chunks/graph-Dqkl27Ch.js","assets/chunks/map-8WAJQ6ap.js","assets/chunks/layout-B6FSD_Du.js","assets/app/index-Bj9lylJf.js","assets/styles/index-DWyU2bL1.css","assets/visualizations/mermaid/swimlanes-SLNWSIFB-Ct5lmjCw.js","assets/visualizations/mermaid/cose-bilkent-JH36ORCC-DtOdEs-G.js","assets/chunks/cytoscape.esm-Dz9tvMTw.js","assets/visualizations/mermaid/c4Diagram-5PPSVZJV-CEzZXd8C.js","assets/visualizations/mermaid/chunk-2GRJ4B5K-B2asRype.js","assets/visualizations/mermaid/flowDiagram-UKHOOZJN-DDwOl6M5.js","assets/visualizations/mermaid/chunk-5VM5RSS4-CT700Zc5.js","assets/visualizations/mermaid/chunk-XXDRQBXY-Du2hH_W_.js","assets/visualizations/mermaid/chunk-KBJHAD2P-svjqEuWZ.js","assets/chunks/channel-BQo1oGxG.js","assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js","assets/visualizations/mermaid/erDiagram-JOGREHBK-DNCYxMoL.js","assets/visualizations/mermaid/gitGraphDiagram-DS77QQ5N-CMdbkt4j.js","assets/visualizations/mermaid/chunk-2Q5K7J3B-CcAB9q97.js","assets/visualizations/mermaid/chunk-JWPE2WC7-8-vh9tdk.js","assets/visualizations/mermaid/cynefin-OW5HDTMX-YC-F1ZLy.js","assets/visualizations/mermaid/ganttDiagram-PKOTCBZU-D_QbS2Qe.js","assets/chunks/linear-Dil5wD59.js","assets/chunks/init-Gi6I4Gst.js","assets/chunks/defaultLocale-CrowFXzY.js","assets/visualizations/mermaid/infoDiagram-6WML65LV-ZpsMRN3K.js","assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-B3JugF-G.js","assets/chunks/arc-BKJrW-GX.js","assets/chunks/ordinal-Cboi1Yqb.js","assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-Di4W4xlE.js","assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-Dh29HzQv.js","assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-C5Xl4FSh.js","assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-YlNpDd9i.js","assets/visualizations/mermaid/classDiagram-JCYQIIEL-zSKdSbJy.js","assets/visualizations/mermaid/chunk-GF5L2VYU-DqMkuj7n.js","assets/visualizations/mermaid/classDiagram-v2-OCEON4UE-zSKdSbJy.js","assets/visualizations/mermaid/stateDiagram-OKZ733FA-D97-90Mt.js","assets/visualizations/mermaid/chunk-5RXB4S5H-1IWafkh5.js","assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js","assets/visualizations/mermaid/journeyDiagram-NVQOT4AX-B5NSsZK6.js","assets/visualizations/mermaid/timeline-definition-Z64GVDOM-CGPnYrRB.js","assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DNoYLn6r.js","assets/visualizations/mermaid/kanban-definition-27J2QSJJ-B08icks5.js","assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-DZLBHHS3.js","assets/visualizations/mermaid/diagram-LBJQPF4R-Dc5BMbsw.js","assets/visualizations/mermaid/diagram-UB23O5K3-B_baGY6Y.js","assets/visualizations/mermaid/blockDiagram-VBNYF7ZC-BwNY7lEB.js","assets/visualizations/mermaid/diagram-7IWD3JNH-BGqbHV5N.js","assets/visualizations/mermaid/architectureDiagram-T3A2C74G-D18k4SUP.js","assets/visualizations/mermaid/diagram-B4RE2ZJO-jvDWlu8p.js","assets/visualizations/mermaid/ishikawaDiagram-WSZJBQD7-h593HVGE.js","assets/visualizations/mermaid/vennDiagram-T6HMQDX7-hw-tux--.js","assets/visualizations/mermaid/diagram-Q27KOJAE-Chesnco4.js","assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-ChSED9Ny.js","assets/visualizations/mermaid/cynefinDiagram-MW4NZA55-Dtr39XDB.js","assets/visualizations/mermaid/railroadDiagram-AXF67PYL-DInD2Qc7.js","assets/visualizations/mermaid/chunk-6Q2QTUOP-D1vbrjoS.js","assets/visualizations/mermaid/ebnfDiagram-BXEA7PRR-WhNodH3-.js","assets/visualizations/mermaid/abnfDiagram-N423BO3Z-p-mgwcdy.js","assets/visualizations/mermaid/pegDiagram-VL7TDLO6-CajLPjFv.js"])))=>i.map(i=>d[i]); -var Kf=Object.defineProperty;var Qf=(e,t,r)=>t in e?Kf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ft=(e,t,r)=>Qf(e,typeof t!="symbol"?t+"":t,r);import{N as Jf,q as tm,_ as yt,ad as Ct}from"../../app/index-Bj9lylJf.js";var Mh=Object.defineProperty,g=(e,t)=>Mh(e,"name",{value:t,configurable:!0}),em=(e,t)=>{for(var r in t)Mh(e,r,{get:t[r],enumerable:!0})},$h={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(tm,function(){var r=1e3,i=6e4,s=36e5,a="millisecond",o="second",n="minute",l="hour",c="day",h="week",d="month",p="quarter",u="year",y="date",m="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var A=["th","st","nd","rd"],_=D%100;return"["+D+(A[(_-20)%10]||A[_]||A[0])+"]"}},k=function(D,A,_){var I=String(D);return!I||I.length>=A?D:""+Array(A+1-I.length).join(_)+D},S={s:k,z:function(D){var A=-D.utcOffset(),_=Math.abs(A),I=Math.floor(_/60),E=_%60;return(A<=0?"+":"-")+k(I,2,"0")+":"+k(E,2,"0")},m:function D(A,_){if(A.date()<_.date())return-D(_,A);var I=12*(_.year()-A.year())+(_.month()-A.month()),E=A.clone().add(I,d),W=_-E<0,U=A.clone().add(I+(W?-1:1),d);return+(-(I+(_-E)/(W?E-U:U-E))||0)},a:function(D){return D<0?Math.ceil(D)||0:Math.floor(D)},p:function(D){return{M:d,y:u,w:h,d:c,D:y,h:l,m:n,s:o,ms:a,Q:p}[D]||String(D||"").toLowerCase().replace(/s$/,"")},u:function(D){return D===void 0}},w="en",B={};B[w]=b;var F="$isDayjsObject",v=function(D){return D instanceof j||!(!D||!D[F])},N=function D(A,_,I){var E;if(!A)return w;if(typeof A=="string"){var W=A.toLowerCase();B[W]&&(E=W),_&&(B[W]=_,E=W);var U=A.split("-");if(!E&&U.length>1)return D(U[0])}else{var K=A.name;B[K]=A,E=K}return!I&&E&&(w=E),E||!I&&w},P=function(D,A){if(v(D))return D.clone();var _=typeof A=="object"?A:{};return _.date=D,_.args=arguments,new j(_)},O=S;O.l=N,O.i=v,O.w=function(D,A){return P(D,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var j=function(){function D(_){this.$L=N(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[F]=!0}var A=D.prototype;return A.parse=function(_){this.$d=function(I){var E=I.date,W=I.utc;if(E===null)return new Date(NaN);if(O.u(E))return new Date;if(E instanceof Date)return new Date(E);if(typeof E=="string"&&!/Z$/i.test(E)){var U=E.match(f);if(U){var K=U[2]-1||0,et=(U[7]||"0").substring(0,3);return W?new Date(Date.UTC(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)):new Date(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)}}return new Date(E)}(_),this.init()},A.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},A.$utils=function(){return O},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(_,I){var E=P(_);return this.startOf(I)<=E&&E<=this.endOf(I)},A.isAfter=function(_,I){return P(_){},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},Ho=g(function(e="fatal"){let t=Re.fatal;typeof e=="string"?e.toLowerCase()in Re&&(t=Re[e]):typeof e=="number"&&(t=e),H.trace=()=>{},H.debug=()=>{},H.info=()=>{},H.warn=()=>{},H.error=()=>{},H.fatal=()=>{},t<=Re.fatal&&(H.fatal=console.error?console.error.bind(console,me("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",me("FATAL"))),t<=Re.error&&(H.error=console.error?console.error.bind(console,me("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",me("ERROR"))),t<=Re.warn&&(H.warn=console.warn?console.warn.bind(console,me("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",me("WARN"))),t<=Re.info&&(H.info=console.info?console.info.bind(console,me("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",me("INFO"))),t<=Re.debug&&(H.debug=console.debug?console.debug.bind(console,me("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("DEBUG"))),t<=Re.trace&&(H.trace=console.debug?console.debug.bind(console,me("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("TRACE")))},"setLogLevel"),me=g(e=>`%c${im().format("ss.SSS")} : ${e} : `,"format");const ks={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const s=r<.5?r*(1+t):r+t-r*t,a=2*r-s;switch(i){case"r":return ks.hue2rgb(a,s,e+1/3)*255;case"g":return ks.hue2rgb(a,s,e)*255;case"b":return ks.hue2rgb(a,s,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const s=Math.max(e,t,r),a=Math.min(e,t,r),o=(s+a)/2;if(i==="l")return o*100;if(s===a)return 0;const n=s-a,l=o>.5?n/(2-s-a):n/(s+a);if(i==="s")return l*100;switch(s){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},am={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},ft={channel:ks,lang:sm,unit:am},Ve={};for(let e=0;e<=255;e++)Ve[e]=ft.unit.dec2hex(e);const Zt={ALL:0,RGB:1,HSL:2};class om{constructor(){this.type=Zt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Zt.ALL}is(t){return this.type===t}}class nm{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new om}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Zt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:s}=t;r===void 0&&(t.h=ft.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=ft.channel.rgb2hsl(t,"s")),s===void 0&&(t.l=ft.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:s}=t;r===void 0&&(t.r=ft.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=ft.channel.hsl2rgb(t,"g")),s===void 0&&(t.b=ft.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Zt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Zt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Zt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Zt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Zt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Zt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const ra=new nm({r:0,g:0,b:0,a:0},"transparent"),Nr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(Nr.re);if(!t)return;const r=t[1],i=parseInt(r,16),s=r.length,a=s%4===0,o=s>4,n=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return ra.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:a?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}${Ve[Math.round(s*255)]}`:`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}`}},gr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(gr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return ft.channel.clamp.h(parseFloat(r)*.9);case"rad":return ft.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ft.channel.clamp.h(parseFloat(r)*360)}}return ft.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(gr.re);if(!r)return;const[,i,s,a,o,n]=r;return ra.set({h:gr._hue2deg(i),s:ft.channel.clamp.s(parseFloat(s)),l:ft.channel.clamp.l(parseFloat(a)),a:o?ft.channel.clamp.a(n?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:s}=e;return s<1?`hsla(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%, ${s})`:`hsl(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%)`}},Ei={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=Ei.colors[e];if(t)return Nr.parse(t)},stringify:e=>{const t=Nr.stringify(e);for(const r in Ei.colors)if(Ei.colors[r]===t)return r}},Bi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Bi.re);if(!r)return;const[,i,s,a,o,n,l,c,h]=r;return ra.set({r:ft.channel.clamp.r(s?parseFloat(i)*2.55:parseFloat(i)),g:ft.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:ft.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?ft.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`rgba(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)}, ${ft.lang.round(s)})`:`rgb(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)})`}},Me={format:{keyword:Ei,hex:Nr,rgb:Bi,rgba:Bi,hsl:gr,hsla:gr},parse:e=>{if(typeof e!="string")return e;const t=Nr.parse(e)||Bi.parse(e)||gr.parse(e)||Ei.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Zt.HSL)||e.data.r===void 0?gr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Bi.stringify(e):Nr.stringify(e)},Oh=(e,t)=>{const r=Me.parse(e);for(const i in t)r[i]=ft.channel.clamp[i](t[i]);return Me.stringify(r)},Qe=(e,t,r=0,i=1)=>{if(typeof e!="number")return Oh(e,{a:t});const s=ra.set({r:ft.channel.clamp.r(e),g:ft.channel.clamp.g(t),b:ft.channel.clamp.b(r),a:ft.channel.clamp.a(i)});return Me.stringify(s)},lm=e=>{const{r:t,g:r,b:i}=Me.parse(e),s=.2126*ft.channel.toLinear(t)+.7152*ft.channel.toLinear(r)+.0722*ft.channel.toLinear(i);return ft.lang.round(s)},hm=e=>lm(e)>=.5,_e=e=>!hm(e),Ih=(e,t,r)=>{const i=Me.parse(e),s=i[t],a=ft.channel.clamp[t](s+r);return s!==a&&(i[t]=a),Me.stringify(i)},R=(e,t)=>Ih(e,"l",t),q=(e,t)=>Ih(e,"l",-t),x=(e,t)=>{const r=Me.parse(e),i={};for(const s in t)t[s]&&(i[s]=r[s]+t[s]);return Oh(e,i)},cm=(e,t,r=50)=>{const{r:i,g:s,b:a,a:o}=Me.parse(e),{r:n,g:l,b:c,a:h}=Me.parse(t),d=r/100,p=d*2-1,u=o-h,m=((p*u===-1?p:(p+u)/(1+p*u))+1)/2,f=1-m,C=i*m+n*f,b=s*m+l*f,k=a*m+c*f,S=o*d+h*(1-d);return Qe(C,b,k,S)},L=(e,t=100)=>{const r=Me.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,cm(r,e,t)};/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function ul(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);ri.map(i=>d[i]); +var Kf=Object.defineProperty;var Qf=(e,t,r)=>t in e?Kf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ft=(e,t,r)=>Qf(e,typeof t!="symbol"?t+"":t,r);import{N as Jf,q as tm,_ as yt,ad as Ct}from"../../app/index-sh8QRNzm.js";var Mh=Object.defineProperty,g=(e,t)=>Mh(e,"name",{value:t,configurable:!0}),em=(e,t)=>{for(var r in t)Mh(e,r,{get:t[r],enumerable:!0})},$h={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(tm,function(){var r=1e3,i=6e4,s=36e5,a="millisecond",o="second",n="minute",l="hour",c="day",h="week",d="month",p="quarter",u="year",y="date",m="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var A=["th","st","nd","rd"],_=D%100;return"["+D+(A[(_-20)%10]||A[_]||A[0])+"]"}},k=function(D,A,_){var I=String(D);return!I||I.length>=A?D:""+Array(A+1-I.length).join(_)+D},S={s:k,z:function(D){var A=-D.utcOffset(),_=Math.abs(A),I=Math.floor(_/60),E=_%60;return(A<=0?"+":"-")+k(I,2,"0")+":"+k(E,2,"0")},m:function D(A,_){if(A.date()<_.date())return-D(_,A);var I=12*(_.year()-A.year())+(_.month()-A.month()),E=A.clone().add(I,d),W=_-E<0,U=A.clone().add(I+(W?-1:1),d);return+(-(I+(_-E)/(W?E-U:U-E))||0)},a:function(D){return D<0?Math.ceil(D)||0:Math.floor(D)},p:function(D){return{M:d,y:u,w:h,d:c,D:y,h:l,m:n,s:o,ms:a,Q:p}[D]||String(D||"").toLowerCase().replace(/s$/,"")},u:function(D){return D===void 0}},w="en",B={};B[w]=b;var F="$isDayjsObject",v=function(D){return D instanceof j||!(!D||!D[F])},N=function D(A,_,I){var E;if(!A)return w;if(typeof A=="string"){var W=A.toLowerCase();B[W]&&(E=W),_&&(B[W]=_,E=W);var U=A.split("-");if(!E&&U.length>1)return D(U[0])}else{var K=A.name;B[K]=A,E=K}return!I&&E&&(w=E),E||!I&&w},P=function(D,A){if(v(D))return D.clone();var _=typeof A=="object"?A:{};return _.date=D,_.args=arguments,new j(_)},O=S;O.l=N,O.i=v,O.w=function(D,A){return P(D,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var j=function(){function D(_){this.$L=N(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[F]=!0}var A=D.prototype;return A.parse=function(_){this.$d=function(I){var E=I.date,W=I.utc;if(E===null)return new Date(NaN);if(O.u(E))return new Date;if(E instanceof Date)return new Date(E);if(typeof E=="string"&&!/Z$/i.test(E)){var U=E.match(f);if(U){var K=U[2]-1||0,et=(U[7]||"0").substring(0,3);return W?new Date(Date.UTC(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)):new Date(U[1],K,U[3]||1,U[4]||0,U[5]||0,U[6]||0,et)}}return new Date(E)}(_),this.init()},A.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},A.$utils=function(){return O},A.isValid=function(){return this.$d.toString()!==m},A.isSame=function(_,I){var E=P(_);return this.startOf(I)<=E&&E<=this.endOf(I)},A.isAfter=function(_,I){return P(_){},"trace"),debug:g((...e)=>{},"debug"),info:g((...e)=>{},"info"),warn:g((...e)=>{},"warn"),error:g((...e)=>{},"error"),fatal:g((...e)=>{},"fatal")},Ho=g(function(e="fatal"){let t=Re.fatal;typeof e=="string"?e.toLowerCase()in Re&&(t=Re[e]):typeof e=="number"&&(t=e),H.trace=()=>{},H.debug=()=>{},H.info=()=>{},H.warn=()=>{},H.error=()=>{},H.fatal=()=>{},t<=Re.fatal&&(H.fatal=console.error?console.error.bind(console,me("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",me("FATAL"))),t<=Re.error&&(H.error=console.error?console.error.bind(console,me("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",me("ERROR"))),t<=Re.warn&&(H.warn=console.warn?console.warn.bind(console,me("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",me("WARN"))),t<=Re.info&&(H.info=console.info?console.info.bind(console,me("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",me("INFO"))),t<=Re.debug&&(H.debug=console.debug?console.debug.bind(console,me("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("DEBUG"))),t<=Re.trace&&(H.trace=console.debug?console.debug.bind(console,me("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",me("TRACE")))},"setLogLevel"),me=g(e=>`%c${im().format("ss.SSS")} : ${e} : `,"format");const ks={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const s=r<.5?r*(1+t):r+t-r*t,a=2*r-s;switch(i){case"r":return ks.hue2rgb(a,s,e+1/3)*255;case"g":return ks.hue2rgb(a,s,e)*255;case"b":return ks.hue2rgb(a,s,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const s=Math.max(e,t,r),a=Math.min(e,t,r),o=(s+a)/2;if(i==="l")return o*100;if(s===a)return 0;const n=s-a,l=o>.5?n/(2-s-a):n/(s+a);if(i==="s")return l*100;switch(s){case e:return((t-r)/n+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},am={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},ft={channel:ks,lang:sm,unit:am},Ve={};for(let e=0;e<=255;e++)Ve[e]=ft.unit.dec2hex(e);const Zt={ALL:0,RGB:1,HSL:2};class om{constructor(){this.type=Zt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Zt.ALL}is(t){return this.type===t}}class nm{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new om}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Zt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:s}=t;r===void 0&&(t.h=ft.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=ft.channel.rgb2hsl(t,"s")),s===void 0&&(t.l=ft.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:s}=t;r===void 0&&(t.r=ft.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=ft.channel.hsl2rgb(t,"g")),s===void 0&&(t.b=ft.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Zt.HSL)&&r!==void 0?r:(this._ensureHSL(),ft.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Zt.RGB)&&r!==void 0?r:(this._ensureRGB(),ft.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Zt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Zt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Zt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Zt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Zt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Zt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const ra=new nm({r:0,g:0,b:0,a:0},"transparent"),Nr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(Nr.re);if(!t)return;const r=t[1],i=parseInt(r,16),s=r.length,a=s%4===0,o=s>4,n=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return ra.set({r:(i>>l*(c+3)&h)*n,g:(i>>l*(c+2)&h)*n,b:(i>>l*(c+1)&h)*n,a:a?(i&h)*n/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}${Ve[Math.round(s*255)]}`:`#${Ve[Math.round(t)]}${Ve[Math.round(r)]}${Ve[Math.round(i)]}`}},gr={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(gr.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return ft.channel.clamp.h(parseFloat(r)*.9);case"rad":return ft.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ft.channel.clamp.h(parseFloat(r)*360)}}return ft.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(gr.re);if(!r)return;const[,i,s,a,o,n]=r;return ra.set({h:gr._hue2deg(i),s:ft.channel.clamp.s(parseFloat(s)),l:ft.channel.clamp.l(parseFloat(a)),a:o?ft.channel.clamp.a(n?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:s}=e;return s<1?`hsla(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%, ${s})`:`hsl(${ft.lang.round(t)}, ${ft.lang.round(r)}%, ${ft.lang.round(i)}%)`}},Ei={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=Ei.colors[e];if(t)return Nr.parse(t)},stringify:e=>{const t=Nr.stringify(e);for(const r in Ei.colors)if(Ei.colors[r]===t)return r}},Bi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(Bi.re);if(!r)return;const[,i,s,a,o,n,l,c,h]=r;return ra.set({r:ft.channel.clamp.r(s?parseFloat(i)*2.55:parseFloat(i)),g:ft.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:ft.channel.clamp.b(l?parseFloat(n)*2.55:parseFloat(n)),a:c?ft.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:s}=e;return s<1?`rgba(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)}, ${ft.lang.round(s)})`:`rgb(${ft.lang.round(t)}, ${ft.lang.round(r)}, ${ft.lang.round(i)})`}},Me={format:{keyword:Ei,hex:Nr,rgb:Bi,rgba:Bi,hsl:gr,hsla:gr},parse:e=>{if(typeof e!="string")return e;const t=Nr.parse(e)||Bi.parse(e)||gr.parse(e)||Ei.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Zt.HSL)||e.data.r===void 0?gr.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Bi.stringify(e):Nr.stringify(e)},Oh=(e,t)=>{const r=Me.parse(e);for(const i in t)r[i]=ft.channel.clamp[i](t[i]);return Me.stringify(r)},Qe=(e,t,r=0,i=1)=>{if(typeof e!="number")return Oh(e,{a:t});const s=ra.set({r:ft.channel.clamp.r(e),g:ft.channel.clamp.g(t),b:ft.channel.clamp.b(r),a:ft.channel.clamp.a(i)});return Me.stringify(s)},lm=e=>{const{r:t,g:r,b:i}=Me.parse(e),s=.2126*ft.channel.toLinear(t)+.7152*ft.channel.toLinear(r)+.0722*ft.channel.toLinear(i);return ft.lang.round(s)},hm=e=>lm(e)>=.5,_e=e=>!hm(e),Ih=(e,t,r)=>{const i=Me.parse(e),s=i[t],a=ft.channel.clamp[t](s+r);return s!==a&&(i[t]=a),Me.stringify(i)},R=(e,t)=>Ih(e,"l",t),q=(e,t)=>Ih(e,"l",-t),x=(e,t)=>{const r=Me.parse(e),i={};for(const s in t)t[s]&&(i[s]=r[s]+t[s]);return Oh(e,i)},cm=(e,t,r=50)=>{const{r:i,g:s,b:a,a:o}=Me.parse(e),{r:n,g:l,b:c,a:h}=Me.parse(t),d=r/100,p=d*2-1,u=o-h,m=((p*u===-1?p:(p+u)/(1+p*u))+1)/2,f=1-m,C=i*m+n*f,b=s*m+l*f,k=a*m+c*f,S=o*d+h*(1-d);return Qe(C,b,k,S)},L=(e,t=100)=>{const r=Me.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,cm(r,e,t)};/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function ul(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);r2?i-2:0),a=2;a1?r-1:0),s=1;s"u"?null:qt(BigInt.prototype.toString),Cl=typeof Symbol>"u"?null:qt(Symbol.prototype.toString),he=qt(Object.prototype.hasOwnProperty),Ci=qt(Object.prototype.toString),Vt=qt(RegExp.prototype.test),lr=wm(TypeError);function qt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,i=new Array(r>1?r-1:0),s=1;s2&&arguments[2]!==void 0?arguments[2]:_i;if(pl&&pl(e,null),!zr(t))return e;let i=t.length;for(;i--;){let s=t[i];if(typeof s=="string"){const a=r(s);a!==s&&(mm(t)||(t[i]=a),s=a)}e[s]=!0}return e}function Bm(e){for(let t=0;t/g),Mm=Ut(/\${[\w\W]*/g),$m=Ut(/^data-[\-\w.\u00B7-\uFFFF]+$/),Om=Ut(/^aria-[\-\w]+$/),Sl=Ut(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Im=Ut(/^(?:\w+script|data):/i),Dm=Ut(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Pm=Ut(/^html$/i),Rm=Ut(/^[a-z][.\w]*(-[.\w]+)+$/i),wl=Ut(/<[/\w!]/g),Bl=Ut(/<[/\w]/g),qm=Ut(/<\/no(script|embed|frames)/i),Wm=Ut(/\/>/i),ue={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Rh=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],Nm=Nt(St({},Rh)),zm=function(){const e={};return dr(Rh,t=>{e[t]=Ut(new RegExp("])","i"))}),Nt(e)}(),Hm=function(){return typeof window>"u"?null:window},Ym=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const s="data-tt-policy-suffix";r&&r.hasAttribute(s)&&(i=r.getAttribute(s));const a="dompurify"+(i?"#"+i:"");try{return t.createPolicy(a,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},_l=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Xe=function(t,r,i,s){return he(t,r)&&zr(t[r])?St(s.base?ge(s.base):{},t[r],s.transform):i},Ia=function(t,r,i){const s=he(t,r)?t[r]:void 0;return s&&typeof s=="object"?ge(s):i()};function qh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Hm();const t=G=>qh(G);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==ue.document||!e.Element)return t.isSupported=!1,t;let r=e.document;const i=r,s=i.currentScript;e.DocumentFragment;const a=e.HTMLTemplateElement,o=e.Node,n=e.Element,l=e.NodeFilter,c=e.NamedNodeMap;c===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const h=e.DOMParser,d=e.trustedTypes,p=n.prototype,u=Ce(p,"cloneNode"),y=Ce(p,"remove"),m=Ce(p,"nextSibling"),f=Ce(p,"childNodes"),C=Ce(p,"parentNode"),b=Ce(p,"shadowRoot"),k=Ce(p,"attributes"),S=o&&o.prototype?Ce(o.prototype,"nodeType"):null,w=o&&o.prototype?Ce(o.prototype,"nodeName"):null,B=o&&o.prototype?Ce(o.prototype,"ownerDocument"):null,F=function(T){return S?S(T):T.nodeType},v=function(T){return w?w(T):T.nodeName};if(typeof a=="function"){const G=r.createElement("template");G.content&&G.content.ownerDocument&&(r=G.content.ownerDocument)}let N,P="",O,j=!1,z=0;const D=function(){if(z>0)throw lr('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},A=function(T){D(),z++;try{return N.createHTML(T)}finally{z--}},_=function(T){D(),z++;try{return N.createScriptURL(T)}finally{z--}},I=function(){return j||(O=Ym(d,s),j=!0),O},E=r,W=E.implementation,U=E.createNodeIterator,K=E.createDocumentFragment,et=E.getElementsByTagName,nt=i.importNode;let X=_l();t.isSupported=typeof Dh=="function"&&typeof C=="function"&&W&&W.createHTMLDocument!==void 0;const ct=Am,bt=Em,xt=Mm,vt=$m,Lt=Om,V=Im,st=Dm,mt=Rm;let kt=Sl,$=null;const ht=St({},[...xl,...Ea,...Ma,...$a,...bl]);let At=null;const Ji=St({},[...kl,...Oa,...Tl,...us]);let ae=Object.seal(Ir(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pi=null,qn=null;const Ue=Object.seal(Ir(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Wn=!0,ya=!0,Nn=!1,zn=!0,je=!1,ar=!0,or=!1,Ca=!1,ts=null,es=null,xa=!1,_r=!1,rs=!1,is=!1,Hn=!0,Yn=!1;const Un="user-content-";let ba=!0,ka=!1,vr={},Lr=null;const jn=St({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Gn=null;const Xn=St({},["audio","video","img","source","image","track"]);let Vn=null;const Zn=St({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ss="http://www.w3.org/1998/Math/MathML",as="http://www.w3.org/2000/svg",ve="http://www.w3.org/1999/xhtml";let Fr=ve,Ta=!1,Sa=null;const If=St({},[ss,as,ve],Aa),Kn=Nt(["mi","mo","mn","ms","mtext"]);let wa=St({},Kn);const Qn=Nt(["annotation-xml"]);let Ba=St({},Qn);const Df=St({},["title","style","font","a","script"]);let gi=null;const Pf=["application/xhtml+xml","text/html"],Rf="text/html";let Dt=null,Ar=null;const qf=r.createElement("form"),Jn=function(T){return T instanceof RegExp||T instanceof Function},_a=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ar&&Ar===T)return;(!T||typeof T!="object")&&(T={}),T=ge(T),gi=Pf.indexOf(T.PARSER_MEDIA_TYPE)===-1?Rf:T.PARSER_MEDIA_TYPE,Dt=gi==="application/xhtml+xml"?Aa:_i,$=Xe(T,"ALLOWED_TAGS",ht,{transform:Dt}),At=Xe(T,"ALLOWED_ATTR",Ji,{transform:Dt}),Sa=Xe(T,"ALLOWED_NAMESPACES",If,{transform:Aa}),Vn=Xe(T,"ADD_URI_SAFE_ATTR",Zn,{transform:Dt,base:Zn}),Gn=Xe(T,"ADD_DATA_URI_TAGS",Xn,{transform:Dt,base:Xn}),Lr=Xe(T,"FORBID_CONTENTS",jn,{transform:Dt}),pi=Xe(T,"FORBID_TAGS",ge({}),{transform:Dt}),qn=Xe(T,"FORBID_ATTR",ge({}),{transform:Dt}),vr=he(T,"USE_PROFILES")?T.USE_PROFILES&&typeof T.USE_PROFILES=="object"?ge(T.USE_PROFILES):T.USE_PROFILES:!1,Wn=T.ALLOW_ARIA_ATTR!==!1,ya=T.ALLOW_DATA_ATTR!==!1,Nn=T.ALLOW_UNKNOWN_PROTOCOLS||!1,zn=T.ALLOW_SELF_CLOSE_IN_ATTR!==!1,je=T.SAFE_FOR_TEMPLATES||!1,ar=T.SAFE_FOR_XML!==!1,or=T.WHOLE_DOCUMENT||!1,_r=T.RETURN_DOM||!1,rs=T.RETURN_DOM_FRAGMENT||!1,is=T.RETURN_TRUSTED_TYPE||!1,xa=T.FORCE_BODY||!1,Hn=T.SANITIZE_DOM!==!1,Yn=T.SANITIZE_NAMED_PROPS||!1,ba=T.KEEP_CONTENT!==!1,ka=T.IN_PLACE||!1,kt=vm(T.ALLOWED_URI_REGEXP)?T.ALLOWED_URI_REGEXP:Sl,Fr=typeof T.NAMESPACE=="string"?T.NAMESPACE:ve,wa=Ia(T,"MATHML_TEXT_INTEGRATION_POINTS",()=>St({},Kn)),Ba=Ia(T,"HTML_INTEGRATION_POINTS",()=>St({},Qn));const M=Ia(T,"CUSTOM_ELEMENT_HANDLING",()=>Ir(null));if(ae=Ir(null),he(M,"tagNameCheck")&&Jn(M.tagNameCheck)&&(ae.tagNameCheck=M.tagNameCheck),he(M,"attributeNameCheck")&&Jn(M.attributeNameCheck)&&(ae.attributeNameCheck=M.attributeNameCheck),he(M,"allowCustomizedBuiltInElements")&&typeof M.allowCustomizedBuiltInElements=="boolean"&&(ae.allowCustomizedBuiltInElements=M.allowCustomizedBuiltInElements),Ut(ae),je&&(ya=!1),rs&&(_r=!0),vr&&($=St({},bl),At=Ir(null),vr.html===!0&&(St($,xl),St(At,kl)),vr.svg===!0&&(St($,Ea),St(At,Oa),St(At,us)),vr.svgFilters===!0&&(St($,Ma),St(At,Oa),St(At,us)),vr.mathMl===!0&&(St($,$a),St(At,Tl),St(At,us))),Ue.tagCheck=null,Ue.attributeCheck=null,he(T,"ADD_TAGS")&&(typeof T.ADD_TAGS=="function"?Ue.tagCheck=T.ADD_TAGS:zr(T.ADD_TAGS)&&($===ht&&($=ge($)),St($,T.ADD_TAGS,Dt))),he(T,"ADD_ATTR")&&(typeof T.ADD_ATTR=="function"?Ue.attributeCheck=T.ADD_ATTR:zr(T.ADD_ATTR)&&(At===Ji&&(At=ge(At)),St(At,T.ADD_ATTR,Dt))),he(T,"ADD_FORBID_CONTENTS")&&zr(T.ADD_FORBID_CONTENTS)&&(Lr===jn&&(Lr=ge(Lr)),St(Lr,T.ADD_FORBID_CONTENTS,Dt)),ba&&($["#text"]=!0),or&&St($,["html","head","body"]),$.table&&(St($,["tbody"]),delete pi.tbody),T.TRUSTED_TYPES_POLICY){if(typeof T.TRUSTED_TYPES_POLICY.createHTML!="function")throw lr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof T.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw lr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const Y=N;N=T.TRUSTED_TYPES_POLICY;try{P=A("")}catch(Z){throw N=Y,Z}}else T.TRUSTED_TYPES_POLICY===null?(N=void 0,P=""):(N===void 0&&(N=I()),N&&typeof P=="string"&&(P=A("")));Nt&&Nt(T),Ar=T},tl=St({},[...Ea,...Ma,...Lm]),el=St({},[...$a,...Fm]),Wf=function(T,M,Y){return M.namespaceURI===ve?T==="svg":M.namespaceURI===ss?T==="svg"&&(Y==="annotation-xml"||wa[Y]):!!tl[T]},Nf=function(T,M,Y){return M.namespaceURI===ve?T==="math":M.namespaceURI===as?T==="math"&&Ba[Y]:!!el[T]},zf=function(T,M,Y){return M.namespaceURI===as&&!Ba[Y]||M.namespaceURI===ss&&!wa[Y]?!1:!el[T]&&(Df[T]||!tl[T])},Hf=function(T){let M=C(T);(!M||!M.tagName)&&(M={namespaceURI:Fr,tagName:"template"});const Y=_i(T.tagName),Z=_i(M.tagName);return Sa[T.namespaceURI]?T.namespaceURI===as?Wf(Y,M,Z):T.namespaceURI===ss?Nf(Y,M,Z):T.namespaceURI===ve?zf(Y,M,Z):!!(gi==="application/xhtml+xml"&&Sa[T.namespaceURI]):!1},Ge=function(T){mi(t.removed,{element:T});try{C(T).removeChild(T)}catch{if(y(T),!C(T))throw lr("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},rl=function(T,M,Y){try{T.removeAttributeNode(M)}catch{try{T.removeAttribute(Y)}catch{}}},os=function(T){ns(T);const M=f(T);if(M){const Z=[];dr(M,at=>{mi(Z,at)}),dr(Z,at=>{try{y(at)}catch{}})}const Y=k(T);if(Y)for(let Z=Y.length-1;Z>=0;--Z){const at=Y[Z],gt=at&&at.name;typeof gt=="string"&&rl(T,at,gt)}},nr=function(T,M,Y){if(!Y)try{Y=M.getAttributeNode(T)}catch{Y=null}mi(t.removed,{attribute:Y||null,from:M});try{Y?M.removeAttributeNode(Y):M.removeAttribute(T)}catch{try{M.removeAttribute(T)}catch{}}if(T==="is")if(_r||rs)try{Ge(M)}catch{}else try{M.setAttribute(T,"")}catch{}},Yf=function(T){const M=k(T);if(M)for(let Y=M.length-1;Y>=0;--Y){const Z=M[Y],at=Z&&Z.name;typeof at!="string"||At[Dt(at)]||rl(T,Z,at)}},ns=function(T){const M=[T];for(;M.length>0;){const Y=M.pop();F(Y)===ue.element&&Yf(Y);const at=f(Y);if(at)for(let gt=at.length-1;gt>=0;--gt)M.push(at[gt])}},il=function(T,M){return ar?T==="patchsrc"?!0:T==="for"&&M!=="label"&&M!=="output":!1},Uf=function(T){if(!ar)return;const M=[T];for(;M.length>0;){const Y=M.pop(),Z=F(Y);if(Z===ue.processingInstruction||Z===ue.comment&&Vt(Bl,Y.data)){try{y(Y)}catch{}continue}if(Z===ue.element){const gt=Y,Et=Dt(v(Y));try{gt.hasAttribute&>.hasAttribute("patchsrc")&>.removeAttribute("patchsrc"),gt.hasAttribute&>.hasAttribute("for")&&il("for",Et)&>.removeAttribute("for")}catch{}}const at=f(Y);if(at)for(let gt=at.length-1;gt>=0;--gt)M.push(at[gt])}},sl=function(T){let M=null,Y=null;if(xa)T=""+T;else{const gt=fl(T,/^[\r\n\t ]+/);Y=gt&>[0]}gi==="application/xhtml+xml"&&Fr===ve&&(T=''+T+"");const Z=N?A(T):T;if(Fr===ve)try{M=new h().parseFromString(Z,gi)}catch{}if(!M||!M.documentElement){M=W.createDocument(Fr,"template",null);try{M.documentElement.innerHTML=Ta?P:Z}catch{}}const at=M.body||M.documentElement;return T&&Y&&at.insertBefore(r.createTextNode(Y),at.childNodes[0]||null),Fr===ve?et.call(M,or?"html":"body")[0]:or?M.documentElement:at},al=function(T){const M=B?B(T):T.ownerDocument;return U.call(M||T,T,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ls=function(T){return T=yi(T,ct," "),T=yi(T,bt," "),T=yi(T,xt," "),T},va=function(T){var M;T.normalize();const Y=B?B(T):T.ownerDocument,Z=U.call(Y||T,T,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null);let at=Z.nextNode();for(;at;)at.data=ls(at.data),at=Z.nextNode();const gt=(M=T.querySelectorAll)===null||M===void 0?void 0:M.call(T,"template");gt&&dr(gt,Et=>{Er(Et.content)&&va(Et.content)})},hs=function(T){const M=w?w(T):null;return typeof M!="string"||Dt(M)!=="form"?!1:typeof T.nodeName!="string"||typeof T.textContent!="string"||typeof T.removeChild!="function"||T.attributes!==k(T)||typeof T.removeAttribute!="function"||typeof T.setAttribute!="function"||typeof T.namespaceURI!="string"||typeof T.insertBefore!="function"||typeof T.hasChildNodes!="function"||T.nodeType!==S(T)||T.childNodes!==f(T)},Er=function(T){if(!S||typeof T!="object"||T===null)return!1;try{return S(T)===ue.documentFragment}catch{return!1}},fi=function(T){if(!S||typeof T!="object"||T===null)return!1;try{return typeof S(T)=="number"}catch{return!1}};function Le(G,T,M){G.length!==0&&dr(G,Y=>{Y.call(t,T,M,Ar)})}const jf=function(T,M){return!!(ar&&T.hasChildNodes()&&!fi(T.firstElementChild)&&Vt(wl,T.textContent)&&Vt(wl,T.innerHTML)||ar&&T.namespaceURI===ve&&Nm[M]&&(fi(T.firstElementChild)||typeof T.textContent=="string"&&Vt(zm[M],T.textContent))||T.nodeType===ue.processingInstruction||ar&&T.nodeType===ue.comment&&Vt(Bl,T.data))},cs=function(T,M){if(T instanceof RegExp)return Vt(T,M);if(T instanceof Function){for(var Y=arguments.length,Z=new Array(Y>2?Y-2:0),at=2;at=0;--Et){const $t=T===Y?u(at[Et],!0):at[Et];Z.insertBefore($t,m(T))}}}return Ge(T),!0},ol=function(T,M,Y,Z){return T.length===0?M:M===Y||M===Z?ge(M):M},nl=function(T,M){return T===M||C(T)!==null?!1:(ka&&ns(T),!0)},ll=function(T,M){if(Le(X.beforeSanitizeElements,T,null),nl(T,M))return!0;if(hs(T))return Ge(T),!0;const Y=Dt(v(T));if($=ol(X.uponSanitizeElement,$,ht,ts),Le(X.uponSanitizeElement,T,{tagName:Y,allowedTags:$}),nl(T,M))return!0;if(jf(T,Y))return Ge(T),!0;if(pi[Y]||!(Ue.tagCheck instanceof Function&&Ue.tagCheck(Y))&&!$[Y]){const at=Gf(T,Y,M);return at===!1&&Le(X.afterSanitizeElements,T,null),at}if(F(T)===ue.element&&!Hf(T)||(Y==="noscript"||Y==="noembed"||Y==="noframes")&&Vt(qm,T.innerHTML))return Ge(T),!0;if(je&&T.nodeType===ue.text){const at=ls(T.textContent);T.textContent!==at&&(mi(t.removed,{element:T.cloneNode()}),T.textContent=at)}return Le(X.afterSanitizeElements,T,null),!1},hl=function(T,M,Y){if(qn[M]||il(M,T)||Hn&&(M==="id"||M==="name")&&(Y in r||Y in qf))return!1;const Z=At[M]||Ue.attributeCheck instanceof Function&&Ue.attributeCheck(M,T);return ya&&Vt(vt,M)||Wn&&Vt(Lt,M)?!0:Z?Vn[M]||Vt(kt,yi(Y,st,""))||(M==="src"||M==="xlink:href"||M==="href")&&T!=="script"&&ml(Y,"data:")===0&&Gn[T]||Nn&&!Vt(V,yi(Y,st,""))?!0:!Y:cl(T)&&cs(ae.tagNameCheck,T)&&cs(ae.attributeNameCheck,M,T)||M==="is"&&ae.allowCustomizedBuiltInElements&&cs(ae.tagNameCheck,Y)},Xf=St({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),cl=function(T){return!Xf[_i(T)]&&Vt(mt,T)},Vf=function(T,M,Y,Z){if(N&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!Y)switch(d.getAttributeType(T,M)){case"TrustedHTML":return A(Z);case"TrustedScriptURL":return _(Z)}return Z},Zf=function(T,M,Y,Z){try{Y?T.setAttributeNS(Y,M,Z):T.setAttribute(M,Z),hs(T)?Ge(T):gl(t.removed)}catch{nr(M,T)}},dl=function(T){Le(X.beforeSanitizeAttributes,T,null);const M=T.attributes;if(!M||hs(T))return;At=ol(X.uponSanitizeAttribute,At,Ji,es);const Y={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:At,forceKeepAttr:void 0};let Z=M.length;const at=Dt(T.nodeName);for(;Z--;){const gt=M[Z],Et=gt.name,$t=gt.namespaceURI,oe=gt.value,ne=Dt(Et),Fa=oe;let ee=Et==="value"?Fa:km(Fa);if(Y.attrName=ne,Y.attrValue=ee,Y.keepAttr=!0,Y.forceKeepAttr=void 0,Le(X.uponSanitizeAttribute,T,Y),ee=Y.attrValue,Yn&&(ne==="id"||ne==="name")&&ml(ee,Un)!==0&&(nr(Et,T,gt),ee=Un+ee),ar&&Vt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,ee)){nr(Et,T,gt);continue}if(ne==="attributename"&&fl(ee,"href")){nr(Et,T,gt);continue}if(!Y.forceKeepAttr){if(!Y.keepAttr){nr(Et,T,gt);continue}if(!zn&&Vt(Wm,ee)){nr(Et,T,gt);continue}if(je&&(ee=ls(ee)),!hl(at,ne,ee)){nr(Et,T,gt);continue}ee=Vf(at,ne,$t,ee),ee!==Fa&&Zf(T,Et,$t,ee)}}Le(X.afterSanitizeAttributes,T,null)},ds=function(T){let M=null;const Y=al(T);for(Le(X.beforeSanitizeShadowDOM,T,null);M=Y.nextNode();)if(Le(X.uponSanitizeShadowNode,M,null),ll(M,T),dl(M),Er(M.content)&&ds(M.content),F(M)===ue.element){const Z=b(M);Er(Z)&&(La(Z),ds(Z))}Le(X.afterSanitizeShadowDOM,T,null)},La=function(T){const M=[{node:T,shadow:null}];for(;M.length>0;){const Y=M.pop();if(Y.shadow){ds(Y.shadow);continue}const Z=Y.node,gt=F(Z)===ue.element,Et=f(Z);if(Et)for(let $t=Et.length-1;$t>=0;--$t)M.push({node:Et[$t],shadow:null});if(gt){const $t=w?w(Z):null;if(typeof $t=="string"&&Dt($t)==="template"){const oe=Z.content;Er(oe)&&M.push({node:oe,shadow:null})}}if(gt){const $t=b(Z);Er($t)&&M.push({node:null,shadow:$t},{node:$t,shadow:null})}}};return t.sanitize=function(G){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=null,Y=null,Z=null,at=null;if(Ta=!G,Ta&&(G=""),typeof G!="string"&&!fi(G)&&(G=_m(G),typeof G!="string"))throw lr("dirty is not a string, aborting");if(!t.isSupported)return G;Ca?($=ts,At=es):_a(T),(X.uponSanitizeElement.length>0||X.uponSanitizeAttribute.length>0)&&($=ge($)),X.uponSanitizeAttribute.length>0&&(At=ge(At)),t.removed=[];const gt=ka&&typeof G!="string"&&fi(G);if(gt){Uf(G);const oe=v(G);if(typeof oe=="string"){const ne=Dt(oe);if(!$[ne]||pi[ne])throw os(G),lr("root node is forbidden and cannot be sanitized in-place")}if(hs(G))throw os(G),lr("root node is clobbered and cannot be sanitized in-place");try{La(G)}catch(ne){throw os(G),ne}}else if(fi(G))M=sl(""),Y=M.ownerDocument.importNode(G,!0),Y.nodeType===ue.element&&Y.nodeName==="BODY"||Y.nodeName==="HTML"?M=Y:M.appendChild(Y),La(Y);else{if(!_r&&!je&&!or&&G.indexOf("<")===-1)return N&&is?A(G):G;if(M=sl(G),!M)return _r?null:is?P:""}M&&xa&&Ge(M.firstChild);const Et=gt?G:M;try{const oe=al(Et);for(;Z=oe.nextNode();)ll(Z,Et),dl(Z),Er(Z.content)&&ds(Z.content)}catch(oe){throw gt&&(os(G),dr(t.removed,ne=>{ne.element&&ns(ne.element)})),oe}if(gt)return dr(t.removed,oe=>{oe.element&&ns(oe.element)}),je&&va(G),G;if(_r){if(je&&va(M),rs)for(at=K.call(M.ownerDocument);M.firstChild;)at.appendChild(M.firstChild);else at=M;return(At.shadowroot||At.shadowrootmode)&&(at=nt.call(i,at,!0)),at}let $t=or?M.outerHTML:M.innerHTML;return or&&$["!doctype"]&&M.ownerDocument&&M.ownerDocument.doctype&&M.ownerDocument.doctype.name&&Vt(Pm,M.ownerDocument.doctype.name)&&($t=" `+$t),je&&($t=ls($t)),N&&is?A($t):$t},t.setConfig=function(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};_a(G),Ca=!0,ts=$,es=At},t.clearConfig=function(){Ar=null,Ca=!1,ts=null,es=null,N=O,P=""},t.isValidAttribute=function(G,T,M){Ar||_a({});const Y=Dt(G),Z=Dt(T);return hl(Y,Z,M)},t.addHook=function(G,T){typeof T=="function"&&he(X,G)&&mi(X[G],T)},t.removeHook=function(G,T){if(he(X,G)){if(T!==void 0){const M=xm(X[G],T);return M===-1?void 0:bm(X[G],M,1)[0]}return gl(X[G])}},t.removeHooks=function(G){he(X,G)&&(X[G]=[])},t.removeAllHooks=function(){X=_l()},t}var si=qh(),Ka=g((e,t,{depth:r=2}={})=>{const i={depth:r};if(Array.isArray(t)&&!Array.isArray(e))return t.forEach(s=>Ka(e,s,i)),e;if(Array.isArray(t)&&Array.isArray(e))return t.forEach(s=>{e.includes(s)||e.push(s)}),e;if(e==null||r<=0)return e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t;if(t!=null&&typeof e=="object"&&typeof t=="object"){const s=e;Object.entries(t).forEach(([a,o])=>{if(typeof o=="object"){if(o===null)return;Object.hasOwn(e,a)||Object.defineProperty(e,a,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),s[a]===void 0&&(s[a]=Array.isArray(o)?[]:{}),typeof s[a]=="object"&&(s[a]=Ka(s[a],o,{depth:r-1}))}else typeof s[a]!="object"&&(Object.hasOwn(e,a)?s[a]=o:Object.defineProperty(e,a,{value:o,writable:!0,enumerable:!0,configurable:!0}))})}return e},"assignWithDepth"),Ht=Ka,Oe="#ffffff",Ie="#f2f2f2",pt=g((e,t)=>t?x(e,{s:-40,l:10}):x(e,{s:-40,l:-10}),"mkBorder"),Yr,Um=(Yr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt,$;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||q(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||q(this.mainBkg,10)):(this.rowOdd=this.rowOdd||R(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||R(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let ht=0;ht{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Yr,"Theme"),Yr),jm=g(e=>{const t=new Um;return t.calculate(e),t},"getThemeVariables"),Ur,Gm=(Ur=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=q("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=q(this.sectionBkgColor,10),this.taskBorderColor=Qe(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Qe(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||R(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||q(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.secondBkg=R(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=R(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=R(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=L(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=x(this.primaryColor,{h:64}),this.fillType3=x(this.secondaryColor,{h:64}),this.fillType4=x(this.primaryColor,{h:-64}),this.fillType5=x(this.secondaryColor,{h:-64}),this.fillType6=x(this.primaryColor,{h:128}),this.fillType7=x(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330});for(let $=0;${this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Ur,"Theme"),Ur),Xm=g(e=>{const t=new Gm;return t.calculate(e),t},"getThemeVariables"),jr,Vm=(jr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=x(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=Qe(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||q(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||q(this.tertiaryColor,40);for(let $=0;${this[i]==="calculated"&&(this[i]=void 0)}),typeof t!="object"){this.updateColors();return}const r=Object.keys(t);r.forEach(i=>{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(jr,"Theme"),jr),Zm=g(e=>{const t=new Vm;return t.calculate(e),t},"getThemeVariables"),Gr,Km=(Gr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=R("#cde498",10),this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.primaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.actorBorder=q(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||q(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||q(this.tertiaryColor,40);for(let $=0;${this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Gr,"Theme"),Gr),Qm=g(e=>{const t=new Km;return t.calculate(e),t},"getThemeVariables"),Xr,Jm=(Xr=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=R(this.contrast,55),this.background="#ffffff",this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.lineColor=L(this.background),this.textColor=L(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||R(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var t,r,i,s,a,o,n,l,c,h,d,p,u,y,m,f,C,b,k,S,w,B,F,v,N,P,O,j,z,D,A,_,I,E,W,U,K,et,nt,X,ct,bt,xt,vt,Lt,V,st,mt,kt;this.secondBkg=R(this.contrast,55),this.border2=this.contrast,this.actorBorder=R(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let $=0;${this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Xr,"Theme"),Xr),ty=g(e=>{const t=new Jm;return t.calculate(e),t},"getThemeVariables"),Vr,ey=(Vr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var a,o,n,l,c,h,d,p,u,y,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=x(t,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||R(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||t,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||i,this.cScale3=this.cScale3||x(t,{h:30}),this.cScale4=this.cScale4||x(t,{h:60}),this.cScale5=this.cScale5||x(t,{h:90}),this.cScale6=this.cScale6||x(t,{h:120}),this.cScale7=this.cScale7||x(t,{h:150}),this.cScale8=this.cScale8||x(t,{h:210,l:150}),this.cScale9=this.cScale9||x(t,{h:270}),this.cScale10=this.cScale10||x(t,{h:300}),this.cScale11=this.cScale11||x(t,{h:330}),this.darkMode)for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Vr,"Theme"),Vr),ry=g(e=>{const t=new ey;return t.calculate(e),t},"getThemeVariables"),Zr,iy=(Zr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor=L(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let u=0;u{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Zr,"Theme"),Zr),sy=g(e=>{const t=new iy;return t.calculate(e),t},"getThemeVariables"),Kr,ay=(Kr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=pt("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,d,p,u,y,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=x(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||R(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Kr,"Theme"),Kr),oy=g(e=>{const t=new ay;return t.calculate(e),t},"getThemeVariables"),Qr,ny=(Qr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor=L(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||x(this.primaryColor,{h:30}),this.cScale4=this.cScale4||x(this.primaryColor,{h:60}),this.cScale5=this.cScale5||x(this.primaryColor,{h:90}),this.cScale6=this.cScale6||x(this.primaryColor,{h:120}),this.cScale7=this.cScale7||x(this.primaryColor,{h:150}),this.cScale8=this.cScale8||x(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||x(this.primaryColor,{h:270}),this.cScale10=this.cScale10||x(this.primaryColor,{h:300}),this.cScale11=this.cScale11||x(this.primaryColor,{h:330}),this.darkMode)for(let u=0;u{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Qr,"Theme"),Qr),ly=g(e=>{const t=new ny;return t.calculate(e),t},"getThemeVariables"),Jr,hy=(Jr=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=pt(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var a,o,n,l,c,h,d,p,u,y,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const t="#ECECFE",r="#E9E9F1",i=x(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||i,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||R(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(Jr,"Theme"),Jr),cy=g(e=>{const t=new hy;return t.calculate(e),t},"getThemeVariables"),ti,dy=(ti=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=R(this.primaryColor,16),this.tertiaryColor=x(this.primaryColor,{h:-160}),this.primaryBorderColor=L(this.background),this.secondaryBorderColor=pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=pt(this.tertiaryColor,this.darkMode),this.primaryTextColor=L(this.primaryColor),this.secondaryTextColor=L(this.secondaryColor),this.tertiaryTextColor=L(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=R(L("#323D47"),10),this.border1="#ccc",this.border2=Qe(255,255,255,.25),this.arrowheadColor=L(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var r,i,s,a,o,n,l,c,h,d,p;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||x(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||x(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||pt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||pt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||pt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||pt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||L(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||L(this.tertiaryColor),this.lineColor=this.lineColor||L(this.background),this.arrowheadColor=this.arrowheadColor||L(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?q(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||q(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||L(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||R(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let u=0;u{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},g(ti,"Theme"),ti),uy=g(e=>{const t=new dy;return t.calculate(e),t},"getThemeVariables"),Ne={base:{getThemeVariables:jm},dark:{getThemeVariables:Xm},default:{getThemeVariables:Zm},forest:{getThemeVariables:Qm},neutral:{getThemeVariables:ty},neo:{getThemeVariables:ry},"neo-dark":{getThemeVariables:sy},redux:{getThemeVariables:oy},"redux-dark":{getThemeVariables:ly},"redux-color":{getThemeVariables:cy},"redux-dark-color":{getThemeVariables:uy}},jt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},swimlane:{useMaxWidth:!0,lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},Wh={...jt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:Ne.default.getThemeVariables(),sequence:{...jt.sequence,messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:g(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:g(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...jt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...jt.c4,useWidth:void 0,personFont:g(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...jt.flowchart,inheritDir:!1},external_personFont:g(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:g(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:g(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:g(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:g(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:g(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:g(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:g(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:g(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:g(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:g(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:g(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:g(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:g(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:g(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:g(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:g(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:g(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:g(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:g(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:g(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...jt.pie,useWidth:984},xyChart:{...jt.xyChart,useWidth:void 0},requirement:{...jt.requirement,useWidth:void 0},packet:{...jt.packet},eventmodeling:{...jt.eventmodeling},treeView:{...jt.treeView,useWidth:void 0},radar:{...jt.radar},railroad:{...jt.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...jt.ishikawa},sankey:{...jt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...jt.venn},cynefin:{...jt.cynefin}},Nh=g((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...Nh(e[i],"")]:[...r,t+i],[]),"keyify"),py=new Set(Nh(Wh,"")),zh=Wh,gy={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},fy=g((e,t)=>{for(const r of Object.keys(e)){const i=e[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||typeof i!="string"||!t.test(i))&&(H.debug("sanitize deleting dictionary entry:",r,i),delete e[r])}},"sanitizeDictionaryConfig"),Es=g(e=>{if(H.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>Es(t));return}for(const t of Object.keys(e)){if(H.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!py.has(t)||e[t]==null){H.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){const i=gy[t];i?fy(e[t],i):(H.debug("sanitizing object",t),Es(e[t]));continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(H.debug("sanitizing css option",t),e[t]=Hh(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}H.debug("After sanitization",e)}},"sanitizeDirective"),Hh=g(e=>{let t=0,r=0;for(const i of e){if(t!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),ce=Ht({},ai),Ms,Cr=[],Mi=Ht({},ai),Ui=g((e,t)=>{let r=Ht({},e),i={};for(const s of t)jh(s),i=Ht(i,s);if(r=Ht(r,i),i.theme&&i.theme in Ne){const s=Ht({},Ms),a=Ht(s.themeVariables||{},i.themeVariables);r.theme&&r.theme in Ne&&(r.themeVariables=Ne[r.theme].getThemeVariables(a))}return Mi=r,ky(Mi),Mi},"updateCurrentConfig"),my=g(e=>(ce=Ht({},ai),ce=Ht(ce,e),e.theme&&Ne[e.theme]&&(ce.themeVariables=Ne[e.theme].getThemeVariables(e.themeVariables)),Ui(ce,Cr),ce),"setSiteConfig"),yy=g(e=>{Ms=Ht({},e)},"saveConfigFromInitialize"),Cy=g(e=>(ce=Ht(ce,e),Ui(ce,Cr),ce),"updateSiteConfig"),Yh=g(()=>Ht({},ce),"getSiteConfig"),Uh=g(e=>(Ui(Mi,[e]),Ot()),"setConfig"),Ot=g(()=>Ht({},Mi),"getConfig"),jh=g(e=>{e&&(["secure",...ce.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(H.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&jh(e[t])}))},"sanitize"),xy=g(e=>{var t;Es(e),e.fontFamily&&!((t=e.themeVariables)!=null&&t.fontFamily)&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),Cr.push(e),Ui(ce,Cr)},"addDirective"),$s=g((e=ce)=>{Cr=[],Ui(e,Cr)},"reset"),by={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},vl={},Gh=g(e=>{vl[e]||(H.warn(by[e]),vl[e]=!0)},"issueWarning"),ky=g(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&Gh("LAZY_LOAD_DEPRECATED")},"checkConfig"),XS=g(()=>{let e={};Ms&&(e=Ht(e,Ms));for(const t of Cr)e=Ht(e,t);return e},"getUserDefinedConfig"),se=g(e=>{var t,r;return((t=e.flowchart)==null?void 0:t.htmlLabels)!=null&&Gh("FLOWCHART_HTML_LABELS_DEPRECATED"),De(e.htmlLabels??((r=e.flowchart)==null?void 0:r.htmlLabels)??!0)},"getEffectiveHtmlLabels"),Xh=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,$i=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Ty=/\s*%%.*\n/gm,ei,Vh=(ei=class extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}},g(ei,"UnknownDiagramError"),ei),xr={},Yo=g(function(e,t){e=e.replace(Xh,"").replace($i,"").replace(Ty,` `);for(const[r,{detector:i}]of Object.entries(xr))if(i(e,t))return r;throw new Vh(`No diagram type detected matching given configuration for text: ${e}`)},"detectType"),Qa=g((...e)=>{for(const{id:t,detector:r,loader:i}of e)Zh(t,r,i)},"registerLazyLoadedDiagrams"),Zh=g((e,t,r)=>{xr[e]&&H.warn(`Detector with key ${e} already exists. Overwriting.`),xr[e]={detector:t,loader:r},H.debug(`Detector with key ${e} added${r?" with loader":""}`)},"addDetector"),Sy=g(e=>xr[e].loader,"getDiagramLoader"),ji=//gi,wy=g(e=>e?Jh(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),By=(()=>{let e=!1;return()=>{e||(Kh(),e=!0)}})();function Kh(){const e="data-temp-href-target";si.addHook("beforeSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute("target")&&t.setAttribute(e,t.getAttribute("target")??"")}),si.addHook("afterSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute(e)&&(t.setAttribute("target",t.getAttribute(e)??""),t.removeAttribute(e),t.getAttribute("target")==="_blank"&&t.setAttribute("rel","noopener"))})}g(Kh,"setupDompurifyHooks");var Qh=g(e=>(By(),si.sanitize(e)),"removeScript"),Ll=g((e,t)=>{if(se(t)){const r=t.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?e=Qh(e):r!=="loose"&&(e=Jh(e),e=e.replace(//g,">"),e=e.replace(/=/g,"="),e=Fy(e))}return e},"sanitizeMore"),Be=g((e,t)=>e&&(t.dompurifyConfig?e=si.sanitize(Ll(e,t),t.dompurifyConfig).toString():e=si.sanitize(Ll(e,t),{FORBID_TAGS:["style"]}).toString(),e),"sanitizeText"),_y=g((e,t)=>typeof e=="string"?Be(e,t):e.flat().map(r=>Be(r,t)),"sanitizeTextOrArray"),vy=g(e=>ji.test(e),"hasBreaks"),Ly=g(e=>e.split(ji),"splitBreaks"),Fy=g(e=>e.replace(/#br#/g,"
    "),"placeholderToBreak"),Jh=g(e=>e.replace(ji,"#br#"),"breakToPlaceholder"),Ay=g(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=CSS.escape(t)),t},"getUrl"),Ey=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.max(...t)},"getMax"),My=g(function(...e){const t=e.filter(r=>!isNaN(r));return Math.min(...t)},"getMin"),Fl=g(function(e){const t=e.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,e.split(t).length-1),"countOccurrence"),$y=g((e,t)=>{const r=Ja(e,"~"),i=Ja(t,"~");return r===1&&i===1},"shouldCombineSets"),Oy=g(e=>{const t=Ja(e,"~");let r=!1;if(t<=1)return e;t%2!==0&&e.startsWith("~")&&(e=e.substring(1),r=!0);const i=[...e];let s=i.indexOf("~"),a=i.lastIndexOf("~");for(;s!==-1&&a!==-1&&s!==a;)i[s]="<",i[a]=">",s=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),Al=g(()=>window.MathMLElement!==void 0,"isMathMLSupported"),to=/\$\$(.*?)\$\$/g,Pi=g(e=>{var t;return(((t=e.match(to))==null?void 0:t.length)??0)>0},"hasKatex"),VS=g(async(e,t)=>{const r=document.createElement("div");r.innerHTML=await tc(e,t),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const i=document.querySelector("body");i==null||i.insertAdjacentElement("beforeend",r);const s={width:r.clientWidth,height:r.clientHeight};return r.remove(),s},"calculateMathMLDimensions"),Iy=g(async(e,t)=>{if(!Pi(e))return e;if(!(Al()||t.legacyMathML||t.forceLegacyMathML))return e.replace(to,"MathML is unsupported in this environment.");{const{default:r}=await yt(async()=>{const{default:s}=await import("../../chunks/katex-C5jXJg4s.js");return{default:s}},[]),i=t.forceLegacyMathML||!Al()&&t.legacyMathML?"htmlAndMathml":"mathml";return e.split(ji).map(s=>Pi(s)?`
    ${s}
    `:`
    ${s}
    `).join("").replace(to,(s,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))}},"renderKatexUnsanitized"),tc=g(async(e,t)=>Be(await Iy(e,t),t),"renderKatexSanitized"),Gi={getRows:wy,sanitizeText:Be,sanitizeTextOrArray:_y,hasBreaks:vy,splitBreaks:Ly,lineBreakRegex:ji,removeScript:Qh,getUrl:Ay,evaluate:De,getMax:Ey,getMin:My},Dy=g(function(e,t){for(let r of t)e.attr(r[0],r[1])},"d3Attrs"),Py=g(function(e,t,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${t}px;`)):(i.set("height",e),i.set("width",t)),i},"calculateSvgSizeAttrs"),ec=g(function(e,t,r,i){const s=Py(t,r,i);Dy(e,s)},"configureSvgSize"),Ry=g(function(e,t,r,i){const s=t.node().getBBox(),a=s.width,o=s.height;H.info(`SVG bounds: ${a}x${o}`,s);let n=0,l=0;H.info(`Graph bounds: ${n}x${l}`,e),n=a+r*2,l=o+r*2,H.info(`Calculated bounds: ${n}x${l}`),ec(t,l,n,i);const c=`${s.x-r} ${s.y-r} ${s.width+2*r} ${s.height+2*r}`;t.attr("viewBox",c)},"setupGraphViewbox"),Ts={};function eo(e){return[...e.cssRules].map(t=>t.cssText).join(` @@ -300,8 +300,8 @@ Please report this to https://github.com/markedjs/marked.`,t){let s="

    An error L0,20`)},"requirement_arrow"),e1=g((e,t,r)=>{const i=Ot(),{themeVariables:s}=i,{strokeWidth:a}=s;e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 L20,10 M20,10 - L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),r1=g((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),i1=g((e,t,r)=>{const i=Ot(),{themeVariables:s}=i,{strokeWidth:a}=s,o=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),s1={extension:Dk,composition:Pk,aggregation:Rk,dependency:qk,lollipop:Wk,point:Nk,circle:zk,cross:Hk,barb:Yk,barbNeo:Uk,only_one:jk,zero_or_one:Gk,one_or_more:Xk,zero_or_more:Vk,only_one_neo:Zk,zero_or_one_neo:Kk,one_or_more_neo:Qk,zero_or_more_neo:Jk,requirement_arrow:t1,requirement_contains:r1,requirement_arrow_neo:e1,requirement_contains_neo:i1},a1=Ik,o1={common:Gi,getConfig:Ot,insertCluster:ek,insertEdge:Ok,insertEdgeLabel:vk,insertMarkers:a1,insertNode:Bg,interpolateToCurve:gn,labelHelper:dt,log:H,positionEdgeLabel:Lk},Hi={},Fg=g(e=>{for(const t of e)Hi[t.name]=t},"registerLayoutLoaders"),n1=g(()=>{Fg([{name:"dagre",loader:g(async()=>await yt(()=>import("./dagre-VZM6K2ZE-C5CLJfcV.js"),__vite__mapDeps([0,1,2,3,4,5,6])),"loader")},{name:"swimlane",loader:g(async()=>await yt(()=>import("./swimlanes-SLNWSIFB-Ct5lmjCw.js"),__vite__mapDeps([7,5,6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await yt(()=>import("./cose-bilkent-JH36ORCC-DtOdEs-G.js"),__vite__mapDeps([8,9,5,6])),"loader")}])},"registerDefaultLayoutLoaders");n1();var xw=g(async(e,t,r)=>{if(!(e.layoutAlgorithm in Hi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const d of e.nodes){const p=d.domId||d.id;d.domId=`${e.diagramId}-${p}`}const i=Hi[e.layoutAlgorithm],s=await i.loader(),{theme:a,themeVariables:o}=e.config,{useGradient:n,gradientStart:l,gradientStop:c}=o,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),n){const d=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",c).attr("stop-opacity",1)}return s.render(e,t,o1,{algorithm:i.algorithm},r)},"render"),bw=g((e="",{fallback:t="dagre"}={})=>{if(e in Hi)return e;if(t in Hi)return H.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),In="comm",Ag="rule",Eg="decl",l1="@media",h1="@import",c1="@supports",d1="@namespace",Po="@keyframes",Mg="@layer",u1="@scope",p1=Math.abs,Di=String.fromCharCode;function $g(e){return e.trim()}function Ro(e,t,r){return e.replace(t,r)}function Hr(e,t){return e.charCodeAt(t)|0}function li(e,t,r){return e.slice(t,r)}function Ee(e){return e.length}function Og(e){return e.length}function xs(e,t){return t.push(e),e}var ga=1,hi=1,Ig=0,ye=0,Rt=0,ui="";function Dn(e,t,r,i,s,a,o,n){return{value:e,root:t,parent:r,type:i,props:s,children:a,line:ga,column:hi,length:o,return:"",siblings:n}}function g1(){return Rt}function f1(){return Rt=ye>0?Hr(ui,--ye):0,hi--,Rt===10&&(hi=1,ga--),Rt}function we(){return Rt=ye2||Yi(Rt)>3?"":" "}function x1(e,t){for(;--t&&we()&&!(Rt<48||Rt>102||Rt>57&&Rt<65||Rt>70&&Rt<97););return fa(e,Fs()+(t<6&&Ke()==32&&we()==32))}function qo(e){for(;we();)switch(Rt){case e:return ye;case 34:case 39:e!==34&&e!==39&&qo(Rt);break;case 40:e===41&&qo(e);break;case 92:we();break}return ye}function b1(e,t){for(;we()&&e+Rt!==57;)if(e+Rt===84&&Ke()===47)break;return"/*"+fa(t,ye-1)+"*"+Di(e===47?e:we())}function k1(e){for(;!Yi(Ke());)we();return fa(e,ye)}function T1(e){return y1(As("",null,null,null,[""],e=m1(e),0,[0],e))}function As(e,t,r,i,s,a,o,n,l){for(var c=0,h=0,d=o,p=0,u=0,y=0,m=1,f=1,C=1,b=0,k=0,S="",w=s,B=a,F=i,v=S;f;)switch(y=k,k=we()){case 40:y!=108&&Hr(v,d-1)==58?(b++,v+="("):v+=Ga(k);break;case 41:b--,v+=")";break;case 34:case 39:case 91:v+=Ga(k);break;case 9:case 10:case 13:case 32:if(b>0){v+=Di(k);break}v+=C1(y);break;case 92:v+=x1(Fs()-1,7);continue;case 47:switch(Ke()){case 42:case 47:xs(S1(b1(we(),Fs()),t,r,l),l),(Yi(y||1)==5||Yi(Ke()||1)==5)&&Ee(v)&&li(v,-1,void 0)!==" "&&(v+=" ");break;default:v+="/"}break;case 123*m:n[c++]=Ee(v)*C;case 125*m:case 59:case 0:if(b>0&&k){v+=Di(k);break}switch(k){case 0:case 125:f=0;case 59+h:C==-1&&(v=Ro(v,/\f/g,"")),u>0&&(Ee(v)-d||m===0)&&xs(u>32?vh(v+";",i,r,d-1,l):vh(Ro(v," ","")+";",i,r,d-2,l),l);break;case 59:v+=";";default:if(xs(F=_h(v,t,r,c,h,s,n,S,w=[],B=[],d,a),a),k===123)if(h===0)As(v,t,F,F,w,a,d,n,B);else{switch(p){case 99:if(Hr(v,3)===110)break;case 108:if(Hr(v,2)===97)break;default:h=0;case 100:case 109:case 115:}h?As(e,F,F,i&&xs(_h(e,F,F,0,0,s,n,S,s,w=[],d,B),B),s,B,d,n,i?w:B):As(v,F,F,F,[""],B,0,n,B)}}c=h=u=0,m=C=1,S=v="",d=o;break;case 58:d=1+Ee(v),u=y;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&f1()==125)continue}switch(v+=Di(k),k*m){case 38:C=h>0?1:(v+="\f",-1);break;case 44:if(b>0)break;n[c++]=(Ee(v)-1)*C,C=1;break;case 64:Ke()===45&&(v+=Ga(we())),p=Ke(),h=d=Ee(S=v+=k1(Fs())),k++;break;case 45:y===45&&Ee(v)==2&&(m=0)}}return a}function _h(e,t,r,i,s,a,o,n,l,c,h,d){for(var p=s-1,u=s===0?a:[""],y=Og(u),m=0,f=0,C=0;m0?u[b]+" "+k:Ro(k,/&\f/g,u[b])))&&(l[C++]=S);return Dn(e,t,r,s===0?Ag:n,l,c,h,d)}function S1(e,t,r,i){return Dn(e,t,r,In,Di(g1()),li(e,2,-2),0,i)}function vh(e,t,r,i,s){return Dn(e,t,r,Eg,li(e,0,i),li(e,i+1,-1),i,s)}function Wo(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),v1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./c4Diagram-5PPSVZJV-CEzZXd8C.js");return{diagram:t}},__vite__mapDeps([10,11,5,6]));return{id:Dg,diagram:e}},"loader"),L1={id:Dg,detector:_1,loader:v1},F1=L1,Pg="flowchart",A1=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),E1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-DDwOl6M5.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Pg,diagram:e}},"loader"),M1={id:Pg,detector:A1,loader:E1},$1=M1,Rg="flowchart-v2",O1=g((e,t)=>{var r,i,s;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((s=t==null?void 0:t.flowchart)==null?void 0:s.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),I1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-DDwOl6M5.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Rg,diagram:e}},"loader"),D1={id:Rg,detector:O1,loader:I1},P1=D1,qg="swimlane",R1=g(e=>/^\s*swimlane-beta\b/.test(e),"detector"),q1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js");return{diagram:t}},__vite__mapDeps([17,12,13,14,5,6,15,11,16]));return{id:qg,diagram:e}},"loader"),W1={id:qg,detector:R1,loader:q1},N1=W1,Wg="er",z1=g(e=>/^\s*erDiagram/.test(e),"detector"),H1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./erDiagram-JOGREHBK-DNCYxMoL.js");return{diagram:t}},__vite__mapDeps([18,14,5,6,15,16]));return{id:Wg,diagram:e}},"loader"),Y1={id:Wg,detector:z1,loader:H1},U1=Y1,Ng="gitGraph",j1=g(e=>/^\s*gitGraph/.test(e),"detector"),G1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-DS77QQ5N-CMdbkt4j.js");return{diagram:t}},__vite__mapDeps([19,20,21,22,5,6]));return{id:Ng,diagram:e}},"loader"),X1={id:Ng,detector:j1,loader:G1},V1=X1,zg="gantt",Z1=g(e=>/^\s*gantt/.test(e),"detector"),K1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ganttDiagram-PKOTCBZU-D_QbS2Qe.js");return{diagram:t}},__vite__mapDeps([23,5,6,24,25,26]));return{id:zg,diagram:e}},"loader"),Q1={id:zg,detector:Z1,loader:K1},J1=Q1,Hg="info",t2=g(e=>/^\s*info/.test(e),"detector"),e2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./infoDiagram-6WML65LV-ZpsMRN3K.js");return{diagram:t}},__vite__mapDeps([27,22,5,6]));return{id:Hg,diagram:e}},"loader"),r2={id:Hg,detector:t2,loader:e2},Yg="pie",i2=g(e=>/^\s*pie/.test(e),"detector"),s2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pieDiagram-7S7Q4E2Y-B3JugF-G.js");return{diagram:t}},__vite__mapDeps([28,21,22,5,6,29,30,25]));return{id:Yg,diagram:e}},"loader"),a2={id:Yg,detector:i2,loader:s2},Ug="quadrantChart",o2=g(e=>/^\s*quadrantChart/.test(e),"detector"),n2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./quadrantDiagram-CIZ2JOQS-Di4W4xlE.js");return{diagram:t}},__vite__mapDeps([31,5,6,24,25,26]));return{id:Ug,diagram:e}},"loader"),l2={id:Ug,detector:o2,loader:n2},h2=l2,jg="xychart",c2=g(e=>/^\s*xychart(-beta)?/.test(e),"detector"),d2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./xychartDiagram-ELKLHX3M-Dh29HzQv.js");return{diagram:t}},__vite__mapDeps([32,5,6,25,30,24,26]));return{id:jg,diagram:e}},"loader"),u2={id:jg,detector:c2,loader:d2},p2=u2,Gg="requirement",g2=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),f2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./requirementDiagram-LRYGKXZP-C5Xl4FSh.js");return{diagram:t}},__vite__mapDeps([33,14,5,6,15]));return{id:Gg,diagram:e}},"loader"),m2={id:Gg,detector:g2,loader:f2},y2=m2,Xg="sequence",C2=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),x2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sequenceDiagram-SI44F4Z6-YlNpDd9i.js");return{diagram:t}},__vite__mapDeps([34,20,11,5,6]));return{id:Xg,diagram:e}},"loader"),b2={id:Xg,detector:C2,loader:x2},k2=b2,Vg="class",T2=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),S2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-JCYQIIEL-zSKdSbJy.js");return{diagram:t}},__vite__mapDeps([35,36,13,14,5,6,15,11]));return{id:Vg,diagram:e}},"loader"),w2={id:Vg,detector:T2,loader:S2},B2=w2,Zg="classDiagram",_2=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),v2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-v2-OCEON4UE-zSKdSbJy.js");return{diagram:t}},__vite__mapDeps([37,36,13,14,5,6,15,11]));return{id:Zg,diagram:e}},"loader"),L2={id:Zg,detector:_2,loader:v2},F2=L2,Kg="state",A2=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),E2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-OKZ733FA-D97-90Mt.js");return{diagram:t}},__vite__mapDeps([38,39,14,5,6,15,11,2,4,3]));return{id:Kg,diagram:e}},"loader"),M2={id:Kg,detector:A2,loader:E2},$2=M2,Qg="stateDiagram",O2=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),I2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js");return{diagram:t}},__vite__mapDeps([40,39,14,5,6,15,11]));return{id:Qg,diagram:e}},"loader"),D2={id:Qg,detector:O2,loader:I2},P2=D2,Jg="journey",R2=g(e=>/^\s*journey/.test(e),"detector"),q2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./journeyDiagram-NVQOT4AX-B5NSsZK6.js");return{diagram:t}},__vite__mapDeps([41,13,11,5,6,29]));return{id:Jg,diagram:e}},"loader"),W2={id:Jg,detector:R2,loader:q2},N2=W2,z2=g((e,t,r)=>{H.debug(`rendering svg for syntax error -`);const i=fC(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),ec(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),tf={draw:z2},H2=tf,Y2={db:{},renderer:tf,parser:{parse:g(()=>{},"parse")}},U2=Y2,ef="flowchart-elk",j2=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),G2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-DDwOl6M5.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:ef,diagram:e}},"loader"),X2={id:ef,detector:j2,loader:G2},V2=X2,rf="timeline",Z2=g(e=>/^\s*timeline/.test(e),"detector"),K2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./timeline-definition-Z64GVDOM-CGPnYrRB.js");return{diagram:t}},__vite__mapDeps([42,5,6,29]));return{id:rf,diagram:e}},"loader"),Q2={id:rf,detector:Z2,loader:K2},J2=Q2,sf="mindmap",tT=g(e=>/^\s*mindmap/.test(e),"detector"),eT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./mindmap-definition-FAOFIHXS-DNoYLn6r.js");return{diagram:t}},__vite__mapDeps([43,14,5,6,15]));return{id:sf,diagram:e}},"loader"),rT={id:sf,detector:tT,loader:eT},iT=rT,af="kanban",sT=g(e=>/^\s*kanban/.test(e),"detector"),aT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./kanban-definition-27J2QSJJ-B08icks5.js");return{diagram:t}},__vite__mapDeps([44,13,5,6]));return{id:af,diagram:e}},"loader"),oT={id:af,detector:sT,loader:aT},nT=oT,of="sankey",lT=g(e=>/^\s*sankey(-beta)?/.test(e),"detector"),hT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sankeyDiagram-W5VNT64P-DZLBHHS3.js");return{diagram:t}},__vite__mapDeps([45,5,6,30,25]));return{id:of,diagram:e}},"loader"),cT={id:of,detector:lT,loader:hT},dT=cT,nf="packet",uT=g(e=>/^\s*packet(-beta)?/.test(e),"detector"),pT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-LBJQPF4R-Dc5BMbsw.js");return{diagram:t}},__vite__mapDeps([46,21,22,5,6]));return{id:nf,diagram:e}},"loader"),gT={id:nf,detector:uT,loader:pT},lf="radar",fT=g(e=>/^\s*radar-beta/.test(e),"detector"),mT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-UB23O5K3-B_baGY6Y.js");return{diagram:t}},__vite__mapDeps([47,21,22,5,6]));return{id:lf,diagram:e}},"loader"),yT={id:lf,detector:fT,loader:mT},hf="block",CT=g(e=>/^\s*block(-beta)?/.test(e),"detector"),xT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./blockDiagram-VBNYF7ZC-BwNY7lEB.js");return{diagram:t}},__vite__mapDeps([48,13,5,6,2,16]));return{id:hf,diagram:e}},"loader"),bT={id:hf,detector:CT,loader:xT},kT=bT,cf="treeView",TT=g(e=>/^\s*treeView-beta/.test(e),"detector"),ST=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-7IWD3JNH-BGqbHV5N.js");return{diagram:t}},__vite__mapDeps([49,20,21,22,5,6]));return{id:cf,diagram:e}},"loader"),wT={id:cf,detector:TT,loader:ST},BT=wT,df="architecture",_T=g(e=>/^\s*architecture/.test(e),"detector"),vT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./architectureDiagram-T3A2C74G-D18k4SUP.js");return{diagram:t}},__vite__mapDeps([50,21,22,5,6,9]));return{id:df,diagram:e}},"loader"),LT={id:df,detector:_T,loader:vT},FT=LT,uf="eventmodeling",AT=g(e=>/^\s*eventmodeling/.test(e),"detector"),ET=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-B4RE2ZJO-jvDWlu8p.js");return{diagram:t}},__vite__mapDeps([51,21,22,5,6]));return{id:uf,diagram:e}},"loader"),MT={id:uf,detector:AT,loader:ET},$T=MT,pf="ishikawa",OT=g(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),IT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-WSZJBQD7-h593HVGE.js");return{diagram:t}},__vite__mapDeps([52,5,6]));return{id:pf,diagram:e}},"loader"),DT={id:pf,detector:OT,loader:IT},gf="venn",PT=g(e=>/^\s*venn-beta/.test(e),"detector"),RT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./vennDiagram-T6HMQDX7-hw-tux--.js");return{diagram:t}},__vite__mapDeps([53,5,6]));return{id:gf,diagram:e}},"loader"),qT={id:gf,detector:PT,loader:RT},WT=qT,ff="treemap",NT=g(e=>/^\s*treemap/.test(e),"detector"),zT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-Q27KOJAE-Chesnco4.js");return{diagram:t}},__vite__mapDeps([54,21,15,22,5,6,26,30,25]));return{id:ff,diagram:e}},"loader"),HT={id:ff,detector:NT,loader:zT},mf="wardley",YT=g(e=>/^\s*wardley-beta/i.test(e),"detector"),UT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./wardleyDiagram-T6FBY63Y-ChSED9Ny.js");return{diagram:t}},__vite__mapDeps([55,21,22,5,6]));return{id:mf,diagram:e}},"loader"),jT={id:mf,detector:YT,loader:UT},GT=jT,yf="cynefin",XT=g(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),VT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./cynefinDiagram-MW4NZA55-Dtr39XDB.js");return{diagram:t}},__vite__mapDeps([56,21,22,5,6]));return{id:yf,diagram:e}},"loader"),ZT={id:yf,detector:XT,loader:VT},Cf="railroad",KT=g(e=>/^\s*railroad-beta/i.test(e),"detector"),QT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./railroadDiagram-AXF67PYL-DInD2Qc7.js");return{diagram:t}},__vite__mapDeps([57,58,21,5,6,22]));return{id:Cf,diagram:e}},"loader"),JT={id:Cf,detector:KT,loader:QT},xf="railroadEbnf",tS=g(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),eS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ebnfDiagram-BXEA7PRR-WhNodH3-.js");return{diagram:t}},__vite__mapDeps([59,58,21,5,6,22]));return{id:xf,diagram:e}},"loader"),rS={id:xf,detector:tS,loader:eS},bf="railroadAbnf",iS=g(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),sS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./abnfDiagram-N423BO3Z-p-mgwcdy.js");return{diagram:t}},__vite__mapDeps([60,58,21,5,6,22]));return{id:bf,diagram:e}},"loader"),aS={id:bf,detector:iS,loader:sS},kf="railroadPeg",oS=g(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),nS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pegDiagram-VL7TDLO6-CajLPjFv.js");return{diagram:t}},__vite__mapDeps([61,58,21,5,6,22]));return{id:kf,diagram:e}},"loader"),lS={id:kf,detector:oS,loader:nS},Lh=!1,ma=g(()=>{Lh||(Lh=!0,Is("error",U2,e=>e.toLowerCase().trim()==="error"),Is("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Qa(V2,iT,FT),Qa(F1,nT,F2,B2,U1,J1,r2,a2,y2,k2,N1,P1,$1,J2,V1,P2,$2,N2,h2,dT,gT,p2,kT,$T,BT,yT,DT,HT,JT,rS,aS,lS,WT,GT,ZT))},"addDiagrams"),hS=g(async()=>{H.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(xr).map(async([r,{detector:i,loader:s}])=>{if(s)try{ro(r)}catch{try{const{diagram:a,id:o}=await s();Is(o,a,i)}catch(a){throw H.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete xr[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){H.error(`Failed to load ${t.length} external diagrams`);for(const r of t)H.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),cS="graphics-document document";function Tf(e,t){e.attr("role",cS),t!==""&&e.attr("aria-roledescription",t)}g(Tf,"setA11yDiagramInfo");function Sf(e,t,r,i){if(e.insert!==void 0){if(r){const s=`chart-desc-${i}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${i}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}g(Sf,"addSVGa11yTitleDescription");var yr,No=(yr=class{constructor(t,r,i,s,a){this.type=t,this.text=r,this.db=i,this.parser=s,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Ot(),s=Yo(t,i);t=Sx(t)+` + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),r1=g((e,t,r)=>{const i=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),i1=g((e,t,r)=>{const i=Ot(),{themeVariables:s}=i,{strokeWidth:a}=s,o=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),s1={extension:Dk,composition:Pk,aggregation:Rk,dependency:qk,lollipop:Wk,point:Nk,circle:zk,cross:Hk,barb:Yk,barbNeo:Uk,only_one:jk,zero_or_one:Gk,one_or_more:Xk,zero_or_more:Vk,only_one_neo:Zk,zero_or_one_neo:Kk,one_or_more_neo:Qk,zero_or_more_neo:Jk,requirement_arrow:t1,requirement_contains:r1,requirement_arrow_neo:e1,requirement_contains_neo:i1},a1=Ik,o1={common:Gi,getConfig:Ot,insertCluster:ek,insertEdge:Ok,insertEdgeLabel:vk,insertMarkers:a1,insertNode:Bg,interpolateToCurve:gn,labelHelper:dt,log:H,positionEdgeLabel:Lk},Hi={},Fg=g(e=>{for(const t of e)Hi[t.name]=t},"registerLayoutLoaders"),n1=g(()=>{Fg([{name:"dagre",loader:g(async()=>await yt(()=>import("./dagre-VZM6K2ZE-jpR8BtJi.js"),__vite__mapDeps([0,1,2,3,4,5,6])),"loader")},{name:"swimlane",loader:g(async()=>await yt(()=>import("./swimlanes-SLNWSIFB-DG4EYeZk.js"),__vite__mapDeps([7,5,6,1,2,3])),"loader")},{name:"cose-bilkent",loader:g(async()=>await yt(()=>import("./cose-bilkent-JH36ORCC-CPiC1B6a.js"),__vite__mapDeps([8,9,5,6])),"loader")}])},"registerDefaultLayoutLoaders");n1();var xw=g(async(e,t,r)=>{if(!(e.layoutAlgorithm in Hi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const d of e.nodes){const p=d.domId||d.id;d.domId=`${e.diagramId}-${p}`}const i=Hi[e.layoutAlgorithm],s=await i.loader(),{theme:a,themeVariables:o}=e.config,{useGradient:n,gradientStart:l,gradientStop:c}=o,h=t.attr("id");if(t.append("defs").append("filter").attr("id",`${h}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),t.append("defs").append("filter").attr("id",`${h}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),n){const d=t.append("linearGradient").attr("id",t.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",c).attr("stop-opacity",1)}return s.render(e,t,o1,{algorithm:i.algorithm},r)},"render"),bw=g((e="",{fallback:t="dagre"}={})=>{if(e in Hi)return e;if(t in Hi)return H.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),In="comm",Ag="rule",Eg="decl",l1="@media",h1="@import",c1="@supports",d1="@namespace",Po="@keyframes",Mg="@layer",u1="@scope",p1=Math.abs,Di=String.fromCharCode;function $g(e){return e.trim()}function Ro(e,t,r){return e.replace(t,r)}function Hr(e,t){return e.charCodeAt(t)|0}function li(e,t,r){return e.slice(t,r)}function Ee(e){return e.length}function Og(e){return e.length}function xs(e,t){return t.push(e),e}var ga=1,hi=1,Ig=0,ye=0,Rt=0,ui="";function Dn(e,t,r,i,s,a,o,n){return{value:e,root:t,parent:r,type:i,props:s,children:a,line:ga,column:hi,length:o,return:"",siblings:n}}function g1(){return Rt}function f1(){return Rt=ye>0?Hr(ui,--ye):0,hi--,Rt===10&&(hi=1,ga--),Rt}function we(){return Rt=ye2||Yi(Rt)>3?"":" "}function x1(e,t){for(;--t&&we()&&!(Rt<48||Rt>102||Rt>57&&Rt<65||Rt>70&&Rt<97););return fa(e,Fs()+(t<6&&Ke()==32&&we()==32))}function qo(e){for(;we();)switch(Rt){case e:return ye;case 34:case 39:e!==34&&e!==39&&qo(Rt);break;case 40:e===41&&qo(e);break;case 92:we();break}return ye}function b1(e,t){for(;we()&&e+Rt!==57;)if(e+Rt===84&&Ke()===47)break;return"/*"+fa(t,ye-1)+"*"+Di(e===47?e:we())}function k1(e){for(;!Yi(Ke());)we();return fa(e,ye)}function T1(e){return y1(As("",null,null,null,[""],e=m1(e),0,[0],e))}function As(e,t,r,i,s,a,o,n,l){for(var c=0,h=0,d=o,p=0,u=0,y=0,m=1,f=1,C=1,b=0,k=0,S="",w=s,B=a,F=i,v=S;f;)switch(y=k,k=we()){case 40:y!=108&&Hr(v,d-1)==58?(b++,v+="("):v+=Ga(k);break;case 41:b--,v+=")";break;case 34:case 39:case 91:v+=Ga(k);break;case 9:case 10:case 13:case 32:if(b>0){v+=Di(k);break}v+=C1(y);break;case 92:v+=x1(Fs()-1,7);continue;case 47:switch(Ke()){case 42:case 47:xs(S1(b1(we(),Fs()),t,r,l),l),(Yi(y||1)==5||Yi(Ke()||1)==5)&&Ee(v)&&li(v,-1,void 0)!==" "&&(v+=" ");break;default:v+="/"}break;case 123*m:n[c++]=Ee(v)*C;case 125*m:case 59:case 0:if(b>0&&k){v+=Di(k);break}switch(k){case 0:case 125:f=0;case 59+h:C==-1&&(v=Ro(v,/\f/g,"")),u>0&&(Ee(v)-d||m===0)&&xs(u>32?vh(v+";",i,r,d-1,l):vh(Ro(v," ","")+";",i,r,d-2,l),l);break;case 59:v+=";";default:if(xs(F=_h(v,t,r,c,h,s,n,S,w=[],B=[],d,a),a),k===123)if(h===0)As(v,t,F,F,w,a,d,n,B);else{switch(p){case 99:if(Hr(v,3)===110)break;case 108:if(Hr(v,2)===97)break;default:h=0;case 100:case 109:case 115:}h?As(e,F,F,i&&xs(_h(e,F,F,0,0,s,n,S,s,w=[],d,B),B),s,B,d,n,i?w:B):As(v,F,F,F,[""],B,0,n,B)}}c=h=u=0,m=C=1,S=v="",d=o;break;case 58:d=1+Ee(v),u=y;default:if(m<1){if(k==123)--m;else if(k==125&&m++==0&&f1()==125)continue}switch(v+=Di(k),k*m){case 38:C=h>0?1:(v+="\f",-1);break;case 44:if(b>0)break;n[c++]=(Ee(v)-1)*C,C=1;break;case 64:Ke()===45&&(v+=Ga(we())),p=Ke(),h=d=Ee(S=v+=k1(Fs())),k++;break;case 45:y===45&&Ee(v)==2&&(m=0)}}return a}function _h(e,t,r,i,s,a,o,n,l,c,h,d){for(var p=s-1,u=s===0?a:[""],y=Og(u),m=0,f=0,C=0;m0?u[b]+" "+k:Ro(k,/&\f/g,u[b])))&&(l[C++]=S);return Dn(e,t,r,s===0?Ag:n,l,c,h,d)}function S1(e,t,r,i){return Dn(e,t,r,In,Di(g1()),li(e,2,-2),0,i)}function vh(e,t,r,i,s){return Dn(e,t,r,Eg,li(e,0,i),li(e,i+1,-1),i,s)}function Wo(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),v1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./c4Diagram-5PPSVZJV-BouUrM0V.js");return{diagram:t}},__vite__mapDeps([10,11,5,6]));return{id:Dg,diagram:e}},"loader"),L1={id:Dg,detector:_1,loader:v1},F1=L1,Pg="flowchart",A1=g((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),E1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-2fX5nZXI.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Pg,diagram:e}},"loader"),M1={id:Pg,detector:A1,loader:E1},$1=M1,Rg="flowchart-v2",O1=g((e,t)=>{var r,i,s;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((s=t==null?void 0:t.flowchart)==null?void 0:s.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),I1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-2fX5nZXI.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:Rg,diagram:e}},"loader"),D1={id:Rg,detector:O1,loader:I1},P1=D1,qg="swimlane",R1=g(e=>/^\s*swimlane-beta\b/.test(e),"detector"),q1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./swimlanesDiagram-ULZ7WXOC-CPpKyqwL.js");return{diagram:t}},__vite__mapDeps([17,12,13,14,5,6,15,11,16]));return{id:qg,diagram:e}},"loader"),W1={id:qg,detector:R1,loader:q1},N1=W1,Wg="er",z1=g(e=>/^\s*erDiagram/.test(e),"detector"),H1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./erDiagram-JOGREHBK-Dj7zNU_j.js");return{diagram:t}},__vite__mapDeps([18,14,5,6,15,16]));return{id:Wg,diagram:e}},"loader"),Y1={id:Wg,detector:z1,loader:H1},U1=Y1,Ng="gitGraph",j1=g(e=>/^\s*gitGraph/.test(e),"detector"),G1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-DS77QQ5N-RzHaRRjn.js");return{diagram:t}},__vite__mapDeps([19,20,21,22,5,6]));return{id:Ng,diagram:e}},"loader"),X1={id:Ng,detector:j1,loader:G1},V1=X1,zg="gantt",Z1=g(e=>/^\s*gantt/.test(e),"detector"),K1=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ganttDiagram-PKOTCBZU-X7kwbkc4.js");return{diagram:t}},__vite__mapDeps([23,5,6,24,25,26]));return{id:zg,diagram:e}},"loader"),Q1={id:zg,detector:Z1,loader:K1},J1=Q1,Hg="info",t2=g(e=>/^\s*info/.test(e),"detector"),e2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./infoDiagram-6WML65LV-NV32ThPD.js");return{diagram:t}},__vite__mapDeps([27,22,5,6]));return{id:Hg,diagram:e}},"loader"),r2={id:Hg,detector:t2,loader:e2},Yg="pie",i2=g(e=>/^\s*pie/.test(e),"detector"),s2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pieDiagram-7S7Q4E2Y-b-0AZ4cR.js");return{diagram:t}},__vite__mapDeps([28,21,22,5,6,29,30,25]));return{id:Yg,diagram:e}},"loader"),a2={id:Yg,detector:i2,loader:s2},Ug="quadrantChart",o2=g(e=>/^\s*quadrantChart/.test(e),"detector"),n2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./quadrantDiagram-CIZ2JOQS-DnyqEKV8.js");return{diagram:t}},__vite__mapDeps([31,5,6,24,25,26]));return{id:Ug,diagram:e}},"loader"),l2={id:Ug,detector:o2,loader:n2},h2=l2,jg="xychart",c2=g(e=>/^\s*xychart(-beta)?/.test(e),"detector"),d2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./xychartDiagram-ELKLHX3M-D97HCDoV.js");return{diagram:t}},__vite__mapDeps([32,5,6,25,30,24,26]));return{id:jg,diagram:e}},"loader"),u2={id:jg,detector:c2,loader:d2},p2=u2,Gg="requirement",g2=g(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),f2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./requirementDiagram-LRYGKXZP-CVhjvLne.js");return{diagram:t}},__vite__mapDeps([33,14,5,6,15]));return{id:Gg,diagram:e}},"loader"),m2={id:Gg,detector:g2,loader:f2},y2=m2,Xg="sequence",C2=g(e=>/^\s*sequenceDiagram/.test(e),"detector"),x2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sequenceDiagram-SI44F4Z6-DvRxUXnN.js");return{diagram:t}},__vite__mapDeps([34,20,11,5,6]));return{id:Xg,diagram:e}},"loader"),b2={id:Xg,detector:C2,loader:x2},k2=b2,Vg="class",T2=g((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),S2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-JCYQIIEL-DN0k_PIr.js");return{diagram:t}},__vite__mapDeps([35,36,13,14,5,6,15,11]));return{id:Vg,diagram:e}},"loader"),w2={id:Vg,detector:T2,loader:S2},B2=w2,Zg="classDiagram",_2=g((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),v2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./classDiagram-v2-OCEON4UE-DN0k_PIr.js");return{diagram:t}},__vite__mapDeps([37,36,13,14,5,6,15,11]));return{id:Zg,diagram:e}},"loader"),L2={id:Zg,detector:_2,loader:v2},F2=L2,Kg="state",A2=g((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),E2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-OKZ733FA-B-xg4vQW.js");return{diagram:t}},__vite__mapDeps([38,39,14,5,6,15,11,2,4,3]));return{id:Kg,diagram:e}},"loader"),M2={id:Kg,detector:A2,loader:E2},$2=M2,Qg="stateDiagram",O2=g((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),I2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-UEYNNEHI-C6zkrfcd.js");return{diagram:t}},__vite__mapDeps([40,39,14,5,6,15,11]));return{id:Qg,diagram:e}},"loader"),D2={id:Qg,detector:O2,loader:I2},P2=D2,Jg="journey",R2=g(e=>/^\s*journey/.test(e),"detector"),q2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./journeyDiagram-NVQOT4AX-DpRdtcYa.js");return{diagram:t}},__vite__mapDeps([41,13,11,5,6,29]));return{id:Jg,diagram:e}},"loader"),W2={id:Jg,detector:R2,loader:q2},N2=W2,z2=g((e,t,r)=>{H.debug(`rendering svg for syntax error +`);const i=fC(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),ec(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),tf={draw:z2},H2=tf,Y2={db:{},renderer:tf,parser:{parse:g(()=>{},"parse")}},U2=Y2,ef="flowchart-elk",j2=g((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),G2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./flowDiagram-UKHOOZJN-2fX5nZXI.js").then(r=>r.f);return{diagram:t}},__vite__mapDeps([12,13,14,5,6,15,11,16]));return{id:ef,diagram:e}},"loader"),X2={id:ef,detector:j2,loader:G2},V2=X2,rf="timeline",Z2=g(e=>/^\s*timeline/.test(e),"detector"),K2=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./timeline-definition-Z64GVDOM-DwO_fygu.js");return{diagram:t}},__vite__mapDeps([42,5,6,29]));return{id:rf,diagram:e}},"loader"),Q2={id:rf,detector:Z2,loader:K2},J2=Q2,sf="mindmap",tT=g(e=>/^\s*mindmap/.test(e),"detector"),eT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./mindmap-definition-FAOFIHXS-dSs8oJom.js");return{diagram:t}},__vite__mapDeps([43,14,5,6,15]));return{id:sf,diagram:e}},"loader"),rT={id:sf,detector:tT,loader:eT},iT=rT,af="kanban",sT=g(e=>/^\s*kanban/.test(e),"detector"),aT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./kanban-definition-27J2QSJJ-T-j7ARpv.js");return{diagram:t}},__vite__mapDeps([44,13,5,6]));return{id:af,diagram:e}},"loader"),oT={id:af,detector:sT,loader:aT},nT=oT,of="sankey",lT=g(e=>/^\s*sankey(-beta)?/.test(e),"detector"),hT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./sankeyDiagram-W5VNT64P-gmgsn_hR.js");return{diagram:t}},__vite__mapDeps([45,5,6,30,25]));return{id:of,diagram:e}},"loader"),cT={id:of,detector:lT,loader:hT},dT=cT,nf="packet",uT=g(e=>/^\s*packet(-beta)?/.test(e),"detector"),pT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-LBJQPF4R-sifT50JQ.js");return{diagram:t}},__vite__mapDeps([46,21,22,5,6]));return{id:nf,diagram:e}},"loader"),gT={id:nf,detector:uT,loader:pT},lf="radar",fT=g(e=>/^\s*radar-beta/.test(e),"detector"),mT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-UB23O5K3-CgqkXTUU.js");return{diagram:t}},__vite__mapDeps([47,21,22,5,6]));return{id:lf,diagram:e}},"loader"),yT={id:lf,detector:fT,loader:mT},hf="block",CT=g(e=>/^\s*block(-beta)?/.test(e),"detector"),xT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./blockDiagram-VBNYF7ZC-gakGyyJ-.js");return{diagram:t}},__vite__mapDeps([48,13,5,6,2,16]));return{id:hf,diagram:e}},"loader"),bT={id:hf,detector:CT,loader:xT},kT=bT,cf="treeView",TT=g(e=>/^\s*treeView-beta/.test(e),"detector"),ST=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-7IWD3JNH-8KW8pRlJ.js");return{diagram:t}},__vite__mapDeps([49,20,21,22,5,6]));return{id:cf,diagram:e}},"loader"),wT={id:cf,detector:TT,loader:ST},BT=wT,df="architecture",_T=g(e=>/^\s*architecture/.test(e),"detector"),vT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./architectureDiagram-T3A2C74G-fRh8vhJG.js");return{diagram:t}},__vite__mapDeps([50,21,22,5,6,9]));return{id:df,diagram:e}},"loader"),LT={id:df,detector:_T,loader:vT},FT=LT,uf="eventmodeling",AT=g(e=>/^\s*eventmodeling/.test(e),"detector"),ET=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-B4RE2ZJO-Zn-3nBVO.js");return{diagram:t}},__vite__mapDeps([51,21,22,5,6]));return{id:uf,diagram:e}},"loader"),MT={id:uf,detector:AT,loader:ET},$T=MT,pf="ishikawa",OT=g(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),IT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ishikawaDiagram-WSZJBQD7-DcfYA8UA.js");return{diagram:t}},__vite__mapDeps([52,5,6]));return{id:pf,diagram:e}},"loader"),DT={id:pf,detector:OT,loader:IT},gf="venn",PT=g(e=>/^\s*venn-beta/.test(e),"detector"),RT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./vennDiagram-T6HMQDX7-Dsch8ylL.js");return{diagram:t}},__vite__mapDeps([53,5,6]));return{id:gf,diagram:e}},"loader"),qT={id:gf,detector:PT,loader:RT},WT=qT,ff="treemap",NT=g(e=>/^\s*treemap/.test(e),"detector"),zT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./diagram-Q27KOJAE-D9fRizrn.js");return{diagram:t}},__vite__mapDeps([54,21,15,22,5,6,26,30,25]));return{id:ff,diagram:e}},"loader"),HT={id:ff,detector:NT,loader:zT},mf="wardley",YT=g(e=>/^\s*wardley-beta/i.test(e),"detector"),UT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./wardleyDiagram-T6FBY63Y-D4DBl3bi.js");return{diagram:t}},__vite__mapDeps([55,21,22,5,6]));return{id:mf,diagram:e}},"loader"),jT={id:mf,detector:YT,loader:UT},GT=jT,yf="cynefin",XT=g(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),VT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./cynefinDiagram-MW4NZA55-oYGksW2C.js");return{diagram:t}},__vite__mapDeps([56,21,22,5,6]));return{id:yf,diagram:e}},"loader"),ZT={id:yf,detector:XT,loader:VT},Cf="railroad",KT=g(e=>/^\s*railroad-beta/i.test(e),"detector"),QT=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./railroadDiagram-AXF67PYL-UgdXcxSH.js");return{diagram:t}},__vite__mapDeps([57,58,21,5,6,22]));return{id:Cf,diagram:e}},"loader"),JT={id:Cf,detector:KT,loader:QT},xf="railroadEbnf",tS=g(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),eS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./ebnfDiagram-BXEA7PRR-_hmiJ3YD.js");return{diagram:t}},__vite__mapDeps([59,58,21,5,6,22]));return{id:xf,diagram:e}},"loader"),rS={id:xf,detector:tS,loader:eS},bf="railroadAbnf",iS=g(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),sS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./abnfDiagram-N423BO3Z-Cud6OJj5.js");return{diagram:t}},__vite__mapDeps([60,58,21,5,6,22]));return{id:bf,diagram:e}},"loader"),aS={id:bf,detector:iS,loader:sS},kf="railroadPeg",oS=g(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),nS=g(async()=>{const{diagram:e}=await yt(async()=>{const{diagram:t}=await import("./pegDiagram-VL7TDLO6-Db2QQPgl.js");return{diagram:t}},__vite__mapDeps([61,58,21,5,6,22]));return{id:kf,diagram:e}},"loader"),lS={id:kf,detector:oS,loader:nS},Lh=!1,ma=g(()=>{Lh||(Lh=!0,Is("error",U2,e=>e.toLowerCase().trim()==="error"),Is("---",{db:{clear:g(()=>{},"clear")},styles:{},renderer:{draw:g(()=>{},"draw")},parser:{parse:g(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:g(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Qa(V2,iT,FT),Qa(F1,nT,F2,B2,U1,J1,r2,a2,y2,k2,N1,P1,$1,J2,V1,P2,$2,N2,h2,dT,gT,p2,kT,$T,BT,yT,DT,HT,JT,rS,aS,lS,WT,GT,ZT))},"addDiagrams"),hS=g(async()=>{H.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(xr).map(async([r,{detector:i,loader:s}])=>{if(s)try{ro(r)}catch{try{const{diagram:a,id:o}=await s();Is(o,a,i)}catch(a){throw H.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete xr[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){H.error(`Failed to load ${t.length} external diagrams`);for(const r of t)H.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),cS="graphics-document document";function Tf(e,t){e.attr("role",cS),t!==""&&e.attr("aria-roledescription",t)}g(Tf,"setA11yDiagramInfo");function Sf(e,t,r,i){if(e.insert!==void 0){if(r){const s=`chart-desc-${i}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(r)}if(t){const s=`chart-title-${i}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}g(Sf,"addSVGa11yTitleDescription");var yr,No=(yr=class{constructor(t,r,i,s,a){this.type=t,this.text=r,this.db=i,this.parser=s,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Ot(),s=Yo(t,i);t=Sx(t)+` `;try{ro(s)}catch{const d=Sy(s);if(!d)throw new Vh(`Diagram ${s} not found.`);const{id:p,diagram:u}=await d();Is(p,u)}const{db:a,parser:o,renderer:n,init:l}=ro(s);return o.parser&&(o.parser.yy=a),(c=a.clear)==null||c.call(a),l==null||l(i),r.title&&((h=a.setDiagramTitle)==null||h.call(a,r.title)),await o.parse(t),new yr(s,t,a,o,n)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},g(yr,"Diagram"),yr),Fh=[],dS=g(()=>{Fh.forEach(e=>{e()}),Fh=[]},"attachFunctions"),uS=g(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function wf(e){const t=e.match(Xh);if(!t)return{text:e,metadata:{}};const r=t[1],i=r?t[2].split(` `).map(o=>o.startsWith(r)?o.slice(r.length):o).join(` `):t[2];let s=T0(i,{schema:k0})??{};s=typeof s=="object"&&!Array.isArray(s)?s:{};const a={};return s.displayMode&&(a.displayMode=s.displayMode.toString()),s.title&&(a.title=s.title.toString()),s.config&&(a.config=s.config),{text:e.slice(t[0].length),metadata:a}}g(wf,"extractFrontMatter");var pS=g(e=>e.replace(/\r\n?/g,` diff --git a/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DNoYLn6r.js b/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-dSs8oJom.js similarity index 98% rename from veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DNoYLn6r.js rename to veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-dSs8oJom.js index 4d08f6e66..a795e7b7d 100644 --- a/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-DNoYLn6r.js +++ b/veadk/webui/assets/visualizations/mermaid/mindmap-definition-FAOFIHXS-dSs8oJom.js @@ -1,4 +1,4 @@ -import{g as oe}from"./chunk-XXDRQBXY-Du2hH_W_.js";import{s as ce}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{a as h,at as R,a4 as le,aL as he,X as de,O as W,Y as U,aO as H,aa as ge,ak as ue,ap as pe,H as fe}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,o){return crypto.randomUUID?crypto.randomUUID():ke(t)}function ke(t,e,o){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var K=function(){var t=h(function(O,s,i,a){for(i=i||{},a=O.length;a--;i[O[a]]=s);return i},"o"),e=[1,4],o=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],b=[1,26],L=[1,24],D=[1,25],k=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],B=[1,34],P=[1,6,7,11,13,15,16,19,22],X={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,a,c,u,r,M){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:o,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:o,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:b,7:L,10:23,11:D},t(k,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(k,[2,18]),t(k,[2,19]),t(k,[2,20]),t(k,[2,21]),t(k,[2,23]),t(k,[2,24]),t(k,[2,26],{19:[1,30]}),{20:[1,31]},{6:b,7:L,10:32,11:D},{1:[2,7],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:B}),t(P,[2,8]),t(P,[2,9]),t(P,[2,10]),t(k,[2,15]),t(k,[2,16]),t(k,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:B}),t(P,[2,11]),t(P,[2,12]),{21:[1,37]},t(k,[2,25]),t(k,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=i,a}},"parseError"),parse:h(function(s){var i=this,a=[0],c=[],u=[null],r=[],M=this.table,g="",F=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(C.yy[z]=this.yy[z]);m.setInput(s,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var re=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(x){a.length=a.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ae,"popStack");function ee(){var x;return x=c.pop()||m.lex()||Z,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(ee,"lex");for(var S,I,N,q,w={},G,v,te,j;;){if(I=a[a.length-1],this.defaultActions[I]?N=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=ee()),N=M[I]&&M[I][S]),typeof N>"u"||!N.length||!N[0]){var J="";j=[];for(G in M[I])this.terminals_[G]&&G>ie&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`: +import{g as oe}from"./chunk-XXDRQBXY-DqdKXcqv.js";import{s as ce}from"./chunk-KBJHAD2P-BJQBtkor.js";import{a as h,at as R,a4 as le,aL as he,X as de,O as W,Y as U,aO as H,aa as ge,ak as ue,ap as pe,H as fe}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,o){return crypto.randomUUID?crypto.randomUUID():ke(t)}function ke(t,e,o){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var K=function(){var t=h(function(O,s,i,a){for(i=i||{},a=O.length;a--;i[O[a]]=s);return i},"o"),e=[1,4],o=[1,13],l=[1,12],n=[1,15],d=[1,16],p=[1,20],y=[1,19],E=[6,7,8],b=[1,26],L=[1,24],D=[1,25],k=[6,7,11],$=[1,6,13,15,16,19,22],f=[1,33],B=[1,34],P=[1,6,7,11,13,15,16,19,22],X={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,a,c,u,r,M){var g=r.length-1;switch(u){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[g].id),c.addNode(r[g-1].length,r[g].id,r[g].descr,r[g].type);break;case 16:c.getLogger().trace("Icon: ",r[g]),c.decorateNode({icon:r[g]});break;case 17:case 21:c.decorateNode({class:r[g]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[g].id),c.addNode(0,r[g].id,r[g].descr,r[g].type);break;case 20:c.decorateNode({icon:r[g]});break;case 25:c.getLogger().trace("node found ..",r[g-2]),this.$={id:r[g-1],descr:r[g-1],type:c.getType(r[g-2],r[g])};break;case 26:this.$={id:r[g],descr:r[g],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[g-3]),this.$={id:r[g-3],descr:r[g-1],type:c.getType(r[g-2],r[g])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:o,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:o,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},{6:b,7:L,10:23,11:D},t(k,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:p,22:y}),t(k,[2,18]),t(k,[2,19]),t(k,[2,20]),t(k,[2,21]),t(k,[2,23]),t(k,[2,24]),t(k,[2,26],{19:[1,30]}),{20:[1,31]},{6:b,7:L,10:32,11:D},{1:[2,7],6:o,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:p,22:y},t($,[2,14],{7:f,11:B}),t(P,[2,8]),t(P,[2,9]),t(P,[2,10]),t(k,[2,15]),t(k,[2,16]),t(k,[2,17]),{20:[1,35]},{21:[1,36]},t($,[2,13],{7:f,11:B}),t(P,[2,11]),t(P,[2,12]),{21:[1,37]},t(k,[2,25]),t(k,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=i,a}},"parseError"),parse:h(function(s){var i=this,a=[0],c=[],u=[null],r=[],M=this.table,g="",F=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(C.yy[z]=this.yy[z]);m.setInput(s,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Y=m.yylloc;r.push(Y);var re=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(x){a.length=a.length-2*x,u.length=u.length-x,r.length=r.length-x}h(ae,"popStack");function ee(){var x;return x=c.pop()||m.lex()||Z,typeof x!="number"&&(x instanceof Array&&(c=x,x=c.pop()),x=i.symbols_[x]||x),x}h(ee,"lex");for(var S,I,N,q,w={},G,v,te,j;;){if(I=a[a.length-1],this.defaultActions[I]?N=this.defaultActions[I]:((S===null||typeof S>"u")&&(S=ee()),N=M[I]&&M[I][S]),typeof N>"u"||!N.length||!N[0]){var J="";j=[];for(G in M[I])this.terminals_[G]&&G>ie&&j.push("'"+this.terminals_[G]+"'");m.showPosition?J="Parse error on line "+(F+1)+`: `+m.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[S]||S)+"'":J="Parse error on line "+(F+1)+": Unexpected "+(S==Z?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(J,{text:m.match,token:this.terminals_[S]||S,line:m.yylineno,loc:Y,expected:j})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+S);switch(N[0]){case 1:a.push(S),u.push(m.yytext),r.push(m.yylloc),a.push(N[1]),S=null,Q=m.yyleng,g=m.yytext,F=m.yylineno,Y=m.yylloc;break;case 2:if(v=this.productions_[N[1]][1],w.$=u[u.length-v],w._$={first_line:r[r.length-(v||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(v||1)].first_column,last_column:r[r.length-1].last_column},re&&(w._$.range=[r[r.length-(v||1)].range[0],r[r.length-1].range[1]]),q=this.performAction.apply(w,[g,Q,F,C.yy,N[1],u,r].concat(se)),typeof q<"u")return q;v&&(a=a.slice(0,-1*v*2),u=u.slice(0,-1*v),r=r.slice(0,-1*v)),a.push(this.productions_[N[1]][0]),u.push(w.$),r.push(w._$),te=M[a[a.length-2]][a[a.length-1]],a.push(te);break;case 3:return!0}}return!0},"parse")},ne=function(){var O={EOF:1,parseError:h(function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},"parseError"),setInput:h(function(s,i){return this.yy=i||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var i=s.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:h(function(s){var i=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===c.length?this.yylloc.first_column:0)+c[c.length-a.length].length-a[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(s){this.unput(this.match.slice(s))},"less"),pastInput:h(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var s=this.pastInput(),i=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-CajLPjFv.js b/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-Db2QQPgl.js similarity index 86% rename from veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-CajLPjFv.js rename to veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-Db2QQPgl.js index f6cc85d72..198fee451 100644 --- a/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-CajLPjFv.js +++ b/veadk/webui/assets/visualizations/mermaid/pegDiagram-VL7TDLO6-Db2QQPgl.js @@ -1 +1 @@ -import{g as l,r as m,d as a}from"./chunk-6Q2QTUOP-D1vbrjoS.js";import{p}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{a as t,at as o}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import{M as u,b as c}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},G={parser:b,db:a,renderer:m,styles:l};export{G as diagram}; +import{g as l,r as m,d as a}from"./chunk-6Q2QTUOP-LmTMnw7Y.js";import{p}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a as t,at as o}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import{M as u,b as c}from"./cynefin-OW5HDTMX-CVRcDGzI.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},G={parser:b,db:a,renderer:m,styles:l};export{G as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-B3JugF-G.js b/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-b-0AZ4cR.js similarity index 95% rename from veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-B3JugF-G.js rename to veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-b-0AZ4cR.js index 3f439f67e..bb3869070 100644 --- a/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-B3JugF-G.js +++ b/veadk/webui/assets/visualizations/mermaid/pieDiagram-7S7Q4E2Y-b-0AZ4cR.js @@ -1,4 +1,4 @@ -import{p as rt}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{D as T,b2 as B,f as nt,V as it,aR as st,W as ot,aS as lt,$ as ct,aU as ut,a as d,at as G,Y as gt,r as dt,aQ as pt,aC as ht,B as ft,s as mt,O as vt}from"./mermaid.core-OQ-NoIeH.js";import{p as xt}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import"../../app/index-Bj9lylJf.js";import{d as Z}from"../../chunks/arc-BKJrW-GX.js";import{o as St}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function yt(t,n){return nt?1:n>=t?0:NaN}function wt(t){return t}function At(){var t=wt,n=yt,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,o=(e=nt(e)).length,h,w,$=0,f=new Array(o),s=new Array(o),D=+b.apply(this,arguments),E=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,W=Math.min(Math.abs(E)/o,p.apply(this,arguments)),u=W*(E<0?-1:1),A;for(r=0;r0&&($+=A);for(n!=null?f.sort(function(M,m){return n(s[M],s[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-o*u)/$:0;r0?A*w:0)+u,s[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:W};return s}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var Ct=vt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,$t=structuredClone(Ct),Dt=d(()=>structuredClone($t),"getConfig"),Tt=d(()=>{F=new Map,V=I.showData,mt()},"clear"),bt=d(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),kt=d(()=>F,"getSections"),zt=d(t=>{V=t},"setShowData"),Et=d(()=>V,"getShowData"),q={getConfig:Dt,clear:Tt,setDiagramTitle:ut,getDiagramTitle:ct,setAccTitle:lt,getAccTitle:ot,setAccDescription:st,getAccDescription:it,addSection:bt,getSections:kt,setShowData:zt,getShowData:Et},Mt=d((t,n)=>{rt(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Rt={parse:d(async t=>{const n=await xt("pie",t);G.debug(n),Mt(n,q)},"parse")},Wt=d(t=>` +import{p as rt}from"./chunk-JWPE2WC7-DKTpV34k.js";import{D as T,b2 as B,f as nt,V as it,aR as st,W as ot,aS as lt,$ as ct,aU as ut,a as d,at as G,Y as gt,r as dt,aQ as pt,aC as ht,B as ft,s as mt,O as vt}from"./mermaid.core-DAX2QfGO.js";import{p as xt}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import"../../app/index-sh8QRNzm.js";import{d as Z}from"../../chunks/arc-B7D7fKkF.js";import{o as St}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function yt(t,n){return nt?1:n>=t?0:NaN}function wt(t){return t}function At(){var t=wt,n=yt,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,o=(e=nt(e)).length,h,w,$=0,f=new Array(o),s=new Array(o),D=+b.apply(this,arguments),E=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,W=Math.min(Math.abs(E)/o,p.apply(this,arguments)),u=W*(E<0?-1:1),A;for(r=0;r0&&($+=A);for(n!=null?f.sort(function(M,m){return n(s[M],s[m])}):y!=null&&f.sort(function(M,m){return y(e[M],e[m])}),r=0,w=$?(E-o*u)/$:0;r0?A*w:0)+u,s[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:W};return s}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var Ct=vt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,$t=structuredClone(Ct),Dt=d(()=>structuredClone($t),"getConfig"),Tt=d(()=>{F=new Map,V=I.showData,mt()},"clear"),bt=d(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),kt=d(()=>F,"getSections"),zt=d(t=>{V=t},"setShowData"),Et=d(()=>V,"getShowData"),q={getConfig:Dt,clear:Tt,setDiagramTitle:ut,getDiagramTitle:ct,setAccTitle:lt,getAccTitle:ot,setAccDescription:st,getAccDescription:it,addSection:bt,getSections:kt,setShowData:zt,getShowData:Et},Mt=d((t,n)=>{rt(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),Rt={parse:d(async t=>{const n=await xt("pie",t);G.debug(n),Mt(n,q)},"parse")},Wt=d(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; diff --git a/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-Di4W4xlE.js b/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DnyqEKV8.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-Di4W4xlE.js rename to veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DnyqEKV8.js index 031f1c9df..80c1a4c1f 100644 --- a/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-Di4W4xlE.js +++ b/veadk/webui/assets/visualizations/mermaid/quadrantDiagram-CIZ2JOQS-DnyqEKV8.js @@ -1,4 +1,4 @@ -import{aR as Ae,V as ke,$ as ae,aU as Fe,W as Pe,aS as ve,a as o,Y as wt,at as At,B as Ce,s as Le,O as V,aO as Ee,a8 as De}from"./mermaid.core-OQ-NoIeH.js";import{ad as Vt}from"../../app/index-Bj9lylJf.js";import{l as ie}from"../../chunks/linear-Dil5wD59.js";import"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";var zt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],_=[1,45],Y=[1,14],G=[1,23],yt=[1,18],Tt=[1,19],dt=[1,20],Ft=[1,21],ut=[1,22],xt=[1,24],ft=[1,25],gt=[1,26],i=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],O=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Ot=[1,69],Qt=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,91],$=[1,92],tt=[1,93],et=[1,100],it=[1,94],at=[1,97],nt=[1,95],st=[1,96],rt=[1,98],ot=[1,99],Pt=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,A,e,pt){var s=e.length-1;switch(A){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:c,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:52,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:53,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:54,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:55,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:56,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:57,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,102]},t(a,[2,29],{10:Pt}),t(Zt,[2,27],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:89,16:90,23:105,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:106},t(N,[2,26]),t(a,[2,50],{10:Pt}),t(Zt,[2,28],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],A=[null],e=[],pt=this.table,s="",qt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);D.setInput(r,K.yy),K.yy.lexer=D,K.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Lt=D.yylloc;e.push(Lt);var Se=D.options&&D.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){g.length=g.length-2*R,A.length=A.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=f.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(f=R,R=f.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,Z,W,Et,lt={},bt,M,ee,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?W=this.defaultActions[Z]:((B===null||typeof B>"u")&&(B=te()),W=pt[Z]&&pt[Z][B]),typeof W>"u"||!W.length||!W[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");D.showPosition?Dt="Parse error on line "+(qt+1)+`: +import{aR as Ae,V as ke,$ as ae,aU as Fe,W as Pe,aS as ve,a as o,Y as wt,at as At,B as Ce,s as Le,O as V,aO as Ee,a8 as De}from"./mermaid.core-DAX2QfGO.js";import{ad as Vt}from"../../app/index-sh8QRNzm.js";import{l as ie}from"../../chunks/linear-BmzcZuEF.js";import"../../chunks/init-Gi6I4Gst.js";import"../../chunks/defaultLocale-CrowFXzY.js";var zt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],d=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],x=[1,41],_=[1,45],Y=[1,14],G=[1,23],yt=[1,18],Tt=[1,19],dt=[1,20],Ft=[1,21],ut=[1,22],xt=[1,24],ft=[1,25],gt=[1,26],i=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],O=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Ot=[1,69],Qt=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,91],$=[1,92],tt=[1,93],et=[1,100],it=[1,94],at=[1,97],nt=[1,95],st=[1,96],rt=[1,98],ot=[1,99],Pt=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,A,e,pt){var s=e.length-1;switch(A){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:c,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:T,10:m,12:q,13:b,14:x,15:_,18:Y,25:G,35:yt,37:Tt,39:dt,41:Ft,42:ut,48:xt,50:ft,51:gt,52:i,53:Bt,54:Rt,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:52,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:53,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:54,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:55,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:56,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,10:m,12:q,13:b,14:x,15:_,43:57,58:31,60:U,61:O,63:F,64:P,65:v,66:C,67:L},{4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Ot,8:Qt,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:d,5:T,10:m,12:q,13:b,14:x,15:_,60:U,61:O,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:d,5:T,8:H,10:m,12:q,13:b,14:x,15:_,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,102]},t(a,[2,29],{10:Pt}),t(Zt,[2,27],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:89,16:90,23:105,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:90,17:nt,18:st,19:rt,20:ot,22:106},t(N,[2,26]),t(a,[2,50],{10:Pt}),t(Zt,[2,28],{16:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],A=[null],e=[],pt=this.table,s="",qt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);D.setInput(r,K.yy),K.yy.lexer=D,K.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Lt=D.yylloc;e.push(Lt);var Se=D.options&&D.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){g.length=g.length-2*R,A.length=A.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=f.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(f=R,R=f.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,Z,W,Et,lt={},bt,M,ee,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?W=this.defaultActions[Z]:((B===null||typeof B>"u")&&(B=te()),W=pt[Z]&&pt[Z][B]),typeof W>"u"||!W.length||!W[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");D.showPosition?Dt="Parse error on line "+(qt+1)+`: `+D.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Dt="Parse error on line "+(qt+1)+": Unexpected "+(B==$t?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Dt,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:Lt,expected:St})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+B);switch(W[0]){case 1:g.push(B),A.push(D.yytext),e.push(D.yylloc),g.push(W[1]),B=null,Jt=D.yyleng,s=D.yytext,qt=D.yylineno,Lt=D.yylloc;break;case 2:if(M=this.productions_[W[1]][1],lt.$=A[A.length-M],lt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},Se&&(lt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),Et=this.performAction.apply(lt,[s,Jt,qt,K.yy,W[1],A,e].concat(be)),typeof Et<"u")return Et;M&&(g=g.slice(0,-1*M*2),A=A.slice(0,-1*M),e=e.slice(0,-1*M)),g.push(this.productions_[W[1]][0]),A.push(lt.$),e.push(lt._$),ee=pt[g[g.length-2]][g[g.length-1]],g.push(ee);break;case 3:return!0}}return!0},"parse")},me=function(){var j={EOF:1,parseError:o(function(l,g){if(this.yy.parser)this.yy.parser.parseError(l,g);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,g=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===f.length?this.yylloc.first_column:0)+f[f.length-g.length].length-g[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-DInD2Qc7.js b/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-UgdXcxSH.js similarity index 84% rename from veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-DInD2Qc7.js rename to veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-UgdXcxSH.js index 02f69d9ff..8ad5543be 100644 --- a/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-DInD2Qc7.js +++ b/veadk/webui/assets/visualizations/mermaid/railroadDiagram-AXF67PYL-UgdXcxSH.js @@ -1 +1 @@ -import{g as s,r as l,d as t}from"./chunk-6Q2QTUOP-D1vbrjoS.js";import{p as m}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{a as n,at as i}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import{M as p,d as u}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},x={parser:y,db:t,renderer:l,styles:s};export{x as diagram}; +import{g as s,r as l,d as t}from"./chunk-6Q2QTUOP-LmTMnw7Y.js";import{p as m}from"./chunk-JWPE2WC7-DKTpV34k.js";import{a as n,at as i}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import{M as p,d as u}from"./cynefin-OW5HDTMX-CVRcDGzI.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},x={parser:y,db:t,renderer:l,styles:s};export{x as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-C5Xl4FSh.js b/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-CVhjvLne.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-C5Xl4FSh.js rename to veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-CVhjvLne.js index 6e1252bfa..659faaf52 100644 --- a/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-C5Xl4FSh.js +++ b/veadk/webui/assets/visualizations/mermaid/requirementDiagram-LRYGKXZP-CVhjvLne.js @@ -1,4 +1,4 @@ -import{g as ze}from"./chunk-XXDRQBXY-Du2hH_W_.js";import{s as Xe}from"./chunk-KBJHAD2P-svjqEuWZ.js";import{a as d,X as Be,aS as Je,W as Ze,aR as et,V as tt,aU as st,$ as it,Y as Ne,at as qe,s as rt,_ as nt,a4 as at,aL as lt,ba as ct}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";var Ce=function(){var e=d(function($,i,n,l){for(n=n||{},l=$.length;l--;n[$[l]]=i);return n},"o"),r=[1,3],u=[1,4],h=[1,5],o=[1,6],c=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,22],p=[2,7],f=[1,26],m=[1,27],b=[1,28],k=[1,29],C=[1,33],V=[1,34],A=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],y=[1,39],_=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ve=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ae=[1,70],ve=[1,71],Le=[1,72],xe=[1,73],Oe=[1,74],we=[1,75],De=[1,76],ee=[1,83],U=[1,80],te=[1,84],se=[1,85],ie=[1,86],re=[1,87],ne=[1,88],ae=[1,89],le=[1,90],ce=[1,91],oe=[1,92],pe=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Me=[1,101],Fe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],N=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],he=[1,116],ue=[1,117],fe=[1,114],me=[1,115],Se={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:d(function(i,n,l,s,R,t,de){var a=t.length-1;switch(R){case 4:this.$=t[a].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[a].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[a-3],t[a-4]);break;case 22:s.addRequirement(t[a-5],t[a-6]),s.setClass([t[a-5]],t[a-3]);break;case 23:s.setNewReqId(t[a-2]);break;case 24:s.setNewReqText(t[a-2]);break;case 25:s.setNewReqRisk(t[a-2]);break;case 26:s.setNewReqVerifyMethod(t[a-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[a-3]);break;case 43:s.addElement(t[a-5]),s.setClass([t[a-5]],t[a-3]);break;case 44:s.setNewElementType(t[a-2]);break;case 45:s.setNewElementDocRef(t[a-2]);break;case 48:s.addRelationship(t[a-2],t[a],t[a-4]);break;case 49:s.addRelationship(t[a-2],t[a-4],t[a]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[a-2],s.defineClass(t[a-1],t[a]);break;case 58:s.setClass(t[a-1],t[a]);break;case 59:s.setClass([t[a-2]],t[a]);break;case 60:case 62:this.$=[t[a]];break;case 61:case 63:this.$=t[a-2].concat([t[a]]);break;case 64:this.$=t[a-2],s.setCssStyle(t[a-1],t[a]);break;case 65:this.$=[t[a]];break;case 66:t[a-2].push(t[a]),this.$=t[a-2];break;case 68:this.$=t[a-1]+t[a];break}},"anonymous"),table:[{3:1,4:2,6:r,9:u,11:h,13:o},{1:[3]},{3:8,4:2,5:[1,7],6:r,9:u,11:h,13:o},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(c,[2,6]),{3:12,4:2,6:r,9:u,11:h,13:o},{1:[2,2]},{4:17,5:E,7:13,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},e(c,[2,4]),e(c,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:E,7:42,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:43,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:44,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:45,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:46,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:47,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:48,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:49,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:50,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),{30:60,33:62,75:P,89:y,90:_},{30:63,33:62,75:P,89:y,90:_},{30:64,33:62,75:P,89:y,90:_},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ve,[2,81]),e(Ve,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{62:77,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{30:78,33:62,75:P,89:y,90:_},{73:79,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,60]),e(pe,[2,62]),{73:93,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},{30:94,33:62,75:P,76:U,89:y,90:_},{5:[1,95]},{30:96,33:62,75:P,89:y,90:_},{5:[1,97]},{30:98,33:62,75:P,89:y,90:_},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(g,[2,59],{76:U}),e(g,[2,64],{76:Me}),{33:103,75:[1,102],89:y,90:_},e(Fe,[2,65],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),e(N,[2,67]),e(N,[2,69]),e(N,[2,70]),e(N,[2,71]),e(N,[2,72]),e(N,[2,73]),e(N,[2,74]),e(N,[2,75]),e(N,[2,76]),e(N,[2,77]),e(N,[2,78]),e(g,[2,57],{76:Me}),e(g,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:he,40:ue,56:113,57:fe,59:me},{27:[1,118],76:U},{33:119,89:y,90:_},{33:120,89:y,90:_},{75:ee,78:121,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,61]),e(pe,[2,63]),e(N,[2,68]),e(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(g,[2,28]),{5:[1,127]},e(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:he,40:ue,56:130,57:fe,59:me},e(g,[2,47]),{5:[1,131]},e(g,[2,48]),e(g,[2,49]),e(Fe,[2,66],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),{33:132,89:y,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(g,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(g,[2,46]),{5:he,40:ue,56:152,57:fe,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(g,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:he,40:ue,56:163,57:fe,59:me},{5:he,40:ue,56:164,57:fe,59:me},e(g,[2,23]),e(g,[2,24]),e(g,[2,25]),e(g,[2,26]),e(g,[2,44]),e(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:d(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:d(function(i){var n=this,l=[0],s=[],R=[null],t=[],de=this.table,a="",ge=0,$e=0,Ke=2,Pe=1,We=t.slice.call(arguments,1),S=Object.create(this.lexer),G={yy:{}};for(var be in this.yy)Object.prototype.hasOwnProperty.call(this.yy,be)&&(G.yy[be]=this.yy[be]);S.setInput(i,G.yy),G.yy.lexer=S,G.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var Ie=S.yylloc;t.push(Ie);var je=S.options&&S.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(T){l.length=l.length-2*T,R.length=R.length-T,t.length=t.length-T}d(Ge,"popStack");function Ue(){var T;return T=s.pop()||S.lex()||Pe,typeof T!="number"&&(T instanceof Array&&(s=T,T=s.pop()),T=n.symbols_[T]||T),T}d(Ue,"lex");for(var I,z,q,Te,J={},ye,F,Ye,_e;;){if(z=l[l.length-1],this.defaultActions[z]?q=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=Ue()),q=de[z]&&de[z][I]),typeof q>"u"||!q.length||!q[0]){var ke="";_e=[];for(ye in de[z])this.terminals_[ye]&&ye>Ke&&_e.push("'"+this.terminals_[ye]+"'");S.showPosition?ke="Parse error on line "+(ge+1)+`: +import{g as ze}from"./chunk-XXDRQBXY-DqdKXcqv.js";import{s as Xe}from"./chunk-KBJHAD2P-BJQBtkor.js";import{a as d,X as Be,aS as Je,W as Ze,aR as et,V as tt,aU as st,$ as it,Y as Ne,at as qe,s as rt,_ as nt,a4 as at,aL as lt,ba as ct}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";var Ce=function(){var e=d(function($,i,n,l){for(n=n||{},l=$.length;l--;n[$[l]]=i);return n},"o"),r=[1,3],u=[1,4],h=[1,5],o=[1,6],c=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,22],p=[2,7],f=[1,26],m=[1,27],b=[1,28],k=[1,29],C=[1,33],V=[1,34],A=[1,35],v=[1,36],L=[1,37],x=[1,38],O=[1,24],w=[1,31],D=[1,32],M=[1,30],y=[1,39],_=[1,40],g=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],P=[1,61],X=[89,90],Ve=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ae=[1,70],ve=[1,71],Le=[1,72],xe=[1,73],Oe=[1,74],we=[1,75],De=[1,76],ee=[1,83],U=[1,80],te=[1,84],se=[1,85],ie=[1,86],re=[1,87],ne=[1,88],ae=[1,89],le=[1,90],ce=[1,91],oe=[1,92],pe=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],Me=[1,101],Fe=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],N=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],he=[1,116],ue=[1,117],fe=[1,114],me=[1,115],Se={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:d(function(i,n,l,s,R,t,de){var a=t.length-1;switch(R){case 4:this.$=t[a].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[a].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[a-3],t[a-4]);break;case 22:s.addRequirement(t[a-5],t[a-6]),s.setClass([t[a-5]],t[a-3]);break;case 23:s.setNewReqId(t[a-2]);break;case 24:s.setNewReqText(t[a-2]);break;case 25:s.setNewReqRisk(t[a-2]);break;case 26:s.setNewReqVerifyMethod(t[a-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[a-3]);break;case 43:s.addElement(t[a-5]),s.setClass([t[a-5]],t[a-3]);break;case 44:s.setNewElementType(t[a-2]);break;case 45:s.setNewElementDocRef(t[a-2]);break;case 48:s.addRelationship(t[a-2],t[a],t[a-4]);break;case 49:s.addRelationship(t[a-2],t[a-4],t[a]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[a-2],s.defineClass(t[a-1],t[a]);break;case 58:s.setClass(t[a-1],t[a]);break;case 59:s.setClass([t[a-2]],t[a]);break;case 60:case 62:this.$=[t[a]];break;case 61:case 63:this.$=t[a-2].concat([t[a]]);break;case 64:this.$=t[a-2],s.setCssStyle(t[a-1],t[a]);break;case 65:this.$=[t[a]];break;case 66:t[a-2].push(t[a]),this.$=t[a-2];break;case 68:this.$=t[a-1]+t[a];break}},"anonymous"),table:[{3:1,4:2,6:r,9:u,11:h,13:o},{1:[3]},{3:8,4:2,5:[1,7],6:r,9:u,11:h,13:o},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(c,[2,6]),{3:12,4:2,6:r,9:u,11:h,13:o},{1:[2,2]},{4:17,5:E,7:13,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},e(c,[2,4]),e(c,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:E,7:42,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:43,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:44,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:45,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:46,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:47,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:48,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:49,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{4:17,5:E,7:50,8:p,9:u,11:h,13:o,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:f,22:m,23:b,24:k,25:23,33:25,41:C,42:V,43:A,44:v,45:L,46:x,54:O,72:w,74:D,77:M,89:y,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(g,[2,17]),e(g,[2,18]),e(g,[2,19]),e(g,[2,20]),{30:60,33:62,75:P,89:y,90:_},{30:63,33:62,75:P,89:y,90:_},{30:64,33:62,75:P,89:y,90:_},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ve,[2,81]),e(Ve,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{62:77,65:Ae,66:ve,67:Le,68:xe,69:Oe,70:we,71:De},{30:78,33:62,75:P,89:y,90:_},{73:79,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,60]),e(pe,[2,62]),{73:93,75:ee,76:U,78:81,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},{30:94,33:62,75:P,76:U,89:y,90:_},{5:[1,95]},{30:96,33:62,75:P,89:y,90:_},{5:[1,97]},{30:98,33:62,75:P,89:y,90:_},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(g,[2,59],{76:U}),e(g,[2,64],{76:Me}),{33:103,75:[1,102],89:y,90:_},e(Fe,[2,65],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),e(N,[2,67]),e(N,[2,69]),e(N,[2,70]),e(N,[2,71]),e(N,[2,72]),e(N,[2,73]),e(N,[2,74]),e(N,[2,75]),e(N,[2,76]),e(N,[2,77]),e(N,[2,78]),e(g,[2,57],{76:Me}),e(g,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:he,40:ue,56:113,57:fe,59:me},{27:[1,118],76:U},{33:119,89:y,90:_},{33:120,89:y,90:_},{75:ee,78:121,79:82,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe},e(pe,[2,61]),e(pe,[2,63]),e(N,[2,68]),e(g,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(g,[2,28]),{5:[1,127]},e(g,[2,42]),{32:[1,128]},{32:[1,129]},{5:he,40:ue,56:130,57:fe,59:me},e(g,[2,47]),{5:[1,131]},e(g,[2,48]),e(g,[2,49]),e(Fe,[2,66],{79:104,75:ee,80:te,81:se,82:ie,83:re,84:ne,85:ae,86:le,87:ce,88:oe}),{33:132,89:y,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(g,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(g,[2,46]),{5:he,40:ue,56:152,57:fe,59:me},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(g,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(g,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:he,40:ue,56:163,57:fe,59:me},{5:he,40:ue,56:164,57:fe,59:me},e(g,[2,23]),e(g,[2,24]),e(g,[2,25]),e(g,[2,26]),e(g,[2,44]),e(g,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:d(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:d(function(i){var n=this,l=[0],s=[],R=[null],t=[],de=this.table,a="",ge=0,$e=0,Ke=2,Pe=1,We=t.slice.call(arguments,1),S=Object.create(this.lexer),G={yy:{}};for(var be in this.yy)Object.prototype.hasOwnProperty.call(this.yy,be)&&(G.yy[be]=this.yy[be]);S.setInput(i,G.yy),G.yy.lexer=S,G.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var Ie=S.yylloc;t.push(Ie);var je=S.options&&S.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ge(T){l.length=l.length-2*T,R.length=R.length-T,t.length=t.length-T}d(Ge,"popStack");function Ue(){var T;return T=s.pop()||S.lex()||Pe,typeof T!="number"&&(T instanceof Array&&(s=T,T=s.pop()),T=n.symbols_[T]||T),T}d(Ue,"lex");for(var I,z,q,Te,J={},ye,F,Ye,_e;;){if(z=l[l.length-1],this.defaultActions[z]?q=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=Ue()),q=de[z]&&de[z][I]),typeof q>"u"||!q.length||!q[0]){var ke="";_e=[];for(ye in de[z])this.terminals_[ye]&&ye>Ke&&_e.push("'"+this.terminals_[ye]+"'");S.showPosition?ke="Parse error on line "+(ge+1)+`: `+S.showPosition()+` Expecting `+_e.join(", ")+", got '"+(this.terminals_[I]||I)+"'":ke="Parse error on line "+(ge+1)+": Unexpected "+(I==Pe?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(ke,{text:S.match,token:this.terminals_[I]||I,line:S.yylineno,loc:Ie,expected:_e})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+I);switch(q[0]){case 1:l.push(I),R.push(S.yytext),t.push(S.yylloc),l.push(q[1]),I=null,$e=S.yyleng,a=S.yytext,ge=S.yylineno,Ie=S.yylloc;break;case 2:if(F=this.productions_[q[1]][1],J.$=R[R.length-F],J._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},je&&(J._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),Te=this.performAction.apply(J,[a,$e,ge,G.yy,q[1],R,t].concat(We)),typeof Te<"u")return Te;F&&(l=l.slice(0,-1*F*2),R=R.slice(0,-1*F),t=t.slice(0,-1*F)),l.push(this.productions_[q[1]][0]),R.push(J.$),t.push(J._$),Ye=de[l[l.length-2]][l[l.length-1]],l.push(Ye);break;case 3:return!0}}return!0},"parse")},He=function(){var $={EOF:1,parseError:d(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:d(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:d(function(i){var n=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===s.length?this.yylloc.first_column:0)+s[s.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(i){this.unput(this.match.slice(i))},"less"),pastInput:d(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-DZLBHHS3.js b/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-gmgsn_hR.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-DZLBHHS3.js rename to veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-gmgsn_hR.js index 7fbd8c5ea..9c1d0346d 100644 --- a/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-DZLBHHS3.js +++ b/veadk/webui/assets/visualizations/mermaid/sankeyDiagram-W5VNT64P-gmgsn_hR.js @@ -1,4 +1,4 @@ -import{aU as xt,$ as _t,aR as vt,V as bt,aS as St,W as wt,a as d,Y as lt,N as Lt,aX as Et,s as At,x as Tt}from"./mermaid.core-OQ-NoIeH.js";import{ad as H}from"../../app/index-Bj9lylJf.js";import{o as Mt}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function Nt(t){for(var n=t.length/6|0,s=new Array(n),a=0;a=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function pt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function nt(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Pt(t){return t.target.depth}function It(t){return t.depth}function Ot(t,n){return n-1-t.height}function kt(t,n){return t.sourceLinks.length?t.depth:n-1}function $t(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function q(t){return function(){return t}}function ut(t,n){return Q(t.source,n.source)||t.index-n.index}function ht(t,n){return Q(t.target,n.target)||t.index-n.index}function Q(t,n){return t.y0-n.y0}function it(t){return t.value}function Dt(t){return t.index}function jt(t){return t.nodes}function zt(t){return t.links}function ft(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function yt({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function Bt(){let t=0,n=0,s=1,a=1,u=24,y=8,p,m=Dt,o=kt,l,h,x=jt,_=zt,g=6;function v(){const i={nodes:x.apply(null,arguments),links:_.apply(null,arguments)};return T(i),A(i),M(i),I(i),S(i),yt(i),i}v.update=function(i){return yt(i),i},v.nodeId=function(i){return arguments.length?(m=typeof i=="function"?i:q(i),v):m},v.nodeAlign=function(i){return arguments.length?(o=typeof i=="function"?i:q(i),v):o},v.nodeSort=function(i){return arguments.length?(l=i,v):l},v.nodeWidth=function(i){return arguments.length?(u=+i,v):u},v.nodePadding=function(i){return arguments.length?(y=p=+i,v):y},v.nodes=function(i){return arguments.length?(x=typeof i=="function"?i:q(i),v):x},v.links=function(i){return arguments.length?(_=typeof i=="function"?i:q(i),v):_},v.linkSort=function(i){return arguments.length?(h=i,v):h},v.size=function(i){return arguments.length?(t=n=0,s=+i[0],a=+i[1],v):[s-t,a-n]},v.extent=function(i){return arguments.length?(t=+i[0][0],s=+i[1][0],n=+i[0][1],a=+i[1][1],v):[[t,n],[s,a]]},v.iterations=function(i){return arguments.length?(g=+i,v):g};function T({nodes:i,links:f}){for(const[e,r]of i.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(i.map((e,r)=>[m(e,r,i),e]));for(const[e,r]of f.entries()){r.index=e;let{source:k,target:b}=r;typeof k!="object"&&(k=r.source=ft(c,k)),typeof b!="object"&&(b=r.target=ft(c,b)),k.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of i)e.sort(h),r.sort(h)}function A({nodes:i}){for(const f of i)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function M({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.depth=r;for(const{target:b}of k.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.height=r;for(const{source:b}of k.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:i}){const f=ct(i,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of i){const k=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=k,r.x0=t+k*c,r.x1=r.x0+u,e[k]?e[k].push(r):e[k]=[r]}if(l)for(const r of e)r.sort(l);return e}function D(i){const f=pt(i,c=>(a-n-(c.length-1)*p)/nt(c,it));for(const c of i){let e=n;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}e=(a-e+p)/(c.length+1);for(let r=0;rc.length)-1)),D(f);for(let c=0;c0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function R(i,f,c){for(let e=i.length,r=e-2;r>=0;--r){const k=i[r];for(const b of k){let L=0,B=0;for(const{target:Y,value:et}of b.sourceLinks){let X=et*(Y.layer-b.layer);L+=E(b,Y)*X,B+=X}if(!(B>0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function j(i,f){const c=i.length>>1,e=i[c];O(i,e.y0-p,c-1,f),V(i,e.y1+p,c+1,f),O(i,a,i.length-1,f),V(i,n,0,f)}function V(i,f,c,e){for(;c1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function O(i,f,c,e){for(;c>=0;--c){const r=i[c],k=(r.y1-f)*e;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function z({sourceLinks:i,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ht);for(const{target:{targetLinks:c}}of i)c.sort(ut)}}function w(i){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of i)f.sort(ht),c.sort(ut)}function P(i,f){let c=i.y0-(i.sourceLinks.length-1)*p/2;for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c+=r+p}for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c-=r}return c}function E(i,f){let c=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c+=r+p}for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c-=r}return c}return v}var rt=Math.PI,st=2*rt,F=1e-6,Ft=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mt(){return new ot}ot.prototype=mt.prototype={constructor:ot,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,y){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+y)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var y=this._x1,p=this._y1,m=s-t,o=a-n,l=y-t,h=p-n,x=l*l+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(x>F)if(!(Math.abs(h*m-o*l)>F)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var _=s-y,g=a-p,v=m*m+o*o,T=_*_+g*g,A=Math.sqrt(v),M=Math.sqrt(x),I=u*Math.tan((rt-Math.acos((v+x-T)/(2*A*M)))/2),N=I/M,D=I/A;Math.abs(N-1)>F&&(this._+="L"+(t+N*l)+","+(n+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>l*g)+","+(this._x1=t+D*m)+","+(this._y1=n+D*o)}},arc:function(t,n,s,a,u,y){t=+t,n=+n,s=+s,y=!!y;var p=s*Math.cos(a),m=s*Math.sin(a),o=t+p,l=n+m,h=1^y,x=y?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+l:(Math.abs(this._x1-o)>F||Math.abs(this._y1-l)>F)&&(this._+="L"+o+","+l),s&&(x<0&&(x=x%st+st),x>Ft?this._+="A"+s+","+s+",0,1,"+h+","+(t-p)+","+(n-m)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=l):x>F&&(this._+="A"+s+","+s+",0,"+ +(x>=rt)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Rt(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var n=Ut,s=Gt,a=Rt,u=Vt,y=null;function p(){var m,o=Wt.call(arguments),l=n.apply(this,o),h=s.apply(this,o);if(y||(y=m=mt()),t(y,+a.apply(this,(o[0]=l,o)),+u.apply(this,o),+a.apply(this,(o[0]=h,o)),+u.apply(this,o)),m)return y=null,m+""||null}return p.source=function(m){return arguments.length?(n=m,p):n},p.target=function(m){return arguments.length?(s=m,p):s},p.x=function(m){return arguments.length?(a=typeof m=="function"?m:dt(+m),p):a},p.y=function(m){return arguments.length?(u=typeof m=="function"?m:dt(+m),p):u},p.context=function(m){return arguments.length?(y=m??null,p):y},p}function Xt(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Ht(){return Yt(Xt)}function qt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(qt).target(Qt)}var at=function(){var t=d(function(m,o,l,h){for(l=l||{},h=m.length;h--;l[m[h]]=o);return l},"o"),n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:d(function(o,l,h,x,_,g,v){var T=g.length-1;switch(_){case 7:const A=x.findOrCreateNode(g[T-4].trim().replaceAll('""','"')),M=x.findOrCreateNode(g[T-2].trim().replaceAll('""','"')),I=parseFloat(g[T].trim());x.addLink(A,M,I);break;case 8:case 9:case 11:this.$=g[T];break;case 10:this.$=g[T-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:d(function(o,l){if(l.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=l,h}},"parseError"),parse:d(function(o){var l=this,h=[0],x=[],_=[null],g=[],v=this.table,T="",A=0,M=0,I=2,N=1,D=g.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(C.yy[R]=this.yy[R]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var j=S.yylloc;g.push(j);var V=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,g.length=g.length-L}d(O,"popStack");function z(){var L;return L=x.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=l.symbols_[L]||L),L}d(z,"lex");for(var w,P,E,i,f={},c,e,r,k;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=z()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";k=[];for(c in v[P])this.terminals_[c]&&c>I&&k.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: +import{aU as xt,$ as _t,aR as vt,V as bt,aS as St,W as wt,a as d,Y as lt,N as Lt,aX as Et,s as At,x as Tt}from"./mermaid.core-DAX2QfGO.js";import{ad as H}from"../../app/index-sh8QRNzm.js";import{o as Mt}from"../../chunks/ordinal-Cboi1Yqb.js";import"../../chunks/init-Gi6I4Gst.js";function Nt(t){for(var n=t.length/6|0,s=new Array(n),a=0;a=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function pt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function nt(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Pt(t){return t.target.depth}function It(t){return t.depth}function Ot(t,n){return n-1-t.height}function kt(t,n){return t.sourceLinks.length?t.depth:n-1}function $t(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function q(t){return function(){return t}}function ut(t,n){return Q(t.source,n.source)||t.index-n.index}function ht(t,n){return Q(t.target,n.target)||t.index-n.index}function Q(t,n){return t.y0-n.y0}function it(t){return t.value}function Dt(t){return t.index}function jt(t){return t.nodes}function zt(t){return t.links}function ft(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function yt({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function Bt(){let t=0,n=0,s=1,a=1,u=24,y=8,p,m=Dt,o=kt,l,h,x=jt,_=zt,g=6;function v(){const i={nodes:x.apply(null,arguments),links:_.apply(null,arguments)};return T(i),A(i),M(i),I(i),S(i),yt(i),i}v.update=function(i){return yt(i),i},v.nodeId=function(i){return arguments.length?(m=typeof i=="function"?i:q(i),v):m},v.nodeAlign=function(i){return arguments.length?(o=typeof i=="function"?i:q(i),v):o},v.nodeSort=function(i){return arguments.length?(l=i,v):l},v.nodeWidth=function(i){return arguments.length?(u=+i,v):u},v.nodePadding=function(i){return arguments.length?(y=p=+i,v):y},v.nodes=function(i){return arguments.length?(x=typeof i=="function"?i:q(i),v):x},v.links=function(i){return arguments.length?(_=typeof i=="function"?i:q(i),v):_},v.linkSort=function(i){return arguments.length?(h=i,v):h},v.size=function(i){return arguments.length?(t=n=0,s=+i[0],a=+i[1],v):[s-t,a-n]},v.extent=function(i){return arguments.length?(t=+i[0][0],s=+i[1][0],n=+i[0][1],a=+i[1][1],v):[[t,n],[s,a]]},v.iterations=function(i){return arguments.length?(g=+i,v):g};function T({nodes:i,links:f}){for(const[e,r]of i.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];const c=new Map(i.map((e,r)=>[m(e,r,i),e]));for(const[e,r]of f.entries()){r.index=e;let{source:k,target:b}=r;typeof k!="object"&&(k=r.source=ft(c,k)),typeof b!="object"&&(b=r.target=ft(c,b)),k.sourceLinks.push(r),b.targetLinks.push(r)}if(h!=null)for(const{sourceLinks:e,targetLinks:r}of i)e.sort(h),r.sort(h)}function A({nodes:i}){for(const f of i)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function M({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.depth=r;for(const{target:b}of k.sourceLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function I({nodes:i}){const f=i.length;let c=new Set(i),e=new Set,r=0;for(;c.size;){for(const k of c){k.height=r;for(const{source:b}of k.targetLinks)e.add(b)}if(++r>f)throw new Error("circular link");c=e,e=new Set}}function N({nodes:i}){const f=ct(i,r=>r.depth)+1,c=(s-t-u)/(f-1),e=new Array(f);for(const r of i){const k=Math.max(0,Math.min(f-1,Math.floor(o.call(null,r,f))));r.layer=k,r.x0=t+k*c,r.x1=r.x0+u,e[k]?e[k].push(r):e[k]=[r]}if(l)for(const r of e)r.sort(l);return e}function D(i){const f=pt(i,c=>(a-n-(c.length-1)*p)/nt(c,it));for(const c of i){let e=n;for(const r of c){r.y0=e,r.y1=e+r.value*f,e=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}e=(a-e+p)/(c.length+1);for(let r=0;rc.length)-1)),D(f);for(let c=0;c0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function R(i,f,c){for(let e=i.length,r=e-2;r>=0;--r){const k=i[r];for(const b of k){let L=0,B=0;for(const{target:Y,value:et}of b.sourceLinks){let X=et*(Y.layer-b.layer);L+=E(b,Y)*X,B+=X}if(!(B>0))continue;let G=(L/B-b.y0)*f;b.y0+=G,b.y1+=G,z(b)}l===void 0&&k.sort(Q),j(k,c)}}function j(i,f){const c=i.length>>1,e=i[c];O(i,e.y0-p,c-1,f),V(i,e.y1+p,c+1,f),O(i,a,i.length-1,f),V(i,n,0,f)}function V(i,f,c,e){for(;c1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function O(i,f,c,e){for(;c>=0;--c){const r=i[c],k=(r.y1-f)*e;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function z({sourceLinks:i,targetLinks:f}){if(h===void 0){for(const{source:{sourceLinks:c}}of f)c.sort(ht);for(const{target:{targetLinks:c}}of i)c.sort(ut)}}function w(i){if(h===void 0)for(const{sourceLinks:f,targetLinks:c}of i)f.sort(ht),c.sort(ut)}function P(i,f){let c=i.y0-(i.sourceLinks.length-1)*p/2;for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c+=r+p}for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c-=r}return c}function E(i,f){let c=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:e,width:r}of f.targetLinks){if(e===i)break;c+=r+p}for(const{target:e,width:r}of i.sourceLinks){if(e===f)break;c-=r}return c}return v}var rt=Math.PI,st=2*rt,F=1e-6,Ft=st-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mt(){return new ot}ot.prototype=mt.prototype={constructor:ot,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,y){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+y)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var y=this._x1,p=this._y1,m=s-t,o=a-n,l=y-t,h=p-n,x=l*l+h*h;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(x>F)if(!(Math.abs(h*m-o*l)>F)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var _=s-y,g=a-p,v=m*m+o*o,T=_*_+g*g,A=Math.sqrt(v),M=Math.sqrt(x),I=u*Math.tan((rt-Math.acos((v+x-T)/(2*A*M)))/2),N=I/M,D=I/A;Math.abs(N-1)>F&&(this._+="L"+(t+N*l)+","+(n+N*h)),this._+="A"+u+","+u+",0,0,"+ +(h*_>l*g)+","+(this._x1=t+D*m)+","+(this._y1=n+D*o)}},arc:function(t,n,s,a,u,y){t=+t,n=+n,s=+s,y=!!y;var p=s*Math.cos(a),m=s*Math.sin(a),o=t+p,l=n+m,h=1^y,x=y?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+o+","+l:(Math.abs(this._x1-o)>F||Math.abs(this._y1-l)>F)&&(this._+="L"+o+","+l),s&&(x<0&&(x=x%st+st),x>Ft?this._+="A"+s+","+s+",0,1,"+h+","+(t-p)+","+(n-m)+"A"+s+","+s+",0,1,"+h+","+(this._x1=o)+","+(this._y1=l):x>F&&(this._+="A"+s+","+s+",0,"+ +(x>=rt)+","+h+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Rt(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var n=Ut,s=Gt,a=Rt,u=Vt,y=null;function p(){var m,o=Wt.call(arguments),l=n.apply(this,o),h=s.apply(this,o);if(y||(y=m=mt()),t(y,+a.apply(this,(o[0]=l,o)),+u.apply(this,o),+a.apply(this,(o[0]=h,o)),+u.apply(this,o)),m)return y=null,m+""||null}return p.source=function(m){return arguments.length?(n=m,p):n},p.target=function(m){return arguments.length?(s=m,p):s},p.x=function(m){return arguments.length?(a=typeof m=="function"?m:dt(+m),p):a},p.y=function(m){return arguments.length?(u=typeof m=="function"?m:dt(+m),p):u},p.context=function(m){return arguments.length?(y=m??null,p):y},p}function Xt(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Ht(){return Yt(Xt)}function qt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(qt).target(Qt)}var at=function(){var t=d(function(m,o,l,h){for(l=l||{},h=m.length;h--;l[m[h]]=o);return l},"o"),n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:d(function(o,l,h,x,_,g,v){var T=g.length-1;switch(_){case 7:const A=x.findOrCreateNode(g[T-4].trim().replaceAll('""','"')),M=x.findOrCreateNode(g[T-2].trim().replaceAll('""','"')),I=parseFloat(g[T].trim());x.addLink(A,M,I);break;case 8:case 9:case 11:this.$=g[T];break;case 10:this.$=g[T-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:d(function(o,l){if(l.recoverable)this.trace(o);else{var h=new Error(o);throw h.hash=l,h}},"parseError"),parse:d(function(o){var l=this,h=[0],x=[],_=[null],g=[],v=this.table,T="",A=0,M=0,I=2,N=1,D=g.slice.call(arguments,1),S=Object.create(this.lexer),C={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(C.yy[R]=this.yy[R]);S.setInput(o,C.yy),C.yy.lexer=S,C.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var j=S.yylloc;g.push(j);var V=S.options&&S.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(L){h.length=h.length-2*L,_.length=_.length-L,g.length=g.length-L}d(O,"popStack");function z(){var L;return L=x.pop()||S.lex()||N,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=l.symbols_[L]||L),L}d(z,"lex");for(var w,P,E,i,f={},c,e,r,k;;){if(P=h[h.length-1],this.defaultActions[P]?E=this.defaultActions[P]:((w===null||typeof w>"u")&&(w=z()),E=v[P]&&v[P][w]),typeof E>"u"||!E.length||!E[0]){var b="";k=[];for(c in v[P])this.terminals_[c]&&c>I&&k.push("'"+this.terminals_[c]+"'");S.showPosition?b="Parse error on line "+(A+1)+`: `+S.showPosition()+` Expecting `+k.join(", ")+", got '"+(this.terminals_[w]||w)+"'":b="Parse error on line "+(A+1)+": Unexpected "+(w==N?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(b,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:j,expected:k})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+w);switch(E[0]){case 1:h.push(w),_.push(S.yytext),g.push(S.yylloc),h.push(E[1]),w=null,M=S.yyleng,T=S.yytext,A=S.yylineno,j=S.yylloc;break;case 2:if(e=this.productions_[E[1]][1],f.$=_[_.length-e],f._$={first_line:g[g.length-(e||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(e||1)].first_column,last_column:g[g.length-1].last_column},V&&(f._$.range=[g[g.length-(e||1)].range[0],g[g.length-1].range[1]]),i=this.performAction.apply(f,[T,M,A,C.yy,E[1],_,g].concat(D)),typeof i<"u")return i;e&&(h=h.slice(0,-1*e*2),_=_.slice(0,-1*e),g=g.slice(0,-1*e)),h.push(this.productions_[E[1]][0]),_.push(f.$),g.push(f._$),r=v[h[h.length-2]][h[h.length-1]],h.push(r);break;case 3:return!0}}return!0},"parse")},y=function(){var m={EOF:1,parseError:d(function(l,h){if(this.yy.parser)this.yy.parser.parseError(l,h);else throw new Error(l)},"parseError"),setInput:d(function(o,l){return this.yy=l||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var l=o.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:d(function(o){var l=o.length,h=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===x.length?this.yylloc.first_column:0)+x[x.length-h.length].length-h[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(o){this.unput(this.match.slice(o))},"less"),pastInput:d(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-YlNpDd9i.js b/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-DvRxUXnN.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-YlNpDd9i.js rename to veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-DvRxUXnN.js index 0cb7f6fc7..11c6575a1 100644 --- a/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-YlNpDd9i.js +++ b/veadk/webui/assets/visualizations/mermaid/sequenceDiagram-SI44F4Z6-DvRxUXnN.js @@ -1,4 +1,4 @@ -import{I as er}from"./chunk-2Q5K7J3B-CcAB9q97.js";import{a as x,aT as rr,Y as j,at as it,aP as Me,B as ar,j as sr,x as m,aS as De,aR as ir,aU as nr,W as or,V as cr,$ as lr,as as hr,J as dr,s as Tr,aO as Yt,ba as Z,ac as Q,n as kt,aC as Be,Z as pr,X as Ft,a9 as Er,aM as Ve}from"./mermaid.core-OQ-NoIeH.js";import{d as ur,h as se,g as dt,e as fr,a as ie,b as ne}from"./chunk-2GRJ4B5K-B2asRype.js";import{ad as Wt}from"../../app/index-Bj9lylJf.js";var ee=function(){var e=x(function(ut,N,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=N);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],n=[1,9],s=[1,11],o=[1,12],E=[1,14],h=[1,15],p=[1,17],_=[1,18],u=[1,19],O=[1,25],T=[1,26],g=[1,27],f=[1,28],I=[1,29],L=[1,30],b=[1,31],P=[1,32],S=[1,33],w=[1,34],M=[1,35],V=[1,36],Y=[1,37],z=[1,38],K=[1,39],X=[1,40],$=[1,42],tt=[1,43],U=[1,44],nt=[1,45],et=[1,46],W=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],wt=[1,74],Dt=[1,80],A=[1,81],D=[1,82],rt=[1,83],at=[1,84],F=[1,85],Ot=[1,86],oe=[1,87],ce=[1,88],le=[1,89],he=[1,90],de=[1,91],Te=[1,92],pe=[1,93],Ee=[1,94],ue=[1,95],fe=[1,96],_e=[1,97],ge=[1,98],xe=[1,99],Ie=[1,100],ye=[1,101],Re=[1,102],Oe=[1,103],Le=[1,104],be=[1,105],Ae=[2,78],Nt=[4,5,17,51,53,54],vt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Gt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],we=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Xt=[5,52],H=[70,71,72,73],ct=[1,151],Jt={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(N,v,k,y,G,c,mt){var d=c.length-1;switch(G){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,5]),{9:48,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:z,53:K,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:W},{23:56,73:W},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:wt},{23:75,55:76,73:wt},{23:77,73:W},{69:78,72:[1,79],78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:W},{23:111,73:W},{23:112,73:W},{23:113,73:W},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ae),e(C,[2,6]),e(C,[2,16]),e(Nt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(vt,i,{7:120}),e(vt,i,{7:121}),e(vt,i,{7:122}),e(Se,i,{41:123,7:124}),e(Gt,i,{43:125,7:126}),e(Gt,i,{7:126,43:127}),e(we,i,{46:128,7:129}),e(vt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(Xt,Ae,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:W},{69:146,78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},e(H,[2,79]),e(H,[2,80]),e(H,[2,81]),e(H,[2,82]),e(H,[2,83]),e(H,[2,84]),e(H,[2,85]),e(H,[2,86]),e(H,[2,87]),e(H,[2,88]),e(H,[2,89]),e(H,[2,90]),e(H,[2,91]),e(H,[2,92]),e(H,[2,93]),e(H,[2,94]),e(H,[2,95]),e(H,[2,96]),e(H,[2,97]),e(H,[2,98]),e(H,[2,99]),e(H,[2,100]),e(H,[2,101]),e(H,[2,102]),e(H,[2,103]),e(H,[2,104]),{23:147,73:W},{23:149,60:148,73:W},{73:[2,68]},{73:[2,69]},{58:150,104:ct},{58:152,104:ct},{58:153,104:ct},{58:154,104:ct},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:z,53:K,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,161],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,162],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,163],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,164]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,47],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,50:[1,165],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,166]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,45],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,49:[1,167],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,168]},{17:[1,169]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,43],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,48:[1,170],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,171],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(Xt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:W},{23:178,73:W},{23:179,73:W},{58:180,104:ct},{23:181,72:[1,182],73:W},{58:183,104:ct},{58:184,104:ct},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(Nt,[2,11]),{13:186,51:z,53:K,54:X},e(Nt,[2,13]),e(Nt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ct},{58:196,104:ct},{58:197,104:ct},{5:[2,75]},{58:198,104:ct},{23:199,73:W},{5:[2,58]},{5:[2,59]},{23:200,73:W},e(Nt,[2,12]),e(Se,i,{7:124,41:201}),e(Gt,i,{7:126,43:202}),e(we,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(Xt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ct},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(N,v){if(v.recoverable)this.trace(N);else{var k=new Error(N);throw k.hash=v,k}},"parseError"),parse:x(function(N){var v=this,k=[0],y=[],G=[null],c=[],mt=this.table,d="",Mt=0,Ne=0,Qe=2,me=1,$e=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zt)&&(gt.yy[Zt]=this.yy[Zt]);J.setInput(N,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Qt=J.yylloc;c.push(Qt);var je=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tr(ot){k.length=k.length-2*ot,G.length=G.length-ot,c.length=c.length-ot}x(tr,"popStack");function Pe(){var ot;return ot=y.pop()||J.lex()||me,typeof ot!="number"&&(ot instanceof Array&&(y=ot,ot=y.pop()),ot=v.symbols_[ot]||ot),ot}x(Pe,"lex");for(var st,xt,lt,$t,Lt={},Bt,Tt,ke,Vt;;){if(xt=k[k.length-1],this.defaultActions[xt]?lt=this.defaultActions[xt]:((st===null||typeof st>"u")&&(st=Pe()),lt=mt[xt]&&mt[xt][st]),typeof lt>"u"||!lt.length||!lt[0]){var jt="";Vt=[];for(Bt in mt[xt])this.terminals_[Bt]&&Bt>Qe&&Vt.push("'"+this.terminals_[Bt]+"'");J.showPosition?jt="Parse error on line "+(Mt+1)+`: +import{I as er}from"./chunk-2Q5K7J3B-DyH4ylUc.js";import{a as x,aT as rr,Y as j,at as it,aP as Me,B as ar,j as sr,x as m,aS as De,aR as ir,aU as nr,W as or,V as cr,$ as lr,as as hr,J as dr,s as Tr,aO as Yt,ba as Z,ac as Q,n as kt,aC as Be,Z as pr,X as Ft,a9 as Er,aM as Ve}from"./mermaid.core-DAX2QfGO.js";import{d as ur,h as se,g as dt,e as fr,a as ie,b as ne}from"./chunk-2GRJ4B5K-8JeziMcZ.js";import{ad as Wt}from"../../app/index-sh8QRNzm.js";var ee=function(){var e=x(function(ut,N,v,k){for(v=v||{},k=ut.length;k--;v[ut[k]]=N);return v},"o"),t=[1,2],a=[1,3],r=[1,4],i=[2,4],n=[1,9],s=[1,11],o=[1,12],E=[1,14],h=[1,15],p=[1,17],_=[1,18],u=[1,19],O=[1,25],T=[1,26],g=[1,27],f=[1,28],I=[1,29],L=[1,30],b=[1,31],P=[1,32],S=[1,33],w=[1,34],M=[1,35],V=[1,36],Y=[1,37],z=[1,38],K=[1,39],X=[1,40],$=[1,42],tt=[1,43],U=[1,44],nt=[1,45],et=[1,46],W=[1,47],C=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],wt=[1,74],Dt=[1,80],A=[1,81],D=[1,82],rt=[1,83],at=[1,84],F=[1,85],Ot=[1,86],oe=[1,87],ce=[1,88],le=[1,89],he=[1,90],de=[1,91],Te=[1,92],pe=[1,93],Ee=[1,94],ue=[1,95],fe=[1,96],_e=[1,97],ge=[1,98],xe=[1,99],Ie=[1,100],ye=[1,101],Re=[1,102],Oe=[1,103],Le=[1,104],be=[1,105],Ae=[2,78],Nt=[4,5,17,51,53,54],vt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Se=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Gt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],we=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],Xt=[5,52],H=[70,71,72,73],ct=[1,151],Jt={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(N,v,k,y,G,c,mt){var d=c.length-1;switch(G){case 3:return y.apply(c[d]),c[d];case 4:case 10:this.$=[];break;case 5:case 11:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 12:case 13:this.$=c[d];break;case 8:case 9:case 14:this.$=[];break;case 16:c[d].type="createParticipant",this.$=c[d];break;case 17:c[d-1].unshift({type:"boxStart",boxData:y.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:y.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:y.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor};break;case 24:this.$={type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-1].actor};break;case 30:y.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 31:y.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 32:this.$=c[d].trim(),y.setAccTitle(this.$);break;case 33:case 34:this.$=c[d].trim(),y.setAccDescription(this.$);break;case 35:c[d-1].unshift({type:"loopStart",loopText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:y.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"rectStart",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:y.parseMessage(c[d-2]),signalType:y.LINETYPE.RECT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"optStart",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.OPT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"altStart",altText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:y.LINETYPE.ALT_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"parStart",parText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:y.LINETYPE.PAR_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"criticalStart",criticalText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:y.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 42:c[d-1].unshift({type:"breakStart",breakText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:y.parseMessage(c[d-2]),signalType:y.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 44:this.$=c[d-3].concat([{type:"option",optionText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 46:this.$=c[d-3].concat([{type:"and",parText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.PAR_AND},c[d]]);break;case 48:this.$=c[d-3].concat([{type:"else",altText:y.parseMessage(c[d-1]),signalType:y.LINETYPE.ALT_ELSE},c[d]]);break;case 49:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 50:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 51:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 52:case 57:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 53:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 54:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 55:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 56:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=y.parseMessage(c[d-1]),this.$=c[d-3];break;case 58:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 59:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:y.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 60:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 62:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 63:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 66:this.$=[c[d-2],c[d]];break;case 67:this.$=c[d];break;case 68:this.$=y.PLACEMENT.LEFTOF;break;case 69:this.$=y.PLACEMENT.RIGHTOF;break;case 70:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:y.LINETYPE.ACTIVE_START,actor:c[d-1].actor}];break;case 71:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:y.LINETYPE.ACTIVE_END,actor:c[d-4].actor}];break;case 72:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor}];break;case 73:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d],activate:!1,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-4].actor}];break;case 74:this.$=[c[d-5],c[d-1],{type:"addMessage",from:c[d-5].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0,centralConnection:y.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:y.LINETYPE.CENTRAL_CONNECTION,actor:c[d-1].actor},{type:"centralConnectionReverse",signalType:y.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:c[d-5].actor}];break;case 75:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 76:this.$={type:"addParticipant",actor:c[d-1],config:c[d]};break;case 77:this.$=c[d-1].trim();break;case 78:this.$={type:"addParticipant",actor:c[d]};break;case 79:this.$=y.LINETYPE.SOLID_OPEN;break;case 80:this.$=y.LINETYPE.DOTTED_OPEN;break;case 81:this.$=y.LINETYPE.SOLID;break;case 82:this.$=y.LINETYPE.SOLID_TOP;break;case 83:this.$=y.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=y.LINETYPE.STICK_TOP;break;case 85:this.$=y.LINETYPE.STICK_BOTTOM;break;case 86:this.$=y.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=y.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=y.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=y.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=y.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=y.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=y.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=y.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=y.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=y.LINETYPE.DOTTED;break;case 100:this.$=y.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=y.LINETYPE.SOLID_CROSS;break;case 102:this.$=y.LINETYPE.DOTTED_CROSS;break;case 103:this.$=y.LINETYPE.SOLID_POINT;break;case 104:this.$=y.LINETYPE.DOTTED_POINT;break;case 105:this.$=y.parseMessage(c[d].trim().substring(1));break}},"anonymous"),table:[{3:1,4:t,5:a,6:r},{1:[3]},{3:5,4:t,5:a,6:r},{3:6,4:t,5:a,6:r},e([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,5]),{9:48,13:13,14:E,15:h,18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},e(C,[2,7]),e(C,[2,8]),e(C,[2,9]),e(C,[2,15]),{13:49,51:z,53:K,54:X},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:W},{23:56,73:W},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},e(C,[2,30]),e(C,[2,31]),{33:[1,62]},{35:[1,63]},e(C,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:wt},{23:75,55:76,73:wt},{23:77,73:W},{69:78,72:[1,79],78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:W},{23:111,73:W},{23:112,73:W},{23:113,73:W},e([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ae),e(C,[2,6]),e(C,[2,16]),e(Nt,[2,10],{11:114}),e(C,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},e(C,[2,22]),{5:[1,118]},{5:[1,119]},e(C,[2,25]),e(C,[2,26]),e(C,[2,27]),e(C,[2,28]),e(C,[2,29]),e(C,[2,32]),e(C,[2,33]),e(vt,i,{7:120}),e(vt,i,{7:121}),e(vt,i,{7:122}),e(Se,i,{41:123,7:124}),e(Gt,i,{43:125,7:126}),e(Gt,i,{7:126,43:127}),e(we,i,{46:128,7:129}),e(vt,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},e(Xt,Ae,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:W},{69:146,78:Dt,79:A,80:D,81:rt,82:at,83:F,84:Ot,85:oe,86:ce,87:le,88:he,89:de,90:Te,91:pe,92:Ee,93:ue,94:fe,95:_e,96:ge,97:xe,98:Ie,99:ye,100:Re,101:Oe,102:Le,103:be},e(H,[2,79]),e(H,[2,80]),e(H,[2,81]),e(H,[2,82]),e(H,[2,83]),e(H,[2,84]),e(H,[2,85]),e(H,[2,86]),e(H,[2,87]),e(H,[2,88]),e(H,[2,89]),e(H,[2,90]),e(H,[2,91]),e(H,[2,92]),e(H,[2,93]),e(H,[2,94]),e(H,[2,95]),e(H,[2,96]),e(H,[2,97]),e(H,[2,98]),e(H,[2,99]),e(H,[2,100]),e(H,[2,101]),e(H,[2,102]),e(H,[2,103]),e(H,[2,104]),{23:147,73:W},{23:149,60:148,73:W},{73:[2,68]},{73:[2,69]},{58:150,104:ct},{58:152,104:ct},{58:153,104:ct},{58:154,104:ct},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:z,53:K,54:X},{5:[1,160]},e(C,[2,20]),e(C,[2,21]),e(C,[2,23]),e(C,[2,24]),{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,161],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,162],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,163],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,164]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,47],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,50:[1,165],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,166]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,45],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,49:[1,167],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{17:[1,168]},{17:[1,169]},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[2,43],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,48:[1,170],51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{4:n,5:s,8:8,9:10,10:o,13:13,14:E,15:h,17:[1,171],18:16,19:p,22:_,23:41,24:u,25:20,26:21,27:22,28:23,29:24,30:O,31:T,32:g,34:f,36:I,37:L,38:b,39:P,40:S,42:w,44:M,45:V,47:Y,51:z,53:K,54:X,56:$,61:tt,62:U,63:nt,64:et,73:W},{16:[1,172]},e(C,[2,50]),{16:[1,173]},e(C,[2,55]),e(Xt,[2,76]),{76:[1,174]},{16:[1,175]},e(C,[2,52]),{16:[1,176]},e(C,[2,57]),e(C,[2,53]),{23:177,73:W},{23:178,73:W},{23:179,73:W},{58:180,104:ct},{23:181,72:[1,182],73:W},{58:183,104:ct},{58:184,104:ct},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},e(C,[2,17]),e(Nt,[2,11]),{13:186,51:z,53:K,54:X},e(Nt,[2,13]),e(Nt,[2,14]),e(C,[2,19]),e(C,[2,35]),e(C,[2,36]),e(C,[2,37]),e(C,[2,38]),{16:[1,187]},e(C,[2,39]),{16:[1,188]},e(C,[2,40]),e(C,[2,41]),{16:[1,189]},e(C,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ct},{58:196,104:ct},{58:197,104:ct},{5:[2,75]},{58:198,104:ct},{23:199,73:W},{5:[2,58]},{5:[2,59]},{23:200,73:W},e(Nt,[2,12]),e(Se,i,{7:124,41:201}),e(Gt,i,{7:126,43:202}),e(we,i,{7:129,46:203}),e(C,[2,49]),e(C,[2,54]),e(Xt,[2,77]),e(C,[2,51]),e(C,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ct},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(N,v){if(v.recoverable)this.trace(N);else{var k=new Error(N);throw k.hash=v,k}},"parseError"),parse:x(function(N){var v=this,k=[0],y=[],G=[null],c=[],mt=this.table,d="",Mt=0,Ne=0,Qe=2,me=1,$e=c.slice.call(arguments,1),J=Object.create(this.lexer),gt={yy:{}};for(var Zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zt)&&(gt.yy[Zt]=this.yy[Zt]);J.setInput(N,gt.yy),gt.yy.lexer=J,gt.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Qt=J.yylloc;c.push(Qt);var je=J.options&&J.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tr(ot){k.length=k.length-2*ot,G.length=G.length-ot,c.length=c.length-ot}x(tr,"popStack");function Pe(){var ot;return ot=y.pop()||J.lex()||me,typeof ot!="number"&&(ot instanceof Array&&(y=ot,ot=y.pop()),ot=v.symbols_[ot]||ot),ot}x(Pe,"lex");for(var st,xt,lt,$t,Lt={},Bt,Tt,ke,Vt;;){if(xt=k[k.length-1],this.defaultActions[xt]?lt=this.defaultActions[xt]:((st===null||typeof st>"u")&&(st=Pe()),lt=mt[xt]&&mt[xt][st]),typeof lt>"u"||!lt.length||!lt[0]){var jt="";Vt=[];for(Bt in mt[xt])this.terminals_[Bt]&&Bt>Qe&&Vt.push("'"+this.terminals_[Bt]+"'");J.showPosition?jt="Parse error on line "+(Mt+1)+`: `+J.showPosition()+` Expecting `+Vt.join(", ")+", got '"+(this.terminals_[st]||st)+"'":jt="Parse error on line "+(Mt+1)+": Unexpected "+(st==me?"end of input":"'"+(this.terminals_[st]||st)+"'"),this.parseError(jt,{text:J.match,token:this.terminals_[st]||st,line:J.yylineno,loc:Qt,expected:Vt})}if(lt[0]instanceof Array&<.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+st);switch(lt[0]){case 1:k.push(st),G.push(J.yytext),c.push(J.yylloc),k.push(lt[1]),st=null,Ne=J.yyleng,d=J.yytext,Mt=J.yylineno,Qt=J.yylloc;break;case 2:if(Tt=this.productions_[lt[1]][1],Lt.$=G[G.length-Tt],Lt._$={first_line:c[c.length-(Tt||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(Tt||1)].first_column,last_column:c[c.length-1].last_column},je&&(Lt._$.range=[c[c.length-(Tt||1)].range[0],c[c.length-1].range[1]]),$t=this.performAction.apply(Lt,[d,Ne,Mt,gt.yy,lt[1],G,c].concat($e)),typeof $t<"u")return $t;Tt&&(k=k.slice(0,-1*Tt*2),G=G.slice(0,-1*Tt),c=c.slice(0,-1*Tt)),k.push(this.productions_[lt[1]][0]),G.push(Lt.$),c.push(Lt._$),ke=mt[k[k.length-2]][k[k.length-1]],k.push(ke);break;case 3:return!0}}return!0},"parse")},Ze=function(){var ut={EOF:1,parseError:x(function(v,k){if(this.yy.parser)this.yy.parser.parseError(v,k);else throw new Error(v)},"parseError"),setInput:x(function(N,v){return this.yy=v||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:x(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var v=N.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:x(function(N){var v=N.length,k=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),k.length-1&&(this.yylineno-=k.length-1);var G=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:k?(k.length===y.length?this.yylloc.first_column:0)+y[y.length-k.length].length-k[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:x(function(N){this.unput(this.match.slice(N))},"less"),pastInput:x(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var N=this.pastInput(),v=new Array(N.length+1).join("-");return N+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BaMicUYX.js b/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-dTWDZWf3.js similarity index 87% rename from veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BaMicUYX.js rename to veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-dTWDZWf3.js index dc0c426f2..438dfcb80 100644 --- a/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BaMicUYX.js +++ b/veadk/webui/assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-dTWDZWf3.js @@ -1 +1 @@ -import{a as n}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";var p=1;function a(){if(!(typeof globalThis>"u"))return globalThis}n(a,"getCaptureGlobal");function m(){var o;return!!((o=a())!=null&&o.mermaidCaptureSizes)}n(m,"shouldCaptureSizes");function d(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}n(d,"capturedFromLocation");function s(o,r){const e=a();if(!e)return;const t=r.node(),i=(t&&"ownerSVGElement"in t?t.ownerSVGElement:null)??t,c=(i==null?void 0:i.id)??"(unknown)";e.mermaidCapturedSizes??(e.mermaidCapturedSizes=[]);const u={svgId:c,sizes:o};e.mermaidCapturedSizes.push(u),e.mermaidLastCapturedSizes=u}n(s,"emitCapturedSizes");function l(o,r){const e=[];for(const t of r.nodes)t.isGroup||e.push({id:t.id,width:t.width??0,height:t.height??0});e.length!==0&&s({metadata:{captureVersion:p,capturedAt:new Date().toISOString(),capturedFrom:d()},nodes:e},o)}n(l,"captureNodeSizes");export{l as captureNodeSizes,m as shouldCaptureSizes}; +import{a as n}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";var p=1;function a(){if(!(typeof globalThis>"u"))return globalThis}n(a,"getCaptureGlobal");function m(){var o;return!!((o=a())!=null&&o.mermaidCaptureSizes)}n(m,"shouldCaptureSizes");function d(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}n(d,"capturedFromLocation");function s(o,r){const e=a();if(!e)return;const t=r.node(),i=(t&&"ownerSVGElement"in t?t.ownerSVGElement:null)??t,c=(i==null?void 0:i.id)??"(unknown)";e.mermaidCapturedSizes??(e.mermaidCapturedSizes=[]);const u={svgId:c,sizes:o};e.mermaidCapturedSizes.push(u),e.mermaidLastCapturedSizes=u}n(s,"emitCapturedSizes");function l(o,r){const e=[];for(const t of r.nodes)t.isGroup||e.push({id:t.id,width:t.width??0,height:t.height??0});e.length!==0&&s({metadata:{captureVersion:p,capturedAt:new Date().toISOString(),capturedFrom:d()},nodes:e},o)}n(l,"captureNodeSizes");export{l as captureNodeSizes,m as shouldCaptureSizes}; diff --git a/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-D97-90Mt.js b/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-B-xg4vQW.js similarity index 96% rename from veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-D97-90Mt.js rename to veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-B-xg4vQW.js index 9cd4dda73..e83a7531d 100644 --- a/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-D97-90Mt.js +++ b/veadk/webui/assets/visualizations/mermaid/stateDiagram-OKZ733FA-B-xg4vQW.js @@ -1 +1 @@ -import{b as R,s as W,S as N}from"./chunk-5RXB4S5H-1IWafkh5.js";import{a as f,Y as t,at as S,B as P,x as z,aq as U,G as _,a9 as C,ba as F}from"./mermaid.core-OQ-NoIeH.js";import{ad as H}from"../../app/index-Bj9lylJf.js";import{G as O}from"../../chunks/graph-Dqkl27Ch.js";import{l as J}from"../../chunks/layout-B6FSD_Du.js";import"./chunk-XXDRQBXY-Du2hH_W_.js";import"./chunk-KBJHAD2P-svjqEuWZ.js";import"./chunk-2GRJ4B5K-B2asRype.js";import"../../chunks/map-8WAJQ6ap.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),Y=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),D=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
    ");p=p.replace(/\n/g,"
    ");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&Y(n),i.type==="default"&&i.descriptions.length===0&&D(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(_),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},pt={parser:W,get db(){return new N(1)},renderer:it,styles:R,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{pt as diagram}; +import{b as R,s as W,S as N}from"./chunk-5RXB4S5H-B8NYulM6.js";import{a as f,Y as t,at as S,B as P,x as z,aq as U,G as _,a9 as C,ba as F}from"./mermaid.core-DAX2QfGO.js";import{ad as H}from"../../app/index-sh8QRNzm.js";import{G as O}from"../../chunks/graph-Dqkl27Ch.js";import{l as J}from"../../chunks/layout-B6FSD_Du.js";import"./chunk-XXDRQBXY-DqdKXcqv.js";import"./chunk-KBJHAD2P-BJQBtkor.js";import"./chunk-2GRJ4B5K-8JeziMcZ.js";import"../../chunks/map-8WAJQ6ap.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),Y=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),D=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"
    ");p=p.replace(/\n/g,"
    ");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&Y(n),i.type==="default"&&i.descriptions.length===0&&D(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(_),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},pt={parser:W,get db(){return new N(1)},renderer:it,styles:R,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{pt as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-C6zkrfcd.js b/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-C6zkrfcd.js new file mode 100644 index 000000000..b882650df --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-C6zkrfcd.js @@ -0,0 +1 @@ +import{b as r,a as e,s as a,S as s}from"./chunk-5RXB4S5H-B8NYulM6.js";import{a as i}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import"./chunk-XXDRQBXY-DqdKXcqv.js";import"./chunk-KBJHAD2P-BJQBtkor.js";import"./chunk-2GRJ4B5K-8JeziMcZ.js";var _={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{_ as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js b/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js deleted file mode 100644 index 3b652f5ac..000000000 --- a/veadk/webui/assets/visualizations/mermaid/stateDiagram-v2-UEYNNEHI-Dlj3VYxr.js +++ /dev/null @@ -1 +0,0 @@ -import{b as r,a as e,s as a,S as s}from"./chunk-5RXB4S5H-1IWafkh5.js";import{a as i}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import"./chunk-XXDRQBXY-Du2hH_W_.js";import"./chunk-KBJHAD2P-svjqEuWZ.js";import"./chunk-2GRJ4B5K-B2asRype.js";var _={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{_ as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-Ct5lmjCw.js b/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-DG4EYeZk.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-Ct5lmjCw.js rename to veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-DG4EYeZk.js index 5f65b077f..a4224c7cf 100644 --- a/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-Ct5lmjCw.js +++ b/veadk/webui/assets/visualizations/mermaid/swimlanes-SLNWSIFB-DG4EYeZk.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-BaMicUYX.js","assets/visualizations/mermaid/mermaid.core-OQ-NoIeH.js","assets/app/index-Bj9lylJf.js","assets/styles/index-DWyU2bL1.css"])))=>i.map(i=>d[i]); -import{_ as Rr}from"../../app/index-Bj9lylJf.js";import{c as Nr}from"./chunk-RYQCIY6F-Cqxp3wyY.js";import{aw as Or,v as Pr,t as Br,u as kr,at as Qe,Y as _r,ag as Fr,ad as Dr,aG as Hr,ae as Xr,af as Yr,X as Gr,a6 as $r,P as zr,ba as _e,b3 as Ve,a as d,av as Po}from"./mermaid.core-OQ-NoIeH.js";import{G as Vr}from"../../chunks/graph-Dqkl27Ch.js";import"../../chunks/map-8WAJQ6ap.js";async function Xo(t,e){const n=new Vr({multigraph:!0,compound:!0}),o=[...e.edges],s=_r(),r=t.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),a=r.insert("g").attr("class","edges edgePath"),c=r.insert("g").attr("class","edgeLabels"),f=r.insert("g").attr("class","nodes"),g=new Map,p=t.node()!=null;await Promise.all(e.nodes.map(async M=>{var u;if(M.isGroup)n.setNode(M.id,{...M});else{if(p){const h=await Fr(f,M,{config:s,dir:M.dir}),l=((u=h.node())==null?void 0:u.getBBox())??{width:0,height:0};g.set(M.id,h),M.width=l.width,M.height=l.height}n.setNode(M.id,{...M})}}));for(const M of o)n.setEdge(M.start,M.end,{...M},M.id),e.edges.some(h=>h.id===M.id)||e.edges.push(M);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:M}=await Rr(async()=>{const{captureNodeSizes:u}=await import("./sizeCapture-X5ZJPWSS-BaMicUYX.js");return{captureNodeSizes:u}},__vite__mapDeps([0,1,2,3]));M(t,e)}return{graph:n,groups:{clusters:i,edgePaths:a,edgeLabels:c,nodes:f,rootGroups:r},nodeElements:g}}d(Xo,"createGraphWithElements");var Bo=5,je=1e-5,Ue=1e-6;function tn(t){const e=[];for(let n=0;n=1-Ue||M<=Ue||M>=1-Ue?null:{point:{x:t.x+p*s,y:t.y+p*r},tA:p,tB:M}}d(Yo,"segmentIntersection");function wn(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}d(wn,"isHorizontalSeg");function Go(t){const e=[];for(let n=0;n=Math.abs(n)?e>=0?1:0:n>=0?1:0}d($o,"getArcSweepFlag");var jr=.001;function zo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&Po[e.arrowTypeStart];if(o){const r=t[0],i=t[1],a=Math.atan2(i.y-r.y,i.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&Po[e.arrowTypeEnd];if(s){const r=t.length,i=t[r-2],a=t[r-1],c=Math.atan2(a.y-i.y,a.x-i.x);n[r-1].x=a.x-s*Math.cos(c),n[r-1].y=a.y-s*Math.sin(c)}return n}d(zo,"applyMarkerOffsets");function Vo(t,e,n,o,s){const r=t.point.x,i=t.point.y,a={x:r-e*t.r,y:i-n*t.r},c={x:r+e*t.r,y:i+n*t.r},f=[`L${Oe(a)}`];return s==="arc"?f.push(`A${le(t.r)},${le(t.r)} 0 0 ${o} ${Oe(c)}`):f.push(`M${Oe(c)}`),f}d(Vo,"emitJump");function An(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=n.x-e.x,a=n.y-e.y,c=Math.hypot(s,r),f=Math.hypot(i,a);if(c0){const v=An(s[f-1],s[f],s[f+1]??s[f],Bo);v&&(l=v.cutLen)}let x=p,C=null;r&&fv.t-L.t);for(const v of b)v.r=Math.min(v.r,v.d-l,x-v.d);for(let v=0;vL){const y=L/2;b[v].r=Math.min(b[v].r,y),b[v+1].r=Math.min(b[v+1].r,y)}}for(const v of b)v.r=2?o:null}catch{return null}}d(Ko,"decodeDataPoints");function qo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const f of e)s.set(f.id,f);const r=[],i=new Map;for(const f of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(f.id):f.id,p=o.querySelector(`path[data-id="${g}"]`);if(!p)continue;i.set(f.id,p);const u=Ko(p.getAttribute("data-points"))??f.points;r.push({...f,points:u})}const a=Go(r);if(a.length===0)return;const c=new Map;for(const f of a){const g=c.get(f.jumpEdgeId)??[];g.push(f),c.set(f.jumpEdgeId,g)}for(const f of r){const g=c.get(f.id);if(!g||g.length===0)continue;const p=s.get(f.id),M=p==null?void 0:p.curve;if(M!==void 0&&!Wo(M))continue;const u=i.get(f.id);if(!u)continue;if(M===void 0){const v=u.getAttribute("d")??"";if(!Uo(v))continue}const h=u.getAttribute("style")??"",l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),x=l?Number.parseFloat(l[1]):null,C=l?Number.parseFloat(l[2]):null,b=jo(f,g,n);if(u.setAttribute("d",b),x!==null&&C!==null&&typeof u.getTotalLength=="function"){const v=u.getTotalLength(),L=Math.max(0,v-x-C),y=`0 ${x} ${L} ${C}`,I=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${y};`).replace(/;\s*;+/g,";");u.setAttribute("style",I)}}}d(qo,"applyLineJumpsToSvg");async function Jo(t,e){var s,r;for(const i of t.nodes)i.isGroup?await Dr(e.clusters,i):Hr(i);const n=new Map;for(const i of t.nodes)i!=null&&i.id&&n.set(i.id,i);for(const i of t.edges){const a=i.start?n.get(i.start)??{}:{},c=i.end?n.get(i.end)??{}:{},f=Xr(e.edgePaths,{...i},{},t.type,a,c,t.diagramId);i.label&&await Yr(e.rootGroups,i),i.label&&Zo(i,f)}const o=(r=(s=t.config)==null?void 0:s.swimlane)==null?void 0:r.lineHops;if(o!==!1){const i=o==="gap"?"gap":"arc",a=t.edges.filter(c=>Array.isArray(c.points)&&c.points.length>=2).map(c=>({id:c.id,points:c.points,curve:c.curve,arrowTypeStart:c.arrowTypeStart,arrowTypeEnd:c.arrowTypeEnd}));qo(e.edgePaths,a,{enabled:!0,jumpRadius:6,jumpStyle:i})}}d(Jo,"adjustLayout");function Zo(t,e){const n=(e==null?void 0:e.updatedPath)??(e==null?void 0:e.originalPath),o=Gr(),{subGraphTitleTotalMargin:s}=$r({flowchart:o.flowchart??{}});if(t.label){const r=zr.get(t.id);let i=t.x,a=t.y;if(n){const c=_e.calcLabelPosition(n);Qe.debug("Moving label "+t.label+" from (",i,",",a,") to (",c.x,",",c.y,") abc88"),e&&(i=c.x,a=c.y)}r.attr("transform",`translate(${i}, ${a+s/2})`)}if(t!=null&&t.startLabelLeft){const r=Ve.get(t.id).startLeft;let i=t==null?void 0:t.x,a=t==null?void 0:t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.startLabelRight){const r=Ve.get(t.id).startRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelLeft){const r=Ve.get(t.id).endLeft;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelRight){const r=Ve.get(t.id).endRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}}d(Zo,"positionEdgeLabel");var vn="__swimlane_default__",Ur=21,ko=20;function Rn(t){return Math.max(t.padding??ko,ko)}d(Rn,"topLaneHorizontalPadding");function Qo(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const i=n-s/2,a=Math.min(r,n+s/2),c=Math.min(Ur,Math.max(0,a-i)),f=i+c;if(f<=i){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:i,bottom:f}}d(Qo,"assignTopLaneTitleRect");function ts(t){const e=t.direction,n=t.nodes??(t.nodes=[]);for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===vn);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:vn,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=vn}d(ts,"prepareLayoutForSwimlanes");function es(t){const e=new Map;for(const c of t.nodes??[])e.set(c.id,c);const n=[];for(const c of t.edges??[]){const f=typeof c.start=="string"?c.start:void 0,g=typeof c.end=="string"?c.end:void 0;!f||!g||c.labelNodeId||n.push({id:c.id,src:f,dst:g,ref:c})}const o=t.nodes??[],s=o.filter(c=>c.isGroup),r=o.filter(c=>!c.isGroup);return{nodes:[...[...s].reverse(),...r].map(c=>c.id),edges:n,layout:t,nodeById:e}}d(es,"toGraphView");function ns(t,e,n,o){const{layout:s}=t,r=t.nodeById,i=(o==null?void 0:o.layerGap)??100,a=(o==null?void 0:o.nodeGap)??40;let c=0;for(const M of e.layers){let u=0;for(const h of M){const l=r.get(h);if(!l){u++;continue}l.layer=c,l.order=u;const x=n.x[h]??u*a,C=n.y[h]??c*i;l.x=x,l.y=C,u++}c++}const f=s.nodes??[],g=new Map,p=[];for(const M of f){if(!(M!=null&&M.isGroup))continue;M.parentId||p.push(M);const u=f.filter(b=>b.parentId===M.id);let h=1/0,l=-1/0,x=1/0,C=-1/0;for(const b of u){const v=b.x??n.x[b.id],L=b.y??n.y[b.id],y=b.width??0,I=b.height??0;v!=null&&L!=null&&(h=Math.min(h,v-y/2),l=Math.max(l,v+y/2),x=Math.min(x,L-I/2),C=Math.max(C,L+I/2))}if(h===1/0||x===1/0)M.x=M.x??0,M.y=M.y??0,M.width=M.width??0,M.height=M.height??0;else{const b=M.padding??20,v=M.parentId?b:2*Rn(M),L=b,y=Math.max(0,l-h)+v,I=Math.max(0,C-x)+L,E=(h+l)/2,A=(x+C)/2;M.x=E,M.y=A,M.width=y,M.height=I,g.set(M.id,{minX:h,maxX:l,minY:x,maxY:C})}}if(p.length>0&&g.size>0){let M=1/0,u=-1/0,h=0;for(const l of p){const x=l.padding??20;x>h&&(h=x);const C=g.get(l.id);C&&(M=Math.min(M,C.minY),u=Math.max(u,C.maxY))}if(M!==1/0&&u!==-1/0){const l=Math.max(0,u-M),C=Math.max(h,36),b=l+2*C,v=(M+u)/2;for(const B of p)B.y=v,B.height=b,B.swimlaneContentTop=M;const L=[...p].sort((B,O)=>{const k=B.x??0,H=O.x??0;return k-H}),y=[],I=[],E=[];for(const B of L){const O=g.get(B.id);if(!O)continue;const k=Math.max(0,O.maxX-O.minX)+2*Rn(B),H=(O.minX+O.maxX)/2;y.push(B.id),I.push(H),E.push(k)}const A=y.length;if(A>0){const B=new Map;if(A===1)B.set(y[0],E[0]);else{const O=[];for(let j=0;j0&&s>0?{cx:e,cy:n,rect:Pe(e,n,o,s)}:void 0}d(co,"measuredNodeRect");function ao(t){if(t.isGroup)return;const e=co(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}d(ao,"nodeBoundsInfoFor");function ce(t,e,n=Yt){return Math.abs(t.x-e.x)n}d(Nt,"isHorizontalSegment");function Ot(t,e,n=Yt){return gt(t,e,n)&&Math.abs(t.y-e.y)>n}d(Ot,"isVerticalSegment");function Wt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}d(Wt,"overlapLength");function de(t,e,n=Yt){return t.horizontal&&e.horizontal&&yt(t.a,e.a,n)?Wt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&>(t.a,e.a,n)?Wt(t.a.y,t.b.y,e.a.y,e.b.y):0}d(de,"sameAxisSegmentOverlapLength");function Be(t,e=Yt){const n=[];for(let o=0;o0?n[n.length-1]:void 0;(!s||!ce(s,o,e))&&n.push({x:o.x,y:o.y})}return n}d(xt,"dedupeConsecutivePoints");function lo(t,e=Yt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Nt(n,o,e)&&Ot(o,s,e)&&Nt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:Ot(n,o,e)&&Nt(o,s,e)&&Ot(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}d(lo,"classifyThreeSegmentRoute");function dn(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),i=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&sn.top-o&&ie.left+n&&t.xe.top+n&&t.y=e.right&&t.top<=e.top&&t.bottom>=e.bottom}d(ss,"rectContainsRect");function en(t,e){return t.lefte.left&&t.tope.top}d(en,"rectsOverlap");function Nn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}d(Nn,"inflateRect");function Pe(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}d(Pe,"rectFromCenterSize");function te(t){var e;return(e=co(t))==null?void 0:e.rect}d(te,"rectOfNodeBounds");function Le(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}d(Le,"portForRectSide");function uo(t,e,n,o,s,r=Yt){const i=e==="left"||e==="right",a=o==="left"||o==="right";if(i&&a){if(e==="right"&&o==="left"&&t.xn.x){if(yt(t,n,r))return[t,n];const p=(t.x+n.x)/2;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}if(e===o){if(yt(t,n,r))return;const p=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}return}if(!i&&!a){if(e===o){if(gt(t,n,r))return;const M=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:M},{x:n.x,y:M},n]}if(!(e==="bottom"&&o==="top"&&t.yn.y))return;if(gt(t,n,r))return[t,n];const p=(t.y+n.y)/2;return[t,{x:t.x,y:p},{x:n.x,y:p},n]}if(i&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.xn.y;return g&&p?[t,{x:n.x,y:t.y},n]:void 0}const c=e==="bottom"&&n.y>t.y||e==="top"&&n.yn.x;return c&&f?[t,{x:t.x,y:n.y},n]:void 0}d(uo,"buildOrthogonalPortPath");function ho(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}d(ho,"buildSameSideTrackPath");function un(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=ao(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}d(un,"collectRealNodeBounds");function Me(t){const e=[],n=[];for(const o of t){const s=ao(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}d(Me,"collectNodeRectEntries");function rs(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,i=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Pe(s,r,i,a)})}return n}d(rs,"collectLayoutNodeRects");function go(t,e,n=Yt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),i=e.get(s);if(!(!r||!i))return{srcId:o,dstId:s,srcInfo:r,dstInfo:i,collinearX:Math.abs(r.cx-i.cx)h||MC)return!1;const b=Math.abs(l-g.a.x)s:r&&a&&yt(t,n,s)?Wt(t.x,e.x,n.x,o.x)>s:!1}d(is,"sameAxisSegmentsOverlap");function nn(t,e,n,o,{epsilon:s=Yt,skipDegenerateOther:r=!1}={}){for(const i of n){if(i===o||i.isLayoutOnly)continue;const a=i.points;if(!(!a||a.length<2))for(let c=0;cM+s&&hl+s&&po+Yt&&t=2?e[e.length-2]:void 0,c=(i?gt(i,s):!1)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(c)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!ce(s,o))&&n.push(o)}return n}d(on,"orthogonalizePolyline");function ue(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=as(e);if(e=o.points,!o.changed)break}return e}d(ue,"simplifyPolyline");var it=.001,Kr=.5,_o=4;function yo(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length=0&&s=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const i=ls(t[s],t[r],e);return n?[i,...t.slice(s)]:[...t.slice(0,s+1),i]}d(Pn,"clipEndpoint");function fs(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=Pn(s,o.srcRect,!0)),o.dstRect&&(s=Pn(s,o.dstRect,!1)),s=ue(on(s)),s=po(s,o.srcRect,o.dstRect),o.edge.points=ue(on(s))}}d(fs,"clipEdgeEndpointsToNodeBoundaries");function Bn(t,e,n,o=!1){if(yt(t,e,it)){if(e.yn.bottom+it)return e;if(o){if(t.xn.right+it)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(gt(t,e,it)){if(e.xn.right+it)return e;if(o){if(t.yn.bottom+it)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}d(Bn,"snapEndpointToBoundary");function sn(t,e,n){const o=t[e];for(let s=e+n;s>=0&&so.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}d(ds,"intersectRanges");function _n(t,e){return e==="left"||e==="right"?rn(t.top,t.bottom):rn(t.left,t.right)}d(_n,"clearanceRangeForSide");function cn(t,e,n){const o=t.y>=n.top-it&&t.y<=n.bottom+it,s=t.x>=n.left-it&&t.x<=n.right+it;if(yt(t,e,it)&&o){if(Math.abs(t.x-n.left)0?ds(r):void 0}d(us,"straightClearanceRange");function Fn(t,e,n,o,s){const r=us(t,e,n,o,s);if(!r)return;const i=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,i));if(!(Math.abs(a-i)({...a}));for(let a=e;a>=0&&a=n.left-it&&Math.max(t.x,e.x)<=n.right+it,s=Math.min(t.y,e.y)>=n.top-it&&Math.max(t.y,e.y)<=n.bottom+it;if(Math.abs(t.y-n.top)o.bottom+it;case"left":return yt(e,n,it)&&n.xo.right+it}}d(Xn,"leavesOutward");function Yn(t,e,n){if(t.length<3)return t;if(n){const r=Hn(t[0],t[1],e);return r&&Xn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=Hn(t[o-1],t[o],e);return s&&Xn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}d(Yn,"collapseOwnBorderStub");function ms(t,e,n){let o=t;if(e){const r=sn(o,0,1);if(r){const i=Bn(r,o[0],e);i!==o[0]&&(o=[i,...o.slice(1)])}o=Yn(o,e,!0)}if(n){const r=o.length-1,i=sn(o,r,-1);if(i){const a=Bn(i,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Yn(o,n,!1)}const s=po(o,e,n);return s!==o||o.length===2?s:(e&&(o=Dn(o,e,!0)),n&&(o=Dn(o,n,!1)),o)}d(ms,"snapAndCollapseEndpoints");function Gn(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;const s=xt(o.points,it),r=ms(s,o.srcRect,o.dstRect);if(r.length<3){o.edge.points=r;continue}const i=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];o.edge.points=i}}d(Gn,"prepareEdgeEndpointsForRenderer");function xo(t){return new Map(t.map(e=>[e.id,e]))}d(xo,"buildNodeMap");function ys(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!(s!=null&&s.isGroup))break;o=s.id,n=s.parentId}return o}d(ys,"resolveTopLevelGroupId");function $n(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!(s!=null&&s.isGroup))break;n++,o=s.parentId}return n}d($n,"groupDepth");function bo(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const i=r.x,a=r.y;if(typeof i!="number"||typeof a!="number")continue;const c=r.width??0,f=r.height??0;e=Math.min(e,i-c/2),n=Math.max(n,i+c/2),o=Math.min(o,a-f/2),s=Math.max(s,a+f/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}d(bo,"boundsForChildren");function ps(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}d(ps,"applyGroupBounds");function xs(t){const e=xo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>$n(s,e)-$n(o,e));for(const o of n){const s=t.filter(i=>i.parentId===o.id),r=bo(s);r&&ps(o,r)}}d(xs,"recomputeNestedGroupBounds");function an(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(c=>!c.isGroup);let r=1/0,i=-1/0;for(const c of s){const f=c[e];typeof f=="number"&&(r=Math.min(r,f),i=Math.max(i,f))}if(!Number.isFinite(r)||!Number.isFinite(i))return!1;const a=d(c=>r+i-c,"mirror");for(const c of n){const f=c[e];typeof f=="number"&&(c[e]=a(f));const g=c.groupTitleRect;g&&(c.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const c of o)for(const f of c.points??[])f[e]=a(f[e]);return!0}d(an,"mirrorAxis");function bs(t){return(t.nodes??[]).some(n=>!n.isGroup)?an(t,"y"):!0}d(bs,"applyBtDirectionTransform");function Ms(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(P=>!P.isGroup);let r=1/0,i=1/0;for(const P of s){const G=P.x??0,j=P.y??0;G0?Math.max(1,g/p):1;for(const P of s){const G=P.x??0,tt=((P.y??0)-i)*M+a,ft=G-r;P.x=tt,P.y=ft}for(const P of o)if(P.points)for(const G of P.points){const j=G.x,ft=(G.y-i)*M+a,Mt=j-r;G.x=ft,G.y=Mt}xs(n);const u=n.filter(P=>P.isGroup&&!P.parentId);if(u.length===0)return e==="RL"&&an(t,"x"),!0;const h=xo(n),l=new Map;for(const P of n){if(P.isGroup)continue;const G=ys(P,h);if(!G)continue;const j=l.get(G)??[];j.push(P),l.set(G,j)}let x=0;for(const P of u){const G=P.padding??0;G>x&&(x=G)}const C=[];let b=1/0,v=-1/0;for(const P of u){const G=l.get(P.id)??[],j=bo(G);j&&(b=Math.min(b,j.minX),v=Math.max(v,j.maxX),C.push({lane:P,contentTop:j.minY,contentBottom:j.maxY,centerY:(j.minY+j.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const L=Math.max(0,v-b),y=Math.max(x,10),I=L+2*y,E=a+I,O=(b+v)/2-I/2-a,k=O+E/2,H=Math.max(x,a);C.sort((P,G)=>P.centerY-G.centerY);for(let P=0;PM.cy?C.bottom:C.top,H=M.cx+b;if(H<=C.left+ae||H>=C.right-ae)continue;v={x:H,y:k},L={x:H,y:a.y},y={x:a.x,y:a.y}}else{const k=u.cx>M.cx?C.right:C.left,H=M.cy+b;if(H<=C.top+ae||H>=C.bottom-ae)continue;v={x:k,y:H},L={x:a.x,y:H},y={x:a.x,y:a.y}}const I=ce(v,L,ae),E=ce(L,y,ae);if(I&&E||!I&&Pt(v,L,o,[g],1)||!E&&Pt(L,y,o,[p],1))continue;const A=!I&&nn(v,L,t,s,{epsilon:ae,skipDegenerateOther:!0}),B=!E&&nn(L,y,t,s,{epsilon:ae,skipDegenerateOther:!0});if(!(A||B)){I?x=[L,y]:E?x=[v,L]:x=[v,L,y];break}}x&&(s.points=x)}}d(Is,"portSwapToLShape");function Ss(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<4)continue;const f=xt(c,.001);if(f.length<4)continue;const g=f.length-1,p=f[g],M=f[g-1],u=f[g-2],h=p.x-M.x,l=p.y-M.y,x=Math.hypot(h,l);if(x>=10||x<.001)continue;const C=M.x-u.x,b=M.y-u.y;if(Math.hypot(C,b)<.001)continue;const L=Nt(M,p,.001),y=Ot(M,p,.001),I=Nt(u,M,.001),E=Ot(u,M,.001);if(!(L&&E||y&&I))continue;const A=a.end,B=a.start,O=A?e.get(A):void 0;if(!O)continue;const k=O.x??0,H=O.y??0,P=te(O);if(!P)continue;let G,j;if(E){const J=b<0;G={x:k,y:u.y},j={x:k,y:J?P.bottom:P.top}}else{const J=C>0;G={x:u.x,y:H},j={x:J?P.right:P.left,y:H}}if(Pt(G,j,r,A?[A]:[],-2)||Pt(G,j,i,[],-2))continue;if(B){const J=e.get(B),rt=J?te(J):void 0;if(rt&&fo(G,rt,2))continue}const tt=d((J,rt)=>`${J.x.toFixed(3)},${J.y.toFixed(3)}|${rt.x.toFixed(3)},${rt.y.toFixed(3)}`,"ownSegmentKey"),ft=new Set;for(let J=0;J{for(const ut of t){if(ut===a||ut.isLayoutOnly)continue;const pt=ut.points;if(!(!pt||pt.length<2))for(let St=0;St=0){const J=f[g-3],rt=[B,A].filter(ut=>!!ut);if(Pt(J,G,r,rt,-2)||Mt(J,G))continue}const Ft=[...f.slice(0,g-2),G,j];a.points=Ft;const nt=a.labelNodeId;if(nt){const J=e.get(nt);if(J){const rt=J.width??0,ut=J.height??0;if(rt>0&&ut>0){let pt,St,wt=-1;for(let Kt=0;Kt=rt+2||me&&se>=ut+2)&&se>wt&&(wt=se,pt=(qt.x+Jt.x)/2,St=(qt.y+Jt.y)/2)}pt!==void 0&&St!==void 0&&(J.x=pt,J.y=St)}}}}}d(Ss,"collapseShortTerminalStub");var et=.001,Xt=8,at=Be,Ln=d((t,e)=>gt(t,e,et)||yt(t,e,et),"orthogonallyAligned");function Cs(t,e){const s=d((u,h)=>{const l=u.x??0,x=u.y??0,C=h.x-l,b=h.y-x;let v=(u.width??0)/2,L=(u.height??0)/2;return Math.abs(b)*v>Math.abs(C)*L?(b<0&&(L=-L),{x:l+(b===0?0:L*C/b),y:x+L}):(C<0&&(v=-v),{x:l+v,y:x+(C===0?0:v*b/C)})},"rectIntersect"),r=d((u,h)=>{const l=xt(u.points??[]);if(l.length<2)return;const x=h?u.start:u.end,C=x?e.get(x):void 0,b=C?te(C):void 0;if(!C||!x||!b)return;const v=h?l[0]:l[l.length-1],L=h?l[1]:l[l.length-2],y=s(C,v);let I=v;if(Ln(L,y)&&(I=L),gt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"V",coord:y.x,min:Math.min(y.y,I.y),max:Math.max(y.y,I.y),boundary:y,railEnd:I,rect:b};if(yt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"H",coord:y.y,min:Math.min(y.x,I.x),max:Math.max(y.x,I.x),boundary:y,railEnd:I,rect:b}},"terminalLaneFor"),i=d((u,h)=>Math.max(0,Math.min(u.max,h.max)-Math.max(u.min,h.min)),"projectedOverlapLength"),a=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:u.orientation==="H"?(Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1)&>(u.boundary,h.boundary,1):(Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1)&&yt(u.boundary,h.boundary,1),"sameTerminalFace"),c=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:i(u,h)>=Xt&&Math.abs(u.coord-h.coord)<.5,"exactTerminalLaneConflict"),f=d((u,h)=>{if(u.nodeId!==h.nodeId||u.orientation!==h.orientation||u.orientation!=="H"||u.atStart===h.atStart)return!1;const l=i(u,h);if(l2*x?!1:a(u,h)&&Math.abs(u.coord-h.coord)<16},"nearTerminalLaneConflict"),g=d((u,h)=>{const l=xt(u.edge.points??[]);if(l.length<2)return;const x=u.orientation==="V"?{x:u.boundary.x+h,y:u.boundary.y}:{x:u.boundary.x,y:u.boundary.y+h},C=u.orientation==="V"?{x:u.railEnd.x+h,y:u.railEnd.y}:{x:u.railEnd.x,y:u.railEnd.y+h};if(!d(()=>Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1?yt(x,u.boundary,et)&&x.x>=u.rect.left+1&&x.x<=u.rect.right-1:Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1?gt(x,u.boundary,et)&&x.y>=u.rect.top+1&&x.y<=u.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(u.atStart){const I=l.length>1&&ce(l[1],u.railEnd,et),E=l.slice(I?2:1),A=E[0];return A&&!Ln(A,C)?void 0:[x,C,...E]}const v=l.length>1&&ce(l[l.length-2],u.railEnd,et),L=l.slice(0,v?-2:-1),y=L[L.length-1];if(!(y&&!Ln(y,C)))return[...L,C,x]},"shiftedCandidate"),p=d(u=>{const h=u.edge,l=xt(h.points??[]);if(l.length!==2)return!1;const x=h.start,C=h.end,b=x?e.get(x):void 0,v=C?e.get(C):void 0;if(!b||!v)return!1;const L=b.x??0,y=b.y??0,I=v.x??0,E=v.y??0,[A,B]=l;return yt(A,B,et)&&Math.abs(y-E)<1&&Math.abs(L-I)>1||gt(A,B,et)&&Math.abs(L-I)<1&&Math.abs(y-E)>1},"laneIsStraightCollinearConnector"),M=[-7,7,-2*7,2*7,-3*7,3*7];for(let u=0;u<8;u++){const h=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let l=!1;for(let x=0;x{const A=p(I),B=p(E);return A!==B?Number(A)-Number(B):+!E.atStart-+!I.atStart});for(const I of y){for(const E of M){const A=g(I,E);if(!A)continue;const B=r({...I.edge,points:A},I.atStart);if(!(!B||h.some(O=>O.edge!==I.edge&&(c(B,O)||L&&f(B,O))))){I.edge.points=A,l=!0;break}}if(l)break}}if(!l)return}}d(Cs,"separateSharedRenderedTerminalLanes");function vs(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=d((a,c)=>{const f=a.start,g=a.end,p=at(c);if(p.length!==c.length-1)return!1;const M=[f,g].filter(u=>!!u);for(const u of p)if(Pt(u.a,u.b,o,M,-2)||Pt(u.a,u.b,s,[],-2))return!1;for(const u of t){if(u===a||u.isLayoutOnly)continue;const h=u.points;if(!(!h||h.length<2)){for(const l of p)for(const x of at(xt(h)))if(de(l,x,.5)>=Xt||he(l.a,l.b,x.a,x.b,et))return!1}}return!0},"candidateIsSafe"),i=d((a,c)=>{if(c+4>=a.length)return;const f=a[c],g=a[c+1],p=a[c+2],M=a[c+3],u=a[c+4],h=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&>(f,M,et)&>(f,u,et)&>(g,p,et)&&(g.x-f.x)*(M.x-p.x)<0,l=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&yt(f,M,et)&&yt(f,u,et)&&yt(g,p,et)&&(g.y-f.y)*(M.y-p.y)<0;if(h||l)return xt([...a.slice(0,c+1),u,...a.slice(c+5)]);if(c+5>=a.length)return;const x=a[c+5],C=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&Ot(u,x)&>(f,u,et)&>(f,x,et)&>(p,M,et)&&(p.x-g.x)*(u.x-M.x)<0,b=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&&Nt(u,x)&&yt(f,u,et)&&yt(f,x,et)&&yt(p,M,et)&&(p.y-g.y)*(u.y-M.y)<0;if(!(!C&&!b))return xt([...a.slice(0,c+1),x,...a.slice(c+6)])},"withoutDogleg");for(let a=0;a<8;a++){let c=!1;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(let p=0;p<=g.length-5;p++){const M=i(g,p);if(!(!M||!r(f,M))){f.points=M,c=!0;break}}if(c)break}if(!c)return}}d(vs,"collapseRedundantRectangularDoglegs");function zn(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(h=>!h.isLayoutOnly),c=d((h,l,x)=>xt(h===l?x??[]:h.points??[]),"pointsFor"),f=d((h,l)=>{let x=0;for(let C=0;C{const l=at(h);if(l.length!==3)return;const x=l[1];if(!(l[0].horizontal===x.horizontal||l[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),p=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);return r.filter(C=>{if(x.includes(C.id))return!1;const b=C.rect;return l.horizontal?Wt(l.a.x,l.b.x,b.left,b.right)>=Xt&&l.a.y>=b.top-2&&l.a.y<=b.bottom+2:Wt(l.a.y,l.b.y,b.top,b.bottom)>=Xt&&l.a.x>=b.left-2&&l.a.x<=b.right+2})},"blockingRectsFor"),M=d((h,l,x)=>{const C=h.map(v=>({...v}));if(l.horizontal)C[l.index].y=x,C[l.index+1].y=x;else if(l.vertical)C[l.index].x=x,C[l.index+1].x=x;else return;const b=ue(xt(C));return at(b).length===b.length-1?b:void 0},"candidateByMovingRail"),u=d((h,l,x)=>{const C=[h.start,h.end].filter(v=>!!v),b=at(l);if(b.length!==l.length-1)return!1;for(const v of b)if(Pt(v.a,v.b,r,C,-2)||Pt(v.a,v.b,i,[],-2))return!1;for(const v of a)if(v!==h){for(const L of b)for(const y of at(c(v)))if(de(L,y,.5)>=Xt)return!1}return f(h,l)<=x},"candidateIsSafe");for(let h=0;h<8;h++){const l=f();let x=!1;for(const C of a){const b=c(C),v=g(b);if(!v)continue;const L=p(C,v.segment);if(L.length===0)continue;const y=v.horizontal?[Math.min(...L.map(I=>I.rect.top))-20,Math.max(...L.map(I=>I.rect.bottom))+20]:[Math.min(...L.map(I=>I.rect.left))-20,Math.max(...L.map(I=>I.rect.right))+20];for(const I of y){const E=M(b,v.segment,I);if(!(!E||!u(C,E,l))){C.points=E,x=!0;break}}if(x)break}if(!x)return}}d(zn,"liftObstacleHuggingSameSideRails");function Vn(t,e){const o=d(c=>{const f=c.groupTitleRect;if(!(!f||typeof f.left!="number"||typeof f.right!="number"||typeof f.top!="number"||typeof f.bottom!="number"||!Number.isFinite(f.left)||!Number.isFinite(f.right)||!Number.isFinite(f.top)||!Number.isFinite(f.bottom)||f.right<=f.left||f.bottom<=f.top))return{left:f.left,right:f.right,top:f.top,bottom:f.bottom}},"validTitleRect"),s=d(c=>{if(!c.isGroup||c.parentId)return;const f=c.direction,g=typeof f=="string"?f.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const p=o(c),M=c.y,u=c.height;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(l<=0||h{if(!c.horizontal)return!1;const g=c.a.y;return g<=f.top+et||g>=f.bottom-et?!1:Wt(c.a.x,c.b.x,f.left,f.right)>=Xt},"horizontalSegmentIntersectsTitle"),i=[...e.values()].map(s).filter(c=>!!c);if(i.length===0)return;let a=0;for(const c of t){if(c.isLayoutOnly)continue;const f=xt(c.points??[]);for(const g of at(f))for(const p of i)r(g,p.rect)&&(a=Math.max(a,p.rect.bottom-g.a.y+4))}if(!(a<=et))for(const c of i){const f=c.node.y,g=c.node.height;typeof f!="number"||typeof g!="number"||!Number.isFinite(f)||!Number.isFinite(g)||g<=0||(c.node.y=f-a/2,c.node.height=g+a,c.node.groupTitleRect={...c.rect,top:c.rect.top-a,bottom:c.rect.bottom-a})}}d(Vn,"liftTopLaneTitleBandsAboveRails");function jn(t,e){const o=d(f=>{const g=f.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=d(f=>{if(!f.isGroup||f.parentId||f.direction!=="LR")return;const p=o(f),M=f.x,u=f.width;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(h<=0||l{if(!f.vertical)return!1;const p=f.a.x;return p<=g.left+et||p>=g.right-et?!1:Wt(f.a.y,f.b.y,g.top,g.bottom)>=Xt},"verticalSegmentIntersectsTitle"),i=d((f,g)=>{if(!f.horizontal)return!1;const p=f.a.y;return p<=g.top+et||p>=g.bottom-et?!1:Wt(f.a.x,f.b.x,g.left,g.right)>=Xt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(f=>!!f);if(a.length===0)return;let c=0;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(const p of at(g))for(const M of a)if(r(p,M.rect))c=Math.max(c,M.rect.right-p.a.x+4);else if(i(p,M.rect)){const u=Math.min(p.a.x,p.b.x);c=Math.max(c,M.rect.right-u+4)}}if(!(c<=et))for(const f of a){const g=f.node.x,p=f.node.width;typeof g!="number"||typeof p!="number"||!Number.isFinite(g)||!Number.isFinite(p)||p<=0||(f.node.x=g-c/2,f.node.width=p+c,f.node.groupTitleRect={...f.rect,left:f.rect.left-c,right:f.rect.right-c})}}d(jn,"shiftLeftLaneTitleBandsLeftOfRails");function Ls(t,e){const{realNodeRects:o}=Me(e.values()),s=t.filter(h=>!h.isLayoutOnly),r=d((h,l=new Map)=>xt(l.get(h)??h.points??[]),"replacementPointsFor"),i=d((h=new Map)=>{let l=0;for(let x=0;xs.reduce((l,x)=>l+oe(r(x,h)),0),"totalBends"),c=d(h=>{const l=r(h);if(l.length<4)return;const x=l[l.length-2],C=l[l.length-1];if(!(!Nt(x,C,et)&&!Ot(x,C,et)))return{tailStart:x,terminal:C}},"terminalTailFor"),f=d((h,l)=>{const x=r(h);if(x.length<3)return;const C=x[0],b=x[1];let v;if(Nt(C,b,et))v={x:b.x,y:l.tailStart.y};else if(Ot(C,b,et))v={x:l.tailStart.x,y:b.y};else return;const L=ue(xt([C,b,v,l.tailStart,l.terminal]));return at(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);for(const C of at(l))if(Pt(C.a,C.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),p=d((h,l,x)=>{for(const C of s)if(C!==h){for(const b of at(l))for(const v of at(r(C,x)))if(de(b,v,.5)>=Xt)return!0}return!1},"pathHasSharedTrack"),M=d((h,l,x)=>!g(h,l)&&!p(h,l,x),"candidateIsSafe"),u=d(()=>{const h=new Map;for(const l of s){const x=l.end;if(!x||!e.has(x)||r(l).length<4)continue;const b=h.get(x)??[];b.push(l),h.set(x,b)}return h},"edgesByDestination");for(let h=0;h<4;h++){const l=i();if(l===0)return;const x=a();let C,b=l,v=x;for(const L of u().values())for(let y=0;y=l||G>b||G===b&&j>=v||(C=P,b=G,v=j)}if(!C)return;for(const[L,y]of C)L.points=y}}d(Ls,"swapDestinationTerminalTailsToReduceCrossings");function Es(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(L=>!L.isLayoutOnly),c=d((L,y=new Map)=>xt(y.get(L)??L.points??[]),"replacementPointsFor"),f=d((L=new Map)=>{let y=0;for(let I=0;Ia.reduce((y,I)=>y+oe(c(I,L)),0),"totalBends"),p=d(L=>{const y=L.start,I=L.end,E=y?e.get(y):void 0,A=I?e.get(I):void 0,B=E?te(E):void 0,O=A?te(A):void 0;return B&&O?{src:B,dst:O}:void 0},"endpointRectsFor"),M=d((L,y,I)=>{if(I.index<=0||I.index+1>=y.length-1)return;const E=p(L);if(E){if(I.vertical){const A=I.a.x,B=Math.min(E.src.left,E.dst.left),O=Math.max(E.src.right,E.dst.right),k=AO+et?"right":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"vertical",side:k,coord:A,min:Math.min(I.a.y,I.b.y),max:Math.max(I.a.y,I.b.y)}:void 0}if(I.horizontal){const A=I.a.y,B=Math.min(E.src.top,E.dst.top),O=Math.max(E.src.bottom,E.dst.bottom),k=AO+et?"bottom":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"horizontal",side:k,coord:A,min:Math.min(I.a.x,I.b.x),max:Math.max(I.a.x,I.b.x)}:void 0}}},"externalRailForSegment"),u=d(()=>{const L=[];for(const y of a){const I=c(y);for(const E of at(I)){const A=M(y,I,E);A&&L.push(A)}}return L},"collectExternalRails"),h=d((L,y)=>L.edge!==y.edge&&L.axis===y.axis&&L.side===y.side&&Wt(L.min,L.max,y.min,y.max)>=Xt,"railsInteract"),l=d(L=>{const y=[],I=new Set;for(const E of L){if(I.has(E))continue;const A=[E],B=[];for(I.add(E);A.length>0;){const O=A.pop();B.push(O);for(const k of L)!I.has(k)&&h(O,k)&&(I.add(k),A.push(k))}B.length>1&&y.push(B)}return y},"connectedComponents"),x=d(L=>{const y=[];for(const I of L)y.some(E=>Math.abs(E-I.coord){const y=L.map(A=>A.coord),I=x(L),E=[];if(L.length<=6){const A=new Array(I.length).fill(!1),B=[],O=d(()=>{if(B.length===L.length){B.some((k,H)=>Math.abs(k-y[H])>=et)&&E.push([...B]);return}for(const[k,H]of I.entries())A[k]||(A[k]=!0,B.push(H),O(),B.pop(),A[k]=!1)},"visit");return O(),E}for(let A=0;A{const I=new Map;for(const[A,B]of L.entries()){const O=y[A],k=I.get(B.edge)??B.points.map(H=>({x:H.x,y:H.y}));B.axis==="vertical"?(k[B.segmentIndex].x=O,k[B.segmentIndex+1].x=O):(k[B.segmentIndex].y=O,k[B.segmentIndex+1].y=O),I.set(B.edge,k)}const E=new Map;for(const[A,B]of I){const O=ue(xt(B));if(at(O).length!==O.length-1)return;E.set(A,O)}return E},"replacementsForAssignment"),v=d(L=>{for(const[y,I]of L){const E=[y.start,y.end].filter(A=>!!A);for(const A of at(I))if(Pt(A.a,A.b,r,E,-2)||Pt(A.a,A.b,i,[],-2))return!1}for(let y=0;y=Xt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const y=f();if(y===0)return;let I,E=y,A=g(),B=Number.POSITIVE_INFINITY;for(const O of l(u()))for(const k of C(O)){const H=b(O,k);if(!H||!v(H))continue;const P=f(H);if(P>=y)continue;const G=g(H),j=O.reduce((tt,ft,Mt)=>tt+Math.abs(k[Mt]-ft.coord),0);P>E||P===E&&(G>A||G===A&&j>=B)||(I=H,E=P,A=G,B=j)}if(!I)return;for(const[O,k]of I)O.points=k}}d(Es,"reassignCrossingExternalRailChannels");function Ts(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=t.filter(u=>!u.isLayoutOnly),i=d((u,h,l)=>xt(u===h?l??[]:u.points??[]),"pointsFor"),a=d(u=>at(u).reduce((h,l)=>{const x=l.a.x-l.b.x,C=l.a.y-l.b.y;return h+Math.hypot(x,C)},0),"pathLength"),c=d((u,h)=>{let l=0;for(let x=0;x{if(u.horizontal){const l=u.a.y;return(Math.abs(l-h.top)<1||Math.abs(l-h.bottom)<1)&&Wt(u.a.x,u.b.x,h.left,h.right)>=Xt}if(u.vertical){const l=u.a.x;return(Math.abs(l-h.left)<1||Math.abs(l-h.right)<1)&&Wt(u.a.y,u.b.y,h.top,h.bottom)>=Xt}return!1},"segmentRunsAlongRectBorder"),g=d(u=>{const h=[u.start,u.end].filter(x=>!!x),l=[];for(const x of h){const C=e.get(x),b=C?te(C):void 0;b&&l.push(b)}return l},"endpointRectsFor"),p=d((u,h)=>{if(h+3>=u.length)return[];const l=u[h],x=u[h+1],C=u[h+2],b=u[h+3],v=Nt(l,x,et)&&Ot(x,C,et)&&Nt(C,b,et),L=Ot(l,x,et)&&Nt(x,C,et)&&Ot(C,b,et);if(!v&&!L)return[];if(!(v?Math.sign(x.x-l.x)!==Math.sign(b.x-C.x):Math.sign(x.y-l.y)!==Math.sign(b.y-C.y)))return[];const I=gt(l,b,et)||yt(l,b,et)?[]:[{x:l.x,y:b.y},{x:b.x,y:l.y}],E=I.length===0?[[...u.slice(0,h+1),...u.slice(h+3)]]:I.map(B=>[...u.slice(0,h+1),B,...u.slice(h+3)]),A=new Set;return E.map(B=>ue(xt(B))).filter(B=>{if(at(B).length!==B.length-1||!B.some(k=>ce(k,b,et)))return!1;const O=B.map(k=>`${k.x.toFixed(3)},${k.y.toFixed(3)}`).join("|");return A.has(O)?!1:(A.add(O),!0)})},"shortcutCandidatesAt"),M=d((u,h,l)=>{const x=[u.start,u.end].filter(b=>!!b),C=g(u);for(const b of at(h))if(Pt(b.a,b.b,o,x,-2)||Pt(b.a,b.b,s,[],-2)||C.some(v=>f(b,v)))return!1;for(const b of r)if(b!==u){for(const v of at(h))for(const L of at(i(b)))if(de(v,L,.5)>=Xt)return!1}return c(u,h)<=l},"candidateIsSafe");for(let u=0;u<8;u++){const h=c();let l,x,C=h,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const L of r){const y=i(L),I=oe(y,et),E=a(y);for(let A=0;A<=y.length-4;A++)for(const B of p(y,A)){const O=oe(B,et),k=a(B);if(!(OC||P===C&&(O>b||O===b&&k>=v)||(l=L,x=B,C=P,b=O,v=k)}}if(!l||!x)return;l.points=x}}d(Ts,"shortcutRedundantOrthogonalJogs");function ws(t,e){const i=[];for(const R of e.values()){if(R.isGroup||R.isEdgeLabel)continue;const _=R.x??0,F=R.y??0,V=te(R);V&&i.push({id:String(R.id??""),cx:_,cy:F,rect:V})}if(i.length===0)return;const a=new Map(i.map(R=>[R.id,R])),c=i.map(R=>({id:R.id,rect:R.rect})),f=["top","bottom","left","right"],g={top:Math.min(...i.map(R=>R.rect.top))-20,bottom:Math.max(...i.map(R=>R.rect.bottom))+20,left:Math.min(...i.map(R=>R.rect.left))-20,right:Math.max(...i.map(R=>R.rect.right))+20},p=t.filter(R=>!R.isLayoutOnly),M=new Map(p.map((R,_)=>[R,_])),u=d(R=>{const _=R==="left"||R==="top"?-1:1,F=[];for(let V=0;V<=2;V++)F.push(g[R]+_*20*V);return F},"outwardTracksForSide"),h=d((R,_=new Map)=>xt(_.get(R)??R.points??[]),"replacementPointsFor"),l=d((R,_)=>{let F=0;for(const V of R)for(const K of _)he(V.a,V.b,K.a,K.b,et)&&F++;return F},"crossingCountBetweenSegments"),x=d((R,_)=>l(at(R),at(_)),"crossingCountBetweenPaths"),C=d((R=new Map)=>{let _=0;const F=[],V=new Set,K=[],Z=d(Y=>{V.has(Y)||(V.add(Y),K.push(Y))},"addEdge");for(let Y=0;Y0&&(_+=T,F.push({first:q,second:w,count:T}),Z(q),Z(w))}}return K.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),{count:_,pairs:F,edgeSet:V,edges:K}},"crossingSnapshot"),b=d((R,_)=>{const F=new Set(_.keys());if(F.size===0)return R.count;let V=0;for(const Z of R.pairs)(F.has(Z.first)||F.has(Z.second))&&(V+=Z.count);let K=0;for(let Z=0;Z{const _=new Map;for(const K of R.pairs){const Z=_.get(K.first)??new Set;Z.add(K.second),_.set(K.first,Z);const Y=_.get(K.second)??new Set;Y.add(K.first),_.set(K.second,Y)}const F=[],V=new Set;for(const K of R.edges){if(V.has(K))continue;const Z=[K],Y=[];for(V.add(K);Z.length>0;){const q=Z.pop();Y.push(q);for(const m of _.get(q)??[])V.has(m)||(V.add(m),Z.push(m))}Y.sort((q,m)=>(M.get(q)??0)-(M.get(m)??0)),Y.length>1&&F.push(Y)}return F},"crossingComponents"),L=d(R=>[R.start,R.end].filter(_=>!!_),"endpointIdsFor"),y=d(R=>{const _=[];for(const F of v(R)){const V=new Set(F),K=new Set(F.flatMap(Y=>L(Y))),Z=[...F];for(const Y of p)V.has(Y)||L(Y).some(q=>K.has(q))&&Z.push(Y);Z.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),_.push(Z)}return _},"pairSearchGroups"),I=d((R,_,F)=>b(R,new Map([[_,F]])),"crossingCountWithSingleReplacement"),E=d(R=>{const _=new Map;for(const F of R.pairs)_.set(F.first,(_.get(F.first)??0)+F.count),_.set(F.second,(_.get(F.second)??0)+F.count);return _},"currentCrossingsByEdge"),A=d(R=>R.slice(1).reduce((_,F,V)=>{const K=R[V];return _+Math.abs(F.x-K.x)+Math.abs(F.y-K.y)},0),"pathLength"),B=d((R=new Map)=>p.reduce((_,F)=>_+oe(h(F,R)),0),"totalBends"),O=d((R=new Map)=>p.reduce((_,F)=>_+A(h(F,R)),0),"totalLength"),k=d((R,_,F=new Map)=>{const V=at(_);for(const K of p)if(K!==R){for(const Z of V)for(const Y of at(h(K,F)))if(de(Z,Y,.5)>=Xt)return!0}return!1},"pathHasSegmentConflict"),H=d((R,_)=>{const F=[R.start,R.end].filter(V=>!!V);for(const V of at(_))if(Pt(V.a,V.b,c,F,-2))return!0;return!1},"pathHitsNode"),P=d((R,_)=>{const F=ue(xt(_));at(F).length===F.length-1&&R.push(F)},"pushOrthogonalCandidate"),G=d(R=>R==="left"||R==="right","sideIsHorizontal"),j=d((R,_,F)=>{switch(_){case"left":return Math.min(R.x,F.x)-20;case"right":return Math.max(R.x,F.x)+20;case"top":return Math.min(R.y,F.y)-20;case"bottom":return Math.max(R.y,F.y)+20}},"localTrackForSameSide"),tt=d((R,_,F,V)=>{const K=F==="left"||F==="top"?-1:1,Z=[j(_,F,V),g[F]];for(const Y of Z)for(let q=0;q<=2;q++)P(R,ho(_,F,V,Y+K*20*q))},"addSameSideCandidates"),ft=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:Z,y:_.y},{x:Z,y:Y},{x:V.x,y:Y},V])},"addHorizontalToVerticalCandidates"),Mt=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:_.x,y:Z},{x:Y,y:Z},{x:Y,y:V.y},V])},"addVerticalToHorizontalCandidates"),Ht=d((R,_,F,V,K)=>{const Z=[...u("top"),...u("bottom")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:Y,y:_.y},{x:Y,y:m},{x:q,y:m},{x:q,y:V.y},V])},"addHorizontalPairCandidates"),Ft=d((R,_,F,V,K)=>{const Z=[...u("left"),...u("right")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:_.x,y:Y},{x:m,y:Y},{x:m,y:q},{x:V.x,y:q},V])},"addVerticalPairCandidates"),nt=d(R=>{const _=new Set;return R.map(F=>xt(F)).filter(F=>{const V=F.map(K=>`${K.x.toFixed(3)},${K.y.toFixed(3)}`).join("|");return _.has(V)||F.length<2?!1:(_.add(V),!0)})},"dedupeCandidatePaths"),J=d((R,_,F,V)=>{const K=[],Z=uo(R,_,F,V,20,et);Z&&P(K,Z),_===V&&tt(K,R,_,F);const Y=G(_),q=G(V);return Y&&!q?ft(K,R,_,F,V):!Y&&q?Mt(K,R,_,F,V):Y?Ht(K,R,_,F,V):Ft(K,R,_,F,V),nt(K)},"buildCandidatesForSides"),rt=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="top"||Y==="bottom"?u(Y):Z;for(const S of K){P(R,[_,F,{x:S,y:F.y},{x:S,y:q.y},q]);for(const w of m)P(R,[_,F,{x:S,y:F.y},{x:S,y:w},{x:q.x,y:w},q])}}},"addVerticalDepartureOuterTrackCandidates"),ut=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="left"||Y==="right"?u(Y):K;for(const S of Z){P(R,[_,F,{x:F.x,y:S},{x:q.x,y:S},q]);for(const w of m)P(R,[_,F,{x:F.x,y:S},{x:w,y:S},{x:w,y:q.y},q])}}},"addHorizontalDepartureOuterTrackCandidates"),pt=d(R=>{const _=R.start,F=R.end,V=F?a.get(F):void 0;if(!_||!V)return[];const K=xt(R.points??[]);if(K.length<4)return[];const Z=K[0],Y=K[1],q=[];return Ot(Z,Y,et)?rt(q,Z,Y,V):Nt(Z,Y,et)&&ut(q,Z,Y,V),q},"terminalPreservingOuterTrackCandidates"),St=d(R=>{const _=R.start,F=R.end,V=_?a.get(_):void 0,K=F?a.get(F):void 0;if(!V||!K)return[];const Z=[];for(const Y of f){const q=Le(V,Y);for(const m of f)Z.push(...J(q,Y,Le(K,m),m))}return Z.push(...pt(R)),Z},"candidatePathsFor"),wt=d(()=>new Map(p.map(R=>[R,at(h(R))])),"currentSegmentsByEdge"),Kt=d((R,_,F)=>{const V=new Set;for(const K of p){if(K===R)continue;const Z=F.get(K)??at(h(K));_.some(Y=>Z.some(q=>de(Y,q,.5)>=Xt))&&V.add(K)}return V},"sharedTrackConflictsFor"),qt=d((R,_,F,V)=>{const K=new Set;return St(R).map(Y=>ue(xt(Y))).filter(Y=>{if(H(R,Y))return!1;const q=Y.map(m=>`${m.x.toFixed(3)},${m.y.toFixed(3)}`).join("|");return K.has(q)||Y.length<2?!1:(K.add(q),!0)}).map(Y=>{const q=at(Y);let m=0;for(const S of p)S!==R&&(m+=l(q,F.get(S)??at(h(S))));return{candidate:Y,candidateSegments:q,crossings:_.count-(V.get(R)??0)+m,bends:oe(Y,et),totalBends:oe(Y),length:A(Y)}}).filter(({crossings:Y})=>Y<=_.count).sort((Y,q)=>Y.crossings-q.crossings||Y.bends-q.bends||Y.length-q.length).slice(0,48).map(Y=>({path:Y.candidate,segments:Y.candidateSegments,sharedTrackConflicts:Kt(R,Y.candidateSegments,F),totalBends:Y.totalBends,length:Y.length}))},"pairCandidatesFor"),Jt=d((R,_,F,V,K,Z)=>{let Y=0;for(const m of R.pairs)(m.first===_||m.second===_||m.first===V||m.second===V)&&(Y+=m.count);let q=l(F.segments,K.segments);for(const m of p){if(m===_||m===V)continue;const S=Z.get(m)??at(h(m));q+=l(F.segments,S)+l(K.segments,S)}return R.count-Y+q},"pairCrossingCount"),se=d((R,_)=>{for(const F of R.sharedTrackConflicts)if(F!==_)return!1;return!0},"conflictsOnlyWith"),Ee=d((R,_)=>R.segments.some(F=>_.segments.some(V=>de(F,V,.5)>=Xt)),"candidatesShareTrack"),me=d((R,_,F,V)=>se(_,F.edge)&&se(V,R.edge)&&!Ee(_,V),"pairCandidatesAreCompatible"),Te=d((R,_,F,V,K)=>{const Z=Jt(R.current,_.edge,F,V.edge,K,R.baseSegments);if(!(Z>=R.current.count))return{replacements:new Map([[_.edge,F.path],[V.edge,K.path]]),crossings:Z,bends:R.currentBends-(R.baseBendsByEdge.get(_.edge)??0)-(R.baseBendsByEdge.get(V.edge)??0)+F.totalBends+K.totalBends,length:R.currentLength-(R.baseLengthByEdge.get(_.edge)??0)-(R.baseLengthByEdge.get(V.edge)??0)+F.length+K.length}},"scorePairReplacement"),mn=d((R,_)=>R.crossings<_.crossings||R.crossings===_.crossings&&(R.bends<_.bends||R.bends===_.bends&&R.length<_.length),"pairScoreIsBetter"),yn=d((R,_,F,V)=>{let K=V;for(const Z of _.candidates)for(const Y of F.candidates){if(!me(_,Z,F,Y))continue;const q=Te(R,_,Z,F,Y);q&&mn(q,K)&&(K=q)}return K},"bestScoreForOptionPair"),pn=d(R=>{const _=B(),F=O(),V=wt(),K=E(R),Z=new Map(p.map(T=>[T,oe(h(T))])),Y=new Map(p.map(T=>[T,A(h(T))])),q=new Map,m=y(R);for(const T of m)for(const N of T){if(q.has(N))continue;const D=qt(N,R,V,K);D.length>0&&q.set(N,{edge:N,candidates:D})}let S={replacements:new Map,crossings:R.count,bends:_,length:F};const w={current:R,currentBends:_,currentLength:F,baseBendsByEdge:Z,baseLengthByEdge:Y,baseSegments:V};for(const T of m){const N=new Set(T.filter(W=>R.edgeSet.has(W))),D=T.map(W=>q.get(W)).filter(W=>!!W);for(let W=0;W0?S.replacements:void 0},"bestPairedReplacement");for(let R=0;R<4;R++){const _=C(),F=_.count;if(F===0)return;let V,K,Z=F,Y=Number.POSITIVE_INFINITY;for(const m of _.edges){const S=oe(h(m),et);for(const w of St(m)){const T=H(m,w),N=!T&&k(m,w),D=I(_,m,w),W=oe(w,et);T||N||!(DZ||D===Z&&W>=Y||(V=m,K=w,Z=D,Y=W)}}if(V&&K){V.points=K;continue}const q=pn(_);if(!q)return;for(const[m,S]of q)m.points=S}}d(ws,"resolveRenderedOrthogonalCrossings");var be=.001,Zr=8;function As(t,e){const{nodeInfoById:n,realNodeRects:o}=un(e),s=["top","bottom","left","right"],r=20,i={top:Math.min(...o.map(l=>l.rect.top))-r,bottom:Math.max(...o.map(l=>l.rect.bottom))+r,left:Math.min(...o.map(l=>l.rect.left))-r,right:Math.max(...o.map(l=>l.rect.right))+r},a=d((l,x,C,b)=>{const v=[],L=uo(l,x,C,b,r,be);return L&&v.push(L),x===b&&v.push(ho(l,x,C,i[x])),v},"buildOrthogonalPathCandidates"),c=d((l,x)=>{for(let C=0;C{let b=0;const v=Be(l,be),L=x.start,y=x.end;for(const I of t){if(I===x||I.isLayoutOnly)continue;const E=I.start,A=I.end;if(!C&&L&&y&&(E===L||E===y||A===L||A===y))continue;const B=I.points;if(!(!B||B.length<2))for(const O of v)for(const k of Be(B,be)){if(mo(O.a,O.b,k.a,k.b,be,be)){b++;continue}de(O,k,be)>=Zr&&b++}}return b},"pathConflictCount"),g=4,p=d((l,x)=>{const C=Math.abs(l.y-x.rect.top),b=Math.abs(l.y-x.rect.bottom),v=Math.abs(l.x-x.rect.left),L=Math.abs(l.x-x.rect.right);let y="top",I=C;return b{const b=M.get(l)??[];b.push({side:x,edgeId:C}),M.set(l,b)},"addFaceClaim");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points??[];if(x.length<1)continue;const C=l.id??"",b=l.start,v=l.end;if(b){const L=n.get(b);L&&u(b,p(x[0],L),C)}if(v){const L=n.get(v);L&&u(v,p(x[x.length-1],L),C)}}const h=d((l,x,C)=>{var b;return((b=M.get(l))==null?void 0:b.some(v=>v.edgeId!==C&&v.side===x))??!1},"faceIsClaimed");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points;if(!x||x.length<2)continue;const C=oe(x,be);if(C0){const Mt=f(tt,l,!0);if(Mt>O||Mt===O&&ft>=k)continue;O=Mt,k=ft,B=tt;continue}f(tt,l)>A||ftG.edgeId!==I));const P=M.get(v);P&&M.set(v,P.filter(G=>G.edgeId!==I)),u(b,p(B[0],L),I),u(v,p(B[B.length-1],y),I)}}}d(As,"simplifyDetouredEdges");var Qt=.001,Fo=10,Ke=7;function Un(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const i=r.x-s.x,a=r.y-s.y;if(!(Math.abs(i)+Math.abs(a)r&&en(t,Rs(r)))}d(Wn,"labelOverlapsOwnMarker");function Je(t,e){const n=[];for(const h of t){if(h.isLayoutOnly)continue;const l=h.points;if(!(!l||l.length<2))for(let x=0;x{const x=Nn(l,r);for(const{nodeId:C,rect:b}of o)if(C!==h&&en(x,b))return!0;return!1},"labelOverlapsForeignNode"),f=d((h,l)=>{const x=Nn(l,r);for(const C of n)if(C.edgeId!==h&&dn(C.p1,C.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=d((h,l,x)=>c(h,x)||f(l,x),"labelOverlapsAnything"),p=[],M=d(h=>{for(const{id:l,rect:x}of s)if(ss(x,h))return l},"findContainingLane"),u=d((h,l)=>p.some(x=>x.labelId!==h&&en(l,x.rect)),"overlapsPlacedLabel");for(const h of t){if(h.isLayoutOnly)continue;const l=h.labelNodeId;if(!l)continue;const x=e.get(l);if(!x)continue;const C=h.points;if(!C||C.length<2)continue;const b=x.width??0,v=x.height??0;if(b<=0||v<=0)continue;const L=[];for(let nt=0;nt=Qt&&pt>=Qt||L.push({idx:nt,length:ut+pt,orientation:ut>=Qt?"horizontal":"vertical",midX:(J.x+rt.x)/2,midY:(J.y+rt.y)/2})}if(L.length===0)continue;const y=L.length>=3?L.filter(nt=>nt.idx>0&&nt.idx0?y:L,E=b>=v?"horizontal":"vertical",A=d(nt=>[...nt].sort((J,rt)=>{const ut=J.orientation===E,pt=rt.orientation===E;if(ut!==pt)return ut?-1:1;const St=J.length>=(J.orientation==="horizontal"?b:v)+2,wt=rt.length>=(rt.orientation==="horizontal"?b:v)+2;return St!==wt?St?-1:1:rt.length-J.length}),"rankSegments"),B=L[0],O=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],H=d((nt,J)=>{const rt=C[nt.idx],ut=C[nt.idx+1];return{midX:rt.x+(ut.x-rt.x)*J,midY:rt.y+(ut.y-rt.y)*J}},"anchorAtT"),P=d((nt,J,rt)=>Math.min(rt,Math.max(J,nt)),"clamp"),G=d((nt,J)=>nt.midX>=J.left-Qt&&nt.midX<=J.right+Qt&&nt.midY>=J.top-Qt&&nt.midY<=J.bottom+Qt,"pointInsideRectInclusive"),j=d(nt=>{const J=Pe(nt.midX,nt.midY,b,v),rt=M(J);if(rt)return{laneId:rt,anchor:nt,rect:J};const ut=s.find(({rect:se})=>G(nt,se));if(!ut)return;const pt=ut.rect.left+b/2+i,St=ut.rect.right-b/2-i,wt=ut.rect.top+v/2+i,Kt=ut.rect.bottom-v/2-i;if(pt>St||wt>Kt)return;const qt={midX:P(nt.midX,pt,St),midY:P(nt.midY,wt,Kt)},Jt=Pe(qt.midX,qt.midY,b,v);return G(nt,Jt)?{laneId:ut.id,anchor:qt,rect:Jt}:void 0},"placementForAnchor"),tt=d((nt,J,rt)=>nt.orientation==="horizontal"?Math.abs(J.midX-rt.x):Math.abs(J.midY-rt.y),"distanceAlongSegment"),ft=d((nt,J)=>{const ut=(nt.orientation==="horizontal"?b/2:v/2)+a;if(nt===B){const pt=C[nt.idx];if(tt(nt,J,pt)+Qt{const J=A(nt);for(const rt of J)for(const ut of k){const pt=H(rt,ut);if(!ft(rt,pt))continue;const St=j(pt);if(St&&!Wn(St.rect,C)&&!u(l,St.rect)&&!g(l,h.id,St.rect))return{laneId:St.laneId,anchor:St.anchor}}},"tryPool"),Ht=d((nt,J,rt=!1)=>{const ut=A(nt);for(const pt of ut){const St={midX:pt.midX,midY:pt.midY};if(J&&!ft(pt,St))continue;const wt=j(St);if(wt&&!Wn(wt.rect,C)&&!u(l,wt.rect)&&!c(l,wt.rect)&&(rt||!f(h.id,wt.rect)))return{laneId:wt.laneId,anchor:wt.anchor}}},"findLaneContainingFallback"),Ft=Mt(I)??(I.lengthrt.labelId===l);J>=0?p[J]={labelId:l,rect:nt}:p.push({labelId:l,rect:nt})}}}d(Je,"anchorLabelsToPolyline");var En=1e-6,Qr=8,Do=Qr/2,ti=3;function Kn(t,e){return t{const g=Kn(a,c);let p=0;const M=d(u=>{if(!u)return;const h=s.get(u);if(!h)return;const l=f==="x"?h.w/2:h.h/2;l>p&&(p=l)},"consider");M(i.labelNodeId);for(const u of t){if(u===i||u.isLayoutOnly)continue;const h=u.start,l=u.end;!h||!l||Kn(h,l)===g&&M(u.labelNodeId)}return p>0?p+ti:0},"labelClearanceFor");for(const i of t){if(i.isLayoutOnly)continue;const a=i.points;if(!lo(a,En))continue;const c=go(i,n,En);if(!c)continue;const{srcId:f,dstId:g,srcInfo:p,dstInfo:M,collinearX:u,collinearY:h}=c;if(u===h)continue;let l,x;if(u){const y=M.cy>p.cy;l={x:p.cx,y:y?p.rect.bottom:p.rect.top},x={x:M.cx,y:y?M.rect.top:M.rect.bottom}}else{const y=M.cx>p.cx;l={x:y?p.rect.right:p.rect.left,y:p.cy},x={x:y?M.rect.left:M.rect.right,y:M.cy}}if(Pt(l,x,o,[f,g],1))continue;const b=r(i,f,g,u?"x":"y"),v=b>Do?b:Do,L=[0,v,-v];for(const y of L){const I={...l},E={...x};if(u){if(I.x+=y,E.x+=y,I.x<=p.rect.left||I.x>=p.rect.right||E.x<=M.rect.left||E.x>=M.rect.right)continue}else if(I.y+=y,E.y+=y,I.y<=p.rect.top||I.y>=p.rect.bottom||E.y<=M.rect.top||E.y>=M.rect.bottom)continue;if(!Pt(I,E,o,[f,g],1)&&!nn(I,E,t,i,{epsilon:En})){i.points=[I,E];break}}}}d(Ns,"straightenCollinearSiblingDetours");function qn(t,e){const{realNodeRects:c,labelNodeRects:f}=Me(e.values()),g=d((y,I)=>Be(I,.001).map(E=>({...E,edge:y,interior:E.index>=1&&E.index<=I.length-3})),"segmentsFor"),p=d(()=>{const y=[];for(const I of t){if(I.isLayoutOnly)continue;const E=I.points;!E||E.length<2||y.push(...g(I,xt(E)))}return y},"allSegments"),M=d((y,I)=>y.horizontal&&I.horizontal?Wt(y.a.x,y.b.x,I.a.x,I.b.x)>=8&&Math.abs(y.a.y-I.a.y)<7:y.vertical&&I.vertical?Wt(y.a.y,y.b.y,I.a.y,I.b.y)>=8&&Math.abs(y.a.x-I.a.x)<7:!1,"hasCrowdedParallelTrack"),u=d((y,I)=>{const E=y.start,A=y.end,B=g(y,I);if(B.length!==I.length-1)return!1;const O=[E,A].filter(H=>!!H),k=y.labelNodeId?[y.labelNodeId]:[];for(const H of B)if(Pt(H.a,H.b,c,O,-2)||Pt(H.a,H.b,f,k,-2))return!1;for(const H of t){if(H===y||H.isLayoutOnly)continue;const P=H.points;if(!(!P||P.length<2)){for(const G of B)for(const j of g(H,xt(P)))if(M(G,j)||he(G.a,G.b,j.a,j.b,.001))return!1}}return!0},"candidateIsSafe"),h=d((y,I)=>{const E=xt(y.edge.points??[]);if(E.length<4||y.index>=E.length-1)return;const A=E.map(B=>({...B}));if(y.horizontal)A[y.index].y+=I,A[y.index+1].y+=I;else if(y.vertical)A[y.index].x+=I,A[y.index+1].x+=I;else return;return g(y.edge,A).length===A.length-1?A:void 0},"shiftedCandidate"),l=d((y,I)=>({x:y.x??(I.left+I.right)/2,y:y.y??(I.top+I.bottom)/2}),"nodeCenter"),x=d(y=>{const I=y.edge,E=xt(I.points??[]);if(E.length!==4||y.index!==1)return;const A=I.start?e.get(I.start):void 0,B=I.end?e.get(I.end):void 0,O=A?te(A):void 0,k=B?te(B):void 0,H=E.slice(y.index+2);if(!(!A||!B||!O||!k||H.length===0))return{sourceCenter:l(A,O),targetCenter:l(B,k),sourceRect:O,tail:H}},"sourceDetourContextFor"),C=d((y,I,E,A,B,O)=>{const k=A.y>=E.y,H=k?B.bottom:B.top,P=H+(k?20:-20);if(k&&y.b.y<=P+.001||!k&&y.b.y>=P-.001)return;const G=y.a.x+I;return xt([{x:E.x,y:H},{x:E.x,y:P},{x:G,y:P},{x:G,y:y.b.y},...O],.001)},"verticalSourceDetour"),b=d((y,I,E,A,B,O)=>{const k=A.x>=E.x,H=k?B.right:B.left,P=H+(k?20:-20);if(k&&y.b.x<=P+.001||!k&&y.b.x>=P-.001)return;const G=y.a.y+I;return xt([{x:H,y:E.y},{x:P,y:E.y},{x:P,y:G},{x:y.b.x,y:G},...O],.001)},"horizontalSourceDetour"),v=d((y,I)=>{const E=x(y);if(E){if(y.vertical)return C(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail);if(y.horizontal)return b(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail)}},"sourceDetourCandidate"),L=[-7,7,-2*7,2*7,-3*7,3*7];for(let y=0;y<12;y++){const I=p();let E=!1;for(let A=0;AP.interior);for(const P of H){for(const G of L){const j=h(P,G);if(j&&u(P.edge,j)){P.edge.points=j,E=!0;break}const tt=v(P,G);if(tt&&u(P.edge,tt)){P.edge.points=tt,E=!0;break}}if(E)break}}if(!E)return}}d(qn,"nudgeSharedInteriorSubpaths");function Os(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=o.x-n.x,a=o.y-n.y,c=s*a-r*i;if(Math.abs(c)<1e-10)return!1;const f=n.x-t.x,g=n.y-t.y,p=(f*a-g*i)/c,M=(f*r-g*s)/c,u=.01;return p>u&&p<1-u&&M>u&&M<1-u}d(Os,"segmentsIntersect");function Ps(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=rs(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<2)continue;const f=a.start,g=a.end,p=a.labelNodeId,M=a.id??`${f}->${g}`;for(const u of s)if(!(u.nodeId===f||u.nodeId===g)&&!(p&&u.nodeId===p)){for(let h=0;h0){const a=o.filter(f=>f.type==="edge-node-overlap").length,c=o.filter(f=>f.type==="edge-edge-crossing").length;Qe.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${c} edge crossing(s)`);for(const f of o)Qe.warn(`[SWIMLANE_VALIDATE] ${f.type}: ${f.detail}`)}return o}d(Ps,"validateSwimlanesLayout");function Bs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!Ms(t,e)||e==="BT"&&s.length>0&&!bs(t))return;for(const a of o){if(a.isLayoutOnly)continue;const c=a.points;!c||c.length<2||(a.points=ue(on(c)))}As(o,n),Ns(o,n),Is(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Je(o,r),fs(o,r),Ss(o,r),qn(o,r),Cs(o,r),vs(o,r),zn(o,r),Ls(o,r);const i=d(()=>{ws(o,r),Es(o,r),Ts(o,r),Je(o,r),Gn(o,r),zn(o,r),Je(o,r),Gn(o,r)},"finalizeRenderedEdges");i(),qn(o,r),i(),Vn(o,r),jn(o,r),Vn(o,r),jn(o,r)}d(Bs,"postProcessSwimlaneLayout");function Ie(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const r of t.edges){if(!e.has(r.src)||!e.has(r.dst))continue;const i=`${r.id}:${r.src}->${r.dst}`;n.has(i)||(n.add(i),o.push(r))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}d(Ie,"normalizeGraph");function Mo(t,e){return t.edges.filter(n=>n.dst===e)}d(Mo,"incoming");function ks(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}d(ks,"buildSuccessorMap");function Io(t){const e=ks(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}d(Io,"buildSortedSuccessorMap");function So(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}d(So,"buildInDegreeMap");function Co(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}d(Co,"sortedZeroInDegreeNodes");function hn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}d(hn,"buildPredecessorSuccessorMaps");function vo(t,e,n,o){var i,a;let s=0;for(const c of t.nodes)o!=null&&o.skipGroups&&((i=t.nodeById.get(c))!=null&&i.isGroup)||(s=Math.max(s,n[c]??0));const r=Array.from({length:s+1},()=>[]);for(const c of e)o!=null&&o.skipGroups&&((a=t.nodeById.get(c))!=null&&a.isGroup)||r[Math.max(0,n[c]??0)].push(c);return r}d(vo,"buildLayersFromRanks");function De(t){const e=So(t),n=Co(e),o=[],s=Io(t);for(;n.length;){const r=n.shift();o.push(r);for(const i of s.get(r)??[])if(e.set(i,(e.get(i)??0)-1),(e.get(i)??0)===0){let a=0;for(;a{if(s-o<=1)return 0;const r=o+s>>1;let i=n(o,r)+n(r,s),a=o,c=r,f=o;for(;a=s||ap.dst===M.dst?p.id.localeCompare(M.id):p.dst.localeCompare(M.dst));const o=Object.create(null);for(const g of e.nodes)o[g]=0;const s=[],r=d(g=>{o[g]=1;for(const p of n.get(g)??[]){const M=p.dst;o[M]===0?r(M):o[M]===1&&s.push(p)}o[g]=2},"dfs"),i=[...e.nodes].sort((g,p)=>g.localeCompare(p));for(const g of i)o[g]===0&&r(g);const a=new Set(s.map(g=>`${g.id}:${g.src}->${g.dst}`)),c=e.edges.map(g=>a.has(`${g.id}:${g.src}->${g.dst}`)?{id:g.id,src:g.dst,dst:g.src,weight:g.weight,ref:g.ref}:g);return{acyclic:{nodes:[...e.nodes],edges:c,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}d(_s,"removeCycles_DFS");function Fs(t){const e=new Map,n=d(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const a=n(r)??r;return e.set(o,a),a},"resolve");for(const o of t.nodes)n(o);return e}d(Fs,"buildTopLaneMap");function ge(t){const e=Fs(t);return n=>e.get(n)??null}d(ge,"createTopLaneResolver");function gn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}d(gn,"buildTopLaneOrder");function Eo(t,e){const n=gn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const i of e)!o.has(i)||s.has(i)||(s.add(i),r.push(i));for(const i of n)s.has(i)||r.push(i);return r}d(Eo,"resolveTopLaneOrder");var ei={EPSILON:1e-6},ln={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Ho={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Ds(t,e){const n=Ie(t),o=(e==null?void 0:e.laneOf)??(()=>null),s=e==null?void 0:e.rankHint,{preds:r}=hn(n);for(const y of r.values())y.sort((I,E)=>I.localeCompare(E));const i=De(n)??[...n.nodes].sort((y,I)=>y.localeCompare(I)),a=new Map;for(const[y,I]of i.entries())a.set(I,y);const c=new Map,f=new Map;for(const y of n.nodes)f.set(y,[]);for(const y of i){const I=(r.get(y)??[]).filter(E=>c.has(E));if(I.length>0){const E=Hs(y,I,{laneOf:o,rankHint:s,topoIndex:a});c.set(y,E),f.get(E).push(y)}else c.has(y)||c.set(y,null)}for(const y of n.nodes)c.has(y)||c.set(y,null);const g=new Set;for(const y of n.nodes)(c.get(y)??null)===null&&g.add(y);const p=[...g].sort((y,I)=>{const E=a.get(y)??0,A=a.get(I)??0;return E===A?y.localeCompare(I):E-A}),M=Xs(n),u=new Map;for(const[y,I]of M.entries())u.set(y,[...I].sort((E,A)=>E.localeCompare(A)));const h=Ys(u),l=Gs(u),x=new Map;for(const y of n.nodes)x.set(y,[]);for(const y of l)for(const I of y.nodes){const E=x.get(I);E?E.push(y.id):x.set(I,[y.id])}const C=[],b=[],v=new Set,L=d(y=>{if(!v.has(y)){v.add(y),C.push(y);for(const I of f.get(y)??[])L(I);b.push(y)}},"walk");for(const y of p)L(y);for(const y of i)L(y);return{parent:c,children:f,roots:p,componentOf:h,blocks:l,nodeBlocks:x,adjacency:u,preorder:C,postorder:b,topologicalOrder:i}}d(Ds,"buildDrivingTree");function Hs(t,e,n){const o=n.laneOf(t);return[...e].sort((r,i)=>{var l,x;const a=n.laneOf(r),c=n.laneOf(i),f=a!=null&&a===o,g=c!=null&&c===o;if(f!==g)return f?-1:1;const p=(l=n.rankHint)==null?void 0:l[r],M=(x=n.rankHint)==null?void 0:x[i];if(p!=null&&M!=null&&p!==M)return M-p;const u=n.topoIndex.get(r)??0,h=n.topoIndex.get(i)??0;return u!==h?u-h:r.localeCompare(i)})[0]}d(Hs,"chooseParent");function Xs(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}d(Xs,"buildAdjacency");function Ys(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const i of t.get(r)??[])e.has(i)||s.push(i)}}n++}return e}d(Ys,"assignComponents");function Gs(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const i=d((a,c)=>{e.set(a,++r),n.set(a,r);for(const f of t.get(a)??[])f!==c&&(e.has(f)?(e.get(f)??0)<(e.get(a)??0)&&(o.push([a,f]),n.set(a,Math.min(n.get(a)??r,e.get(f)??r))):(o.push([a,f]),i(f,a),n.set(a,Math.min(n.get(a)??r,n.get(f)??r)),(n.get(f)??0)>=(e.get(a)??0)&&s.push($s(a,f,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||i(a,null);return s}d(Gs,"computeBlocks");function $s(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const i=n.pop();if(s.push(i),r.add(i[0]),r.add(i[1]),i[0]===t&&i[1]===e||i[0]===e&&i[1]===t)break}return{id:o,edges:s,nodes:[...r]}}d($s,"popBlock");function zs(t,e,n){const o=[...t.nodes],s=new Map;for(const[b,v]of o.entries())s.set(v,b);const r=o.length,i=new Array(r).fill(-1),a=new Array(r).fill(0),c=[],f=new Set;for(const b of o){const v=n.parent.get(b)??null,L=s.get(b);L!=null&&v==null&&(i[L]=-1,a[L]=0,f.has(b)||(f.add(b),c.push(b)))}for(;c.length>0;){const b=c.shift(),v=s.get(b);if(v==null)continue;const L=n.children.get(b)??[];for(const y of L){if(f.has(y))continue;const I=s.get(y);I!=null&&(i[I]=v,a[I]=a[v]+1,f.add(y),c.push(y))}}for(const b of o){if(f.has(b))continue;const v=s.get(b);v!=null&&(i[v]=-1,a[v]=0,f.add(b))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),p=Array.from({length:g},()=>new Array(r).fill(-1));for(let b=0;b{if(b===-1||v===-1)return-1;a[b]>y&1&&(b=p[y][b],b===-1))return-1;if(b===v)return b;for(let y=g-1;y>=0;y--){const I=p[y][b],E=p[y][v];I===-1||E===-1||I!==E&&(b=I,v=E)}return p[0][b]},"lcaIndex"),u=Array.from({length:r},()=>new Map);for(const b of t.edges){let v=b.src,L=b.dst,y=e[v],I=e[L];if(y==null||I==null||(y>I&&([v,L]=[L,v],[y,I]=[I,y]),y==null||I==null||y===I))continue;const E=s.get(v),A=s.get(L);if(E==null||A==null)continue;const B=M(E,A);if(B===-1)continue;const O=u[B];for(let k=y;k{if(v.size!==0)for(const[L,y]of v)b.set(L,(b.get(L)??0)+y)},"mergeInto"),x=new Set,C=d(b=>{const v=s.get(b);x.add(b);const L=v==null?void 0:u[v],y=L?new Map(L):new Map,I=n.children.get(b)??[];for(const E of I){const A=C(E),B=e[b];if(B!=null){let O=h.get(b);O||(O=new Map,h.set(b,O));let k=A.get(B)??0;const H=e[E];H!=null&&H>B&&(k+=1),O.set(E,k)}l(y,A)}return y},"dfs");for(const b of n.roots)x.has(b)||C(b);for(const b of o)x.has(b)||C(b);return h}d(zs,"computeSubtreeCrossCounts");function Vs(t,e,n){const o=new Map,s=d(r=>{let i=n[r]??0;const a=[...e.get(r)??[]];a.sort(To(n));for(const c of a){s(c);const f=o.get(c);f!=null&&(i=Math.min(i,f))}o.set(r,i)},"annotate");for(const r of t)s(r);return o}d(Vs,"annotateMinimumLayers");function To(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}d(To,"compareByRankThenId");function js(t,e,n,o){let s=0;for(const c of e){const f=n[c]??0;f>s&&(s=f)}const r=Array.from({length:s+1},()=>[]),i=new Set,a=d(c=>{if(i.has(c))return;i.add(c);const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c);for(const g of o(c))a(g)},"emit");for(const c of t)a(c);for(const c of e)if(!i.has(c)){const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c),i.add(c)}return r}d(js,"emitNodesInTreeOrder");function Us(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}d(Us,"deduplicateLayers");function Ws(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const i=e[s]??0,a=[],c=[],f=n.get(s);for(const g of r){const p=o.get(g)??i;p>i?a.push({child:g,min:p}):c.push(g)}return a.sort((g,p)=>g.min===p.min?g.child.localeCompare(p.child):g.min-p.min),c.sort((g,p)=>{const M=(f==null?void 0:f.get(g))??0,u=(f==null?void 0:f.get(p))??0;if(M!==u)return M-u;const h=o.get(g)??i,l=o.get(p)??i;return h!==l?h-l:g.localeCompare(p)}),[...a.map(g=>g.child),...c]}}d(Ws,"createChildOrderer");function fn(t,e,n){const o=Ds(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const p of t.nodes)s.has(p)||s.set(p,[]);const i=zs(t,e,o),a=[...r].sort(To(e)),c=Vs(a,s,e),f=Ws(s,e,i,c);let g=js(a,t.nodes,e,f);return g=Us(g),g}d(fn,"buildMultitreeLayerOrder");function Ks(t,e,n){const o=new Set(t),s=new Set(e),r=ke(e),i=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&i.push(r.get(a.dst));return Lo(i)}d(Ks,"countCrossingsBetweenAdjacent");function Jn(t,e,n){const o=[];for(const r of e){const i=n[r.src],a=n[r.dst];if(i==null||a==null||i===a)continue;let c=r.src,f=r.dst,g=i,p=a;i>a&&(c=r.dst,f=r.src,g=a,p=i);for(let M=g;M(n[M]??0)-(n[p]??0));for(const p of g){const M=n[p]??0;if(M===0)continue;let u=0;for(const C of o.get(p)??[])u=Math.max(u,(n[C]??0)+1);if(u>=M)continue;const h=M;n[p]=u;const l=fn(t,n,s),x=Jn(l,t.edges,n);x(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const i=t.edges.filter(l=>l.src===s);if(i.length===0)continue;let a=!1,c=0;for(const l of i){const x=n(l.dst);x==null||x===r?a=!0:c++}if(c===0||a)continue;let f=0,g=!1;for(const l of t.edges){if(l.dst!==s)continue;const x=n(l.src);x&&(x===r?g=!0:f++)}if(f>0||!g)continue;const p=e[s]??0,M=p+c;let u=0;for(const l of t.edges)l.dst===s&&(u=Math.max(u,(e[l.src]??0)+1));const h=Math.max(p,u,M);h!==p&&(e[s]=h)}}d(Js,"adjustCrossLaneSources");function Zs(t,e){const n=Ie(t),o=De(n)??[...n.nodes].sort(),s=(e==null?void 0:e.compactSingleInput)??!1,r=ge(n);let i=Object.create(null);for(const c of o){const f=Mo(n,c),g=e!=null&&e.ignoreCrossLaneEdges?f.filter(p=>{const M=r(p.src),u=r(c);return!M||!u?!0:M===u}):f;if(g.length===0)i[c]=0;else if(s&&g.length===1){const p=g[0].src,M=r(p),u=r(c);M!==u?i[c]=i[p]??0:i[c]=(i[p]??0)+1}else{let p=-1/0;for(const M of g)p=Math.max(p,(i[M.src]??0)+1);i[c]=p===-1/0?0:p}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(i=qs(n,i)),e!=null&&e.ignoreCrossLaneEdges&&Js(n,i),{layers:fn(n,i,r),rankOf:i,dummy:new Set}}d(Zs,"assignLayers_LongestPath");function Qs(t,e){const n=Ie(t),s={...Zs(n,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},r=ge(n),{preds:i,succs:a}=hn(n,h=>{if(e!=null&&e.ignoreCrossLaneEdges){const l=r(h.src),x=r(h.dst);if(l&&x&&l!==x)return!1}return!0}),c=De(n)??[...n.nodes],f=[...c].reverse(),g=d((h,l)=>{let x=0;for(const v of i.get(h)??[])x=Math.max(x,(s[v]??0)+1);let C=Number.POSITIVE_INFINITY;const b=a.get(h)??[];return b.length>0&&(C=Math.min(...b.map(v=>(s[v]??0)-1))),Number.isFinite(C)||(C=Math.max(x,l)),Math.min(Math.max(l,x),C)},"clampFeasible"),p=ln.GRAVITY_ITERATIONS,M=d(h=>{let l=!1;for(const x of h){const C=i.get(x)??[],b=a.get(x)??[];if(C.length===0&&b.length===0)continue;const v=C.length>0?C.reduce((E,A)=>E+(s[A]??0)+1,0)/C.length:s[x]??0,L=b.length>0?b.reduce((E,A)=>E+(s[A]??0)-1,0)/b.length:s[x]??0,y=Math.round((v+L)/2),I=g(x,y);I!==s[x]&&(s[x]=I,l=!0)}return l},"relaxOrder");for(let h=0;h0){const x=Math.min(...l.map(C=>(s[C]??0)-1));(s[h]??0)>x&&(s[h]=x)}}return{layers:vo(n,c,s),rankOf:s,dummy:new Set}}d(Qs,"assignLayers_Gravity");function tr(t){const e=So(t),n=Io(t);let o=Co(e);const s=[];for(;o.length>0;){const r=[];for(const i of o){s.push(i);for(const a of n.get(i)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((i,a)=>i.localeCompare(a))}return s.length===t.nodes.length?s:null}d(tr,"topoSortByGenerationIfAcyclic");function er(t,e){const n=Ie(t),o=(e==null?void 0:e.direction)==="LR"?tr(n)??[...n.nodes].sort():De(n)??[...n.nodes].sort(),s=ge(n),r=d(g=>s(g)??g,"laneOf"),i=Object.create(null),a=new Map,c=d((g,p)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?r(g)===r(p)?1:0:1,"edgeWeight");for(const g of o){const p=n.nodeById.get(g);if(p!=null&&p.isGroup)continue;const M=Mo(n,g);let u=0;if(M.length>0)for(const C of M){const b=C.src,v=i[b]??0;u=Math.max(u,v+c(b,g))}const h=r(g),l=a.get(h)??0,x=Math.max(u,l);i[g]=x,a.set(h,x+1)}return{layers:vo(n,o,i,{skipGroups:!0}),rankOf:i,dummy:new Set}}d(er,"assignLayers_LaneAwareCompact");function nr(t,e){const n=Ie(e),{rankOf:o}=t,s=t.layers.map(u=>[...u]),r=new Set(t.dummy?[...t.dummy]:[]);let i=0;const a=new Map(n.nodeById),c=d(u=>{const h=`placeholder-${i++}`,l={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,l),r.add(h);s.length<=u;)s.push([]);return s[u].push(h),o[h]=u,h},"addDummyAt"),f=[...n.edges].sort((u,h)=>u.id===h.id?u.src===h.src?u.dst.localeCompare(h.dst):u.src.localeCompare(h.src):u.id.localeCompare(h.id)),g=[];for(const u of f){const h=o[u.src]??0,l=o[u.dst]??0;if(l-h<=1){g.push(u);continue}let x=u.src;for(let b=h+1,v=0;b!n.nodes.includes(u))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:M}}d(nr,"makeProperLayering");function Zn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}d(Zn,"median");function Qn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((n,o)=>n+o,0)/t.length}d(Qn,"barycenter");function or(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}d(or,"neighborPositionsFor");function sr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}d(sr,"currentOrderTieBreak");function to(t,e,n){const o=new Set(t),s=new Set(e),r=ke(t),i=ke(e),a=[];for(const f of n)o.has(f.src)&&s.has(f.dst)&&a.push({u:r.get(f.src),v:i.get(f.dst)});a.sort((f,g)=>f.u===g.u?f.v-g.v:f.u-g.u);const c=a.map(f=>f.v);return Lo(c)}d(to,"countCrossingsBetweenAdjacent");function Ze(t,e,n){return[...t].sort((o,s)=>{const r=Zn(e.get(o)??[]),i=Zn(e.get(s)??[]);return r===i?sr(o,s,n):isFinite(r)?isFinite(i)?r-i:-1:1})}d(Ze,"sortByHeuristic");function eo(t,e,n,o,s,r){const i=ke(t),a=ke(e),c=or(e,i,n,o);if(!s||!r||r.length===0)return Ze(e,c,a);const f=new Map;for(const M of e){const u=s(M),h=f.get(u)??[];h.push(M),f.set(u,h)}const g=[];for(const M of r){const u=f.get(M);if(!u||u.length===0)continue;const h=Ze(u,c,a);g.push(...h)}const p=f.get(null);if(p&&p.length>0){const M=Ze(p,c,a);for(const u of M){const h=Qn(c.get(u)??[]);let l=g.length;if(isFinite(h))for(const[x,C]of g.entries()){const b=Qn(c.get(C)??[]);if(hi.has(l.src)&&a.has(l.dst)),g=c?n.filter(l=>a.has(l.src)&&c.has(l.dst)):void 0,p=d(l=>{let x=to(t,l,f);return g&&o&&(x+=to(l,o,g)),x},"crossingScore"),M=s?new Map:null;if(s&&M)for(const l of e)M.set(l,s(l));let u=!0,h=p(r);for(;u;){u=!1;for(let l=0;l+1[...a]),s=e.edges,r=ge(e),i=Eo(e,n==null?void 0:n.laneOrder);for(let a=0;a<3;a++){for(let c=1;c=0;c--)o[c]=eo(o[c+1],o[c],s,"up",r,i),o[c]=no(o[c+1],o[c],s,o[c-1],r)}return{layers:o}}d(rr,"orderLayers");function ir(t,e,n){const o=(n==null?void 0:n.layerGap)??Ho.DEFAULT_LAYER_GAP,s=(n==null?void 0:n.nodeGap)??Ho.DEFAULT_NODE_GAP,r=(n==null?void 0:n.laneGap)??s*2,i=(n==null?void 0:n.direction)??"TB",a=i==="LR"||i==="RL",c=t.layers,f=Object.create(null),g=Object.create(null),p=d(O=>e.nodeById.get(O),"getNode"),M=d(O=>{var k;return((k=p(O))==null?void 0:k.width)??0},"getWidth"),u=d(O=>{var k;return((k=p(O))==null?void 0:k.height)??0},"getHeight"),h=ge(e),l=Eo(e,n==null?void 0:n.laneOrder),x=c.map(O=>O.reduce((k,H)=>Math.max(k,u(H)),0)),C=[];if(a)for(let O=0;O+1Math.max(Mt,M(Ht)),0),H=c[O+1].reduce((Mt,Ht)=>Math.max(Mt,M(Ht)),0),P=x[O],G=x[O+1],j=P/2+G/2,tt=(k+H)/2,ft=Math.max(0,tt-j-o);C.push(ft)}const b=new Set;for(const O of c)for(const k of O)b.add(h(k));const v=b.has(null),L=l.filter(O=>b.has(O)),y=[...v?[null]:[],...L],I=Object.create(null);for(const O of L)I[O]=0;v&&(I.null=0);for(const O of c){const k=Object.create(null),H=[];for(const P of O){const G=h(P);G===null?H.push(P):(k[G]||(k[G]=[])).push(P)}for(const[P,G]of Object.entries(k)){const j=G.reduce((tt,ft)=>tt+M(ft),0)+s*Math.max(0,G.length-1);I[P]=Math.max(I[P]??0,j)}if(v&&H.length){const P=H.reduce((G,j)=>G+M(j),0)+s*Math.max(0,H.length-1);I.null=Math.max(I.null??0,P)}}const E=new Map;{const O=y.map(P=>(P===null?I.null:I[P])??0);let H=-(O.reduce((P,G)=>P+G,0)+r*Math.max(0,y.length-1))/2;for(let P=0;PM(nt)),Ht=Mt.reduce((nt,J)=>nt+J,0)+s*(tt.length-1);let Ft=ft-Ht/2;for(const[nt,J]of tt.entries()){const rt=Mt[nt];f[J]=Ft+rt/2,g[J]=A+H/2,Ft+=rt+s}}}const G=C[O]??0;A+=H+o+G}const B=new Map;for(const O of e.edges){const k=O.ref.id;B.has(k)||B.set(k,[]),B.get(k).push(O)}for(const[,O]of B){if(O.length===0)continue;const k=O[0].ref,H=k.start,P=k.end;if(H==null||P==null)continue;const G=Math.round(((f[H]??0)+(f[P]??0))/2),j=new Set;for(const tt of O)j.add(tt.src),j.add(tt.dst);for(const tt of j){if(tt===H||tt===P)continue;const ft=e.nodeById.get(tt);ft!=null&&ft.isDummy&&(f[tt]=G)}}return{x:f,y:g}}d(ir,"assignCoordinates");var cr=8;function ar(t){let e=2166136261;for(let n=0;n>>0}d(ar,"hashString");function lr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}d(lr,"mulberry32");function fr(t,e){const n=[...t],o=lr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}d(fr,"deterministicShuffle");function dr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}d(dr,"sourceDistance");function oo(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:i}of e){const a=n.get(s),c=n.get(r);a==null||c==null||(o+=i*Math.abs(a-c))}return o}d(oo,"laneArrangementCost");function ur(t){const e=gn(t);if(e.length<2)return[];const n=new Map(e.map((r,i)=>[r,i])),o=ge(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const i=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!i||!a||!t.nodeById.has(i)||!t.nodeById.has(a))continue;const c=o(i),f=o(a);if(!c||!f||c===f)continue;const g=n.get(c),p=n.get(f);if(g==null||p==null)continue;const[M,u]=g<=p?[c,f]:[f,c],h=`${M}\0${u}`,l=s.get(h);l?l.weight++:s.set(h,{a:M,b:u,weight:1})}return[...s.values()]}d(ur,"buildWeightedLaneEdges");function so(t,e,n){const o=[...t];let s=oo(o,e),r=!0,i=0;const a=Math.max(1,o.length);for(;r&&is.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:i})=>`${s}:${r}:${i}`).join("|");return ar(`${t.join("|")}#${o}#${n}`)}d(gr,"seedForRestart");function mr(t,e={}){const n=gn(t);if(n.length<2)return n;const o=ur(t);if(o.length===0)return n;const s=new Map(n.map((a,c)=>[a,c]));let r=so(n,o,s);const i=Math.max(0,e.restarts??cr);for(let a=0;alt&&c*3>=a?i>0?"bottom":"top":a>lt?r>0?"right":"left":n}d(ro,"chooseOrthogonalSide");function io(t,e){return Math.abs(t.to-e.from)m.isGroup&&!m.parentId);for(const m of f){const S={id:m.id},w=d(T=>{i.set(T.id,S),n.filter(N=>N.parentId===T.id).forEach(w)},"assignLane");w(m)}const g=n.filter(m=>!m.isGroup&&!m.isEdgeLabel).map(m=>{const S=m.width??10,w=m.height??10,T=m.x??0,N=m.y??0,D=ni;return{nodeId:m.id,minX:T-S/2-D,maxX:T+S/2+D,minY:N-w/2-D,maxY:N+w/2+D,visualXHalfExtent:c?w/2+D:S/2+D}}),p=d((m,S,w,T)=>{let N=a.find(D=>D.orientation===m&&Math.abs(D.coord-S)<1);return N||(N={id:`pipe-${m}-${S.toFixed(0)}`,orientation:m,coord:S,spanMin:w,spanMax:T,tracks:[]},a.push(N)),N.spanMin=Math.min(N.spanMin,w),N.spanMax=Math.max(N.spanMax,T),N},"getOrAddPipe"),M=d((m,S)=>{const w=m.width??10,T=m.height??10,N=m.x??0,D=m.y??0;switch(S){case"top":return{x:N,y:D-T/2};case"bottom":return{x:N,y:D+T/2};case"left":return{x:N-w/2,y:D};case"right":return{x:N+w/2,y:D}}},"portForSide"),u=d((m,S,w)=>M(m,ro(m,S,w?"bottom":"top")),"getOrthogonalPort"),h=[],l=[],x=new Set,C=1e3,b=d((m,S,w)=>{if(h.length===0)return 0;const T=Math.abs(S.y-w.y)U||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}else if(N){const W=S.x,ot=Math.min(S.y,w.y)-lt,U=Math.max(S.y,w.y)+lt;if(U<=ot)return 0;for(const z of h)z.edgeIndex===m||z.orientation!=="horizontal"||z.pipe.coordU||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}return D},"crossingPenalty"),v=s.map((m,S)=>{if(!m.start||!m.end)return{idx:S,crossLane:0,dx:0,dy:0};const w=r.get(m.start),T=r.get(m.end),N=i.get(m.start),D=i.get(m.end),W=N&&D&&N.id!==D.id?1:0,ot=w&&T?Math.abs((T.x??0)-(w.x??0)):0,U=w&&T?Math.abs((T.y??0)-(w.y??0)):0;return{idx:S,crossLane:W,dx:ot,dy:U}}).sort((m,S)=>{if(m.crossLane!==S.crossLane)return S.crossLane-m.crossLane;const w=m.dx+m.dy,T=S.dx+S.dy;return Math.abs(w-T)>1?w-T:m.idx-S.idx}).map(m=>m.idx),L=d((m,S,w,T)=>{const N=Math.min(m.x,S.x),D=Math.max(m.x,S.x),W=Math.min(m.y,S.y),ot=Math.max(m.y,S.y);return!!g.find(z=>w&&z.nodeId===w||T&&z.nodeId===T?!1:Math.abs(m.x-S.x)>lt?z.minYm.y&&z.maxX>N&&z.minXm.x&&z.maxY>W&&z.minYro(m,S,"bottom"),"determineSide"),A=new Map;for(const[m,S]of s.entries()){if(!S.start||!S.end||S.start===S.end||S.points&&S.points.length>0)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const N=(T.x??0)-(w.x??0),D=(T.y??0)-(w.y??0);A.set(m,{edgeIdx:m,srcId:S.start,dstId:S.end,srcSide:E(w,{x:T.x??0,y:T.y??0}),dstSide:E(T,{x:w.x??0,y:w.y??0}),absDx:Math.abs(N),absDy:Math.abs(D),dxSign:Math.sign(N),dySign:Math.sign(D)})}const B=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.absDx===0?1/0:m.absDy/m.absDx:m.absDy===0?1/0:m.absDx/m.absDy,"preferenceStrength"),O=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.dxSign>=0?"right":"left":m.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const m of A.values()){const S=`${m.srcId}:${m.srcSide}`;k.has(S)||k.set(S,[]),k.get(S).push(m)}const H=new Map,P=d((m,S)=>`${m}:${S}`,"loadKey");for(const m of A.values())H.set(P(m.srcId,m.srcSide),(H.get(P(m.srcId,m.srcSide))??0)+1),H.set(P(m.dstId,m.dstSide),(H.get(P(m.dstId,m.dstSide))??0)+1);for(const m of k.values())if(!(m.length<2)){m.sort((S,w)=>{const T=B(S),N=B(w);return Math.abs(T-N)>1e-9?N-T:S.edgeIdx-w.edgeIdx});for(let S=1;S=N||(H.set(P(w.srcId,w.srcSide),N-1),H.set(P(w.srcId,T),D+1),w.srcSide=T)}}const G=d(m=>{const S=m==null?void 0:m.shape;return S==="question"||S==="diamond"},"isDiamondNode"),j=new Map;for(const m of A.values())j.has(m.dstId)||j.set(m.dstId,new Set),j.get(m.dstId).add(m.dstSide);for(const m of A.values()){if(!G(r.get(m.srcId)))continue;const S=j.get(m.srcId);if(!(S!=null&&S.has(m.srcSide)))continue;const w=O(m);if(S.has(w)||(H.get(P(m.srcId,w))??0)>0)continue;const T=H.get(P(m.srcId,m.srcSide))??0;H.set(P(m.srcId,m.srcSide),Math.max(0,T-1)),H.set(P(m.srcId,w),1),m.srcSide=w}for(const m of A.values()){const{edgeIdx:S,srcId:w,dstId:T,srcSide:N,dstSide:D}=m,W=r.get(w),ot=r.get(T),U=`${w}:${N}:src`,z=N==="top"||N==="bottom"?ot.x??0:ot.y??0;y.has(U)||y.set(U,[]),y.get(U).push({edgeIdx:S,oppositeCoord:z});const bt=`${T}:${D}:dst`,dt=D==="top"||D==="bottom"?W.x??0:W.y??0;y.has(bt)||y.set(bt,[]),y.get(bt).push({edgeIdx:S,oppositeCoord:dt})}const tt=new Map,ft=8;for(const[m,S]of y){if(S.length<2)continue;S.sort((At,Gt)=>At.oppositeCoord-Gt.oppositeCoord);const w=m.split(":"),T=w.slice(0,-2).join(":"),N=w[w.length-2],D=w[w.length-1],W=r.get(T);if(!W)continue;const U=N==="left"||N==="right"?W.height??10:W.width??10,z=W.shape,dt=z==="question"||z==="diamond"?U*.3:U,st=Math.min(20,Math.max(ft,dt/(S.length+1))),Bt=-(st*(S.length-1))/2;for(const[At,Gt]of S.entries()){const ee=Bt+At*st,xn=`${Gt.edgeIdx}:${D}`;tt.set(xn,ee)}}const Mt=d(m=>{var S;return!!((S=s[m])!=null&&S.labelNodeId)},"edgeHasLabelNode"),Ht=d((m,S)=>m?(y.get(`${m}:${S}:src`)??[]).some(({edgeIdx:w})=>Mt(w))||(y.get(`${m}:${S}:dst`)??[]).some(({edgeIdx:w})=>Mt(w)):!1,"faceHasLabelNode"),Ft=d((m,S,w)=>S==="top"||S==="bottom"?{x:m.x+w,y:m.y}:{x:m.x,y:m.y+w},"applyPortOffset"),nt=d((m,S,w)=>{const T=A.get(m),N={x:w.x??0,y:w.y??0},D={x:S.x??0,y:S.y??0},W=(T==null?void 0:T.srcSide)??E(S,N),ot=(T==null?void 0:T.dstSide)??E(w,D);let U=T?M(S,T.srcSide):u(S,N,!0),z=T?M(w,T.dstSide):u(w,D,!1);const bt=tt.get(`${m}:src`),dt=tt.get(`${m}:dst`);return bt!==void 0&&(U=Ft(U,W,bt)),dt!==void 0&&(z=Ft(z,ot,dt)),{pSrcPort:U,pDstPort:z,srcSide:W,dstSide:ot}},"portsForEdge");for(const m of v){const S=s[m];if(l[m]=[],!S.start||!S.end||S.points&&S.points.length>0||S.start===S.end)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const{pSrcPort:N,pDstPort:D,srcSide:W,dstSide:ot}=nt(m,w,T),U={...N},z={...D},bt=W==="top"||W==="bottom",dt=ot==="top"||ot==="bottom";if(bt){const X=N.y>(w.y??0);U.y=X?N.y+ie:N.y-ie}else{const X=N.x>(w.x??0);U.x=X?N.x+ie:N.x-ie}if(dt){const X=D.y>(T.y??0);z.y=X?D.y+ie:D.y-ie}else{const X=D.x>(T.x??0);z.x=X?D.x+ie:D.x-ie}const ct=d((X,$)=>{for(const Q of g)if(!$.includes(Q.nodeId)&&X.x>Q.minX&&X.xQ.minY&&X.y{if(Tt){const kt=X.y>($.y??0);return{x:(Q.x??0)>=X.x?ht.maxX+Ce:ht.minX-Ce,y:kt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:kt}}const Ct=X.x>($.x??0),Rt=(Q.y??0)>=X.y;return{x:Ct?ht.maxX+Ce:ht.minX-Ce,y:Rt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:Ct}},"obstacleDetour");let It=[];const Bt=[S.start,S.end],At=ct(U,Bt);if(At.inside&&At.obstacle){const X=At.obstacle;if(bt){const $=st(N,w,T,X,!0);U.x=$.x,U.y=$.y;const Q=$.leavesPositiveSide?Math.min(X.minY-2,N.y+ie):Math.max(X.maxY+2,N.y-ie);It=[{x:N.x,y:Q},{x:$.x,y:Q},{x:$.x,y:$.y}]}else{const $=st(N,w,T,X,!1),Q=$.leavesPositiveSide?Math.min(X.minX-2,N.x+ie):Math.max(X.maxX+2,N.x-ie);U.x=$.x,U.y=$.y,It=[{x:Q,y:N.y},{x:Q,y:$.y},{x:$.x,y:$.y}]}}let Gt=[];const ee=ct(z,Bt);if(ee.inside&&ee.obstacle){const X=ee.obstacle;if(dt){const $=st(D,T,w,X,!0);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:D.x,y:$.y}]}else{const $=st(D,T,w,X,!1);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:$.x,y:D.y}]}}if(It.length===0&&Gt.length===0){const X=Ce,$=Math.abs(U.x-z.x)1||Ct>1,kt=I.get(S.start??"")??0,mt=I.get(S.end??"")??0,Vt=Tt>1&&Ht(S.start,W)||Ct>1&&Ht(S.end,ot),re=Tt<=1||kt<=2,Dt=Ct<=1||mt<=2;if(($||Q)&&!ht&&(!Rt||Rt&&!Vt&&re&&Dt)&&!L(N,D,S.start,S.end)){S.points=[{...N},{...U},{...z},{...D}],x.add(m);const vt=Q?"horizontal":"vertical",Ut=Q?N.y:N.x,Lt=Q?Math.min(N.x,D.x):Math.min(N.y,D.y),Et=Q?Math.max(N.x,D.x):Math.max(N.y,D.y),Zt={id:`fast-path-${vt}-${Ut.toFixed(0)}-${m}`,orientation:vt,coord:Ut,spanMin:Lt,spanMax:Et,tracks:[]};h.push({edgeIndex:m,segmentIndex:0,orientation:vt,pipe:Zt,trackIndex:0,from:Lt,to:Et});continue}}const xn=p("vertical",U.x,U.y,U.y);U.x=xn.coord;const Mr=p("vertical",z.x,z.y,z.y);z.x=Mr.coord;let ye=Math.min(U.x,z.x)-50,pe=Math.max(U.x,z.x)+50,we=Math.min(U.y,z.y)-50,Ae=Math.max(U.y,z.y)+50;for(const X of g){const $=Math.min(U.x,z.x),Q=Math.max(U.x,z.x),ht=Math.min(U.y,z.y),Tt=Math.max(U.y,z.y);X.minX$&&X.minYht&&(ye=Math.min(ye,X.minX-qe),pe=Math.max(pe,X.maxX+qe),we=Math.min(we,X.minY-qe),Ae=Math.max(Ae,X.maxY+qe))}for(const X of g){if(X.maxXpe||X.maxYAe)continue;const $=Ce;p("horizontal",X.minY-$,ye,pe),p("horizontal",X.maxY+$,ye,pe);const Q=Ne;p("vertical",X.minX-Q,we,Ae),p("vertical",X.maxX+Q,we,Ae)}p("horizontal",U.y,ye,pe),p("horizontal",z.y,ye,pe);const Ir=a.filter(X=>X.orientation==="horizontal"&&X.coord>=we&&X.coord<=Ae),Sr=a.filter(X=>X.orientation==="vertical"&&X.coord>=ye&&X.coord<=pe),He=d((X,$)=>`${X.toFixed(1)},${$.toFixed(1)}`,"getKey"),Xe=He(U.x,U.y),wo=He(z.x,z.y),Ye=new Map,bn=new Map,Mn=new Map,Ge=new Set,Se=[];Ye.set(Xe,0),Mn.set(Xe,"n"),Se.push({key:Xe,f:Math.hypot(z.x-U.x,z.y-U.y),pt:U}),Ge.add(Xe);let $t=[];const xe=d((X,$)=>L(X,$,S.start,S.end),"checkSegmentBlocked"),In={x:z.x,y:U.y},Cr=xe(U,In),vr=xe(In,z),Lr=Cr||vr,Sn={x:U.x,y:z.y},Er=xe(U,Sn),Tr=xe(Sn,z);if(Lr?Er||Tr||(Math.abs(U.x-z.x)0;){Se.sort((mt,Vt)=>mt.f-Vt.f);const X=Se.shift();if(Ge.delete(X.key),X.key===wo){let mt=wo,Vt=z;for($t=[Vt];bn.has(mt);){const re=bn.get(mt);$t.unshift(re),Vt=re,mt=He(re.x,re.y)}break}const $=X.pt.x,Q=X.pt.y,ht=Sr.sort((mt,Vt)=>mt.coord-Vt.coord),Tt=ht.findIndex(mt=>Math.abs(mt.coord-$)<1),Ct=Ir.sort((mt,Vt)=>mt.coord-Vt.coord),Rt=Ct.findIndex(mt=>Math.abs(mt.coord-Q)<1),kt=[];Tt>0&&kt.push({x:ht[Tt-1].coord,y:Q}),Tt>=0&&Tt0&&kt.push({x:$,y:Ct[Rt-1].coord}),Rt>=0&&Rtne.nodeId===S.start||ne.nodeId===S.end?!1:Vt!==re?ne.minYQ&&ne.maxX>Vt&&ne.minX$&&ne.maxY>Dt&&ne.minY10&&Cn<-5||Re<-10&&Cn>5)&&(Et=Math.abs(Cn)*100),(Zt>10&&$e<-5||Zt<-10&&$e>5)&&(Et+=Math.abs($e)*50);let Ao=0;const Ro=Mn.get(X.key)??"n",No=Math.abs($e)>lt?"h":"v";Ro!=="n"&&Ro!==No&&(Ao=50);const wr=Ut+Lt+Et+Ao,ze=(Ye.get(X.key)??1/0)+wr,Oo=Math.abs(z.x-mt.x)+Math.abs(z.y-mt.y);if(ze<(Ye.get(vt)??1/0))if(bn.set(vt,X.pt),Ye.set(vt,ze),Mn.set(vt,No),!Ge.has(vt))Se.push({key:vt,f:ze+Oo,pt:mt}),Ge.add(vt);else{const ne=Se.findIndex(Ar=>Ar.key===vt);ne!==-1&&(Se[ne].f=ze+Oo)}}}if($t.length===0&&($t=[U,{x:U.x,y:z.y},z]),$t.length>4){const X=$t[0],$=$t[$t.length-1];let Q=Math.min(X.x,$.x),ht=Math.max(X.x,$.x),Tt=Math.min(X.y,$.y),Ct=Math.max(X.y,$.y);for(const Dt of $t)Q=Math.min(Q,Dt.x),ht=Math.max(ht,Dt.x),Tt=Math.min(Tt,Dt.y),Ct=Math.max(Ct,Dt.y);const Rt=ht>Math.max(X.x,$.x),kt=QLt.minXjt&&Lt.minY_t);if(Ut.length>0){let Lt=Math.max(X.x,$.x);for(const Et of Ut){const Zt=(Et.minX+Et.maxX)/2;if(Et.visualXHalfExtent===void 0||isNaN(Et.visualXHalfExtent))continue;const Re=Zt+Et.visualXHalfExtent+Dt;Lt=Math.max(Lt,Re)}isNaN(Lt)||(ht=Lt)}}if(kt){const jt=g.filter(_t=>_t.minXMath.min(X.y,$.y));if(jt.length>0){let _t=Math.min(X.x,$.x);for(const vt of jt){const Lt=(vt.minX+vt.maxX)/2-vt.visualXHalfExtent-Dt;_t=Math.min(_t,Lt)}Q=_t}}}const mt=d(Dt=>{const jt=$.y>X.y,_t=g.filter(Lt=>{const Et=Math.min(X.x,$.x)Lt.minX,Zt=Math.min(X.y,$.y)Lt.minY;return Et&&Zt});let vt=_t;if(c&&_t.length>0){const Lt=_t.filter(Et=>Et.minXDt);Lt.length>0&&(vt=Lt)}if(vt.length===0)return $.y;const Ut=Ce;if(jt){const Et=Math.max(...vt.map(Zt=>Zt.maxY))+Ut;if(Et<$.y-lt)return Et}else{const Et=Math.min(...vt.map(Zt=>Zt.minY))-Ut;if(Et>$.y+lt)return Et}return $.y},"findBestReturnY"),Vt=d(Dt=>{const jt=mt(Dt),_t={x:Dt,y:X.y},vt={x:Dt,y:jt},Ut={x:$.x,y:jt},Lt=xe(X,_t),Et=xe(_t,vt),Zt=xe(vt,Ut),Re=jt!==$.y?xe(Ut,$):!1;return!Lt&&!Et&&!Zt&&!Re?Math.abs(jt-$.y)=3){const X=zt[zt.length-1],$=zt[zt.length-2],Q=zt[zt.length-3],ht=Math.abs(Q.y-$.y)Math.abs(X.x-Q.x)&&zt.splice(-2,1)}else if(Tt){const Ct=Math.sign($.y-Q.y),Rt=Math.sign(X.y-Q.y);Ct!==0&&Ct===Rt&&Math.abs($.y-Q.y)>Math.abs(X.y-Q.y)&&zt.splice(-2,1)}}const fe=[zt[0]];for(let X=1;X$.x,Ct=ht.x>Q.x;if(Tt!==Ct){fe.push(Q);continue}continue}if(Math.abs($.x-Q.x)$.y,Ct=ht.y>Q.y;if(Tt!==Ct){fe.push(Q);continue}continue}fe.push(Q)}fe.push(zt[zt.length-1]);for(let X=0;Xm.from{const N=!T.segments.some(W=>(W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex)&&J(W,m)),D=!w.segments.some(W=>(W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex)&&J(W,S));return N&&D?(m.trackIndex=T.index,S.trackIndex=w.index,w.segments=[...w.segments.filter(W=>W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex),{edgeIndex:S.edgeIndex,segmentIndex:S.segmentIndex,from:S.from,to:S.to}],T.segments=[...T.segments.filter(W=>W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex),{edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ut=d(m=>{const S=m.tracks.length;return m.tracks[S]={index:S,coord:m.coord,segments:[]},S},"createNewTrack"),pt=d((m,S)=>{const w=m.pipe.tracks[m.trackIndex];w.segments=w.segments.filter(N=>N.edgeIndex!==m.edgeIndex||N.segmentIndex!==m.segmentIndex),m.trackIndex=S,m.pipe.tracks[S].segments.push({edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to})},"moveSegmentToTrack"),St=d((m,S)=>{const w=l[m.edgeIndex];for(const T of w){const N=h[T];N.pipe===m.pipe&&pt(N,S)}},"moveSegmentChainToTrack"),wt=d(m=>{const S=l[m.edgeIndex],w=S.indexOf(h.indexOf(m)),T=[];return w>0&&T.push(h[S[w-1]]),w{if(m.orientation===S.orientation)return!1;const w=m.orientation==="horizontal"?m:S,T=m.orientation==="horizontal"?S:m;return T.pipe.coord>w.from&&T.pipe.coordT.from&&w.pipe.coord{for(const w of m.tracks)if(!w.segments.some(N=>(N.edgeIndex!==S.edgeIndex||N.segmentIndex!==S.segmentIndex)&&J(N,S)))return w.index;return-1},"findAvailableTrack"),Jt=d((m,S)=>{if(m.trackIndex===S.trackIndex)return J(m,S);const w=wt(m),T=wt(S);return w.some(N=>T.some(D=>Kt(N,D)))},"segmentsConflict"),se=d((m,S,w)=>{if(rt(m,S,m.pipe.tracks[m.trackIndex],S.pipe.tracks[S.trackIndex]))return;const T=qt(m.pipe,S);w(S,T!==-1?T:ut(m.pipe))},"resolveTrackConflict"),Ee=d(m=>{let S=0;for(let w=0;w{if(me.has(m))return me.get(m);const S=l[m];if(S.length===0){const ot={dest:0,deviation:0,base:0,delta:0};return me.set(m,ot),ot}const T=h[S[0]].pipe.coord;let N=T;for(let ot=1;otMath.abs(bt-T)?z:bt;break}}const D=Math.abs(N-T),W={dest:N,deviation:D,base:T,delta:N-T};return me.set(m,W),W},"getDestInfo"),mn=d(()=>{let m=0;const S=new Map;for(const[T,N]of s.entries())l[T].length!==0&&N.start&&(S.has(N.start)||S.set(N.start,[]),S.get(N.start).push(T));const w=d(T=>{const N=s[T];if(!N.start||!N.end)return 0;const D=r.get(N.start),W=r.get(N.end);if(!D||!W)return 0;const ot=(W.x??0)-(D.x??0),U=(W.y??0)-(D.y??0);return Math.abs(ot)+Math.abs(U)},"getEdgeDistance");for(const T of S.values()){T.sort((D,W)=>{const ot=Te(D),U=Te(W);if(Math.abs(ot.deviation-U.deviation)>1)return ot.deviation-U.deviation;if(Math.abs(ot.dest-U.dest)>1)return ot.dest-U.dest;const z=w(D),bt=w(W);if(Math.abs(z-bt)>1)return bt-z;const dt=l[D].length,ct=l[W].length;if(dt!==ct)return dt-ct;if(dt===1){const st=l[D][0],It=l[W][0];if(h[st]&&h[It]){const Bt=h[st],At=h[It],Gt=Math.abs(Bt.to-Bt.from),ee=Math.abs(At.to-At.from);if(Math.abs(Gt-ee)>1)return Gt-ee}}return 0});const N=T.map(D=>h[l[D][0]]);m+=Ee(N)}return m},"fixSourceHandleCrossings"),yn=d(()=>{let m=0;const S=new Map;for(const[w,T]of s.entries())l[w].length!==0&&T.end&&(S.has(T.end)||S.set(T.end,[]),S.get(T.end).push(w));for(const w of S.values()){w.sort((N,D)=>{const W=d(z=>{const bt=l[z];if(bt.length<2)return 0;const dt=h[bt[bt.length-2]];return Math.abs(dt.to-dt.from)},"getDist"),ot=W(N),U=W(D);return Math.abs(ot-U)>.1?ot-U:N-D});const T=w.map(N=>h[l[N][l[N].length-1]]);m+=Ee(T)}return m},"fixTargetHandleCrossings"),pn=d(()=>{let m=0;for(const S of a){const w=[];for(const T of S.tracks)for(const N of T.segments){const D=l[N.edgeIndex].find(W=>h[W].segmentIndex===N.segmentIndex);D!==void 0&&w.push(h[D])}w.sort((T,N)=>T.edgeIndex-N.edgeIndex||T.segmentIndex-N.segmentIndex);for(let T=0;T{T.segments.forEach(N=>{S.push({edgeIndex:N.edgeIndex,segmentIndex:N.segmentIndex,trackIndex:T.index,from:N.from,to:N.to})})}),S.sort((T,N)=>T.from-N.from);const w=[];if(S.length>0){let T=[S[0]],N=S[0].to;for(let D=1;DN.add(st.trackIndex));const D=new Map;T.forEach(st=>{const It=Te(st.edgeIndex);D.set(st.trackIndex,(D.get(st.trackIndex)??0)+It.delta)});const W=[...N].filter(st=>(D.get(st)??0)<-1),ot=[...N].filter(st=>(D.get(st)??0)>1),U=[...N].filter(st=>Math.abs(D.get(st)??0)<=1);W.sort((st,It)=>(D.get(It)??0)-(D.get(st)??0)),ot.sort((st,It)=>(D.get(st)??0)-(D.get(It)??0));const z=d((st,It)=>{T.filter(Bt=>Bt.trackIndex===st).forEach(Bt=>{const At=x.has(Bt.edgeIndex)?m.coord:It;F.set(`${Bt.edgeIndex}-${Bt.segmentIndex}`,At)})},"assignCoord");let bt=0;for(const st of W)bt++,z(st,m.coord-bt*Tn);if(U.length===0&&N.size>0){const st=[...N].sort((At,Gt)=>Math.abs(D.get(At)??0)-Math.abs(D.get(Gt)??0))[0],It=W.indexOf(st);It!==-1&&W.splice(It,1);const Bt=ot.indexOf(st);Bt!==-1&&ot.splice(Bt,1),U.push(st)}let dt=0;for(const st of U){if(dt===0)z(st,m.coord);else{const It=dt%2===1?1:-1,Bt=Math.ceil(dt/2);z(st,m.coord+It*Bt*Tn*.5)}dt++}let ct=0;for(const st of ot)ct++,z(st,m.coord+ct*Tn)}}for(const[m,S]of s.entries()){const w=l[m]??[];if(w.length===0)continue;const T=[],N=r.get(S.start),D=r.get(S.end),{pSrcPort:W,pDstPort:ot}=nt(m,N,D),U=w.map(dt=>{const ct=h[dt],st=F.get(`${ct.edgeIndex}-${ct.segmentIndex}`)??ct.pipe.coord;return{orient:ct.orientation,coord:st,from:ct.from,to:ct.to}});T.push(W);for(let dt=0;dtlt&&T.push(ve(ct,It)),Gt&&At.orient===ct.orient)if(Math.abs(ct.coord-At.coord)>lt){const ee=ct.orient==="vertical"?(It+At.from)/2:io(ct,At);T.push(ve(ct,ee),ve(At,ee))}else(dt===0||dt===U.length-2)&&T.push(ve(ct,io(ct,At)));else if(Gt)T.push(ve(ct,At.coord));else{const ee=Math.abs(ct.from-It)lt||Math.abs(z.y-ot.y)>lt)&&T.push(ot);const bt=[];T.length>0&&bt.push(T[0]);for(let dt=1;dtlt||Math.abs(ct.y-st.y)>lt)&&bt.push(ct)}S.points=bt}for(const m of s){const S=m.__originalEdge;S&&m.points&&(S.points=m.points)}t.edges=(t.edges??[]).filter(m=>!m.isLayoutOnly);const V=d((m,S)=>{const w=S.x??0,T=S.y??0,N=S.width??0,D=S.height??0;if(N<=0||D<=0)return m;const W=w-N/2,ot=w+N/2,U=T-D/2,z=T+D/2;if(m.xot||m.yz)return m;const bt=m.x-W,dt=ot-m.x,ct=m.y-U,st=z-m.y,It=Math.min(bt,dt,ct,st);return It===bt?{x:W,y:m.y}:It===dt?{x:ot,y:m.y}:It===ct?{x:m.x,y:U}:{x:m.x,y:z}},"nodeBoundaryClamp");for(const m of t.edges){const S=m.points;if(!S||S.length<2)continue;const w=m.start,T=m.end,N=w?r.get(w):void 0,D=T?r.get(T):void 0;N&&(S[0]=V(S[0],N)),D&&(S[S.length-1]=V(S[S.length-1],D))}return t}d(pr,"routeEdgesOrthogonal");function xr(t){return t.direction??"TB"}d(xr,"getSwimlaneDirection");function br(t){var g,p,M,u,h;const e=es(t),n=((g=t.config.flowchart)==null?void 0:g.nodeSpacing)??40,o=((p=t.config.flowchart)==null?void 0:p.rankSpacing)??100,s=((M=t.config.swimlane)==null?void 0:M.ignoreCrossLaneEdges)??!0,r=((u=t.config.swimlane)==null?void 0:u.optimizeRanksByCrossings)??!0,i=((h=t.config.swimlane)==null?void 0:h.automaticLaneOrdering)??!1,a=xr(t),{ordered:c,coordinates:f}=yr(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:i,direction:a});ns(e,c,f,{nodeGap:n,layerGap:o});for(const l of t.edges??[])delete l.points;pr(t,a);for(const l of t.edges??[])(!l.curve||l.curve==="basis")&&(l.curve="rounded");return Bs(t,a),Ps(t),a}d(br,"runSwimlaneLayoutCore");async function oi(t,e){const n=e.select("g");Or(n,t.markers,t.type,t.diagramId),Pr(),Br(),kr(),Nr(),ts(t);const o=os(t);t.nodes=o.nodes,t.edges=o.edges;const{groups:s}=await Xo(n,t);br(t),await Jo(t,s)}d(oi,"render");export{oi as render}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/visualizations/mermaid/sizeCapture-X5ZJPWSS-dTWDZWf3.js","assets/visualizations/mermaid/mermaid.core-DAX2QfGO.js","assets/app/index-sh8QRNzm.js","assets/styles/index-s77xcnYE.css"])))=>i.map(i=>d[i]); +import{_ as Rr}from"../../app/index-sh8QRNzm.js";import{c as Nr}from"./chunk-RYQCIY6F-8wtkB9Bx.js";import{aw as Or,v as Pr,t as Br,u as kr,at as Qe,Y as _r,ag as Fr,ad as Dr,aG as Hr,ae as Xr,af as Yr,X as Gr,a6 as $r,P as zr,ba as _e,b3 as Ve,a as d,av as Po}from"./mermaid.core-DAX2QfGO.js";import{G as Vr}from"../../chunks/graph-Dqkl27Ch.js";import"../../chunks/map-8WAJQ6ap.js";async function Xo(t,e){const n=new Vr({multigraph:!0,compound:!0}),o=[...e.edges],s=_r(),r=t.insert("g").attr("class","root"),i=r.insert("g").attr("class","clusters"),a=r.insert("g").attr("class","edges edgePath"),c=r.insert("g").attr("class","edgeLabels"),f=r.insert("g").attr("class","nodes"),g=new Map,p=t.node()!=null;await Promise.all(e.nodes.map(async M=>{var u;if(M.isGroup)n.setNode(M.id,{...M});else{if(p){const h=await Fr(f,M,{config:s,dir:M.dir}),l=((u=h.node())==null?void 0:u.getBBox())??{width:0,height:0};g.set(M.id,h),M.width=l.width,M.height=l.height}n.setNode(M.id,{...M})}}));for(const M of o)n.setEdge(M.start,M.end,{...M},M.id),e.edges.some(h=>h.id===M.id)||e.edges.push(M);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:M}=await Rr(async()=>{const{captureNodeSizes:u}=await import("./sizeCapture-X5ZJPWSS-dTWDZWf3.js");return{captureNodeSizes:u}},__vite__mapDeps([0,1,2,3]));M(t,e)}return{graph:n,groups:{clusters:i,edgePaths:a,edgeLabels:c,nodes:f,rootGroups:r},nodeElements:g}}d(Xo,"createGraphWithElements");var Bo=5,je=1e-5,Ue=1e-6;function tn(t){const e=[];for(let n=0;n=1-Ue||M<=Ue||M>=1-Ue?null:{point:{x:t.x+p*s,y:t.y+p*r},tA:p,tB:M}}d(Yo,"segmentIntersection");function wn(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}d(wn,"isHorizontalSeg");function Go(t){const e=[];for(let n=0;n=Math.abs(n)?e>=0?1:0:n>=0?1:0}d($o,"getArcSweepFlag");var jr=.001;function zo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&Po[e.arrowTypeStart];if(o){const r=t[0],i=t[1],a=Math.atan2(i.y-r.y,i.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&Po[e.arrowTypeEnd];if(s){const r=t.length,i=t[r-2],a=t[r-1],c=Math.atan2(a.y-i.y,a.x-i.x);n[r-1].x=a.x-s*Math.cos(c),n[r-1].y=a.y-s*Math.sin(c)}return n}d(zo,"applyMarkerOffsets");function Vo(t,e,n,o,s){const r=t.point.x,i=t.point.y,a={x:r-e*t.r,y:i-n*t.r},c={x:r+e*t.r,y:i+n*t.r},f=[`L${Oe(a)}`];return s==="arc"?f.push(`A${le(t.r)},${le(t.r)} 0 0 ${o} ${Oe(c)}`):f.push(`M${Oe(c)}`),f}d(Vo,"emitJump");function An(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=n.x-e.x,a=n.y-e.y,c=Math.hypot(s,r),f=Math.hypot(i,a);if(c0){const v=An(s[f-1],s[f],s[f+1]??s[f],Bo);v&&(l=v.cutLen)}let x=p,C=null;r&&fv.t-L.t);for(const v of b)v.r=Math.min(v.r,v.d-l,x-v.d);for(let v=0;vL){const y=L/2;b[v].r=Math.min(b[v].r,y),b[v+1].r=Math.min(b[v+1].r,y)}}for(const v of b)v.r=2?o:null}catch{return null}}d(Ko,"decodeDataPoints");function qo(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const f of e)s.set(f.id,f);const r=[],i=new Map;for(const f of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(f.id):f.id,p=o.querySelector(`path[data-id="${g}"]`);if(!p)continue;i.set(f.id,p);const u=Ko(p.getAttribute("data-points"))??f.points;r.push({...f,points:u})}const a=Go(r);if(a.length===0)return;const c=new Map;for(const f of a){const g=c.get(f.jumpEdgeId)??[];g.push(f),c.set(f.jumpEdgeId,g)}for(const f of r){const g=c.get(f.id);if(!g||g.length===0)continue;const p=s.get(f.id),M=p==null?void 0:p.curve;if(M!==void 0&&!Wo(M))continue;const u=i.get(f.id);if(!u)continue;if(M===void 0){const v=u.getAttribute("d")??"";if(!Uo(v))continue}const h=u.getAttribute("style")??"",l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),x=l?Number.parseFloat(l[1]):null,C=l?Number.parseFloat(l[2]):null,b=jo(f,g,n);if(u.setAttribute("d",b),x!==null&&C!==null&&typeof u.getTotalLength=="function"){const v=u.getTotalLength(),L=Math.max(0,v-x-C),y=`0 ${x} ${L} ${C}`,I=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${y};`).replace(/;\s*;+/g,";");u.setAttribute("style",I)}}}d(qo,"applyLineJumpsToSvg");async function Jo(t,e){var s,r;for(const i of t.nodes)i.isGroup?await Dr(e.clusters,i):Hr(i);const n=new Map;for(const i of t.nodes)i!=null&&i.id&&n.set(i.id,i);for(const i of t.edges){const a=i.start?n.get(i.start)??{}:{},c=i.end?n.get(i.end)??{}:{},f=Xr(e.edgePaths,{...i},{},t.type,a,c,t.diagramId);i.label&&await Yr(e.rootGroups,i),i.label&&Zo(i,f)}const o=(r=(s=t.config)==null?void 0:s.swimlane)==null?void 0:r.lineHops;if(o!==!1){const i=o==="gap"?"gap":"arc",a=t.edges.filter(c=>Array.isArray(c.points)&&c.points.length>=2).map(c=>({id:c.id,points:c.points,curve:c.curve,arrowTypeStart:c.arrowTypeStart,arrowTypeEnd:c.arrowTypeEnd}));qo(e.edgePaths,a,{enabled:!0,jumpRadius:6,jumpStyle:i})}}d(Jo,"adjustLayout");function Zo(t,e){const n=(e==null?void 0:e.updatedPath)??(e==null?void 0:e.originalPath),o=Gr(),{subGraphTitleTotalMargin:s}=$r({flowchart:o.flowchart??{}});if(t.label){const r=zr.get(t.id);let i=t.x,a=t.y;if(n){const c=_e.calcLabelPosition(n);Qe.debug("Moving label "+t.label+" from (",i,",",a,") to (",c.x,",",c.y,") abc88"),e&&(i=c.x,a=c.y)}r.attr("transform",`translate(${i}, ${a+s/2})`)}if(t!=null&&t.startLabelLeft){const r=Ve.get(t.id).startLeft;let i=t==null?void 0:t.x,a=t==null?void 0:t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.startLabelRight){const r=Ve.get(t.id).startRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelLeft){const r=Ve.get(t.id).endLeft;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}if(t.endLabelRight){const r=Ve.get(t.id).endRight;let i=t.x,a=t.y;if(n){const c=_e.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);i=c.x,a=c.y}r.attr("transform",`translate(${i}, ${a})`)}}d(Zo,"positionEdgeLabel");var vn="__swimlane_default__",Ur=21,ko=20;function Rn(t){return Math.max(t.padding??ko,ko)}d(Rn,"topLaneHorizontalPadding");function Qo(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const i=n-s/2,a=Math.min(r,n+s/2),c=Math.min(Ur,Math.max(0,a-i)),f=i+c;if(f<=i){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:i,bottom:f}}d(Qo,"assignTopLaneTitleRect");function ts(t){const e=t.direction,n=t.nodes??(t.nodes=[]);for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===vn);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:vn,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=vn}d(ts,"prepareLayoutForSwimlanes");function es(t){const e=new Map;for(const c of t.nodes??[])e.set(c.id,c);const n=[];for(const c of t.edges??[]){const f=typeof c.start=="string"?c.start:void 0,g=typeof c.end=="string"?c.end:void 0;!f||!g||c.labelNodeId||n.push({id:c.id,src:f,dst:g,ref:c})}const o=t.nodes??[],s=o.filter(c=>c.isGroup),r=o.filter(c=>!c.isGroup);return{nodes:[...[...s].reverse(),...r].map(c=>c.id),edges:n,layout:t,nodeById:e}}d(es,"toGraphView");function ns(t,e,n,o){const{layout:s}=t,r=t.nodeById,i=(o==null?void 0:o.layerGap)??100,a=(o==null?void 0:o.nodeGap)??40;let c=0;for(const M of e.layers){let u=0;for(const h of M){const l=r.get(h);if(!l){u++;continue}l.layer=c,l.order=u;const x=n.x[h]??u*a,C=n.y[h]??c*i;l.x=x,l.y=C,u++}c++}const f=s.nodes??[],g=new Map,p=[];for(const M of f){if(!(M!=null&&M.isGroup))continue;M.parentId||p.push(M);const u=f.filter(b=>b.parentId===M.id);let h=1/0,l=-1/0,x=1/0,C=-1/0;for(const b of u){const v=b.x??n.x[b.id],L=b.y??n.y[b.id],y=b.width??0,I=b.height??0;v!=null&&L!=null&&(h=Math.min(h,v-y/2),l=Math.max(l,v+y/2),x=Math.min(x,L-I/2),C=Math.max(C,L+I/2))}if(h===1/0||x===1/0)M.x=M.x??0,M.y=M.y??0,M.width=M.width??0,M.height=M.height??0;else{const b=M.padding??20,v=M.parentId?b:2*Rn(M),L=b,y=Math.max(0,l-h)+v,I=Math.max(0,C-x)+L,E=(h+l)/2,A=(x+C)/2;M.x=E,M.y=A,M.width=y,M.height=I,g.set(M.id,{minX:h,maxX:l,minY:x,maxY:C})}}if(p.length>0&&g.size>0){let M=1/0,u=-1/0,h=0;for(const l of p){const x=l.padding??20;x>h&&(h=x);const C=g.get(l.id);C&&(M=Math.min(M,C.minY),u=Math.max(u,C.maxY))}if(M!==1/0&&u!==-1/0){const l=Math.max(0,u-M),C=Math.max(h,36),b=l+2*C,v=(M+u)/2;for(const B of p)B.y=v,B.height=b,B.swimlaneContentTop=M;const L=[...p].sort((B,O)=>{const k=B.x??0,H=O.x??0;return k-H}),y=[],I=[],E=[];for(const B of L){const O=g.get(B.id);if(!O)continue;const k=Math.max(0,O.maxX-O.minX)+2*Rn(B),H=(O.minX+O.maxX)/2;y.push(B.id),I.push(H),E.push(k)}const A=y.length;if(A>0){const B=new Map;if(A===1)B.set(y[0],E[0]);else{const O=[];for(let j=0;j0&&s>0?{cx:e,cy:n,rect:Pe(e,n,o,s)}:void 0}d(co,"measuredNodeRect");function ao(t){if(t.isGroup)return;const e=co(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}d(ao,"nodeBoundsInfoFor");function ce(t,e,n=Yt){return Math.abs(t.x-e.x)n}d(Nt,"isHorizontalSegment");function Ot(t,e,n=Yt){return gt(t,e,n)&&Math.abs(t.y-e.y)>n}d(Ot,"isVerticalSegment");function Wt(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}d(Wt,"overlapLength");function de(t,e,n=Yt){return t.horizontal&&e.horizontal&&yt(t.a,e.a,n)?Wt(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&>(t.a,e.a,n)?Wt(t.a.y,t.b.y,e.a.y,e.b.y):0}d(de,"sameAxisSegmentOverlapLength");function Be(t,e=Yt){const n=[];for(let o=0;o0?n[n.length-1]:void 0;(!s||!ce(s,o,e))&&n.push({x:o.x,y:o.y})}return n}d(xt,"dedupeConsecutivePoints");function lo(t,e=Yt){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Nt(n,o,e)&&Ot(o,s,e)&&Nt(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:Ot(n,o,e)&&Nt(o,s,e)&&Ot(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}d(lo,"classifyThreeSegmentRoute");function dn(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),i=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&sn.top-o&&ie.left+n&&t.xe.top+n&&t.y=e.right&&t.top<=e.top&&t.bottom>=e.bottom}d(ss,"rectContainsRect");function en(t,e){return t.lefte.left&&t.tope.top}d(en,"rectsOverlap");function Nn(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}d(Nn,"inflateRect");function Pe(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}d(Pe,"rectFromCenterSize");function te(t){var e;return(e=co(t))==null?void 0:e.rect}d(te,"rectOfNodeBounds");function Le(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}d(Le,"portForRectSide");function uo(t,e,n,o,s,r=Yt){const i=e==="left"||e==="right",a=o==="left"||o==="right";if(i&&a){if(e==="right"&&o==="left"&&t.xn.x){if(yt(t,n,r))return[t,n];const p=(t.x+n.x)/2;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}if(e===o){if(yt(t,n,r))return;const p=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:p,y:t.y},{x:p,y:n.y},n]}return}if(!i&&!a){if(e===o){if(gt(t,n,r))return;const M=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:M},{x:n.x,y:M},n]}if(!(e==="bottom"&&o==="top"&&t.yn.y))return;if(gt(t,n,r))return[t,n];const p=(t.y+n.y)/2;return[t,{x:t.x,y:p},{x:n.x,y:p},n]}if(i&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.xn.y;return g&&p?[t,{x:n.x,y:t.y},n]:void 0}const c=e==="bottom"&&n.y>t.y||e==="top"&&n.yn.x;return c&&f?[t,{x:t.x,y:n.y},n]:void 0}d(uo,"buildOrthogonalPortPath");function ho(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}d(ho,"buildSameSideTrackPath");function un(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=ao(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}d(un,"collectRealNodeBounds");function Me(t){const e=[],n=[];for(const o of t){const s=ao(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}d(Me,"collectNodeRectEntries");function rs(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,i=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Pe(s,r,i,a)})}return n}d(rs,"collectLayoutNodeRects");function go(t,e,n=Yt){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),i=e.get(s);if(!(!r||!i))return{srcId:o,dstId:s,srcInfo:r,dstInfo:i,collinearX:Math.abs(r.cx-i.cx)h||MC)return!1;const b=Math.abs(l-g.a.x)s:r&&a&&yt(t,n,s)?Wt(t.x,e.x,n.x,o.x)>s:!1}d(is,"sameAxisSegmentsOverlap");function nn(t,e,n,o,{epsilon:s=Yt,skipDegenerateOther:r=!1}={}){for(const i of n){if(i===o||i.isLayoutOnly)continue;const a=i.points;if(!(!a||a.length<2))for(let c=0;cM+s&&hl+s&&po+Yt&&t=2?e[e.length-2]:void 0,c=(i?gt(i,s):!1)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(c)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!ce(s,o))&&n.push(o)}return n}d(on,"orthogonalizePolyline");function ue(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=as(e);if(e=o.points,!o.changed)break}return e}d(ue,"simplifyPolyline");var it=.001,Kr=.5,_o=4;function yo(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length=0&&s=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const i=ls(t[s],t[r],e);return n?[i,...t.slice(s)]:[...t.slice(0,s+1),i]}d(Pn,"clipEndpoint");function fs(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=Pn(s,o.srcRect,!0)),o.dstRect&&(s=Pn(s,o.dstRect,!1)),s=ue(on(s)),s=po(s,o.srcRect,o.dstRect),o.edge.points=ue(on(s))}}d(fs,"clipEdgeEndpointsToNodeBoundaries");function Bn(t,e,n,o=!1){if(yt(t,e,it)){if(e.yn.bottom+it)return e;if(o){if(t.xn.right+it)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(gt(t,e,it)){if(e.xn.right+it)return e;if(o){if(t.yn.bottom+it)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}d(Bn,"snapEndpointToBoundary");function sn(t,e,n){const o=t[e];for(let s=e+n;s>=0&&so.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}d(ds,"intersectRanges");function _n(t,e){return e==="left"||e==="right"?rn(t.top,t.bottom):rn(t.left,t.right)}d(_n,"clearanceRangeForSide");function cn(t,e,n){const o=t.y>=n.top-it&&t.y<=n.bottom+it,s=t.x>=n.left-it&&t.x<=n.right+it;if(yt(t,e,it)&&o){if(Math.abs(t.x-n.left)0?ds(r):void 0}d(us,"straightClearanceRange");function Fn(t,e,n,o,s){const r=us(t,e,n,o,s);if(!r)return;const i=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,i));if(!(Math.abs(a-i)({...a}));for(let a=e;a>=0&&a=n.left-it&&Math.max(t.x,e.x)<=n.right+it,s=Math.min(t.y,e.y)>=n.top-it&&Math.max(t.y,e.y)<=n.bottom+it;if(Math.abs(t.y-n.top)o.bottom+it;case"left":return yt(e,n,it)&&n.xo.right+it}}d(Xn,"leavesOutward");function Yn(t,e,n){if(t.length<3)return t;if(n){const r=Hn(t[0],t[1],e);return r&&Xn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=Hn(t[o-1],t[o],e);return s&&Xn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}d(Yn,"collapseOwnBorderStub");function ms(t,e,n){let o=t;if(e){const r=sn(o,0,1);if(r){const i=Bn(r,o[0],e);i!==o[0]&&(o=[i,...o.slice(1)])}o=Yn(o,e,!0)}if(n){const r=o.length-1,i=sn(o,r,-1);if(i){const a=Bn(i,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Yn(o,n,!1)}const s=po(o,e,n);return s!==o||o.length===2?s:(e&&(o=Dn(o,e,!0)),n&&(o=Dn(o,n,!1)),o)}d(ms,"snapAndCollapseEndpoints");function Gn(t,e){for(const n of t){const o=yo(n,e,2);if(!o)continue;const s=xt(o.points,it),r=ms(s,o.srcRect,o.dstRect);if(r.length<3){o.edge.points=r;continue}const i=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];o.edge.points=i}}d(Gn,"prepareEdgeEndpointsForRenderer");function xo(t){return new Map(t.map(e=>[e.id,e]))}d(xo,"buildNodeMap");function ys(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!(s!=null&&s.isGroup))break;o=s.id,n=s.parentId}return o}d(ys,"resolveTopLevelGroupId");function $n(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!(s!=null&&s.isGroup))break;n++,o=s.parentId}return n}d($n,"groupDepth");function bo(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const i=r.x,a=r.y;if(typeof i!="number"||typeof a!="number")continue;const c=r.width??0,f=r.height??0;e=Math.min(e,i-c/2),n=Math.max(n,i+c/2),o=Math.min(o,a-f/2),s=Math.max(s,a+f/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}d(bo,"boundsForChildren");function ps(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}d(ps,"applyGroupBounds");function xs(t){const e=xo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>$n(s,e)-$n(o,e));for(const o of n){const s=t.filter(i=>i.parentId===o.id),r=bo(s);r&&ps(o,r)}}d(xs,"recomputeNestedGroupBounds");function an(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(c=>!c.isGroup);let r=1/0,i=-1/0;for(const c of s){const f=c[e];typeof f=="number"&&(r=Math.min(r,f),i=Math.max(i,f))}if(!Number.isFinite(r)||!Number.isFinite(i))return!1;const a=d(c=>r+i-c,"mirror");for(const c of n){const f=c[e];typeof f=="number"&&(c[e]=a(f));const g=c.groupTitleRect;g&&(c.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const c of o)for(const f of c.points??[])f[e]=a(f[e]);return!0}d(an,"mirrorAxis");function bs(t){return(t.nodes??[]).some(n=>!n.isGroup)?an(t,"y"):!0}d(bs,"applyBtDirectionTransform");function Ms(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(P=>!P.isGroup);let r=1/0,i=1/0;for(const P of s){const G=P.x??0,j=P.y??0;G0?Math.max(1,g/p):1;for(const P of s){const G=P.x??0,tt=((P.y??0)-i)*M+a,ft=G-r;P.x=tt,P.y=ft}for(const P of o)if(P.points)for(const G of P.points){const j=G.x,ft=(G.y-i)*M+a,Mt=j-r;G.x=ft,G.y=Mt}xs(n);const u=n.filter(P=>P.isGroup&&!P.parentId);if(u.length===0)return e==="RL"&&an(t,"x"),!0;const h=xo(n),l=new Map;for(const P of n){if(P.isGroup)continue;const G=ys(P,h);if(!G)continue;const j=l.get(G)??[];j.push(P),l.set(G,j)}let x=0;for(const P of u){const G=P.padding??0;G>x&&(x=G)}const C=[];let b=1/0,v=-1/0;for(const P of u){const G=l.get(P.id)??[],j=bo(G);j&&(b=Math.min(b,j.minX),v=Math.max(v,j.maxX),C.push({lane:P,contentTop:j.minY,contentBottom:j.maxY,centerY:(j.minY+j.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const L=Math.max(0,v-b),y=Math.max(x,10),I=L+2*y,E=a+I,O=(b+v)/2-I/2-a,k=O+E/2,H=Math.max(x,a);C.sort((P,G)=>P.centerY-G.centerY);for(let P=0;PM.cy?C.bottom:C.top,H=M.cx+b;if(H<=C.left+ae||H>=C.right-ae)continue;v={x:H,y:k},L={x:H,y:a.y},y={x:a.x,y:a.y}}else{const k=u.cx>M.cx?C.right:C.left,H=M.cy+b;if(H<=C.top+ae||H>=C.bottom-ae)continue;v={x:k,y:H},L={x:a.x,y:H},y={x:a.x,y:a.y}}const I=ce(v,L,ae),E=ce(L,y,ae);if(I&&E||!I&&Pt(v,L,o,[g],1)||!E&&Pt(L,y,o,[p],1))continue;const A=!I&&nn(v,L,t,s,{epsilon:ae,skipDegenerateOther:!0}),B=!E&&nn(L,y,t,s,{epsilon:ae,skipDegenerateOther:!0});if(!(A||B)){I?x=[L,y]:E?x=[v,L]:x=[v,L,y];break}}x&&(s.points=x)}}d(Is,"portSwapToLShape");function Ss(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<4)continue;const f=xt(c,.001);if(f.length<4)continue;const g=f.length-1,p=f[g],M=f[g-1],u=f[g-2],h=p.x-M.x,l=p.y-M.y,x=Math.hypot(h,l);if(x>=10||x<.001)continue;const C=M.x-u.x,b=M.y-u.y;if(Math.hypot(C,b)<.001)continue;const L=Nt(M,p,.001),y=Ot(M,p,.001),I=Nt(u,M,.001),E=Ot(u,M,.001);if(!(L&&E||y&&I))continue;const A=a.end,B=a.start,O=A?e.get(A):void 0;if(!O)continue;const k=O.x??0,H=O.y??0,P=te(O);if(!P)continue;let G,j;if(E){const J=b<0;G={x:k,y:u.y},j={x:k,y:J?P.bottom:P.top}}else{const J=C>0;G={x:u.x,y:H},j={x:J?P.right:P.left,y:H}}if(Pt(G,j,r,A?[A]:[],-2)||Pt(G,j,i,[],-2))continue;if(B){const J=e.get(B),rt=J?te(J):void 0;if(rt&&fo(G,rt,2))continue}const tt=d((J,rt)=>`${J.x.toFixed(3)},${J.y.toFixed(3)}|${rt.x.toFixed(3)},${rt.y.toFixed(3)}`,"ownSegmentKey"),ft=new Set;for(let J=0;J{for(const ut of t){if(ut===a||ut.isLayoutOnly)continue;const pt=ut.points;if(!(!pt||pt.length<2))for(let St=0;St=0){const J=f[g-3],rt=[B,A].filter(ut=>!!ut);if(Pt(J,G,r,rt,-2)||Mt(J,G))continue}const Ft=[...f.slice(0,g-2),G,j];a.points=Ft;const nt=a.labelNodeId;if(nt){const J=e.get(nt);if(J){const rt=J.width??0,ut=J.height??0;if(rt>0&&ut>0){let pt,St,wt=-1;for(let Kt=0;Kt=rt+2||me&&se>=ut+2)&&se>wt&&(wt=se,pt=(qt.x+Jt.x)/2,St=(qt.y+Jt.y)/2)}pt!==void 0&&St!==void 0&&(J.x=pt,J.y=St)}}}}}d(Ss,"collapseShortTerminalStub");var et=.001,Xt=8,at=Be,Ln=d((t,e)=>gt(t,e,et)||yt(t,e,et),"orthogonallyAligned");function Cs(t,e){const s=d((u,h)=>{const l=u.x??0,x=u.y??0,C=h.x-l,b=h.y-x;let v=(u.width??0)/2,L=(u.height??0)/2;return Math.abs(b)*v>Math.abs(C)*L?(b<0&&(L=-L),{x:l+(b===0?0:L*C/b),y:x+L}):(C<0&&(v=-v),{x:l+v,y:x+(C===0?0:v*b/C)})},"rectIntersect"),r=d((u,h)=>{const l=xt(u.points??[]);if(l.length<2)return;const x=h?u.start:u.end,C=x?e.get(x):void 0,b=C?te(C):void 0;if(!C||!x||!b)return;const v=h?l[0]:l[l.length-1],L=h?l[1]:l[l.length-2],y=s(C,v);let I=v;if(Ln(L,y)&&(I=L),gt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"V",coord:y.x,min:Math.min(y.y,I.y),max:Math.max(y.y,I.y),boundary:y,railEnd:I,rect:b};if(yt(y,I,et))return{edge:u,edgeId:String(u.id??""),nodeId:x,atStart:h,orientation:"H",coord:y.y,min:Math.min(y.x,I.x),max:Math.max(y.x,I.x),boundary:y,railEnd:I,rect:b}},"terminalLaneFor"),i=d((u,h)=>Math.max(0,Math.min(u.max,h.max)-Math.max(u.min,h.min)),"projectedOverlapLength"),a=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:u.orientation==="H"?(Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1)&>(u.boundary,h.boundary,1):(Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1)&&yt(u.boundary,h.boundary,1),"sameTerminalFace"),c=d((u,h)=>u.nodeId!==h.nodeId||u.orientation!==h.orientation?!1:i(u,h)>=Xt&&Math.abs(u.coord-h.coord)<.5,"exactTerminalLaneConflict"),f=d((u,h)=>{if(u.nodeId!==h.nodeId||u.orientation!==h.orientation||u.orientation!=="H"||u.atStart===h.atStart)return!1;const l=i(u,h);if(l2*x?!1:a(u,h)&&Math.abs(u.coord-h.coord)<16},"nearTerminalLaneConflict"),g=d((u,h)=>{const l=xt(u.edge.points??[]);if(l.length<2)return;const x=u.orientation==="V"?{x:u.boundary.x+h,y:u.boundary.y}:{x:u.boundary.x,y:u.boundary.y+h},C=u.orientation==="V"?{x:u.railEnd.x+h,y:u.railEnd.y}:{x:u.railEnd.x,y:u.railEnd.y+h};if(!d(()=>Math.abs(u.boundary.y-u.rect.top)<1||Math.abs(u.boundary.y-u.rect.bottom)<1?yt(x,u.boundary,et)&&x.x>=u.rect.left+1&&x.x<=u.rect.right-1:Math.abs(u.boundary.x-u.rect.left)<1||Math.abs(u.boundary.x-u.rect.right)<1?gt(x,u.boundary,et)&&x.y>=u.rect.top+1&&x.y<=u.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(u.atStart){const I=l.length>1&&ce(l[1],u.railEnd,et),E=l.slice(I?2:1),A=E[0];return A&&!Ln(A,C)?void 0:[x,C,...E]}const v=l.length>1&&ce(l[l.length-2],u.railEnd,et),L=l.slice(0,v?-2:-1),y=L[L.length-1];if(!(y&&!Ln(y,C)))return[...L,C,x]},"shiftedCandidate"),p=d(u=>{const h=u.edge,l=xt(h.points??[]);if(l.length!==2)return!1;const x=h.start,C=h.end,b=x?e.get(x):void 0,v=C?e.get(C):void 0;if(!b||!v)return!1;const L=b.x??0,y=b.y??0,I=v.x??0,E=v.y??0,[A,B]=l;return yt(A,B,et)&&Math.abs(y-E)<1&&Math.abs(L-I)>1||gt(A,B,et)&&Math.abs(L-I)<1&&Math.abs(y-E)>1},"laneIsStraightCollinearConnector"),M=[-7,7,-2*7,2*7,-3*7,3*7];for(let u=0;u<8;u++){const h=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let l=!1;for(let x=0;x{const A=p(I),B=p(E);return A!==B?Number(A)-Number(B):+!E.atStart-+!I.atStart});for(const I of y){for(const E of M){const A=g(I,E);if(!A)continue;const B=r({...I.edge,points:A},I.atStart);if(!(!B||h.some(O=>O.edge!==I.edge&&(c(B,O)||L&&f(B,O))))){I.edge.points=A,l=!0;break}}if(l)break}}if(!l)return}}d(Cs,"separateSharedRenderedTerminalLanes");function vs(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=d((a,c)=>{const f=a.start,g=a.end,p=at(c);if(p.length!==c.length-1)return!1;const M=[f,g].filter(u=>!!u);for(const u of p)if(Pt(u.a,u.b,o,M,-2)||Pt(u.a,u.b,s,[],-2))return!1;for(const u of t){if(u===a||u.isLayoutOnly)continue;const h=u.points;if(!(!h||h.length<2)){for(const l of p)for(const x of at(xt(h)))if(de(l,x,.5)>=Xt||he(l.a,l.b,x.a,x.b,et))return!1}}return!0},"candidateIsSafe"),i=d((a,c)=>{if(c+4>=a.length)return;const f=a[c],g=a[c+1],p=a[c+2],M=a[c+3],u=a[c+4],h=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&>(f,M,et)&>(f,u,et)&>(g,p,et)&&(g.x-f.x)*(M.x-p.x)<0,l=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&yt(f,M,et)&&yt(f,u,et)&&yt(g,p,et)&&(g.y-f.y)*(M.y-p.y)<0;if(h||l)return xt([...a.slice(0,c+1),u,...a.slice(c+5)]);if(c+5>=a.length)return;const x=a[c+5],C=Ot(f,g)&&Nt(g,p)&&Ot(p,M)&&Nt(M,u)&&Ot(u,x)&>(f,u,et)&>(f,x,et)&>(p,M,et)&&(p.x-g.x)*(u.x-M.x)<0,b=Nt(f,g)&&Ot(g,p)&&Nt(p,M)&&Ot(M,u)&&Nt(u,x)&&yt(f,u,et)&&yt(f,x,et)&&yt(p,M,et)&&(p.y-g.y)*(u.y-M.y)<0;if(!(!C&&!b))return xt([...a.slice(0,c+1),x,...a.slice(c+6)])},"withoutDogleg");for(let a=0;a<8;a++){let c=!1;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(let p=0;p<=g.length-5;p++){const M=i(g,p);if(!(!M||!r(f,M))){f.points=M,c=!0;break}}if(c)break}if(!c)return}}d(vs,"collapseRedundantRectangularDoglegs");function zn(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(h=>!h.isLayoutOnly),c=d((h,l,x)=>xt(h===l?x??[]:h.points??[]),"pointsFor"),f=d((h,l)=>{let x=0;for(let C=0;C{const l=at(h);if(l.length!==3)return;const x=l[1];if(!(l[0].horizontal===x.horizontal||l[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),p=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);return r.filter(C=>{if(x.includes(C.id))return!1;const b=C.rect;return l.horizontal?Wt(l.a.x,l.b.x,b.left,b.right)>=Xt&&l.a.y>=b.top-2&&l.a.y<=b.bottom+2:Wt(l.a.y,l.b.y,b.top,b.bottom)>=Xt&&l.a.x>=b.left-2&&l.a.x<=b.right+2})},"blockingRectsFor"),M=d((h,l,x)=>{const C=h.map(v=>({...v}));if(l.horizontal)C[l.index].y=x,C[l.index+1].y=x;else if(l.vertical)C[l.index].x=x,C[l.index+1].x=x;else return;const b=ue(xt(C));return at(b).length===b.length-1?b:void 0},"candidateByMovingRail"),u=d((h,l,x)=>{const C=[h.start,h.end].filter(v=>!!v),b=at(l);if(b.length!==l.length-1)return!1;for(const v of b)if(Pt(v.a,v.b,r,C,-2)||Pt(v.a,v.b,i,[],-2))return!1;for(const v of a)if(v!==h){for(const L of b)for(const y of at(c(v)))if(de(L,y,.5)>=Xt)return!1}return f(h,l)<=x},"candidateIsSafe");for(let h=0;h<8;h++){const l=f();let x=!1;for(const C of a){const b=c(C),v=g(b);if(!v)continue;const L=p(C,v.segment);if(L.length===0)continue;const y=v.horizontal?[Math.min(...L.map(I=>I.rect.top))-20,Math.max(...L.map(I=>I.rect.bottom))+20]:[Math.min(...L.map(I=>I.rect.left))-20,Math.max(...L.map(I=>I.rect.right))+20];for(const I of y){const E=M(b,v.segment,I);if(!(!E||!u(C,E,l))){C.points=E,x=!0;break}}if(x)break}if(!x)return}}d(zn,"liftObstacleHuggingSameSideRails");function Vn(t,e){const o=d(c=>{const f=c.groupTitleRect;if(!(!f||typeof f.left!="number"||typeof f.right!="number"||typeof f.top!="number"||typeof f.bottom!="number"||!Number.isFinite(f.left)||!Number.isFinite(f.right)||!Number.isFinite(f.top)||!Number.isFinite(f.bottom)||f.right<=f.left||f.bottom<=f.top))return{left:f.left,right:f.right,top:f.top,bottom:f.bottom}},"validTitleRect"),s=d(c=>{if(!c.isGroup||c.parentId)return;const f=c.direction,g=typeof f=="string"?f.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const p=o(c),M=c.y,u=c.height;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(l<=0||h{if(!c.horizontal)return!1;const g=c.a.y;return g<=f.top+et||g>=f.bottom-et?!1:Wt(c.a.x,c.b.x,f.left,f.right)>=Xt},"horizontalSegmentIntersectsTitle"),i=[...e.values()].map(s).filter(c=>!!c);if(i.length===0)return;let a=0;for(const c of t){if(c.isLayoutOnly)continue;const f=xt(c.points??[]);for(const g of at(f))for(const p of i)r(g,p.rect)&&(a=Math.max(a,p.rect.bottom-g.a.y+4))}if(!(a<=et))for(const c of i){const f=c.node.y,g=c.node.height;typeof f!="number"||typeof g!="number"||!Number.isFinite(f)||!Number.isFinite(g)||g<=0||(c.node.y=f-a/2,c.node.height=g+a,c.node.groupTitleRect={...c.rect,top:c.rect.top-a,bottom:c.rect.bottom-a})}}d(Vn,"liftTopLaneTitleBandsAboveRails");function jn(t,e){const o=d(f=>{const g=f.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=d(f=>{if(!f.isGroup||f.parentId||f.direction!=="LR")return;const p=o(f),M=f.x,u=f.width;if(!p||typeof M!="number"||typeof u!="number"||!Number.isFinite(M)||!Number.isFinite(u)||u<=0)return;const h=p.right-p.left,l=p.bottom-p.top;if(!(h<=0||l{if(!f.vertical)return!1;const p=f.a.x;return p<=g.left+et||p>=g.right-et?!1:Wt(f.a.y,f.b.y,g.top,g.bottom)>=Xt},"verticalSegmentIntersectsTitle"),i=d((f,g)=>{if(!f.horizontal)return!1;const p=f.a.y;return p<=g.top+et||p>=g.bottom-et?!1:Wt(f.a.x,f.b.x,g.left,g.right)>=Xt},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(f=>!!f);if(a.length===0)return;let c=0;for(const f of t){if(f.isLayoutOnly)continue;const g=xt(f.points??[]);for(const p of at(g))for(const M of a)if(r(p,M.rect))c=Math.max(c,M.rect.right-p.a.x+4);else if(i(p,M.rect)){const u=Math.min(p.a.x,p.b.x);c=Math.max(c,M.rect.right-u+4)}}if(!(c<=et))for(const f of a){const g=f.node.x,p=f.node.width;typeof g!="number"||typeof p!="number"||!Number.isFinite(g)||!Number.isFinite(p)||p<=0||(f.node.x=g-c/2,f.node.width=p+c,f.node.groupTitleRect={...f.rect,left:f.rect.left-c,right:f.rect.right-c})}}d(jn,"shiftLeftLaneTitleBandsLeftOfRails");function Ls(t,e){const{realNodeRects:o}=Me(e.values()),s=t.filter(h=>!h.isLayoutOnly),r=d((h,l=new Map)=>xt(l.get(h)??h.points??[]),"replacementPointsFor"),i=d((h=new Map)=>{let l=0;for(let x=0;xs.reduce((l,x)=>l+oe(r(x,h)),0),"totalBends"),c=d(h=>{const l=r(h);if(l.length<4)return;const x=l[l.length-2],C=l[l.length-1];if(!(!Nt(x,C,et)&&!Ot(x,C,et)))return{tailStart:x,terminal:C}},"terminalTailFor"),f=d((h,l)=>{const x=r(h);if(x.length<3)return;const C=x[0],b=x[1];let v;if(Nt(C,b,et))v={x:b.x,y:l.tailStart.y};else if(Ot(C,b,et))v={x:l.tailStart.x,y:b.y};else return;const L=ue(xt([C,b,v,l.tailStart,l.terminal]));return at(L).length===L.length-1?L:void 0},"candidateWithDestinationTail"),g=d((h,l)=>{const x=[h.start,h.end].filter(C=>!!C);for(const C of at(l))if(Pt(C.a,C.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),p=d((h,l,x)=>{for(const C of s)if(C!==h){for(const b of at(l))for(const v of at(r(C,x)))if(de(b,v,.5)>=Xt)return!0}return!1},"pathHasSharedTrack"),M=d((h,l,x)=>!g(h,l)&&!p(h,l,x),"candidateIsSafe"),u=d(()=>{const h=new Map;for(const l of s){const x=l.end;if(!x||!e.has(x)||r(l).length<4)continue;const b=h.get(x)??[];b.push(l),h.set(x,b)}return h},"edgesByDestination");for(let h=0;h<4;h++){const l=i();if(l===0)return;const x=a();let C,b=l,v=x;for(const L of u().values())for(let y=0;y=l||G>b||G===b&&j>=v||(C=P,b=G,v=j)}if(!C)return;for(const[L,y]of C)L.points=y}}d(Ls,"swapDestinationTerminalTailsToReduceCrossings");function Es(t,e){const{realNodeRects:r,labelNodeRects:i}=Me(e.values()),a=t.filter(L=>!L.isLayoutOnly),c=d((L,y=new Map)=>xt(y.get(L)??L.points??[]),"replacementPointsFor"),f=d((L=new Map)=>{let y=0;for(let I=0;Ia.reduce((y,I)=>y+oe(c(I,L)),0),"totalBends"),p=d(L=>{const y=L.start,I=L.end,E=y?e.get(y):void 0,A=I?e.get(I):void 0,B=E?te(E):void 0,O=A?te(A):void 0;return B&&O?{src:B,dst:O}:void 0},"endpointRectsFor"),M=d((L,y,I)=>{if(I.index<=0||I.index+1>=y.length-1)return;const E=p(L);if(E){if(I.vertical){const A=I.a.x,B=Math.min(E.src.left,E.dst.left),O=Math.max(E.src.right,E.dst.right),k=AO+et?"right":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"vertical",side:k,coord:A,min:Math.min(I.a.y,I.b.y),max:Math.max(I.a.y,I.b.y)}:void 0}if(I.horizontal){const A=I.a.y,B=Math.min(E.src.top,E.dst.top),O=Math.max(E.src.bottom,E.dst.bottom),k=AO+et?"bottom":void 0;return k?{edge:L,points:y,segmentIndex:I.index,axis:"horizontal",side:k,coord:A,min:Math.min(I.a.x,I.b.x),max:Math.max(I.a.x,I.b.x)}:void 0}}},"externalRailForSegment"),u=d(()=>{const L=[];for(const y of a){const I=c(y);for(const E of at(I)){const A=M(y,I,E);A&&L.push(A)}}return L},"collectExternalRails"),h=d((L,y)=>L.edge!==y.edge&&L.axis===y.axis&&L.side===y.side&&Wt(L.min,L.max,y.min,y.max)>=Xt,"railsInteract"),l=d(L=>{const y=[],I=new Set;for(const E of L){if(I.has(E))continue;const A=[E],B=[];for(I.add(E);A.length>0;){const O=A.pop();B.push(O);for(const k of L)!I.has(k)&&h(O,k)&&(I.add(k),A.push(k))}B.length>1&&y.push(B)}return y},"connectedComponents"),x=d(L=>{const y=[];for(const I of L)y.some(E=>Math.abs(E-I.coord){const y=L.map(A=>A.coord),I=x(L),E=[];if(L.length<=6){const A=new Array(I.length).fill(!1),B=[],O=d(()=>{if(B.length===L.length){B.some((k,H)=>Math.abs(k-y[H])>=et)&&E.push([...B]);return}for(const[k,H]of I.entries())A[k]||(A[k]=!0,B.push(H),O(),B.pop(),A[k]=!1)},"visit");return O(),E}for(let A=0;A{const I=new Map;for(const[A,B]of L.entries()){const O=y[A],k=I.get(B.edge)??B.points.map(H=>({x:H.x,y:H.y}));B.axis==="vertical"?(k[B.segmentIndex].x=O,k[B.segmentIndex+1].x=O):(k[B.segmentIndex].y=O,k[B.segmentIndex+1].y=O),I.set(B.edge,k)}const E=new Map;for(const[A,B]of I){const O=ue(xt(B));if(at(O).length!==O.length-1)return;E.set(A,O)}return E},"replacementsForAssignment"),v=d(L=>{for(const[y,I]of L){const E=[y.start,y.end].filter(A=>!!A);for(const A of at(I))if(Pt(A.a,A.b,r,E,-2)||Pt(A.a,A.b,i,[],-2))return!1}for(let y=0;y=Xt)return!1}}return!0},"candidateIsSafe");for(let L=0;L<4;L++){const y=f();if(y===0)return;let I,E=y,A=g(),B=Number.POSITIVE_INFINITY;for(const O of l(u()))for(const k of C(O)){const H=b(O,k);if(!H||!v(H))continue;const P=f(H);if(P>=y)continue;const G=g(H),j=O.reduce((tt,ft,Mt)=>tt+Math.abs(k[Mt]-ft.coord),0);P>E||P===E&&(G>A||G===A&&j>=B)||(I=H,E=P,A=G,B=j)}if(!I)return;for(const[O,k]of I)O.points=k}}d(Es,"reassignCrossingExternalRailChannels");function Ts(t,e){const{realNodeRects:o,labelNodeRects:s}=Me(e.values()),r=t.filter(u=>!u.isLayoutOnly),i=d((u,h,l)=>xt(u===h?l??[]:u.points??[]),"pointsFor"),a=d(u=>at(u).reduce((h,l)=>{const x=l.a.x-l.b.x,C=l.a.y-l.b.y;return h+Math.hypot(x,C)},0),"pathLength"),c=d((u,h)=>{let l=0;for(let x=0;x{if(u.horizontal){const l=u.a.y;return(Math.abs(l-h.top)<1||Math.abs(l-h.bottom)<1)&&Wt(u.a.x,u.b.x,h.left,h.right)>=Xt}if(u.vertical){const l=u.a.x;return(Math.abs(l-h.left)<1||Math.abs(l-h.right)<1)&&Wt(u.a.y,u.b.y,h.top,h.bottom)>=Xt}return!1},"segmentRunsAlongRectBorder"),g=d(u=>{const h=[u.start,u.end].filter(x=>!!x),l=[];for(const x of h){const C=e.get(x),b=C?te(C):void 0;b&&l.push(b)}return l},"endpointRectsFor"),p=d((u,h)=>{if(h+3>=u.length)return[];const l=u[h],x=u[h+1],C=u[h+2],b=u[h+3],v=Nt(l,x,et)&&Ot(x,C,et)&&Nt(C,b,et),L=Ot(l,x,et)&&Nt(x,C,et)&&Ot(C,b,et);if(!v&&!L)return[];if(!(v?Math.sign(x.x-l.x)!==Math.sign(b.x-C.x):Math.sign(x.y-l.y)!==Math.sign(b.y-C.y)))return[];const I=gt(l,b,et)||yt(l,b,et)?[]:[{x:l.x,y:b.y},{x:b.x,y:l.y}],E=I.length===0?[[...u.slice(0,h+1),...u.slice(h+3)]]:I.map(B=>[...u.slice(0,h+1),B,...u.slice(h+3)]),A=new Set;return E.map(B=>ue(xt(B))).filter(B=>{if(at(B).length!==B.length-1||!B.some(k=>ce(k,b,et)))return!1;const O=B.map(k=>`${k.x.toFixed(3)},${k.y.toFixed(3)}`).join("|");return A.has(O)?!1:(A.add(O),!0)})},"shortcutCandidatesAt"),M=d((u,h,l)=>{const x=[u.start,u.end].filter(b=>!!b),C=g(u);for(const b of at(h))if(Pt(b.a,b.b,o,x,-2)||Pt(b.a,b.b,s,[],-2)||C.some(v=>f(b,v)))return!1;for(const b of r)if(b!==u){for(const v of at(h))for(const L of at(i(b)))if(de(v,L,.5)>=Xt)return!1}return c(u,h)<=l},"candidateIsSafe");for(let u=0;u<8;u++){const h=c();let l,x,C=h,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const L of r){const y=i(L),I=oe(y,et),E=a(y);for(let A=0;A<=y.length-4;A++)for(const B of p(y,A)){const O=oe(B,et),k=a(B);if(!(OC||P===C&&(O>b||O===b&&k>=v)||(l=L,x=B,C=P,b=O,v=k)}}if(!l||!x)return;l.points=x}}d(Ts,"shortcutRedundantOrthogonalJogs");function ws(t,e){const i=[];for(const R of e.values()){if(R.isGroup||R.isEdgeLabel)continue;const _=R.x??0,F=R.y??0,V=te(R);V&&i.push({id:String(R.id??""),cx:_,cy:F,rect:V})}if(i.length===0)return;const a=new Map(i.map(R=>[R.id,R])),c=i.map(R=>({id:R.id,rect:R.rect})),f=["top","bottom","left","right"],g={top:Math.min(...i.map(R=>R.rect.top))-20,bottom:Math.max(...i.map(R=>R.rect.bottom))+20,left:Math.min(...i.map(R=>R.rect.left))-20,right:Math.max(...i.map(R=>R.rect.right))+20},p=t.filter(R=>!R.isLayoutOnly),M=new Map(p.map((R,_)=>[R,_])),u=d(R=>{const _=R==="left"||R==="top"?-1:1,F=[];for(let V=0;V<=2;V++)F.push(g[R]+_*20*V);return F},"outwardTracksForSide"),h=d((R,_=new Map)=>xt(_.get(R)??R.points??[]),"replacementPointsFor"),l=d((R,_)=>{let F=0;for(const V of R)for(const K of _)he(V.a,V.b,K.a,K.b,et)&&F++;return F},"crossingCountBetweenSegments"),x=d((R,_)=>l(at(R),at(_)),"crossingCountBetweenPaths"),C=d((R=new Map)=>{let _=0;const F=[],V=new Set,K=[],Z=d(Y=>{V.has(Y)||(V.add(Y),K.push(Y))},"addEdge");for(let Y=0;Y0&&(_+=T,F.push({first:q,second:w,count:T}),Z(q),Z(w))}}return K.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),{count:_,pairs:F,edgeSet:V,edges:K}},"crossingSnapshot"),b=d((R,_)=>{const F=new Set(_.keys());if(F.size===0)return R.count;let V=0;for(const Z of R.pairs)(F.has(Z.first)||F.has(Z.second))&&(V+=Z.count);let K=0;for(let Z=0;Z{const _=new Map;for(const K of R.pairs){const Z=_.get(K.first)??new Set;Z.add(K.second),_.set(K.first,Z);const Y=_.get(K.second)??new Set;Y.add(K.first),_.set(K.second,Y)}const F=[],V=new Set;for(const K of R.edges){if(V.has(K))continue;const Z=[K],Y=[];for(V.add(K);Z.length>0;){const q=Z.pop();Y.push(q);for(const m of _.get(q)??[])V.has(m)||(V.add(m),Z.push(m))}Y.sort((q,m)=>(M.get(q)??0)-(M.get(m)??0)),Y.length>1&&F.push(Y)}return F},"crossingComponents"),L=d(R=>[R.start,R.end].filter(_=>!!_),"endpointIdsFor"),y=d(R=>{const _=[];for(const F of v(R)){const V=new Set(F),K=new Set(F.flatMap(Y=>L(Y))),Z=[...F];for(const Y of p)V.has(Y)||L(Y).some(q=>K.has(q))&&Z.push(Y);Z.sort((Y,q)=>(M.get(Y)??0)-(M.get(q)??0)),_.push(Z)}return _},"pairSearchGroups"),I=d((R,_,F)=>b(R,new Map([[_,F]])),"crossingCountWithSingleReplacement"),E=d(R=>{const _=new Map;for(const F of R.pairs)_.set(F.first,(_.get(F.first)??0)+F.count),_.set(F.second,(_.get(F.second)??0)+F.count);return _},"currentCrossingsByEdge"),A=d(R=>R.slice(1).reduce((_,F,V)=>{const K=R[V];return _+Math.abs(F.x-K.x)+Math.abs(F.y-K.y)},0),"pathLength"),B=d((R=new Map)=>p.reduce((_,F)=>_+oe(h(F,R)),0),"totalBends"),O=d((R=new Map)=>p.reduce((_,F)=>_+A(h(F,R)),0),"totalLength"),k=d((R,_,F=new Map)=>{const V=at(_);for(const K of p)if(K!==R){for(const Z of V)for(const Y of at(h(K,F)))if(de(Z,Y,.5)>=Xt)return!0}return!1},"pathHasSegmentConflict"),H=d((R,_)=>{const F=[R.start,R.end].filter(V=>!!V);for(const V of at(_))if(Pt(V.a,V.b,c,F,-2))return!0;return!1},"pathHitsNode"),P=d((R,_)=>{const F=ue(xt(_));at(F).length===F.length-1&&R.push(F)},"pushOrthogonalCandidate"),G=d(R=>R==="left"||R==="right","sideIsHorizontal"),j=d((R,_,F)=>{switch(_){case"left":return Math.min(R.x,F.x)-20;case"right":return Math.max(R.x,F.x)+20;case"top":return Math.min(R.y,F.y)-20;case"bottom":return Math.max(R.y,F.y)+20}},"localTrackForSameSide"),tt=d((R,_,F,V)=>{const K=F==="left"||F==="top"?-1:1,Z=[j(_,F,V),g[F]];for(const Y of Z)for(let q=0;q<=2;q++)P(R,ho(_,F,V,Y+K*20*q))},"addSameSideCandidates"),ft=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:Z,y:_.y},{x:Z,y:Y},{x:V.x,y:Y},V])},"addHorizontalToVerticalCandidates"),Mt=d((R,_,F,V,K)=>{for(const Z of u(F))for(const Y of u(K))P(R,[_,{x:_.x,y:Z},{x:Y,y:Z},{x:Y,y:V.y},V])},"addVerticalToHorizontalCandidates"),Ht=d((R,_,F,V,K)=>{const Z=[...u("top"),...u("bottom")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:Y,y:_.y},{x:Y,y:m},{x:q,y:m},{x:q,y:V.y},V])},"addHorizontalPairCandidates"),Ft=d((R,_,F,V,K)=>{const Z=[...u("left"),...u("right")];for(const Y of u(F))for(const q of u(K))for(const m of Z)P(R,[_,{x:_.x,y:Y},{x:m,y:Y},{x:m,y:q},{x:V.x,y:q},V])},"addVerticalPairCandidates"),nt=d(R=>{const _=new Set;return R.map(F=>xt(F)).filter(F=>{const V=F.map(K=>`${K.x.toFixed(3)},${K.y.toFixed(3)}`).join("|");return _.has(V)||F.length<2?!1:(_.add(V),!0)})},"dedupeCandidatePaths"),J=d((R,_,F,V)=>{const K=[],Z=uo(R,_,F,V,20,et);Z&&P(K,Z),_===V&&tt(K,R,_,F);const Y=G(_),q=G(V);return Y&&!q?ft(K,R,_,F,V):!Y&&q?Mt(K,R,_,F,V):Y?Ht(K,R,_,F,V):Ft(K,R,_,F,V),nt(K)},"buildCandidatesForSides"),rt=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="top"||Y==="bottom"?u(Y):Z;for(const S of K){P(R,[_,F,{x:S,y:F.y},{x:S,y:q.y},q]);for(const w of m)P(R,[_,F,{x:S,y:F.y},{x:S,y:w},{x:q.x,y:w},q])}}},"addVerticalDepartureOuterTrackCandidates"),ut=d((R,_,F,V)=>{const K=[...u("left"),...u("right")],Z=[...u("top"),...u("bottom")];for(const Y of f){const q=Le(V,Y),m=Y==="left"||Y==="right"?u(Y):K;for(const S of Z){P(R,[_,F,{x:F.x,y:S},{x:q.x,y:S},q]);for(const w of m)P(R,[_,F,{x:F.x,y:S},{x:w,y:S},{x:w,y:q.y},q])}}},"addHorizontalDepartureOuterTrackCandidates"),pt=d(R=>{const _=R.start,F=R.end,V=F?a.get(F):void 0;if(!_||!V)return[];const K=xt(R.points??[]);if(K.length<4)return[];const Z=K[0],Y=K[1],q=[];return Ot(Z,Y,et)?rt(q,Z,Y,V):Nt(Z,Y,et)&&ut(q,Z,Y,V),q},"terminalPreservingOuterTrackCandidates"),St=d(R=>{const _=R.start,F=R.end,V=_?a.get(_):void 0,K=F?a.get(F):void 0;if(!V||!K)return[];const Z=[];for(const Y of f){const q=Le(V,Y);for(const m of f)Z.push(...J(q,Y,Le(K,m),m))}return Z.push(...pt(R)),Z},"candidatePathsFor"),wt=d(()=>new Map(p.map(R=>[R,at(h(R))])),"currentSegmentsByEdge"),Kt=d((R,_,F)=>{const V=new Set;for(const K of p){if(K===R)continue;const Z=F.get(K)??at(h(K));_.some(Y=>Z.some(q=>de(Y,q,.5)>=Xt))&&V.add(K)}return V},"sharedTrackConflictsFor"),qt=d((R,_,F,V)=>{const K=new Set;return St(R).map(Y=>ue(xt(Y))).filter(Y=>{if(H(R,Y))return!1;const q=Y.map(m=>`${m.x.toFixed(3)},${m.y.toFixed(3)}`).join("|");return K.has(q)||Y.length<2?!1:(K.add(q),!0)}).map(Y=>{const q=at(Y);let m=0;for(const S of p)S!==R&&(m+=l(q,F.get(S)??at(h(S))));return{candidate:Y,candidateSegments:q,crossings:_.count-(V.get(R)??0)+m,bends:oe(Y,et),totalBends:oe(Y),length:A(Y)}}).filter(({crossings:Y})=>Y<=_.count).sort((Y,q)=>Y.crossings-q.crossings||Y.bends-q.bends||Y.length-q.length).slice(0,48).map(Y=>({path:Y.candidate,segments:Y.candidateSegments,sharedTrackConflicts:Kt(R,Y.candidateSegments,F),totalBends:Y.totalBends,length:Y.length}))},"pairCandidatesFor"),Jt=d((R,_,F,V,K,Z)=>{let Y=0;for(const m of R.pairs)(m.first===_||m.second===_||m.first===V||m.second===V)&&(Y+=m.count);let q=l(F.segments,K.segments);for(const m of p){if(m===_||m===V)continue;const S=Z.get(m)??at(h(m));q+=l(F.segments,S)+l(K.segments,S)}return R.count-Y+q},"pairCrossingCount"),se=d((R,_)=>{for(const F of R.sharedTrackConflicts)if(F!==_)return!1;return!0},"conflictsOnlyWith"),Ee=d((R,_)=>R.segments.some(F=>_.segments.some(V=>de(F,V,.5)>=Xt)),"candidatesShareTrack"),me=d((R,_,F,V)=>se(_,F.edge)&&se(V,R.edge)&&!Ee(_,V),"pairCandidatesAreCompatible"),Te=d((R,_,F,V,K)=>{const Z=Jt(R.current,_.edge,F,V.edge,K,R.baseSegments);if(!(Z>=R.current.count))return{replacements:new Map([[_.edge,F.path],[V.edge,K.path]]),crossings:Z,bends:R.currentBends-(R.baseBendsByEdge.get(_.edge)??0)-(R.baseBendsByEdge.get(V.edge)??0)+F.totalBends+K.totalBends,length:R.currentLength-(R.baseLengthByEdge.get(_.edge)??0)-(R.baseLengthByEdge.get(V.edge)??0)+F.length+K.length}},"scorePairReplacement"),mn=d((R,_)=>R.crossings<_.crossings||R.crossings===_.crossings&&(R.bends<_.bends||R.bends===_.bends&&R.length<_.length),"pairScoreIsBetter"),yn=d((R,_,F,V)=>{let K=V;for(const Z of _.candidates)for(const Y of F.candidates){if(!me(_,Z,F,Y))continue;const q=Te(R,_,Z,F,Y);q&&mn(q,K)&&(K=q)}return K},"bestScoreForOptionPair"),pn=d(R=>{const _=B(),F=O(),V=wt(),K=E(R),Z=new Map(p.map(T=>[T,oe(h(T))])),Y=new Map(p.map(T=>[T,A(h(T))])),q=new Map,m=y(R);for(const T of m)for(const N of T){if(q.has(N))continue;const D=qt(N,R,V,K);D.length>0&&q.set(N,{edge:N,candidates:D})}let S={replacements:new Map,crossings:R.count,bends:_,length:F};const w={current:R,currentBends:_,currentLength:F,baseBendsByEdge:Z,baseLengthByEdge:Y,baseSegments:V};for(const T of m){const N=new Set(T.filter(W=>R.edgeSet.has(W))),D=T.map(W=>q.get(W)).filter(W=>!!W);for(let W=0;W0?S.replacements:void 0},"bestPairedReplacement");for(let R=0;R<4;R++){const _=C(),F=_.count;if(F===0)return;let V,K,Z=F,Y=Number.POSITIVE_INFINITY;for(const m of _.edges){const S=oe(h(m),et);for(const w of St(m)){const T=H(m,w),N=!T&&k(m,w),D=I(_,m,w),W=oe(w,et);T||N||!(DZ||D===Z&&W>=Y||(V=m,K=w,Z=D,Y=W)}}if(V&&K){V.points=K;continue}const q=pn(_);if(!q)return;for(const[m,S]of q)m.points=S}}d(ws,"resolveRenderedOrthogonalCrossings");var be=.001,Zr=8;function As(t,e){const{nodeInfoById:n,realNodeRects:o}=un(e),s=["top","bottom","left","right"],r=20,i={top:Math.min(...o.map(l=>l.rect.top))-r,bottom:Math.max(...o.map(l=>l.rect.bottom))+r,left:Math.min(...o.map(l=>l.rect.left))-r,right:Math.max(...o.map(l=>l.rect.right))+r},a=d((l,x,C,b)=>{const v=[],L=uo(l,x,C,b,r,be);return L&&v.push(L),x===b&&v.push(ho(l,x,C,i[x])),v},"buildOrthogonalPathCandidates"),c=d((l,x)=>{for(let C=0;C{let b=0;const v=Be(l,be),L=x.start,y=x.end;for(const I of t){if(I===x||I.isLayoutOnly)continue;const E=I.start,A=I.end;if(!C&&L&&y&&(E===L||E===y||A===L||A===y))continue;const B=I.points;if(!(!B||B.length<2))for(const O of v)for(const k of Be(B,be)){if(mo(O.a,O.b,k.a,k.b,be,be)){b++;continue}de(O,k,be)>=Zr&&b++}}return b},"pathConflictCount"),g=4,p=d((l,x)=>{const C=Math.abs(l.y-x.rect.top),b=Math.abs(l.y-x.rect.bottom),v=Math.abs(l.x-x.rect.left),L=Math.abs(l.x-x.rect.right);let y="top",I=C;return b{const b=M.get(l)??[];b.push({side:x,edgeId:C}),M.set(l,b)},"addFaceClaim");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points??[];if(x.length<1)continue;const C=l.id??"",b=l.start,v=l.end;if(b){const L=n.get(b);L&&u(b,p(x[0],L),C)}if(v){const L=n.get(v);L&&u(v,p(x[x.length-1],L),C)}}const h=d((l,x,C)=>{var b;return((b=M.get(l))==null?void 0:b.some(v=>v.edgeId!==C&&v.side===x))??!1},"faceIsClaimed");for(const l of t){if(l.isLayoutOnly)continue;const x=l.points;if(!x||x.length<2)continue;const C=oe(x,be);if(C0){const Mt=f(tt,l,!0);if(Mt>O||Mt===O&&ft>=k)continue;O=Mt,k=ft,B=tt;continue}f(tt,l)>A||ftG.edgeId!==I));const P=M.get(v);P&&M.set(v,P.filter(G=>G.edgeId!==I)),u(b,p(B[0],L),I),u(v,p(B[B.length-1],y),I)}}}d(As,"simplifyDetouredEdges");var Qt=.001,Fo=10,Ke=7;function Un(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const i=r.x-s.x,a=r.y-s.y;if(!(Math.abs(i)+Math.abs(a)r&&en(t,Rs(r)))}d(Wn,"labelOverlapsOwnMarker");function Je(t,e){const n=[];for(const h of t){if(h.isLayoutOnly)continue;const l=h.points;if(!(!l||l.length<2))for(let x=0;x{const x=Nn(l,r);for(const{nodeId:C,rect:b}of o)if(C!==h&&en(x,b))return!0;return!1},"labelOverlapsForeignNode"),f=d((h,l)=>{const x=Nn(l,r);for(const C of n)if(C.edgeId!==h&&dn(C.p1,C.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=d((h,l,x)=>c(h,x)||f(l,x),"labelOverlapsAnything"),p=[],M=d(h=>{for(const{id:l,rect:x}of s)if(ss(x,h))return l},"findContainingLane"),u=d((h,l)=>p.some(x=>x.labelId!==h&&en(l,x.rect)),"overlapsPlacedLabel");for(const h of t){if(h.isLayoutOnly)continue;const l=h.labelNodeId;if(!l)continue;const x=e.get(l);if(!x)continue;const C=h.points;if(!C||C.length<2)continue;const b=x.width??0,v=x.height??0;if(b<=0||v<=0)continue;const L=[];for(let nt=0;nt=Qt&&pt>=Qt||L.push({idx:nt,length:ut+pt,orientation:ut>=Qt?"horizontal":"vertical",midX:(J.x+rt.x)/2,midY:(J.y+rt.y)/2})}if(L.length===0)continue;const y=L.length>=3?L.filter(nt=>nt.idx>0&&nt.idx0?y:L,E=b>=v?"horizontal":"vertical",A=d(nt=>[...nt].sort((J,rt)=>{const ut=J.orientation===E,pt=rt.orientation===E;if(ut!==pt)return ut?-1:1;const St=J.length>=(J.orientation==="horizontal"?b:v)+2,wt=rt.length>=(rt.orientation==="horizontal"?b:v)+2;return St!==wt?St?-1:1:rt.length-J.length}),"rankSegments"),B=L[0],O=L[L.length-1],k=[.5,.25,.75,.05,.95,.15,.85,.1,.9],H=d((nt,J)=>{const rt=C[nt.idx],ut=C[nt.idx+1];return{midX:rt.x+(ut.x-rt.x)*J,midY:rt.y+(ut.y-rt.y)*J}},"anchorAtT"),P=d((nt,J,rt)=>Math.min(rt,Math.max(J,nt)),"clamp"),G=d((nt,J)=>nt.midX>=J.left-Qt&&nt.midX<=J.right+Qt&&nt.midY>=J.top-Qt&&nt.midY<=J.bottom+Qt,"pointInsideRectInclusive"),j=d(nt=>{const J=Pe(nt.midX,nt.midY,b,v),rt=M(J);if(rt)return{laneId:rt,anchor:nt,rect:J};const ut=s.find(({rect:se})=>G(nt,se));if(!ut)return;const pt=ut.rect.left+b/2+i,St=ut.rect.right-b/2-i,wt=ut.rect.top+v/2+i,Kt=ut.rect.bottom-v/2-i;if(pt>St||wt>Kt)return;const qt={midX:P(nt.midX,pt,St),midY:P(nt.midY,wt,Kt)},Jt=Pe(qt.midX,qt.midY,b,v);return G(nt,Jt)?{laneId:ut.id,anchor:qt,rect:Jt}:void 0},"placementForAnchor"),tt=d((nt,J,rt)=>nt.orientation==="horizontal"?Math.abs(J.midX-rt.x):Math.abs(J.midY-rt.y),"distanceAlongSegment"),ft=d((nt,J)=>{const ut=(nt.orientation==="horizontal"?b/2:v/2)+a;if(nt===B){const pt=C[nt.idx];if(tt(nt,J,pt)+Qt{const J=A(nt);for(const rt of J)for(const ut of k){const pt=H(rt,ut);if(!ft(rt,pt))continue;const St=j(pt);if(St&&!Wn(St.rect,C)&&!u(l,St.rect)&&!g(l,h.id,St.rect))return{laneId:St.laneId,anchor:St.anchor}}},"tryPool"),Ht=d((nt,J,rt=!1)=>{const ut=A(nt);for(const pt of ut){const St={midX:pt.midX,midY:pt.midY};if(J&&!ft(pt,St))continue;const wt=j(St);if(wt&&!Wn(wt.rect,C)&&!u(l,wt.rect)&&!c(l,wt.rect)&&(rt||!f(h.id,wt.rect)))return{laneId:wt.laneId,anchor:wt.anchor}}},"findLaneContainingFallback"),Ft=Mt(I)??(I.lengthrt.labelId===l);J>=0?p[J]={labelId:l,rect:nt}:p.push({labelId:l,rect:nt})}}}d(Je,"anchorLabelsToPolyline");var En=1e-6,Qr=8,Do=Qr/2,ti=3;function Kn(t,e){return t{const g=Kn(a,c);let p=0;const M=d(u=>{if(!u)return;const h=s.get(u);if(!h)return;const l=f==="x"?h.w/2:h.h/2;l>p&&(p=l)},"consider");M(i.labelNodeId);for(const u of t){if(u===i||u.isLayoutOnly)continue;const h=u.start,l=u.end;!h||!l||Kn(h,l)===g&&M(u.labelNodeId)}return p>0?p+ti:0},"labelClearanceFor");for(const i of t){if(i.isLayoutOnly)continue;const a=i.points;if(!lo(a,En))continue;const c=go(i,n,En);if(!c)continue;const{srcId:f,dstId:g,srcInfo:p,dstInfo:M,collinearX:u,collinearY:h}=c;if(u===h)continue;let l,x;if(u){const y=M.cy>p.cy;l={x:p.cx,y:y?p.rect.bottom:p.rect.top},x={x:M.cx,y:y?M.rect.top:M.rect.bottom}}else{const y=M.cx>p.cx;l={x:y?p.rect.right:p.rect.left,y:p.cy},x={x:y?M.rect.left:M.rect.right,y:M.cy}}if(Pt(l,x,o,[f,g],1))continue;const b=r(i,f,g,u?"x":"y"),v=b>Do?b:Do,L=[0,v,-v];for(const y of L){const I={...l},E={...x};if(u){if(I.x+=y,E.x+=y,I.x<=p.rect.left||I.x>=p.rect.right||E.x<=M.rect.left||E.x>=M.rect.right)continue}else if(I.y+=y,E.y+=y,I.y<=p.rect.top||I.y>=p.rect.bottom||E.y<=M.rect.top||E.y>=M.rect.bottom)continue;if(!Pt(I,E,o,[f,g],1)&&!nn(I,E,t,i,{epsilon:En})){i.points=[I,E];break}}}}d(Ns,"straightenCollinearSiblingDetours");function qn(t,e){const{realNodeRects:c,labelNodeRects:f}=Me(e.values()),g=d((y,I)=>Be(I,.001).map(E=>({...E,edge:y,interior:E.index>=1&&E.index<=I.length-3})),"segmentsFor"),p=d(()=>{const y=[];for(const I of t){if(I.isLayoutOnly)continue;const E=I.points;!E||E.length<2||y.push(...g(I,xt(E)))}return y},"allSegments"),M=d((y,I)=>y.horizontal&&I.horizontal?Wt(y.a.x,y.b.x,I.a.x,I.b.x)>=8&&Math.abs(y.a.y-I.a.y)<7:y.vertical&&I.vertical?Wt(y.a.y,y.b.y,I.a.y,I.b.y)>=8&&Math.abs(y.a.x-I.a.x)<7:!1,"hasCrowdedParallelTrack"),u=d((y,I)=>{const E=y.start,A=y.end,B=g(y,I);if(B.length!==I.length-1)return!1;const O=[E,A].filter(H=>!!H),k=y.labelNodeId?[y.labelNodeId]:[];for(const H of B)if(Pt(H.a,H.b,c,O,-2)||Pt(H.a,H.b,f,k,-2))return!1;for(const H of t){if(H===y||H.isLayoutOnly)continue;const P=H.points;if(!(!P||P.length<2)){for(const G of B)for(const j of g(H,xt(P)))if(M(G,j)||he(G.a,G.b,j.a,j.b,.001))return!1}}return!0},"candidateIsSafe"),h=d((y,I)=>{const E=xt(y.edge.points??[]);if(E.length<4||y.index>=E.length-1)return;const A=E.map(B=>({...B}));if(y.horizontal)A[y.index].y+=I,A[y.index+1].y+=I;else if(y.vertical)A[y.index].x+=I,A[y.index+1].x+=I;else return;return g(y.edge,A).length===A.length-1?A:void 0},"shiftedCandidate"),l=d((y,I)=>({x:y.x??(I.left+I.right)/2,y:y.y??(I.top+I.bottom)/2}),"nodeCenter"),x=d(y=>{const I=y.edge,E=xt(I.points??[]);if(E.length!==4||y.index!==1)return;const A=I.start?e.get(I.start):void 0,B=I.end?e.get(I.end):void 0,O=A?te(A):void 0,k=B?te(B):void 0,H=E.slice(y.index+2);if(!(!A||!B||!O||!k||H.length===0))return{sourceCenter:l(A,O),targetCenter:l(B,k),sourceRect:O,tail:H}},"sourceDetourContextFor"),C=d((y,I,E,A,B,O)=>{const k=A.y>=E.y,H=k?B.bottom:B.top,P=H+(k?20:-20);if(k&&y.b.y<=P+.001||!k&&y.b.y>=P-.001)return;const G=y.a.x+I;return xt([{x:E.x,y:H},{x:E.x,y:P},{x:G,y:P},{x:G,y:y.b.y},...O],.001)},"verticalSourceDetour"),b=d((y,I,E,A,B,O)=>{const k=A.x>=E.x,H=k?B.right:B.left,P=H+(k?20:-20);if(k&&y.b.x<=P+.001||!k&&y.b.x>=P-.001)return;const G=y.a.y+I;return xt([{x:H,y:E.y},{x:P,y:E.y},{x:P,y:G},{x:y.b.x,y:G},...O],.001)},"horizontalSourceDetour"),v=d((y,I)=>{const E=x(y);if(E){if(y.vertical)return C(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail);if(y.horizontal)return b(y,I,E.sourceCenter,E.targetCenter,E.sourceRect,E.tail)}},"sourceDetourCandidate"),L=[-7,7,-2*7,2*7,-3*7,3*7];for(let y=0;y<12;y++){const I=p();let E=!1;for(let A=0;AP.interior);for(const P of H){for(const G of L){const j=h(P,G);if(j&&u(P.edge,j)){P.edge.points=j,E=!0;break}const tt=v(P,G);if(tt&&u(P.edge,tt)){P.edge.points=tt,E=!0;break}}if(E)break}}if(!E)return}}d(qn,"nudgeSharedInteriorSubpaths");function Os(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,i=o.x-n.x,a=o.y-n.y,c=s*a-r*i;if(Math.abs(c)<1e-10)return!1;const f=n.x-t.x,g=n.y-t.y,p=(f*a-g*i)/c,M=(f*r-g*s)/c,u=.01;return p>u&&p<1-u&&M>u&&M<1-u}d(Os,"segmentsIntersect");function Ps(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=rs(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const c=a.points;if(!c||c.length<2)continue;const f=a.start,g=a.end,p=a.labelNodeId,M=a.id??`${f}->${g}`;for(const u of s)if(!(u.nodeId===f||u.nodeId===g)&&!(p&&u.nodeId===p)){for(let h=0;h0){const a=o.filter(f=>f.type==="edge-node-overlap").length,c=o.filter(f=>f.type==="edge-edge-crossing").length;Qe.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${c} edge crossing(s)`);for(const f of o)Qe.warn(`[SWIMLANE_VALIDATE] ${f.type}: ${f.detail}`)}return o}d(Ps,"validateSwimlanesLayout");function Bs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!Ms(t,e)||e==="BT"&&s.length>0&&!bs(t))return;for(const a of o){if(a.isLayoutOnly)continue;const c=a.points;!c||c.length<2||(a.points=ue(on(c)))}As(o,n),Ns(o,n),Is(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Je(o,r),fs(o,r),Ss(o,r),qn(o,r),Cs(o,r),vs(o,r),zn(o,r),Ls(o,r);const i=d(()=>{ws(o,r),Es(o,r),Ts(o,r),Je(o,r),Gn(o,r),zn(o,r),Je(o,r),Gn(o,r)},"finalizeRenderedEdges");i(),qn(o,r),i(),Vn(o,r),jn(o,r),Vn(o,r),jn(o,r)}d(Bs,"postProcessSwimlaneLayout");function Ie(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const r of t.edges){if(!e.has(r.src)||!e.has(r.dst))continue;const i=`${r.id}:${r.src}->${r.dst}`;n.has(i)||(n.add(i),o.push(r))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}d(Ie,"normalizeGraph");function Mo(t,e){return t.edges.filter(n=>n.dst===e)}d(Mo,"incoming");function ks(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}d(ks,"buildSuccessorMap");function Io(t){const e=ks(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}d(Io,"buildSortedSuccessorMap");function So(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}d(So,"buildInDegreeMap");function Co(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}d(Co,"sortedZeroInDegreeNodes");function hn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}d(hn,"buildPredecessorSuccessorMaps");function vo(t,e,n,o){var i,a;let s=0;for(const c of t.nodes)o!=null&&o.skipGroups&&((i=t.nodeById.get(c))!=null&&i.isGroup)||(s=Math.max(s,n[c]??0));const r=Array.from({length:s+1},()=>[]);for(const c of e)o!=null&&o.skipGroups&&((a=t.nodeById.get(c))!=null&&a.isGroup)||r[Math.max(0,n[c]??0)].push(c);return r}d(vo,"buildLayersFromRanks");function De(t){const e=So(t),n=Co(e),o=[],s=Io(t);for(;n.length;){const r=n.shift();o.push(r);for(const i of s.get(r)??[])if(e.set(i,(e.get(i)??0)-1),(e.get(i)??0)===0){let a=0;for(;a{if(s-o<=1)return 0;const r=o+s>>1;let i=n(o,r)+n(r,s),a=o,c=r,f=o;for(;a=s||ap.dst===M.dst?p.id.localeCompare(M.id):p.dst.localeCompare(M.dst));const o=Object.create(null);for(const g of e.nodes)o[g]=0;const s=[],r=d(g=>{o[g]=1;for(const p of n.get(g)??[]){const M=p.dst;o[M]===0?r(M):o[M]===1&&s.push(p)}o[g]=2},"dfs"),i=[...e.nodes].sort((g,p)=>g.localeCompare(p));for(const g of i)o[g]===0&&r(g);const a=new Set(s.map(g=>`${g.id}:${g.src}->${g.dst}`)),c=e.edges.map(g=>a.has(`${g.id}:${g.src}->${g.dst}`)?{id:g.id,src:g.dst,dst:g.src,weight:g.weight,ref:g.ref}:g);return{acyclic:{nodes:[...e.nodes],edges:c,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}d(_s,"removeCycles_DFS");function Fs(t){const e=new Map,n=d(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const a=n(r)??r;return e.set(o,a),a},"resolve");for(const o of t.nodes)n(o);return e}d(Fs,"buildTopLaneMap");function ge(t){const e=Fs(t);return n=>e.get(n)??null}d(ge,"createTopLaneResolver");function gn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}d(gn,"buildTopLaneOrder");function Eo(t,e){const n=gn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const i of e)!o.has(i)||s.has(i)||(s.add(i),r.push(i));for(const i of n)s.has(i)||r.push(i);return r}d(Eo,"resolveTopLaneOrder");var ei={EPSILON:1e-6},ln={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Ho={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Ds(t,e){const n=Ie(t),o=(e==null?void 0:e.laneOf)??(()=>null),s=e==null?void 0:e.rankHint,{preds:r}=hn(n);for(const y of r.values())y.sort((I,E)=>I.localeCompare(E));const i=De(n)??[...n.nodes].sort((y,I)=>y.localeCompare(I)),a=new Map;for(const[y,I]of i.entries())a.set(I,y);const c=new Map,f=new Map;for(const y of n.nodes)f.set(y,[]);for(const y of i){const I=(r.get(y)??[]).filter(E=>c.has(E));if(I.length>0){const E=Hs(y,I,{laneOf:o,rankHint:s,topoIndex:a});c.set(y,E),f.get(E).push(y)}else c.has(y)||c.set(y,null)}for(const y of n.nodes)c.has(y)||c.set(y,null);const g=new Set;for(const y of n.nodes)(c.get(y)??null)===null&&g.add(y);const p=[...g].sort((y,I)=>{const E=a.get(y)??0,A=a.get(I)??0;return E===A?y.localeCompare(I):E-A}),M=Xs(n),u=new Map;for(const[y,I]of M.entries())u.set(y,[...I].sort((E,A)=>E.localeCompare(A)));const h=Ys(u),l=Gs(u),x=new Map;for(const y of n.nodes)x.set(y,[]);for(const y of l)for(const I of y.nodes){const E=x.get(I);E?E.push(y.id):x.set(I,[y.id])}const C=[],b=[],v=new Set,L=d(y=>{if(!v.has(y)){v.add(y),C.push(y);for(const I of f.get(y)??[])L(I);b.push(y)}},"walk");for(const y of p)L(y);for(const y of i)L(y);return{parent:c,children:f,roots:p,componentOf:h,blocks:l,nodeBlocks:x,adjacency:u,preorder:C,postorder:b,topologicalOrder:i}}d(Ds,"buildDrivingTree");function Hs(t,e,n){const o=n.laneOf(t);return[...e].sort((r,i)=>{var l,x;const a=n.laneOf(r),c=n.laneOf(i),f=a!=null&&a===o,g=c!=null&&c===o;if(f!==g)return f?-1:1;const p=(l=n.rankHint)==null?void 0:l[r],M=(x=n.rankHint)==null?void 0:x[i];if(p!=null&&M!=null&&p!==M)return M-p;const u=n.topoIndex.get(r)??0,h=n.topoIndex.get(i)??0;return u!==h?u-h:r.localeCompare(i)})[0]}d(Hs,"chooseParent");function Xs(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}d(Xs,"buildAdjacency");function Ys(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const i of t.get(r)??[])e.has(i)||s.push(i)}}n++}return e}d(Ys,"assignComponents");function Gs(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const i=d((a,c)=>{e.set(a,++r),n.set(a,r);for(const f of t.get(a)??[])f!==c&&(e.has(f)?(e.get(f)??0)<(e.get(a)??0)&&(o.push([a,f]),n.set(a,Math.min(n.get(a)??r,e.get(f)??r))):(o.push([a,f]),i(f,a),n.set(a,Math.min(n.get(a)??r,n.get(f)??r)),(n.get(f)??0)>=(e.get(a)??0)&&s.push($s(a,f,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||i(a,null);return s}d(Gs,"computeBlocks");function $s(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const i=n.pop();if(s.push(i),r.add(i[0]),r.add(i[1]),i[0]===t&&i[1]===e||i[0]===e&&i[1]===t)break}return{id:o,edges:s,nodes:[...r]}}d($s,"popBlock");function zs(t,e,n){const o=[...t.nodes],s=new Map;for(const[b,v]of o.entries())s.set(v,b);const r=o.length,i=new Array(r).fill(-1),a=new Array(r).fill(0),c=[],f=new Set;for(const b of o){const v=n.parent.get(b)??null,L=s.get(b);L!=null&&v==null&&(i[L]=-1,a[L]=0,f.has(b)||(f.add(b),c.push(b)))}for(;c.length>0;){const b=c.shift(),v=s.get(b);if(v==null)continue;const L=n.children.get(b)??[];for(const y of L){if(f.has(y))continue;const I=s.get(y);I!=null&&(i[I]=v,a[I]=a[v]+1,f.add(y),c.push(y))}}for(const b of o){if(f.has(b))continue;const v=s.get(b);v!=null&&(i[v]=-1,a[v]=0,f.add(b))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),p=Array.from({length:g},()=>new Array(r).fill(-1));for(let b=0;b{if(b===-1||v===-1)return-1;a[b]>y&1&&(b=p[y][b],b===-1))return-1;if(b===v)return b;for(let y=g-1;y>=0;y--){const I=p[y][b],E=p[y][v];I===-1||E===-1||I!==E&&(b=I,v=E)}return p[0][b]},"lcaIndex"),u=Array.from({length:r},()=>new Map);for(const b of t.edges){let v=b.src,L=b.dst,y=e[v],I=e[L];if(y==null||I==null||(y>I&&([v,L]=[L,v],[y,I]=[I,y]),y==null||I==null||y===I))continue;const E=s.get(v),A=s.get(L);if(E==null||A==null)continue;const B=M(E,A);if(B===-1)continue;const O=u[B];for(let k=y;k{if(v.size!==0)for(const[L,y]of v)b.set(L,(b.get(L)??0)+y)},"mergeInto"),x=new Set,C=d(b=>{const v=s.get(b);x.add(b);const L=v==null?void 0:u[v],y=L?new Map(L):new Map,I=n.children.get(b)??[];for(const E of I){const A=C(E),B=e[b];if(B!=null){let O=h.get(b);O||(O=new Map,h.set(b,O));let k=A.get(B)??0;const H=e[E];H!=null&&H>B&&(k+=1),O.set(E,k)}l(y,A)}return y},"dfs");for(const b of n.roots)x.has(b)||C(b);for(const b of o)x.has(b)||C(b);return h}d(zs,"computeSubtreeCrossCounts");function Vs(t,e,n){const o=new Map,s=d(r=>{let i=n[r]??0;const a=[...e.get(r)??[]];a.sort(To(n));for(const c of a){s(c);const f=o.get(c);f!=null&&(i=Math.min(i,f))}o.set(r,i)},"annotate");for(const r of t)s(r);return o}d(Vs,"annotateMinimumLayers");function To(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}d(To,"compareByRankThenId");function js(t,e,n,o){let s=0;for(const c of e){const f=n[c]??0;f>s&&(s=f)}const r=Array.from({length:s+1},()=>[]),i=new Set,a=d(c=>{if(i.has(c))return;i.add(c);const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c);for(const g of o(c))a(g)},"emit");for(const c of t)a(c);for(const c of e)if(!i.has(c)){const f=n[c]??0;r[f]||(r[f]=[]),r[f].push(c),i.add(c)}return r}d(js,"emitNodesInTreeOrder");function Us(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}d(Us,"deduplicateLayers");function Ws(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const i=e[s]??0,a=[],c=[],f=n.get(s);for(const g of r){const p=o.get(g)??i;p>i?a.push({child:g,min:p}):c.push(g)}return a.sort((g,p)=>g.min===p.min?g.child.localeCompare(p.child):g.min-p.min),c.sort((g,p)=>{const M=(f==null?void 0:f.get(g))??0,u=(f==null?void 0:f.get(p))??0;if(M!==u)return M-u;const h=o.get(g)??i,l=o.get(p)??i;return h!==l?h-l:g.localeCompare(p)}),[...a.map(g=>g.child),...c]}}d(Ws,"createChildOrderer");function fn(t,e,n){const o=Ds(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const p of t.nodes)s.has(p)||s.set(p,[]);const i=zs(t,e,o),a=[...r].sort(To(e)),c=Vs(a,s,e),f=Ws(s,e,i,c);let g=js(a,t.nodes,e,f);return g=Us(g),g}d(fn,"buildMultitreeLayerOrder");function Ks(t,e,n){const o=new Set(t),s=new Set(e),r=ke(e),i=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&i.push(r.get(a.dst));return Lo(i)}d(Ks,"countCrossingsBetweenAdjacent");function Jn(t,e,n){const o=[];for(const r of e){const i=n[r.src],a=n[r.dst];if(i==null||a==null||i===a)continue;let c=r.src,f=r.dst,g=i,p=a;i>a&&(c=r.dst,f=r.src,g=a,p=i);for(let M=g;M(n[M]??0)-(n[p]??0));for(const p of g){const M=n[p]??0;if(M===0)continue;let u=0;for(const C of o.get(p)??[])u=Math.max(u,(n[C]??0)+1);if(u>=M)continue;const h=M;n[p]=u;const l=fn(t,n,s),x=Jn(l,t.edges,n);x(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const i=t.edges.filter(l=>l.src===s);if(i.length===0)continue;let a=!1,c=0;for(const l of i){const x=n(l.dst);x==null||x===r?a=!0:c++}if(c===0||a)continue;let f=0,g=!1;for(const l of t.edges){if(l.dst!==s)continue;const x=n(l.src);x&&(x===r?g=!0:f++)}if(f>0||!g)continue;const p=e[s]??0,M=p+c;let u=0;for(const l of t.edges)l.dst===s&&(u=Math.max(u,(e[l.src]??0)+1));const h=Math.max(p,u,M);h!==p&&(e[s]=h)}}d(Js,"adjustCrossLaneSources");function Zs(t,e){const n=Ie(t),o=De(n)??[...n.nodes].sort(),s=(e==null?void 0:e.compactSingleInput)??!1,r=ge(n);let i=Object.create(null);for(const c of o){const f=Mo(n,c),g=e!=null&&e.ignoreCrossLaneEdges?f.filter(p=>{const M=r(p.src),u=r(c);return!M||!u?!0:M===u}):f;if(g.length===0)i[c]=0;else if(s&&g.length===1){const p=g[0].src,M=r(p),u=r(c);M!==u?i[c]=i[p]??0:i[c]=(i[p]??0)+1}else{let p=-1/0;for(const M of g)p=Math.max(p,(i[M.src]??0)+1);i[c]=p===-1/0?0:p}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(i=qs(n,i)),e!=null&&e.ignoreCrossLaneEdges&&Js(n,i),{layers:fn(n,i,r),rankOf:i,dummy:new Set}}d(Zs,"assignLayers_LongestPath");function Qs(t,e){const n=Ie(t),s={...Zs(n,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},r=ge(n),{preds:i,succs:a}=hn(n,h=>{if(e!=null&&e.ignoreCrossLaneEdges){const l=r(h.src),x=r(h.dst);if(l&&x&&l!==x)return!1}return!0}),c=De(n)??[...n.nodes],f=[...c].reverse(),g=d((h,l)=>{let x=0;for(const v of i.get(h)??[])x=Math.max(x,(s[v]??0)+1);let C=Number.POSITIVE_INFINITY;const b=a.get(h)??[];return b.length>0&&(C=Math.min(...b.map(v=>(s[v]??0)-1))),Number.isFinite(C)||(C=Math.max(x,l)),Math.min(Math.max(l,x),C)},"clampFeasible"),p=ln.GRAVITY_ITERATIONS,M=d(h=>{let l=!1;for(const x of h){const C=i.get(x)??[],b=a.get(x)??[];if(C.length===0&&b.length===0)continue;const v=C.length>0?C.reduce((E,A)=>E+(s[A]??0)+1,0)/C.length:s[x]??0,L=b.length>0?b.reduce((E,A)=>E+(s[A]??0)-1,0)/b.length:s[x]??0,y=Math.round((v+L)/2),I=g(x,y);I!==s[x]&&(s[x]=I,l=!0)}return l},"relaxOrder");for(let h=0;h0){const x=Math.min(...l.map(C=>(s[C]??0)-1));(s[h]??0)>x&&(s[h]=x)}}return{layers:vo(n,c,s),rankOf:s,dummy:new Set}}d(Qs,"assignLayers_Gravity");function tr(t){const e=So(t),n=Io(t);let o=Co(e);const s=[];for(;o.length>0;){const r=[];for(const i of o){s.push(i);for(const a of n.get(i)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((i,a)=>i.localeCompare(a))}return s.length===t.nodes.length?s:null}d(tr,"topoSortByGenerationIfAcyclic");function er(t,e){const n=Ie(t),o=(e==null?void 0:e.direction)==="LR"?tr(n)??[...n.nodes].sort():De(n)??[...n.nodes].sort(),s=ge(n),r=d(g=>s(g)??g,"laneOf"),i=Object.create(null),a=new Map,c=d((g,p)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?r(g)===r(p)?1:0:1,"edgeWeight");for(const g of o){const p=n.nodeById.get(g);if(p!=null&&p.isGroup)continue;const M=Mo(n,g);let u=0;if(M.length>0)for(const C of M){const b=C.src,v=i[b]??0;u=Math.max(u,v+c(b,g))}const h=r(g),l=a.get(h)??0,x=Math.max(u,l);i[g]=x,a.set(h,x+1)}return{layers:vo(n,o,i,{skipGroups:!0}),rankOf:i,dummy:new Set}}d(er,"assignLayers_LaneAwareCompact");function nr(t,e){const n=Ie(e),{rankOf:o}=t,s=t.layers.map(u=>[...u]),r=new Set(t.dummy?[...t.dummy]:[]);let i=0;const a=new Map(n.nodeById),c=d(u=>{const h=`placeholder-${i++}`,l={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,l),r.add(h);s.length<=u;)s.push([]);return s[u].push(h),o[h]=u,h},"addDummyAt"),f=[...n.edges].sort((u,h)=>u.id===h.id?u.src===h.src?u.dst.localeCompare(h.dst):u.src.localeCompare(h.src):u.id.localeCompare(h.id)),g=[];for(const u of f){const h=o[u.src]??0,l=o[u.dst]??0;if(l-h<=1){g.push(u);continue}let x=u.src;for(let b=h+1,v=0;b!n.nodes.includes(u))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:M}}d(nr,"makeProperLayering");function Zn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}d(Zn,"median");function Qn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((n,o)=>n+o,0)/t.length}d(Qn,"barycenter");function or(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}d(or,"neighborPositionsFor");function sr(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}d(sr,"currentOrderTieBreak");function to(t,e,n){const o=new Set(t),s=new Set(e),r=ke(t),i=ke(e),a=[];for(const f of n)o.has(f.src)&&s.has(f.dst)&&a.push({u:r.get(f.src),v:i.get(f.dst)});a.sort((f,g)=>f.u===g.u?f.v-g.v:f.u-g.u);const c=a.map(f=>f.v);return Lo(c)}d(to,"countCrossingsBetweenAdjacent");function Ze(t,e,n){return[...t].sort((o,s)=>{const r=Zn(e.get(o)??[]),i=Zn(e.get(s)??[]);return r===i?sr(o,s,n):isFinite(r)?isFinite(i)?r-i:-1:1})}d(Ze,"sortByHeuristic");function eo(t,e,n,o,s,r){const i=ke(t),a=ke(e),c=or(e,i,n,o);if(!s||!r||r.length===0)return Ze(e,c,a);const f=new Map;for(const M of e){const u=s(M),h=f.get(u)??[];h.push(M),f.set(u,h)}const g=[];for(const M of r){const u=f.get(M);if(!u||u.length===0)continue;const h=Ze(u,c,a);g.push(...h)}const p=f.get(null);if(p&&p.length>0){const M=Ze(p,c,a);for(const u of M){const h=Qn(c.get(u)??[]);let l=g.length;if(isFinite(h))for(const[x,C]of g.entries()){const b=Qn(c.get(C)??[]);if(hi.has(l.src)&&a.has(l.dst)),g=c?n.filter(l=>a.has(l.src)&&c.has(l.dst)):void 0,p=d(l=>{let x=to(t,l,f);return g&&o&&(x+=to(l,o,g)),x},"crossingScore"),M=s?new Map:null;if(s&&M)for(const l of e)M.set(l,s(l));let u=!0,h=p(r);for(;u;){u=!1;for(let l=0;l+1[...a]),s=e.edges,r=ge(e),i=Eo(e,n==null?void 0:n.laneOrder);for(let a=0;a<3;a++){for(let c=1;c=0;c--)o[c]=eo(o[c+1],o[c],s,"up",r,i),o[c]=no(o[c+1],o[c],s,o[c-1],r)}return{layers:o}}d(rr,"orderLayers");function ir(t,e,n){const o=(n==null?void 0:n.layerGap)??Ho.DEFAULT_LAYER_GAP,s=(n==null?void 0:n.nodeGap)??Ho.DEFAULT_NODE_GAP,r=(n==null?void 0:n.laneGap)??s*2,i=(n==null?void 0:n.direction)??"TB",a=i==="LR"||i==="RL",c=t.layers,f=Object.create(null),g=Object.create(null),p=d(O=>e.nodeById.get(O),"getNode"),M=d(O=>{var k;return((k=p(O))==null?void 0:k.width)??0},"getWidth"),u=d(O=>{var k;return((k=p(O))==null?void 0:k.height)??0},"getHeight"),h=ge(e),l=Eo(e,n==null?void 0:n.laneOrder),x=c.map(O=>O.reduce((k,H)=>Math.max(k,u(H)),0)),C=[];if(a)for(let O=0;O+1Math.max(Mt,M(Ht)),0),H=c[O+1].reduce((Mt,Ht)=>Math.max(Mt,M(Ht)),0),P=x[O],G=x[O+1],j=P/2+G/2,tt=(k+H)/2,ft=Math.max(0,tt-j-o);C.push(ft)}const b=new Set;for(const O of c)for(const k of O)b.add(h(k));const v=b.has(null),L=l.filter(O=>b.has(O)),y=[...v?[null]:[],...L],I=Object.create(null);for(const O of L)I[O]=0;v&&(I.null=0);for(const O of c){const k=Object.create(null),H=[];for(const P of O){const G=h(P);G===null?H.push(P):(k[G]||(k[G]=[])).push(P)}for(const[P,G]of Object.entries(k)){const j=G.reduce((tt,ft)=>tt+M(ft),0)+s*Math.max(0,G.length-1);I[P]=Math.max(I[P]??0,j)}if(v&&H.length){const P=H.reduce((G,j)=>G+M(j),0)+s*Math.max(0,H.length-1);I.null=Math.max(I.null??0,P)}}const E=new Map;{const O=y.map(P=>(P===null?I.null:I[P])??0);let H=-(O.reduce((P,G)=>P+G,0)+r*Math.max(0,y.length-1))/2;for(let P=0;PM(nt)),Ht=Mt.reduce((nt,J)=>nt+J,0)+s*(tt.length-1);let Ft=ft-Ht/2;for(const[nt,J]of tt.entries()){const rt=Mt[nt];f[J]=Ft+rt/2,g[J]=A+H/2,Ft+=rt+s}}}const G=C[O]??0;A+=H+o+G}const B=new Map;for(const O of e.edges){const k=O.ref.id;B.has(k)||B.set(k,[]),B.get(k).push(O)}for(const[,O]of B){if(O.length===0)continue;const k=O[0].ref,H=k.start,P=k.end;if(H==null||P==null)continue;const G=Math.round(((f[H]??0)+(f[P]??0))/2),j=new Set;for(const tt of O)j.add(tt.src),j.add(tt.dst);for(const tt of j){if(tt===H||tt===P)continue;const ft=e.nodeById.get(tt);ft!=null&&ft.isDummy&&(f[tt]=G)}}return{x:f,y:g}}d(ir,"assignCoordinates");var cr=8;function ar(t){let e=2166136261;for(let n=0;n>>0}d(ar,"hashString");function lr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}d(lr,"mulberry32");function fr(t,e){const n=[...t],o=lr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}d(fr,"deterministicShuffle");function dr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}d(dr,"sourceDistance");function oo(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:i}of e){const a=n.get(s),c=n.get(r);a==null||c==null||(o+=i*Math.abs(a-c))}return o}d(oo,"laneArrangementCost");function ur(t){const e=gn(t);if(e.length<2)return[];const n=new Map(e.map((r,i)=>[r,i])),o=ge(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const i=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!i||!a||!t.nodeById.has(i)||!t.nodeById.has(a))continue;const c=o(i),f=o(a);if(!c||!f||c===f)continue;const g=n.get(c),p=n.get(f);if(g==null||p==null)continue;const[M,u]=g<=p?[c,f]:[f,c],h=`${M}\0${u}`,l=s.get(h);l?l.weight++:s.set(h,{a:M,b:u,weight:1})}return[...s.values()]}d(ur,"buildWeightedLaneEdges");function so(t,e,n){const o=[...t];let s=oo(o,e),r=!0,i=0;const a=Math.max(1,o.length);for(;r&&is.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:i})=>`${s}:${r}:${i}`).join("|");return ar(`${t.join("|")}#${o}#${n}`)}d(gr,"seedForRestart");function mr(t,e={}){const n=gn(t);if(n.length<2)return n;const o=ur(t);if(o.length===0)return n;const s=new Map(n.map((a,c)=>[a,c]));let r=so(n,o,s);const i=Math.max(0,e.restarts??cr);for(let a=0;alt&&c*3>=a?i>0?"bottom":"top":a>lt?r>0?"right":"left":n}d(ro,"chooseOrthogonalSide");function io(t,e){return Math.abs(t.to-e.from)m.isGroup&&!m.parentId);for(const m of f){const S={id:m.id},w=d(T=>{i.set(T.id,S),n.filter(N=>N.parentId===T.id).forEach(w)},"assignLane");w(m)}const g=n.filter(m=>!m.isGroup&&!m.isEdgeLabel).map(m=>{const S=m.width??10,w=m.height??10,T=m.x??0,N=m.y??0,D=ni;return{nodeId:m.id,minX:T-S/2-D,maxX:T+S/2+D,minY:N-w/2-D,maxY:N+w/2+D,visualXHalfExtent:c?w/2+D:S/2+D}}),p=d((m,S,w,T)=>{let N=a.find(D=>D.orientation===m&&Math.abs(D.coord-S)<1);return N||(N={id:`pipe-${m}-${S.toFixed(0)}`,orientation:m,coord:S,spanMin:w,spanMax:T,tracks:[]},a.push(N)),N.spanMin=Math.min(N.spanMin,w),N.spanMax=Math.max(N.spanMax,T),N},"getOrAddPipe"),M=d((m,S)=>{const w=m.width??10,T=m.height??10,N=m.x??0,D=m.y??0;switch(S){case"top":return{x:N,y:D-T/2};case"bottom":return{x:N,y:D+T/2};case"left":return{x:N-w/2,y:D};case"right":return{x:N+w/2,y:D}}},"portForSide"),u=d((m,S,w)=>M(m,ro(m,S,w?"bottom":"top")),"getOrthogonalPort"),h=[],l=[],x=new Set,C=1e3,b=d((m,S,w)=>{if(h.length===0)return 0;const T=Math.abs(S.y-w.y)U||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}else if(N){const W=S.x,ot=Math.min(S.y,w.y)-lt,U=Math.max(S.y,w.y)+lt;if(U<=ot)return 0;for(const z of h)z.edgeIndex===m||z.orientation!=="horizontal"||z.pipe.coordU||z.from-lt<=W&&z.to+lt>=W&&(D+=C)}return D},"crossingPenalty"),v=s.map((m,S)=>{if(!m.start||!m.end)return{idx:S,crossLane:0,dx:0,dy:0};const w=r.get(m.start),T=r.get(m.end),N=i.get(m.start),D=i.get(m.end),W=N&&D&&N.id!==D.id?1:0,ot=w&&T?Math.abs((T.x??0)-(w.x??0)):0,U=w&&T?Math.abs((T.y??0)-(w.y??0)):0;return{idx:S,crossLane:W,dx:ot,dy:U}}).sort((m,S)=>{if(m.crossLane!==S.crossLane)return S.crossLane-m.crossLane;const w=m.dx+m.dy,T=S.dx+S.dy;return Math.abs(w-T)>1?w-T:m.idx-S.idx}).map(m=>m.idx),L=d((m,S,w,T)=>{const N=Math.min(m.x,S.x),D=Math.max(m.x,S.x),W=Math.min(m.y,S.y),ot=Math.max(m.y,S.y);return!!g.find(z=>w&&z.nodeId===w||T&&z.nodeId===T?!1:Math.abs(m.x-S.x)>lt?z.minYm.y&&z.maxX>N&&z.minXm.x&&z.maxY>W&&z.minYro(m,S,"bottom"),"determineSide"),A=new Map;for(const[m,S]of s.entries()){if(!S.start||!S.end||S.start===S.end||S.points&&S.points.length>0)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const N=(T.x??0)-(w.x??0),D=(T.y??0)-(w.y??0);A.set(m,{edgeIdx:m,srcId:S.start,dstId:S.end,srcSide:E(w,{x:T.x??0,y:T.y??0}),dstSide:E(T,{x:w.x??0,y:w.y??0}),absDx:Math.abs(N),absDy:Math.abs(D),dxSign:Math.sign(N),dySign:Math.sign(D)})}const B=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.absDx===0?1/0:m.absDy/m.absDx:m.absDy===0?1/0:m.absDx/m.absDy,"preferenceStrength"),O=d(m=>m.srcSide==="top"||m.srcSide==="bottom"?m.dxSign>=0?"right":"left":m.dySign>=0?"bottom":"top","secondarySide"),k=new Map;for(const m of A.values()){const S=`${m.srcId}:${m.srcSide}`;k.has(S)||k.set(S,[]),k.get(S).push(m)}const H=new Map,P=d((m,S)=>`${m}:${S}`,"loadKey");for(const m of A.values())H.set(P(m.srcId,m.srcSide),(H.get(P(m.srcId,m.srcSide))??0)+1),H.set(P(m.dstId,m.dstSide),(H.get(P(m.dstId,m.dstSide))??0)+1);for(const m of k.values())if(!(m.length<2)){m.sort((S,w)=>{const T=B(S),N=B(w);return Math.abs(T-N)>1e-9?N-T:S.edgeIdx-w.edgeIdx});for(let S=1;S=N||(H.set(P(w.srcId,w.srcSide),N-1),H.set(P(w.srcId,T),D+1),w.srcSide=T)}}const G=d(m=>{const S=m==null?void 0:m.shape;return S==="question"||S==="diamond"},"isDiamondNode"),j=new Map;for(const m of A.values())j.has(m.dstId)||j.set(m.dstId,new Set),j.get(m.dstId).add(m.dstSide);for(const m of A.values()){if(!G(r.get(m.srcId)))continue;const S=j.get(m.srcId);if(!(S!=null&&S.has(m.srcSide)))continue;const w=O(m);if(S.has(w)||(H.get(P(m.srcId,w))??0)>0)continue;const T=H.get(P(m.srcId,m.srcSide))??0;H.set(P(m.srcId,m.srcSide),Math.max(0,T-1)),H.set(P(m.srcId,w),1),m.srcSide=w}for(const m of A.values()){const{edgeIdx:S,srcId:w,dstId:T,srcSide:N,dstSide:D}=m,W=r.get(w),ot=r.get(T),U=`${w}:${N}:src`,z=N==="top"||N==="bottom"?ot.x??0:ot.y??0;y.has(U)||y.set(U,[]),y.get(U).push({edgeIdx:S,oppositeCoord:z});const bt=`${T}:${D}:dst`,dt=D==="top"||D==="bottom"?W.x??0:W.y??0;y.has(bt)||y.set(bt,[]),y.get(bt).push({edgeIdx:S,oppositeCoord:dt})}const tt=new Map,ft=8;for(const[m,S]of y){if(S.length<2)continue;S.sort((At,Gt)=>At.oppositeCoord-Gt.oppositeCoord);const w=m.split(":"),T=w.slice(0,-2).join(":"),N=w[w.length-2],D=w[w.length-1],W=r.get(T);if(!W)continue;const U=N==="left"||N==="right"?W.height??10:W.width??10,z=W.shape,dt=z==="question"||z==="diamond"?U*.3:U,st=Math.min(20,Math.max(ft,dt/(S.length+1))),Bt=-(st*(S.length-1))/2;for(const[At,Gt]of S.entries()){const ee=Bt+At*st,xn=`${Gt.edgeIdx}:${D}`;tt.set(xn,ee)}}const Mt=d(m=>{var S;return!!((S=s[m])!=null&&S.labelNodeId)},"edgeHasLabelNode"),Ht=d((m,S)=>m?(y.get(`${m}:${S}:src`)??[]).some(({edgeIdx:w})=>Mt(w))||(y.get(`${m}:${S}:dst`)??[]).some(({edgeIdx:w})=>Mt(w)):!1,"faceHasLabelNode"),Ft=d((m,S,w)=>S==="top"||S==="bottom"?{x:m.x+w,y:m.y}:{x:m.x,y:m.y+w},"applyPortOffset"),nt=d((m,S,w)=>{const T=A.get(m),N={x:w.x??0,y:w.y??0},D={x:S.x??0,y:S.y??0},W=(T==null?void 0:T.srcSide)??E(S,N),ot=(T==null?void 0:T.dstSide)??E(w,D);let U=T?M(S,T.srcSide):u(S,N,!0),z=T?M(w,T.dstSide):u(w,D,!1);const bt=tt.get(`${m}:src`),dt=tt.get(`${m}:dst`);return bt!==void 0&&(U=Ft(U,W,bt)),dt!==void 0&&(z=Ft(z,ot,dt)),{pSrcPort:U,pDstPort:z,srcSide:W,dstSide:ot}},"portsForEdge");for(const m of v){const S=s[m];if(l[m]=[],!S.start||!S.end||S.points&&S.points.length>0||S.start===S.end)continue;const w=r.get(S.start),T=r.get(S.end);if(!w||!T)continue;const{pSrcPort:N,pDstPort:D,srcSide:W,dstSide:ot}=nt(m,w,T),U={...N},z={...D},bt=W==="top"||W==="bottom",dt=ot==="top"||ot==="bottom";if(bt){const X=N.y>(w.y??0);U.y=X?N.y+ie:N.y-ie}else{const X=N.x>(w.x??0);U.x=X?N.x+ie:N.x-ie}if(dt){const X=D.y>(T.y??0);z.y=X?D.y+ie:D.y-ie}else{const X=D.x>(T.x??0);z.x=X?D.x+ie:D.x-ie}const ct=d((X,$)=>{for(const Q of g)if(!$.includes(Q.nodeId)&&X.x>Q.minX&&X.xQ.minY&&X.y{if(Tt){const kt=X.y>($.y??0);return{x:(Q.x??0)>=X.x?ht.maxX+Ce:ht.minX-Ce,y:kt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:kt}}const Ct=X.x>($.x??0),Rt=(Q.y??0)>=X.y;return{x:Ct?ht.maxX+Ce:ht.minX-Ce,y:Rt?ht.maxY+Ne:ht.minY-Ne,leavesPositiveSide:Ct}},"obstacleDetour");let It=[];const Bt=[S.start,S.end],At=ct(U,Bt);if(At.inside&&At.obstacle){const X=At.obstacle;if(bt){const $=st(N,w,T,X,!0);U.x=$.x,U.y=$.y;const Q=$.leavesPositiveSide?Math.min(X.minY-2,N.y+ie):Math.max(X.maxY+2,N.y-ie);It=[{x:N.x,y:Q},{x:$.x,y:Q},{x:$.x,y:$.y}]}else{const $=st(N,w,T,X,!1),Q=$.leavesPositiveSide?Math.min(X.minX-2,N.x+ie):Math.max(X.maxX+2,N.x-ie);U.x=$.x,U.y=$.y,It=[{x:Q,y:N.y},{x:Q,y:$.y},{x:$.x,y:$.y}]}}let Gt=[];const ee=ct(z,Bt);if(ee.inside&&ee.obstacle){const X=ee.obstacle;if(dt){const $=st(D,T,w,X,!0);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:D.x,y:$.y}]}else{const $=st(D,T,w,X,!1);z.x=$.x,z.y=$.y,Gt=[{x:$.x,y:$.y},{x:$.x,y:D.y}]}}if(It.length===0&&Gt.length===0){const X=Ce,$=Math.abs(U.x-z.x)1||Ct>1,kt=I.get(S.start??"")??0,mt=I.get(S.end??"")??0,Vt=Tt>1&&Ht(S.start,W)||Ct>1&&Ht(S.end,ot),re=Tt<=1||kt<=2,Dt=Ct<=1||mt<=2;if(($||Q)&&!ht&&(!Rt||Rt&&!Vt&&re&&Dt)&&!L(N,D,S.start,S.end)){S.points=[{...N},{...U},{...z},{...D}],x.add(m);const vt=Q?"horizontal":"vertical",Ut=Q?N.y:N.x,Lt=Q?Math.min(N.x,D.x):Math.min(N.y,D.y),Et=Q?Math.max(N.x,D.x):Math.max(N.y,D.y),Zt={id:`fast-path-${vt}-${Ut.toFixed(0)}-${m}`,orientation:vt,coord:Ut,spanMin:Lt,spanMax:Et,tracks:[]};h.push({edgeIndex:m,segmentIndex:0,orientation:vt,pipe:Zt,trackIndex:0,from:Lt,to:Et});continue}}const xn=p("vertical",U.x,U.y,U.y);U.x=xn.coord;const Mr=p("vertical",z.x,z.y,z.y);z.x=Mr.coord;let ye=Math.min(U.x,z.x)-50,pe=Math.max(U.x,z.x)+50,we=Math.min(U.y,z.y)-50,Ae=Math.max(U.y,z.y)+50;for(const X of g){const $=Math.min(U.x,z.x),Q=Math.max(U.x,z.x),ht=Math.min(U.y,z.y),Tt=Math.max(U.y,z.y);X.minX$&&X.minYht&&(ye=Math.min(ye,X.minX-qe),pe=Math.max(pe,X.maxX+qe),we=Math.min(we,X.minY-qe),Ae=Math.max(Ae,X.maxY+qe))}for(const X of g){if(X.maxXpe||X.maxYAe)continue;const $=Ce;p("horizontal",X.minY-$,ye,pe),p("horizontal",X.maxY+$,ye,pe);const Q=Ne;p("vertical",X.minX-Q,we,Ae),p("vertical",X.maxX+Q,we,Ae)}p("horizontal",U.y,ye,pe),p("horizontal",z.y,ye,pe);const Ir=a.filter(X=>X.orientation==="horizontal"&&X.coord>=we&&X.coord<=Ae),Sr=a.filter(X=>X.orientation==="vertical"&&X.coord>=ye&&X.coord<=pe),He=d((X,$)=>`${X.toFixed(1)},${$.toFixed(1)}`,"getKey"),Xe=He(U.x,U.y),wo=He(z.x,z.y),Ye=new Map,bn=new Map,Mn=new Map,Ge=new Set,Se=[];Ye.set(Xe,0),Mn.set(Xe,"n"),Se.push({key:Xe,f:Math.hypot(z.x-U.x,z.y-U.y),pt:U}),Ge.add(Xe);let $t=[];const xe=d((X,$)=>L(X,$,S.start,S.end),"checkSegmentBlocked"),In={x:z.x,y:U.y},Cr=xe(U,In),vr=xe(In,z),Lr=Cr||vr,Sn={x:U.x,y:z.y},Er=xe(U,Sn),Tr=xe(Sn,z);if(Lr?Er||Tr||(Math.abs(U.x-z.x)0;){Se.sort((mt,Vt)=>mt.f-Vt.f);const X=Se.shift();if(Ge.delete(X.key),X.key===wo){let mt=wo,Vt=z;for($t=[Vt];bn.has(mt);){const re=bn.get(mt);$t.unshift(re),Vt=re,mt=He(re.x,re.y)}break}const $=X.pt.x,Q=X.pt.y,ht=Sr.sort((mt,Vt)=>mt.coord-Vt.coord),Tt=ht.findIndex(mt=>Math.abs(mt.coord-$)<1),Ct=Ir.sort((mt,Vt)=>mt.coord-Vt.coord),Rt=Ct.findIndex(mt=>Math.abs(mt.coord-Q)<1),kt=[];Tt>0&&kt.push({x:ht[Tt-1].coord,y:Q}),Tt>=0&&Tt0&&kt.push({x:$,y:Ct[Rt-1].coord}),Rt>=0&&Rtne.nodeId===S.start||ne.nodeId===S.end?!1:Vt!==re?ne.minYQ&&ne.maxX>Vt&&ne.minX$&&ne.maxY>Dt&&ne.minY10&&Cn<-5||Re<-10&&Cn>5)&&(Et=Math.abs(Cn)*100),(Zt>10&&$e<-5||Zt<-10&&$e>5)&&(Et+=Math.abs($e)*50);let Ao=0;const Ro=Mn.get(X.key)??"n",No=Math.abs($e)>lt?"h":"v";Ro!=="n"&&Ro!==No&&(Ao=50);const wr=Ut+Lt+Et+Ao,ze=(Ye.get(X.key)??1/0)+wr,Oo=Math.abs(z.x-mt.x)+Math.abs(z.y-mt.y);if(ze<(Ye.get(vt)??1/0))if(bn.set(vt,X.pt),Ye.set(vt,ze),Mn.set(vt,No),!Ge.has(vt))Se.push({key:vt,f:ze+Oo,pt:mt}),Ge.add(vt);else{const ne=Se.findIndex(Ar=>Ar.key===vt);ne!==-1&&(Se[ne].f=ze+Oo)}}}if($t.length===0&&($t=[U,{x:U.x,y:z.y},z]),$t.length>4){const X=$t[0],$=$t[$t.length-1];let Q=Math.min(X.x,$.x),ht=Math.max(X.x,$.x),Tt=Math.min(X.y,$.y),Ct=Math.max(X.y,$.y);for(const Dt of $t)Q=Math.min(Q,Dt.x),ht=Math.max(ht,Dt.x),Tt=Math.min(Tt,Dt.y),Ct=Math.max(Ct,Dt.y);const Rt=ht>Math.max(X.x,$.x),kt=QLt.minXjt&&Lt.minY_t);if(Ut.length>0){let Lt=Math.max(X.x,$.x);for(const Et of Ut){const Zt=(Et.minX+Et.maxX)/2;if(Et.visualXHalfExtent===void 0||isNaN(Et.visualXHalfExtent))continue;const Re=Zt+Et.visualXHalfExtent+Dt;Lt=Math.max(Lt,Re)}isNaN(Lt)||(ht=Lt)}}if(kt){const jt=g.filter(_t=>_t.minXMath.min(X.y,$.y));if(jt.length>0){let _t=Math.min(X.x,$.x);for(const vt of jt){const Lt=(vt.minX+vt.maxX)/2-vt.visualXHalfExtent-Dt;_t=Math.min(_t,Lt)}Q=_t}}}const mt=d(Dt=>{const jt=$.y>X.y,_t=g.filter(Lt=>{const Et=Math.min(X.x,$.x)Lt.minX,Zt=Math.min(X.y,$.y)Lt.minY;return Et&&Zt});let vt=_t;if(c&&_t.length>0){const Lt=_t.filter(Et=>Et.minXDt);Lt.length>0&&(vt=Lt)}if(vt.length===0)return $.y;const Ut=Ce;if(jt){const Et=Math.max(...vt.map(Zt=>Zt.maxY))+Ut;if(Et<$.y-lt)return Et}else{const Et=Math.min(...vt.map(Zt=>Zt.minY))-Ut;if(Et>$.y+lt)return Et}return $.y},"findBestReturnY"),Vt=d(Dt=>{const jt=mt(Dt),_t={x:Dt,y:X.y},vt={x:Dt,y:jt},Ut={x:$.x,y:jt},Lt=xe(X,_t),Et=xe(_t,vt),Zt=xe(vt,Ut),Re=jt!==$.y?xe(Ut,$):!1;return!Lt&&!Et&&!Zt&&!Re?Math.abs(jt-$.y)=3){const X=zt[zt.length-1],$=zt[zt.length-2],Q=zt[zt.length-3],ht=Math.abs(Q.y-$.y)Math.abs(X.x-Q.x)&&zt.splice(-2,1)}else if(Tt){const Ct=Math.sign($.y-Q.y),Rt=Math.sign(X.y-Q.y);Ct!==0&&Ct===Rt&&Math.abs($.y-Q.y)>Math.abs(X.y-Q.y)&&zt.splice(-2,1)}}const fe=[zt[0]];for(let X=1;X$.x,Ct=ht.x>Q.x;if(Tt!==Ct){fe.push(Q);continue}continue}if(Math.abs($.x-Q.x)$.y,Ct=ht.y>Q.y;if(Tt!==Ct){fe.push(Q);continue}continue}fe.push(Q)}fe.push(zt[zt.length-1]);for(let X=0;Xm.from{const N=!T.segments.some(W=>(W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex)&&J(W,m)),D=!w.segments.some(W=>(W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex)&&J(W,S));return N&&D?(m.trackIndex=T.index,S.trackIndex=w.index,w.segments=[...w.segments.filter(W=>W.edgeIndex!==m.edgeIndex||W.segmentIndex!==m.segmentIndex),{edgeIndex:S.edgeIndex,segmentIndex:S.segmentIndex,from:S.from,to:S.to}],T.segments=[...T.segments.filter(W=>W.edgeIndex!==S.edgeIndex||W.segmentIndex!==S.segmentIndex),{edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to}],!0):!1},"trySwapSegmentsAcrossTracks"),ut=d(m=>{const S=m.tracks.length;return m.tracks[S]={index:S,coord:m.coord,segments:[]},S},"createNewTrack"),pt=d((m,S)=>{const w=m.pipe.tracks[m.trackIndex];w.segments=w.segments.filter(N=>N.edgeIndex!==m.edgeIndex||N.segmentIndex!==m.segmentIndex),m.trackIndex=S,m.pipe.tracks[S].segments.push({edgeIndex:m.edgeIndex,segmentIndex:m.segmentIndex,from:m.from,to:m.to})},"moveSegmentToTrack"),St=d((m,S)=>{const w=l[m.edgeIndex];for(const T of w){const N=h[T];N.pipe===m.pipe&&pt(N,S)}},"moveSegmentChainToTrack"),wt=d(m=>{const S=l[m.edgeIndex],w=S.indexOf(h.indexOf(m)),T=[];return w>0&&T.push(h[S[w-1]]),w{if(m.orientation===S.orientation)return!1;const w=m.orientation==="horizontal"?m:S,T=m.orientation==="horizontal"?S:m;return T.pipe.coord>w.from&&T.pipe.coordT.from&&w.pipe.coord{for(const w of m.tracks)if(!w.segments.some(N=>(N.edgeIndex!==S.edgeIndex||N.segmentIndex!==S.segmentIndex)&&J(N,S)))return w.index;return-1},"findAvailableTrack"),Jt=d((m,S)=>{if(m.trackIndex===S.trackIndex)return J(m,S);const w=wt(m),T=wt(S);return w.some(N=>T.some(D=>Kt(N,D)))},"segmentsConflict"),se=d((m,S,w)=>{if(rt(m,S,m.pipe.tracks[m.trackIndex],S.pipe.tracks[S.trackIndex]))return;const T=qt(m.pipe,S);w(S,T!==-1?T:ut(m.pipe))},"resolveTrackConflict"),Ee=d(m=>{let S=0;for(let w=0;w{if(me.has(m))return me.get(m);const S=l[m];if(S.length===0){const ot={dest:0,deviation:0,base:0,delta:0};return me.set(m,ot),ot}const T=h[S[0]].pipe.coord;let N=T;for(let ot=1;otMath.abs(bt-T)?z:bt;break}}const D=Math.abs(N-T),W={dest:N,deviation:D,base:T,delta:N-T};return me.set(m,W),W},"getDestInfo"),mn=d(()=>{let m=0;const S=new Map;for(const[T,N]of s.entries())l[T].length!==0&&N.start&&(S.has(N.start)||S.set(N.start,[]),S.get(N.start).push(T));const w=d(T=>{const N=s[T];if(!N.start||!N.end)return 0;const D=r.get(N.start),W=r.get(N.end);if(!D||!W)return 0;const ot=(W.x??0)-(D.x??0),U=(W.y??0)-(D.y??0);return Math.abs(ot)+Math.abs(U)},"getEdgeDistance");for(const T of S.values()){T.sort((D,W)=>{const ot=Te(D),U=Te(W);if(Math.abs(ot.deviation-U.deviation)>1)return ot.deviation-U.deviation;if(Math.abs(ot.dest-U.dest)>1)return ot.dest-U.dest;const z=w(D),bt=w(W);if(Math.abs(z-bt)>1)return bt-z;const dt=l[D].length,ct=l[W].length;if(dt!==ct)return dt-ct;if(dt===1){const st=l[D][0],It=l[W][0];if(h[st]&&h[It]){const Bt=h[st],At=h[It],Gt=Math.abs(Bt.to-Bt.from),ee=Math.abs(At.to-At.from);if(Math.abs(Gt-ee)>1)return Gt-ee}}return 0});const N=T.map(D=>h[l[D][0]]);m+=Ee(N)}return m},"fixSourceHandleCrossings"),yn=d(()=>{let m=0;const S=new Map;for(const[w,T]of s.entries())l[w].length!==0&&T.end&&(S.has(T.end)||S.set(T.end,[]),S.get(T.end).push(w));for(const w of S.values()){w.sort((N,D)=>{const W=d(z=>{const bt=l[z];if(bt.length<2)return 0;const dt=h[bt[bt.length-2]];return Math.abs(dt.to-dt.from)},"getDist"),ot=W(N),U=W(D);return Math.abs(ot-U)>.1?ot-U:N-D});const T=w.map(N=>h[l[N][l[N].length-1]]);m+=Ee(T)}return m},"fixTargetHandleCrossings"),pn=d(()=>{let m=0;for(const S of a){const w=[];for(const T of S.tracks)for(const N of T.segments){const D=l[N.edgeIndex].find(W=>h[W].segmentIndex===N.segmentIndex);D!==void 0&&w.push(h[D])}w.sort((T,N)=>T.edgeIndex-N.edgeIndex||T.segmentIndex-N.segmentIndex);for(let T=0;T{T.segments.forEach(N=>{S.push({edgeIndex:N.edgeIndex,segmentIndex:N.segmentIndex,trackIndex:T.index,from:N.from,to:N.to})})}),S.sort((T,N)=>T.from-N.from);const w=[];if(S.length>0){let T=[S[0]],N=S[0].to;for(let D=1;DN.add(st.trackIndex));const D=new Map;T.forEach(st=>{const It=Te(st.edgeIndex);D.set(st.trackIndex,(D.get(st.trackIndex)??0)+It.delta)});const W=[...N].filter(st=>(D.get(st)??0)<-1),ot=[...N].filter(st=>(D.get(st)??0)>1),U=[...N].filter(st=>Math.abs(D.get(st)??0)<=1);W.sort((st,It)=>(D.get(It)??0)-(D.get(st)??0)),ot.sort((st,It)=>(D.get(st)??0)-(D.get(It)??0));const z=d((st,It)=>{T.filter(Bt=>Bt.trackIndex===st).forEach(Bt=>{const At=x.has(Bt.edgeIndex)?m.coord:It;F.set(`${Bt.edgeIndex}-${Bt.segmentIndex}`,At)})},"assignCoord");let bt=0;for(const st of W)bt++,z(st,m.coord-bt*Tn);if(U.length===0&&N.size>0){const st=[...N].sort((At,Gt)=>Math.abs(D.get(At)??0)-Math.abs(D.get(Gt)??0))[0],It=W.indexOf(st);It!==-1&&W.splice(It,1);const Bt=ot.indexOf(st);Bt!==-1&&ot.splice(Bt,1),U.push(st)}let dt=0;for(const st of U){if(dt===0)z(st,m.coord);else{const It=dt%2===1?1:-1,Bt=Math.ceil(dt/2);z(st,m.coord+It*Bt*Tn*.5)}dt++}let ct=0;for(const st of ot)ct++,z(st,m.coord+ct*Tn)}}for(const[m,S]of s.entries()){const w=l[m]??[];if(w.length===0)continue;const T=[],N=r.get(S.start),D=r.get(S.end),{pSrcPort:W,pDstPort:ot}=nt(m,N,D),U=w.map(dt=>{const ct=h[dt],st=F.get(`${ct.edgeIndex}-${ct.segmentIndex}`)??ct.pipe.coord;return{orient:ct.orientation,coord:st,from:ct.from,to:ct.to}});T.push(W);for(let dt=0;dtlt&&T.push(ve(ct,It)),Gt&&At.orient===ct.orient)if(Math.abs(ct.coord-At.coord)>lt){const ee=ct.orient==="vertical"?(It+At.from)/2:io(ct,At);T.push(ve(ct,ee),ve(At,ee))}else(dt===0||dt===U.length-2)&&T.push(ve(ct,io(ct,At)));else if(Gt)T.push(ve(ct,At.coord));else{const ee=Math.abs(ct.from-It)lt||Math.abs(z.y-ot.y)>lt)&&T.push(ot);const bt=[];T.length>0&&bt.push(T[0]);for(let dt=1;dtlt||Math.abs(ct.y-st.y)>lt)&&bt.push(ct)}S.points=bt}for(const m of s){const S=m.__originalEdge;S&&m.points&&(S.points=m.points)}t.edges=(t.edges??[]).filter(m=>!m.isLayoutOnly);const V=d((m,S)=>{const w=S.x??0,T=S.y??0,N=S.width??0,D=S.height??0;if(N<=0||D<=0)return m;const W=w-N/2,ot=w+N/2,U=T-D/2,z=T+D/2;if(m.xot||m.yz)return m;const bt=m.x-W,dt=ot-m.x,ct=m.y-U,st=z-m.y,It=Math.min(bt,dt,ct,st);return It===bt?{x:W,y:m.y}:It===dt?{x:ot,y:m.y}:It===ct?{x:m.x,y:U}:{x:m.x,y:z}},"nodeBoundaryClamp");for(const m of t.edges){const S=m.points;if(!S||S.length<2)continue;const w=m.start,T=m.end,N=w?r.get(w):void 0,D=T?r.get(T):void 0;N&&(S[0]=V(S[0],N)),D&&(S[S.length-1]=V(S[S.length-1],D))}return t}d(pr,"routeEdgesOrthogonal");function xr(t){return t.direction??"TB"}d(xr,"getSwimlaneDirection");function br(t){var g,p,M,u,h;const e=es(t),n=((g=t.config.flowchart)==null?void 0:g.nodeSpacing)??40,o=((p=t.config.flowchart)==null?void 0:p.rankSpacing)??100,s=((M=t.config.swimlane)==null?void 0:M.ignoreCrossLaneEdges)??!0,r=((u=t.config.swimlane)==null?void 0:u.optimizeRanksByCrossings)??!0,i=((h=t.config.swimlane)==null?void 0:h.automaticLaneOrdering)??!1,a=xr(t),{ordered:c,coordinates:f}=yr(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:i,direction:a});ns(e,c,f,{nodeGap:n,layerGap:o});for(const l of t.edges??[])delete l.points;pr(t,a);for(const l of t.edges??[])(!l.curve||l.curve==="basis")&&(l.curve="rounded");return Bs(t,a),Ps(t),a}d(br,"runSwimlaneLayoutCore");async function oi(t,e){const n=e.select("g");Or(n,t.markers,t.type,t.diagramId),Pr(),Br(),kr(),Nr(),ts(t);const o=os(t);t.nodes=o.nodes,t.edges=o.edges;const{groups:s}=await Xo(n,t);br(t),await Jo(t,s)}d(oi,"render");export{oi as render}; diff --git a/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js b/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js deleted file mode 100644 index fade96cb8..000000000 --- a/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-75v7Fn3o.js +++ /dev/null @@ -1,8 +0,0 @@ -import{c as r,s as e}from"./flowDiagram-UKHOOZJN-DDwOl6M5.js";import{a}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import"./chunk-5VM5RSS4-CT700Zc5.js";import"./chunk-XXDRQBXY-Du2hH_W_.js";import"./chunk-KBJHAD2P-svjqEuWZ.js";import"./chunk-2GRJ4B5K-B2asRype.js";import"../../chunks/channel-BQo1oGxG.js";var o=a(t=>`${e(t)} - .swimlane.cluster rect { - stroke: ${t.clusterBorder} !important; - } - [data-look="neo"].cluster rect { - filter: none; - } -`,"getStyles"),s=o,n=r({defaultLayout:"swimlane",styles:s});export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-CPpKyqwL.js b/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-CPpKyqwL.js new file mode 100644 index 000000000..2297e2eb0 --- /dev/null +++ b/veadk/webui/assets/visualizations/mermaid/swimlanesDiagram-ULZ7WXOC-CPpKyqwL.js @@ -0,0 +1,8 @@ +import{c as r,s as e}from"./flowDiagram-UKHOOZJN-2fX5nZXI.js";import{a}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import"./chunk-5VM5RSS4-DW5_javj.js";import"./chunk-XXDRQBXY-DqdKXcqv.js";import"./chunk-KBJHAD2P-BJQBtkor.js";import"./chunk-2GRJ4B5K-8JeziMcZ.js";import"../../chunks/channel-Cip7x_1m.js";var o=a(t=>`${e(t)} + .swimlane.cluster rect { + stroke: ${t.clusterBorder} !important; + } + [data-look="neo"].cluster rect { + filter: none; + } +`,"getStyles"),s=o,n=r({defaultLayout:"swimlane",styles:s});export{n as diagram}; diff --git a/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-CGPnYrRB.js b/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-DwO_fygu.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-CGPnYrRB.js rename to veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-DwO_fygu.js index add17bb72..3f8c77f37 100644 --- a/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-CGPnYrRB.js +++ b/veadk/webui/assets/visualizations/mermaid/timeline-definition-Z64GVDOM-DwO_fygu.js @@ -1,4 +1,4 @@ -import{a as l,X as pt,ak as Wt,ap as Pt,H as Bt,Y as gt,at as S,aQ as Vt,aC as Ft,aX as ft,_ as zt,w as Gt,s as Ot}from"./mermaid.core-OQ-NoIeH.js";import{ad as Q}from"../../app/index-Bj9lylJf.js";import{d as ot}from"../../chunks/arc-BKJrW-GX.js";var tt=function(){var e=l(function(k,s,d,h){for(d=d||{},h=k.length;h--;d[k[h]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],c=[1,15],a=[1,16],o=[1,19],p=[1,20],y={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:l(function(s,d,h,g,m,u,w){var v=u.length-1;switch(m){case 1:return u[v-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:g.addTask(u[v],0,""),this.$=u[v];break;case 19:g.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:l(function(s,d){if(d.recoverable)this.trace(s);else{var h=new Error(s);throw h.hash=d,h}},"parseError"),parse:l(function(s){var d=this,h=[0],g=[],m=[null],u=[],w=this.table,v="",M=0,R=0,P=2,V=1,L=u.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);_.setInput(s,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var z=_.yylloc;u.push(z);var q=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(A){h.length=h.length-2*A,m.length=m.length-A,u.length=u.length-A}l(X,"popStack");function O(){var A;return A=g.pop()||_.lex()||V,typeof A!="number"&&(A instanceof Array&&(g=A,A=g.pop()),A=d.symbols_[A]||A),A}l(O,"lex");for(var $,N,b,T,E={},H,I,B,D;;){if(N=h[h.length-1],this.defaultActions[N]?b=this.defaultActions[N]:(($===null||typeof $>"u")&&($=O()),b=w[N]&&w[N][$]),typeof b>"u"||!b.length||!b[0]){var K="";D=[];for(H in w[N])this.terminals_[H]&&H>P&&D.push("'"+this.terminals_[H]+"'");_.showPosition?K="Parse error on line "+(M+1)+`: +import{a as l,X as pt,ak as Wt,ap as Pt,H as Bt,Y as gt,at as S,aQ as Vt,aC as Ft,aX as ft,_ as zt,w as Gt,s as Ot}from"./mermaid.core-DAX2QfGO.js";import{ad as Q}from"../../app/index-sh8QRNzm.js";import{d as ot}from"../../chunks/arc-B7D7fKkF.js";var tt=function(){var e=l(function(k,s,d,h){for(d=d||{},h=k.length;h--;d[k[h]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],c=[1,15],a=[1,16],o=[1,19],p=[1,20],y={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:l(function(s,d,h,g,m,u,w){var v=u.length-1;switch(m){case 1:return u[v-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:g.addTask(u[v],0,""),this.$=u[v];break;case 19:g.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:c,20:a,21:17,22:18,23:o,24:p},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:l(function(s,d){if(d.recoverable)this.trace(s);else{var h=new Error(s);throw h.hash=d,h}},"parseError"),parse:l(function(s){var d=this,h=[0],g=[],m=[null],u=[],w=this.table,v="",M=0,R=0,P=2,V=1,L=u.slice.call(arguments,1),_=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);_.setInput(s,C.yy),C.yy.lexer=_,C.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var z=_.yylloc;u.push(z);var q=_.options&&_.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(A){h.length=h.length-2*A,m.length=m.length-A,u.length=u.length-A}l(X,"popStack");function O(){var A;return A=g.pop()||_.lex()||V,typeof A!="number"&&(A instanceof Array&&(g=A,A=g.pop()),A=d.symbols_[A]||A),A}l(O,"lex");for(var $,N,b,T,E={},H,I,B,D;;){if(N=h[h.length-1],this.defaultActions[N]?b=this.defaultActions[N]:(($===null||typeof $>"u")&&($=O()),b=w[N]&&w[N][$]),typeof b>"u"||!b.length||!b[0]){var K="";D=[];for(H in w[N])this.terminals_[H]&&H>P&&D.push("'"+this.terminals_[H]+"'");_.showPosition?K="Parse error on line "+(M+1)+`: `+_.showPosition()+` Expecting `+D.join(", ")+", got '"+(this.terminals_[$]||$)+"'":K="Parse error on line "+(M+1)+": Unexpected "+($==V?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(K,{text:_.match,token:this.terminals_[$]||$,line:_.yylineno,loc:z,expected:D})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+$);switch(b[0]){case 1:h.push($),m.push(_.yytext),u.push(_.yylloc),h.push(b[1]),$=null,R=_.yyleng,v=_.yytext,M=_.yylineno,z=_.yylloc;break;case 2:if(I=this.productions_[b[1]][1],E.$=m[m.length-I],E._$={first_line:u[u.length-(I||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(I||1)].first_column,last_column:u[u.length-1].last_column},q&&(E._$.range=[u[u.length-(I||1)].range[0],u[u.length-1].range[1]]),T=this.performAction.apply(E,[v,R,M,C.yy,b[1],m,u].concat(L)),typeof T<"u")return T;I&&(h=h.slice(0,-1*I*2),m=m.slice(0,-1*I),u=u.slice(0,-1*I)),h.push(this.productions_[b[1]][0]),m.push(E.$),u.push(E._$),B=w[h[h.length-2]][h[h.length-1]],h.push(B);break;case 3:return!0}}return!0},"parse")},x=function(){var k={EOF:1,parseError:l(function(d,h){if(this.yy.parser)this.yy.parser.parseError(d,h);else throw new Error(d)},"parseError"),setInput:l(function(s,d){return this.yy=d||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var d=s.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:l(function(s){var d=s.length,h=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===g.length?this.yylloc.first_column:0)+g[g.length-h.length].length-h[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(s){this.unput(this.match.slice(s))},"less"),pastInput:l(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var s=this.pastInput(),d=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-hw-tux--.js b/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-Dsch8ylL.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-hw-tux--.js rename to veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-Dsch8ylL.js index 76ea3d903..7a239b8fe 100644 --- a/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-hw-tux--.js +++ b/veadk/webui/assets/visualizations/mermaid/vennDiagram-T6HMQDX7-Dsch8ylL.js @@ -1,4 +1,4 @@ -import{d as Gt,aR as Kt,V as Ht,$ as Xt,aU as Yt,W as Zt,aS as Qt,a as S,X as St,aQ as Jt,k as $t,ak as te,ap as ee,H as ne,B as se,s as ie,r as re,O as oe}from"./mermaid.core-OQ-NoIeH.js";import{ad as rt}from"../../app/index-Bj9lylJf.js";const It=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,r=0;const o=[];if(e.length>1){const l=Et(e);for(let u=0;ua.angle-u.angle);let h=e[e.length-1];for(let u=0;uy.radius*2&&(g=y.radius*2),(d==null||d.width>g)&&(d={circle:y,width:g,p1:a,p2:h,large:g>y.radius,sweep:!0})}d!=null&&(o.push(d),i+=lt(d.circle.radius,d.width),h=a)}}else{let l=t[0];for(let u=1;uMath.abs(l.radius-t[u].radius)){h=!0;break}h?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ae(t,n){return n.every(s=>K(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=K(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,h=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:h-a},{x:l-u,y:h+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s);let h=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u=0&&(n=a),Math.abs(h)ct(n))}function tt(t,n){let s=0;for(let e=0;ev.fx-c.fx,T=n.slice(),w=n.slice(),g=n.slice(),b=n.slice();for(let v=0;v{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});x.sort((f,N)=>f.id-N.id),s.history.push({x:y[0].slice(),fx:y[0].fx,simplex:x})}d=0;for(let x=0;x=y[m-1].fx){let x=!1;if(w.fx>c.fx?(J(g,1+a,T,-a,c),g.fx=t(g),g.fx=1)break;for(let f=1;fl+r*i*h||u>=E)M=i;else{if(Math.abs(p)<=-o*h)return i;p*(M-y)>=0&&(M=y),y=i,E=u}return 0}for(let y=0;y<10;++y){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),p=tt(e.fxprime,n),u>l+r*i*h||y&&u>=a)return m(d,i,a);if(Math.abs(p)<=-o*h)return i;if(p>=0)return m(i,d,u);a=u,d=i,i*=2}return i}function he(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const r=n.slice();let o,l,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),ht(o,e.fxprime,-1);for(let a=0;a{const p={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const h of e)for(let u=0;ul===h?0:lr.sets.length===2).forEach(r=>{const o=s[r.sets[0]],l=s[r.sets[1]],h=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ft(h,u,r.size);e[o][l]=e[l][o]=a;let p=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?p=1:r.size<=1e-10&&(p=-1),i[o][l]=i[l][o]=p}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let r=0;r0&&y<=p||d<0&&y>=p||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*h]+=4*M*(u-o),n[2*h+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||et;if(t.length>=8){const i=ye(t,n),r=e(i,t),o=e(s,t);r+1e-8d.map(m=>m/l));const h=(d,m)=>ge(d,m,r,o);let u=null;for(let d=0;dp.sets.length===2);for(const p of t){let d=p.weight!=null?p.weight:1;const m=p.sets[0],y=p.sets[1];p.size+Rt>=Math.min(e[m].size,e[y].size)&&(d=0),i[m].push({set:y,size:p.size,weight:d}),i[y].push({set:m,size:p.size,weight:d})}const r=[];Object.keys(i).forEach(p=>{let d=0;for(let m=0;mt[o]));const r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Ct(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],h=t[e.sets[1]];i=xt(l.radius,h.radius,K(l,h))}else i=st(e.sets.map(l=>t[l]));const r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function me(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,r=t[0].y;for(const o of t)o.x-=i,o.y-=r}if(t.length===2&&K(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(const l of t){const h=l.x,u=l.y;l.x=r*h-o*u,l.y=o*h+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const r=t[1].y/(1e-10+t[1].x);for(const o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){const o=n(i),l=n(r);o.parent=l}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Dt(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds;const o=(r.xRange.max-r.xRange.min)/50;function l(u,a,p){if(!u)return;const d=u.bounds;let m,y;if(a)m=r.xRange.max-d.xRange.min+o;else{m=r.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(m+=M)}if(p)y=r.yRange.max-d.yRange.min+o;else{y=r.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(y+=M)}for(const M of u)M.x+=m,M.y+=y,e.push(M)}let h=1;for(;h({radius:a*m.radius,x:e+p+(m.x-o.min)*a,y:e+d+(m.y-l.min)*a,setid:m.setid})))}function Nt(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,h=null,u=!0,a=!0,p=null,d=null,m=!1,y=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],w=0,g=function(x){if(x in E)return E[x];var f=E[x]=T[w];return w+=1,w>=T.length&&(w=0),f},b=At,v=et;function c(x){let f=x.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(D=>N.has(D)));let I={},R={};if(f.length>0){let k=b(f,{lossFunction:v,distinct:m});l&&(k=Dt(k,o,d)),I=Ot(k,s,e,i,h),R=Lt(I,f,M)}const Z={};f.forEach(k=>{k.label&&(Z[k.sets]=k.label)});function q(k){if(k.sets in Z)return Z[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");const B=x.select("svg");n?B.attr("viewBox",`0 0 ${s} ${e}`):B.attr("width",s).attr("height",e);const V={};let z=!1;B.selectAll(".venn-area path").each(function(k){const D=this.getAttribute("d");k.sets.length==1&&D&&!m&&(z=!0,V[k.sets[0]]=Me(D))});function U(k){return D=>{const W=k.sets.map(Q=>{let G=V[Q],Y=I[Q];return G||(G={x:s/2,y:e/2,radius:1}),Y||(Y={x:s/2,y:e/2,radius:1}),{x:G.x*(1-D)+Y.x*D,y:G.y*(1-D)+Y.y*D,radius:G.radius*(1-D)+Y.radius*D}});return wt(W,y)}}const A=B.selectAll(".venn-area").data(f,k=>k.sets),F=A.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),j=F.append("path"),L=F.append("text").attr("class","label").text(k=>q(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(j.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),L.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function P(k){return typeof k.transition=="function"?k.transition("venn").duration(r):k}let _=x;z&&typeof _.transition=="function"?(_=P(x),_.selectAll("path").attrTween("d",U)):_.selectAll("path").attr("d",k=>wt(k.sets.map(D=>I[D])),y);const C=_.selectAll("text").filter(k=>k.sets in R).text(k=>q(k)).attr("x",k=>Math.floor(R[k.sets].x)).attr("y",k=>Math.floor(R[k.sets].y));u&&(z?"on"in C?C.on("end",ot(I,q)):C.each("end",ot(I,q)):C.each(ot(I,q)));const O=P(A.exit()).remove();typeof A.transition=="function"&&O.selectAll("path").attrTween("d",U);const X=O.selectAll("text").attr("x",s/2).attr("y",e/2);return p!==null&&(L.style("font-size","0px"),C.style("font-size",p),X.style("font-size","0px")),{circles:I,textCentres:R,nodes:A,enter:F,update:_,exit:O}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(m=x,c):m},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(p=x,c):p},c.round=function(x){return arguments.length?(y=x,c):y},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(b=x,c):b},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(h=x,c):h},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?et:x==="logRatio"?Ct:x,c):v},c}function ot(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),h=(r.length+o.length)/3;let u=o.pop(),a=[u],p=0;const d=1.1;e.textContent=null;const m=[];function y(g){const b=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return b.textContent=g,m.push(b),e.append(b),b}let M=y(u);for(;u=o.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=y(u),p++)}const E=.35-p*d/2,T=e.getAttribute("x"),w=e.getAttribute("y");m.forEach((g,b)=>{g.setAttribute("x",T),g.setAttribute("y",w),g.setAttribute("dy",`${E+b*d}em`)})}}function at(t,n,s){let e=n[0].radius-K(n[0],t);for(let i=1;i=r&&(i=e[a],r=p)}const o=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]};let h=!0;for(const a of t)if(K(l,a)>a.radius){h=!1;break}for(const a of n)if(K(l,a)a.p1))}function ke(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(` +import{d as Gt,aR as Kt,V as Ht,$ as Xt,aU as Yt,W as Zt,aS as Qt,a as S,X as St,aQ as Jt,k as $t,ak as te,ap as ee,H as ne,B as se,s as ie,r as re,O as oe}from"./mermaid.core-DAX2QfGO.js";import{ad as rt}from"../../app/index-sh8QRNzm.js";const It=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,r=0;const o=[];if(e.length>1){const l=Et(e);for(let u=0;ua.angle-u.angle);let h=e[e.length-1];for(let u=0;uy.radius*2&&(g=y.radius*2),(d==null||d.width>g)&&(d={circle:y,width:g,p1:a,p2:h,large:g>y.radius,sweep:!0})}d!=null&&(o.push(d),i+=lt(d.circle.radius,d.width),h=a)}}else{let l=t[0];for(let u=1;uMath.abs(l.radius-t[u].radius)){h=!0;break}h?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ae(t,n){return n.every(s=>K(t,s)=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=K(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,h=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:h-a},{x:l-u,y:h+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s);let h=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u=0&&(n=a),Math.abs(h)ct(n))}function tt(t,n){let s=0;for(let e=0;ev.fx-c.fx,T=n.slice(),w=n.slice(),g=n.slice(),b=n.slice();for(let v=0;v{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});x.sort((f,N)=>f.id-N.id),s.history.push({x:y[0].slice(),fx:y[0].fx,simplex:x})}d=0;for(let x=0;x=y[m-1].fx){let x=!1;if(w.fx>c.fx?(J(g,1+a,T,-a,c),g.fx=t(g),g.fx=1)break;for(let f=1;fl+r*i*h||u>=E)M=i;else{if(Math.abs(p)<=-o*h)return i;p*(M-y)>=0&&(M=y),y=i,E=u}return 0}for(let y=0;y<10;++y){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),p=tt(e.fxprime,n),u>l+r*i*h||y&&u>=a)return m(d,i,a);if(Math.abs(p)<=-o*h)return i;if(p>=0)return m(i,d,u);a=u,d=i,i*=2}return i}function he(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const r=n.slice();let o,l,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),ht(o,e.fxprime,-1);for(let a=0;a{const p={};for(let d=0;dxt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const h of e)for(let u=0;ul===h?0:lr.sets.length===2).forEach(r=>{const o=s[r.sets[0]],l=s[r.sets[1]],h=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ft(h,u,r.size);e[o][l]=e[l][o]=a;let p=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?p=1:r.size<=1e-10&&(p=-1),i[o][l]=i[l][o]=p}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let r=0;r0&&y<=p||d<0&&y>=p||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*h]+=4*M*(u-o),n[2*h+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||et;if(t.length>=8){const i=ye(t,n),r=e(i,t),o=e(s,t);r+1e-8d.map(m=>m/l));const h=(d,m)=>ge(d,m,r,o);let u=null;for(let d=0;dp.sets.length===2);for(const p of t){let d=p.weight!=null?p.weight:1;const m=p.sets[0],y=p.sets[1];p.size+Rt>=Math.min(e[m].size,e[y].size)&&(d=0),i[m].push({set:y,size:p.size,weight:d}),i[y].push({set:m,size:p.size,weight:d})}const r=[];Object.keys(i).forEach(p=>{let d=0;for(let m=0;mt[o]));const r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Ct(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],h=t[e.sets[1]];i=xt(l.radius,h.radius,K(l,h))}else i=st(e.sets.map(l=>t[l]));const r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function me(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,r=t[0].y;for(const o of t)o.x-=i,o.y-=r}if(t.length===2&&K(t[0],t[1])1){const i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(const l of t){const h=l.x,u=l.y;l.x=r*h-o*u,l.y=o*h+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const r=t[1].y/(1e-10+t[1].x);for(const o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){const o=n(i),l=n(r);o.parent=l}for(let i=0;i{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Dt(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds;const o=(r.xRange.max-r.xRange.min)/50;function l(u,a,p){if(!u)return;const d=u.bounds;let m,y;if(a)m=r.xRange.max-d.xRange.min+o;else{m=r.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(m+=M)}if(p)y=r.yRange.max-d.yRange.min+o;else{y=r.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(y+=M)}for(const M of u)M.x+=m,M.y+=y,e.push(M)}let h=1;for(;h({radius:a*m.radius,x:e+p+(m.x-o.min)*a,y:e+d+(m.y-l.min)*a,setid:m.setid})))}function Nt(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,h=null,u=!0,a=!0,p=null,d=null,m=!1,y=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],w=0,g=function(x){if(x in E)return E[x];var f=E[x]=T[w];return w+=1,w>=T.length&&(w=0),f},b=At,v=et;function c(x){let f=x.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(D=>N.has(D)));let I={},R={};if(f.length>0){let k=b(f,{lossFunction:v,distinct:m});l&&(k=Dt(k,o,d)),I=Ot(k,s,e,i,h),R=Lt(I,f,M)}const Z={};f.forEach(k=>{k.label&&(Z[k.sets]=k.label)});function q(k){if(k.sets in Z)return Z[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");const B=x.select("svg");n?B.attr("viewBox",`0 0 ${s} ${e}`):B.attr("width",s).attr("height",e);const V={};let z=!1;B.selectAll(".venn-area path").each(function(k){const D=this.getAttribute("d");k.sets.length==1&&D&&!m&&(z=!0,V[k.sets[0]]=Me(D))});function U(k){return D=>{const W=k.sets.map(Q=>{let G=V[Q],Y=I[Q];return G||(G={x:s/2,y:e/2,radius:1}),Y||(Y={x:s/2,y:e/2,radius:1}),{x:G.x*(1-D)+Y.x*D,y:G.y*(1-D)+Y.y*D,radius:G.radius*(1-D)+Y.radius*D}});return wt(W,y)}}const A=B.selectAll(".venn-area").data(f,k=>k.sets),F=A.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),j=F.append("path"),L=F.append("text").attr("class","label").text(k=>q(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(j.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),L.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function P(k){return typeof k.transition=="function"?k.transition("venn").duration(r):k}let _=x;z&&typeof _.transition=="function"?(_=P(x),_.selectAll("path").attrTween("d",U)):_.selectAll("path").attr("d",k=>wt(k.sets.map(D=>I[D])),y);const C=_.selectAll("text").filter(k=>k.sets in R).text(k=>q(k)).attr("x",k=>Math.floor(R[k.sets].x)).attr("y",k=>Math.floor(R[k.sets].y));u&&(z?"on"in C?C.on("end",ot(I,q)):C.each("end",ot(I,q)):C.each(ot(I,q)));const O=P(A.exit()).remove();typeof A.transition=="function"&&O.selectAll("path").attrTween("d",U);const X=O.selectAll("text").attr("x",s/2).attr("y",e/2);return p!==null&&(L.style("font-size","0px"),C.style("font-size",p),X.style("font-size","0px")),{circles:I,textCentres:R,nodes:A,enter:F,update:_,exit:O}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(m=x,c):m},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(p=x,c):p},c.round=function(x){return arguments.length?(y=x,c):y},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(b=x,c):b},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(h=x,c):h},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?et:x==="logRatio"?Ct:x,c):v},c}function ot(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),h=(r.length+o.length)/3;let u=o.pop(),a=[u],p=0;const d=1.1;e.textContent=null;const m=[];function y(g){const b=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return b.textContent=g,m.push(b),e.append(b),b}let M=y(u);for(;u=o.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=y(u),p++)}const E=.35-p*d/2,T=e.getAttribute("x"),w=e.getAttribute("y");m.forEach((g,b)=>{g.setAttribute("x",T),g.setAttribute("y",w),g.setAttribute("dy",`${E+b*d}em`)})}}function at(t,n,s){let e=n[0].radius-K(n[0],t);for(let i=1;i=r&&(i=e[a],r=p)}const o=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]};let h=!0;for(const a of t)if(K(l,a)>a.radius){h=!1;break}for(const a of n)if(K(l,a)a.p1))}function ke(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(` M`,t,n),e.push(` m`,-s,0),e.push(` a`,s,s,0,1,0,s*2,0),e.push(` diff --git a/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-ChSED9Ny.js b/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-D4DBl3bi.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-ChSED9Ny.js rename to veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-D4DBl3bi.js index 42cb87b5a..2a9bd6f17 100644 --- a/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-ChSED9Ny.js +++ b/veadk/webui/assets/visualizations/mermaid/wardleyDiagram-T6FBY63Y-D4DBl3bi.js @@ -1,4 +1,4 @@ -import{p as zt}from"./chunk-JWPE2WC7-8-vh9tdk.js";import{aR as Lt,V as Tt,$ as Xt,aU as At,W as Et,aS as Yt,a as y,a8 as It,X as Bt,r as K,at as et,aQ as Ft,B as Rt,s as Ot,Y as V}from"./mermaid.core-OQ-NoIeH.js";import{p as Wt}from"./cynefin-OW5HDTMX-YC-F1ZLy.js";import"../../app/index-Bj9lylJf.js";var G=y((a,o)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${o} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),E=y((a,o,e)=>({x:G(o,`${e} evolution`),y:G(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Dt=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const o=/^\+'([^']*)'/.exec(a),e=o==null?void 0:o[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Gt=y((a,o)=>{if(zt(a,o),a.size&&o.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),p=a.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary);o.updateAxes({stages:e,stageBoundaries:p})}if(a.anchors.forEach(e=>{const p=E(e.visibility,e.evolution,`Anchor "${e.name}"`);o.addNode(e.name,e.name,p.x,p.y,"anchor")}),a.components.forEach(e=>{var v;const p=E(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;o.addNode(e.name,e.name,p.x,p.y,"component",r,d,e.inertia,m)}),a.notes.forEach(e=>{const p=E(e.visibility,e.evolution,`Note "${e.text}"`);o.addNote(e.text,p.x,p.y)}),a.pipelines.forEach(e=>{const p=o.getNode(e.parent);if(!p||typeof p.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const r=p.y;o.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,L=G(d.evolution,`Pipeline component "${d.name}" evolution`);o.addNode(m,d.name,L,r,"pipeline-component",v,g),o.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const p=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let r=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Dt(e.arrow);!r&&d&&(r=d);const v=e.linkLabel,g=m??v;o.addLink(o.resolveNodeId(e.from),o.resolveNodeId(e.to),p,g,r)}),a.evolves.forEach(e=>{const p=o.getNode(e.component);if((p==null?void 0:p.y)!==void 0){const r=G(e.target,`Evolve target for "${e.component}"`);o.addTrend(e.component,r,p.y)}}),a.annotations.length>0){const e=a.annotations[0],p=E(e.x,e.y,"Annotations box");o.setAnnotationsBox(p.x,p.y)}a.annotation.forEach(e=>{const p=E(e.x,e.y,`Annotation ${e.number}`);o.addAnnotation(e.number,[{x:p.x,y:p.y}],e.text)}),a.accelerators.forEach(e=>{const p=E(e.x,e.y,`Accelerator "${e.name}"`);o.addAccelerator(e.name,p.x,p.y)}),a.deaccelerators.forEach(e=>{const p=E(e.x,e.y,`Deaccelerator "${e.name}"`);o.addDeaccelerator(e.name,p.x,p.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var p;const o=await Wt("wardley",a);et.debug(o);const e=(p=at.parser)==null?void 0:p.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Gt(o,e)},"parse")},I,qt=(I=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(o){const e=this.nodes.get(o.id)??{id:o.id,label:o.label},p={...e,...o,className:o.className??e.className,labelOffsetX:o.labelOffsetX??e.labelOffsetX,labelOffsetY:o.labelOffsetY??e.labelOffsetY};this.nodes.set(o.id,p)}addLink(o){this.links.push(o)}addTrend(o){this.trends.set(o.nodeId,o)}startPipeline(o){this.pipelines.set(o,{nodeId:o,componentIds:[]});const e=this.nodes.get(o);e&&(e.isPipelineParent=!0)}addPipelineComponent(o,e){const p=this.pipelines.get(o);p&&p.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(o){this.annotations.push(o)}addNote(o){this.notes.push(o)}addAccelerator(o){this.accelerators.push(o)}addDeaccelerator(o){this.deaccelerators.push(o)}setAnnotationsBox(o,e){this.annotationsBox={x:o,y:e}}setAxes(o){this.axes={...this.axes,...o}}setSize(o,e){this.size={width:o,height:e}}getNode(o){return this.nodes.get(o)}resolveNodeId(o){if(this.nodes.has(o))return o;for(const[e,p]of this.nodes)if(p.label===o)return e;return o}build(){const o=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);o.push(e)}return{nodes:o,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(I,"WardleyBuilder"),I),b=new qt;function rt(){return V()["wardley-beta"]}y(rt,"getConfig");function ot(a,o,e,p,r,d,m,v,g){b.addNode({id:a,label:o,x:e,y:p,className:r,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,o,e=!1,p,r){b.addLink({source:a,target:o,dashed:e,label:p,flow:r})}y(st,"addLink");function nt(a,o,e){b.addTrend({nodeId:a,targetX:o,targetY:e})}y(nt,"addTrend");function it(a,o,e){b.addAnnotation({number:a,coordinates:o,text:e})}y(it,"addAnnotation");function dt(a,o,e){b.addNote({text:a,x:o,y:e})}y(dt,"addNote");function lt(a,o,e){b.addAccelerator({name:a,x:o,y:e})}y(lt,"addAccelerator");function ct(a,o,e){b.addDeaccelerator({name:a,x:o,y:e})}y(ct,"addDeaccelerator");function pt(a,o){b.setAnnotationsBox(a,o)}y(pt,"setAnnotationsBox");function ht(a,o){b.setSize(a,o)}y(ht,"setSize");function xt(a){b.startPipeline(a)}y(xt,"startPipeline");function ft(a,o){b.addPipelineComponent(a,o)}y(ft,"addPipelineComponent");function gt(a){b.setAxes(a)}y(gt,"updateAxes");function ut(a){return b.getNode(a)}y(ut,"getNode");function yt(a){return b.resolveNodeId(a)}y(yt,"resolveNodeId");function mt(){return b.build()}y(mt,"getWardleyData");function wt(){b.clear(),Ot()}y(wt,"clear");var Ht={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,resolveNodeId:yt,getWardleyData:mt,clear:wt,setAccTitle:Yt,getAccTitle:Et,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:Tt,setAccDescription:Lt},jt=["Genesis","Custom Built","Product","Commodity"],Vt=y(()=>{var o,e,p,r,d,m,v,g,L,M,k,N;const{themeVariables:a}=V();return{backgroundColor:((o=a.wardley)==null?void 0:o.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((p=a.wardley)==null?void 0:p.axisTextColor)??a.primaryTextColor??"#222",gridColor:((r=a.wardley)==null?void 0:r.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((L=a.wardley)==null?void 0:L.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((k=a.wardley)==null?void 0:k.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((N=a.wardley)==null?void 0:N.annotationFill)??a.background??"#fff"}},"getTheme"),_t=y(()=>{const a=V()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),Ut=y((a,o,e,p)=>{var Q,J;et.debug(`Rendering Wardley map +import{p as zt}from"./chunk-JWPE2WC7-DKTpV34k.js";import{aR as Lt,V as Tt,$ as Xt,aU as At,W as Et,aS as Yt,a as y,a8 as It,X as Bt,r as K,at as et,aQ as Ft,B as Rt,s as Ot,Y as V}from"./mermaid.core-DAX2QfGO.js";import{p as Wt}from"./cynefin-OW5HDTMX-CVRcDGzI.js";import"../../app/index-sh8QRNzm.js";var G=y((a,o)=>{const e=a<=1?a*100:a;if(e<0||e>100)throw new Error(`${o} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${a}`);return e},"toPercent"),E=y((a,o,e)=>({x:G(o,`${e} evolution`),y:G(a,`${e} visibility`)}),"toCoordinates"),tt=y(a=>{if(a){if(a==="+<>")return"bidirectional";if(a==="+<")return"backward";if(a==="+>")return"forward"}},"getFlowFromPort"),Dt=y(a=>{if(!(a!=null&&a.startsWith("+")))return{};const o=/^\+'([^']*)'/.exec(a),e=o==null?void 0:o[1];return a.includes("<>")?{flow:"bidirectional",label:e}:a.includes("<")?{flow:"backward",label:e}:a.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Gt=y((a,o)=>{if(zt(a,o),a.size&&o.setSize(a.size.width,a.size.height),a.evolution){const e=a.evolution.stages.map(r=>r.secondName?`${r.name.trim()} / ${r.secondName.trim()}`:r.name.trim()),p=a.evolution.stages.filter(r=>r.boundary!==void 0).map(r=>r.boundary);o.updateAxes({stages:e,stageBoundaries:p})}if(a.anchors.forEach(e=>{const p=E(e.visibility,e.evolution,`Anchor "${e.name}"`);o.addNode(e.name,e.name,p.x,p.y,"anchor")}),a.components.forEach(e=>{var v;const p=E(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,m=(v=e.decorator)==null?void 0:v.strategy;o.addNode(e.name,e.name,p.x,p.y,"component",r,d,e.inertia,m)}),a.notes.forEach(e=>{const p=E(e.visibility,e.evolution,`Note "${e.text}"`);o.addNote(e.text,p.x,p.y)}),a.pipelines.forEach(e=>{const p=o.getNode(e.parent);if(!p||typeof p.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const r=p.y;o.startPipeline(e.parent),e.components.forEach(d=>{const m=`${e.parent}_${d.name}`,v=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,L=G(d.evolution,`Pipeline component "${d.name}" evolution`);o.addNode(m,d.name,L,r,"pipeline-component",v,g),o.addPipelineComponent(e.parent,m)})}),a.links.forEach(e=>{const p=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let r=tt(e.fromPort)??tt(e.toPort);const{flow:d,label:m}=Dt(e.arrow);!r&&d&&(r=d);const v=e.linkLabel,g=m??v;o.addLink(o.resolveNodeId(e.from),o.resolveNodeId(e.to),p,g,r)}),a.evolves.forEach(e=>{const p=o.getNode(e.component);if((p==null?void 0:p.y)!==void 0){const r=G(e.target,`Evolve target for "${e.component}"`);o.addTrend(e.component,r,p.y)}}),a.annotations.length>0){const e=a.annotations[0],p=E(e.x,e.y,"Annotations box");o.setAnnotationsBox(p.x,p.y)}a.annotation.forEach(e=>{const p=E(e.x,e.y,`Annotation ${e.number}`);o.addAnnotation(e.number,[{x:p.x,y:p.y}],e.text)}),a.accelerators.forEach(e=>{const p=E(e.x,e.y,`Accelerator "${e.name}"`);o.addAccelerator(e.name,p.x,p.y)}),a.deaccelerators.forEach(e=>{const p=E(e.x,e.y,`Deaccelerator "${e.name}"`);o.addDeaccelerator(e.name,p.x,p.y)})},"populateDb"),at={parser:{yy:void 0},parse:y(async a=>{var p;const o=await Wt("wardley",a);et.debug(o);const e=(p=at.parser)==null?void 0:p.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Gt(o,e)},"parse")},I,qt=(I=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(o){const e=this.nodes.get(o.id)??{id:o.id,label:o.label},p={...e,...o,className:o.className??e.className,labelOffsetX:o.labelOffsetX??e.labelOffsetX,labelOffsetY:o.labelOffsetY??e.labelOffsetY};this.nodes.set(o.id,p)}addLink(o){this.links.push(o)}addTrend(o){this.trends.set(o.nodeId,o)}startPipeline(o){this.pipelines.set(o,{nodeId:o,componentIds:[]});const e=this.nodes.get(o);e&&(e.isPipelineParent=!0)}addPipelineComponent(o,e){const p=this.pipelines.get(o);p&&p.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(o){this.annotations.push(o)}addNote(o){this.notes.push(o)}addAccelerator(o){this.accelerators.push(o)}addDeaccelerator(o){this.deaccelerators.push(o)}setAnnotationsBox(o,e){this.annotationsBox={x:o,y:e}}setAxes(o){this.axes={...this.axes,...o}}setSize(o,e){this.size={width:o,height:e}}getNode(o){return this.nodes.get(o)}resolveNodeId(o){if(this.nodes.has(o))return o;for(const[e,p]of this.nodes)if(p.label===o)return e;return o}build(){const o=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);o.push(e)}return{nodes:o,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},y(I,"WardleyBuilder"),I),b=new qt;function rt(){return V()["wardley-beta"]}y(rt,"getConfig");function ot(a,o,e,p,r,d,m,v,g){b.addNode({id:a,label:o,x:e,y:p,className:r,labelOffsetX:d,labelOffsetY:m,inertia:v,sourceStrategy:g})}y(ot,"addNode");function st(a,o,e=!1,p,r){b.addLink({source:a,target:o,dashed:e,label:p,flow:r})}y(st,"addLink");function nt(a,o,e){b.addTrend({nodeId:a,targetX:o,targetY:e})}y(nt,"addTrend");function it(a,o,e){b.addAnnotation({number:a,coordinates:o,text:e})}y(it,"addAnnotation");function dt(a,o,e){b.addNote({text:a,x:o,y:e})}y(dt,"addNote");function lt(a,o,e){b.addAccelerator({name:a,x:o,y:e})}y(lt,"addAccelerator");function ct(a,o,e){b.addDeaccelerator({name:a,x:o,y:e})}y(ct,"addDeaccelerator");function pt(a,o){b.setAnnotationsBox(a,o)}y(pt,"setAnnotationsBox");function ht(a,o){b.setSize(a,o)}y(ht,"setSize");function xt(a){b.startPipeline(a)}y(xt,"startPipeline");function ft(a,o){b.addPipelineComponent(a,o)}y(ft,"addPipelineComponent");function gt(a){b.setAxes(a)}y(gt,"updateAxes");function ut(a){return b.getNode(a)}y(ut,"getNode");function yt(a){return b.resolveNodeId(a)}y(yt,"resolveNodeId");function mt(){return b.build()}y(mt,"getWardleyData");function wt(){b.clear(),Ot()}y(wt,"clear");var Ht={getConfig:rt,addNode:ot,addLink:st,addTrend:nt,addAnnotation:it,addNote:dt,addAccelerator:lt,addDeaccelerator:ct,setAnnotationsBox:pt,setSize:ht,startPipeline:xt,addPipelineComponent:ft,updateAxes:gt,getNode:ut,resolveNodeId:yt,getWardleyData:mt,clear:wt,setAccTitle:Yt,getAccTitle:Et,setDiagramTitle:At,getDiagramTitle:Xt,getAccDescription:Tt,setAccDescription:Lt},jt=["Genesis","Custom Built","Product","Commodity"],Vt=y(()=>{var o,e,p,r,d,m,v,g,L,M,k,N;const{themeVariables:a}=V();return{backgroundColor:((o=a.wardley)==null?void 0:o.backgroundColor)??a.background??"#fff",axisColor:((e=a.wardley)==null?void 0:e.axisColor)??"#000",axisTextColor:((p=a.wardley)==null?void 0:p.axisTextColor)??a.primaryTextColor??"#222",gridColor:((r=a.wardley)==null?void 0:r.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((d=a.wardley)==null?void 0:d.componentFill)??"#fff",componentStroke:((m=a.wardley)==null?void 0:m.componentStroke)??"#000",componentLabelColor:((v=a.wardley)==null?void 0:v.componentLabelColor)??a.primaryTextColor??"#222",linkStroke:((g=a.wardley)==null?void 0:g.linkStroke)??"#000",evolutionStroke:((L=a.wardley)==null?void 0:L.evolutionStroke)??"#dc3545",annotationStroke:((M=a.wardley)==null?void 0:M.annotationStroke)??"#000",annotationTextColor:((k=a.wardley)==null?void 0:k.annotationTextColor)??a.primaryTextColor??"#222",annotationFill:((N=a.wardley)==null?void 0:N.annotationFill)??a.background??"#fff"}},"getTheme"),_t=y(()=>{const a=V()["wardley-beta"];return{width:(a==null?void 0:a.width)??900,height:(a==null?void 0:a.height)??600,padding:(a==null?void 0:a.padding)??48,nodeRadius:(a==null?void 0:a.nodeRadius)??6,nodeLabelOffset:(a==null?void 0:a.nodeLabelOffset)??8,axisFontSize:(a==null?void 0:a.axisFontSize)??12,labelFontSize:(a==null?void 0:a.labelFontSize)??10,showGrid:(a==null?void 0:a.showGrid)??!1,useMaxWidth:(a==null?void 0:a.useMaxWidth)??!0}},"getConfigValues"),Ut=y((a,o,e,p)=>{var Q,J;et.debug(`Rendering Wardley map `+a);const r=_t(),d=Vt(),m=r.nodeRadius*1.6,v=p.db,g=v.getWardleyData(),L=v.getDiagramTitle(),M=((Q=g.size)==null?void 0:Q.width)??r.width,k=((J=g.size)==null?void 0:J.height)??r.height,N=Ft(o);N.selectAll("*").remove(),Rt(N,k,M,r.useMaxWidth),N.attr("viewBox",`0 0 ${M} ${k}`);const P=N.append("g").attr("class","wardley-map"),q=N.append("defs");q.append("marker").attr("id",`arrow-${o}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-end-${o}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-start-${o}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),P.append("rect").attr("class","wardley-background").attr("width",M).attr("height",k).attr("fill",d.backgroundColor);const B=M-r.padding*2,F=k-r.padding*2;L&&P.append("text").attr("class","wardley-title").attr("x",M/2).attr("y",r.padding/2).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(L);const T=y(t=>r.padding+t/100*B,"projectX"),X=y(t=>k-r.padding-t/100*F,"projectY"),O=P.append("g").attr("class","wardley-axes");O.append("line").attr("x1",r.padding).attr("x2",M-r.padding).attr("y1",k-r.padding).attr("y2",k-r.padding).attr("stroke",d.axisColor).attr("stroke-width",1),O.append("line").attr("x1",r.padding).attr("x2",r.padding).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const kt=g.axes.xLabel??"Evolution",bt=g.axes.yLabel??"Visibility";O.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",r.padding+B/2).attr("y",k-r.padding/4).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(kt),O.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",r.padding/3).attr("y",r.padding+F/2).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${r.padding/3} ${r.padding+F/2})`).text(bt);const R=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:jt;if(R.length>0){const t=P.append("g").attr("class","wardley-stages"),n=g.axes.stageBoundaries,s=[];if(n&&n.length===R.length){let i=0;n.forEach(h=>{s.push({start:i,end:h}),i=h})}else{const i=1/R.length;R.forEach((h,l)=>{s.push({start:l*i,end:(l+1)*i})})}R.forEach((i,h)=>{const l=s[h],x=r.padding+l.start*B,f=r.padding+l.end*B,u=(x+f)/2;h>0&&t.append("line").attr("x1",x).attr("x2",x).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",u).attr("y",k-r.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",r.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(r.showGrid){const t=P.append("g").attr("class","wardley-grid");for(let n=1;n<4;n++){const s=n/4,i=r.padding+B*s;t.append("line").attr("x1",i).attr("x2",i).attr("y1",r.padding).attr("y2",k-r.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",r.padding).attr("x2",M-r.padding).attr("y1",k-r.padding-F*s).attr("y2",k-r.padding-F*s).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:T(t.x),y:X(t.y),node:t})}),g.pipelines.length>0){const t=P.append("g").attr("class","wardley-pipelines"),n=P.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(s=>{if(s.componentIds.length===0)return;const i=s.componentIds.map(f=>({id:f,pos:c.get(f),node:g.nodes.find(u=>u.id===f)})).filter(f=>f.pos&&f.node).sort((f,u)=>f.node.x-u.node.x);for(let f=0;f{const u=c.get(f);u&&(h=Math.min(h,u.x),l=Math.max(l,u.x),x=u.y)}),h!==1/0&&l!==-1/0){const u=r.nodeRadius*4,w=x-u/2,S=c.get(s.nodeId);if(S){const z=(h+l)/2;S.x=z,S.y=w-m/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",h-15).attr("y",w).attr("width",l-h+15*2).attr("height",u).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const _=P.append("g").attr("class","wardley-links"),U=new Map;g.pipelines.forEach(t=>{U.set(t.nodeId,new Set(t.componentIds))});const Z=g.links.filter(t=>{if(!c.has(t.source)||!c.has(t.target))return!1;const n=U.get(t.target);return!(n!=null&&n.has(t.source))});_.selectAll("line").data(Z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.x+l/f*h}).attr("y1",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.source).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x);return n.y+x/f*h}).attr("x2",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.x+l/f*h}).attr("y2",t=>{const n=c.get(t.source),s=c.get(t.target),h=g.nodes.find(u=>u.id===t.target).isPipelineParent?m/Math.sqrt(2):r.nodeRadius,l=n.x-s.x,x=n.y-s.y,f=Math.sqrt(l*l+x*x);return s.y+x/f*h}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${o})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${o})`:null),_.selectAll("text").data(Z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,h=s.y-n.y,l=s.x-n.x,x=Math.sqrt(l*l+h*h),f=8,u=h/x;return i+u*f}).attr("y",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.y+s.y)/2,h=s.x-n.x,l=s.y-n.y,x=Math.sqrt(h*h+l*l),f=8,u=-h/x;return i+u*f}).attr("fill",d.axisTextColor).attr("font-size",r.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const n=c.get(t.source),s=c.get(t.target),i=(n.x+s.x)/2,h=(n.y+s.y)/2,l=s.x-n.x,x=s.y-n.y,f=Math.sqrt(l*l+x*x),u=8,w=x/f,S=-l/f,z=i+w*u,W=h+S*u;let Y=Math.atan2(x,l)*180/Math.PI;return(Y>90||Y<-90)&&(Y+=180),`rotate(${Y} ${z} ${W})`}).text(t=>t.label);const $t=P.append("g").attr("class","wardley-trends"),vt=g.trends.map(t=>{const n=c.get(t.nodeId);if(!n)return null;const s=T(t.targetX),i=X(t.targetY),h=s-n.x,l=i-n.y,x=Math.sqrt(h*h+l*l),f=r.nodeRadius+2,u=x>f?s-h/x*f:s,w=x>f?i-l/x*f:i;return{origin:n,targetX:s,targetY:i,adjustedX2:u,adjustedY2:w}}).filter(t=>t!==null);$t.selectAll("line").data(vt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${o})`);const C=P.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));C.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const A=C.filter(t=>t.sourceStrategy==="market");A.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",r.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const H=r.nodeRadius*.7,$=r.nodeRadius*1.2;if(A.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-$).attr("x2",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),A.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),A.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-$).attr("stroke",d.componentStroke).attr("stroke-width",1),A.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-$).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),A.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),A.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),C.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-m/2).attr("y",t=>c.get(t.id).y-m/2).attr("width",m).attr("height",m).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),C.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:r.nodeRadius+15;return t.sourceStrategy&&(s+=r.nodeRadius+10),n.x+s}).attr("y1",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:r.nodeRadius*2;return n.y-s/2}).attr("x2",t=>{const n=c.get(t.id);let s=t.isPipelineParent?m/2+15:r.nodeRadius+15;return t.sourceStrategy&&(s+=r.nodeRadius+10),n.x+s}).attr("y2",t=>{const n=c.get(t.id),s=t.isPipelineParent?m:r.nodeRadius*2;return n.y+s/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),C.append("text").attr("x",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?n.x+t.labelOffsetX:n.x;let s=r.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(s+=10);const i=t.labelOffsetX??s;return n.x+i}).attr("y",t=>{const n=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?n.y+t.labelOffsetY:n.y-3;let s=-r.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(s-=10);const i=t.labelOffsetY??s;return n.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",r.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=P.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(n=>{const s=n.coordinates.map(i=>({x:T(i.x),y:X(i.y)}));if(s.length>1)for(let i=0;i{const h=t.append("g").attr("class","wardley-annotation");h.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),h.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.number)})}),g.annotationsBox){let n=T(g.annotationsBox.x),s=X(g.annotationsBox.y);const i=10,h=16,l=11,x=t.append("g").attr("class","wardley-annotations-box"),f=[...g.annotations].filter(w=>w.text).sort((w,S)=>w.number-S.number),u=[];if(f.forEach((w,S)=>{const z=x.append("text").attr("x",n+i).attr("y",s+i+(S+1)*h).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${w.number}. ${w.text}`);u.push(z)}),u.length>0){let w=0,S=0;u.forEach(j=>{const D=j.node(),Nt=D.getComputedTextLength();w=Math.max(w,Nt);const Ct=D.getBBox();S=Math.max(S,Ct.height)});const z=w+i*2+105,W=f.length*h+i*2+S/2,Y=r.padding,Pt=M-r.padding-z,St=r.padding,Mt=k-r.padding-W;n=Math.max(Y,Math.min(n,Pt)),s=Math.max(St,Math.min(s,Mt)),u.forEach((j,D)=>{j.attr("x",n+i).attr("y",s+i+(D+1)*h)}),x.insert("rect","text").attr("x",n).attr("y",s).attr("width",z).attr("height",W).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=P.append("g").attr("class","wardley-notes");g.notes.forEach(n=>{const s=T(n.x),i=X(n.y);t.append("text").attr("x",s).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(n.text)})}if(g.accelerators.length>0){const t=P.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(n=>{const s=T(n.x),i=X(n.y),h=60,l=30,x=20,f=` M ${s} ${i-l/2} L ${s+h-x} ${i-l/2} diff --git a/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-Dh29HzQv.js b/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-D97HCDoV.js similarity index 99% rename from veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-Dh29HzQv.js rename to veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-D97HCDoV.js index fa5370f4f..054e1dfda 100644 --- a/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-Dh29HzQv.js +++ b/veadk/webui/assets/visualizations/mermaid/xychartDiagram-ELKLHX3M-D97HCDoV.js @@ -1,4 +1,4 @@ -import{aR as xi,V as di,$ as Yt,aU as fi,W as pi,aS as mi,a as n,at as Nt,aQ as yi,B as bi,s as Ai,X as kt,aO as wi,r as Ht,O as Ci,a8 as Si,y as Ri,aq as Ot}from"./mermaid.core-OQ-NoIeH.js";import"../../app/index-Bj9lylJf.js";import{i as _i}from"../../chunks/init-Gi6I4Gst.js";import{o as ki}from"../../chunks/ordinal-Cboi1Yqb.js";import{l as Wt}from"../../chunks/linear-Dil5wD59.js";import"../../chunks/defaultLocale-CrowFXzY.js";function Ti(e,t,i){e=+e,t=+t,i=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+i;for(var s=-1,a=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(a);++s"u"&&(v.yylloc={});var yt=v.yylloc;r.push(yt);var ui=v.options&&v.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(V){g.length=g.length-2*V,C.length=C.length-V,r.length=r.length-V}n(gi,"popStack");function zt(){var V;return V=x.pop()||v.lex()||Vt,typeof V!="number"&&(V instanceof Array&&(x=V,V=x.pop()),V=u.symbols_[V]||V),V}n(zt,"lex");for(var M,U,O,bt,G={},xt,N,Bt,dt;;){if(U=g[g.length-1],this.defaultActions[U]?O=this.defaultActions[U]:((M===null||typeof M>"u")&&(M=zt()),O=rt[U]&&rt[U][M]),typeof O>"u"||!O.length||!O[0]){var At="";dt=[];for(xt in rt[U])this.terminals_[xt]&&xt>li&&dt.push("'"+this.terminals_[xt]+"'");v.showPosition?At="Parse error on line "+(gt+1)+`: +import{aR as xi,V as di,$ as Yt,aU as fi,W as pi,aS as mi,a as n,at as Nt,aQ as yi,B as bi,s as Ai,X as kt,aO as wi,r as Ht,O as Ci,a8 as Si,y as Ri,aq as Ot}from"./mermaid.core-DAX2QfGO.js";import"../../app/index-sh8QRNzm.js";import{i as _i}from"../../chunks/init-Gi6I4Gst.js";import{o as ki}from"../../chunks/ordinal-Cboi1Yqb.js";import{l as Wt}from"../../chunks/linear-BmzcZuEF.js";import"../../chunks/defaultLocale-CrowFXzY.js";function Ti(e,t,i){e=+e,t=+t,i=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+i;for(var s=-1,a=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(a);++s"u"&&(v.yylloc={});var yt=v.yylloc;r.push(yt);var ui=v.options&&v.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gi(V){g.length=g.length-2*V,C.length=C.length-V,r.length=r.length-V}n(gi,"popStack");function zt(){var V;return V=x.pop()||v.lex()||Vt,typeof V!="number"&&(V instanceof Array&&(x=V,V=x.pop()),V=u.symbols_[V]||V),V}n(zt,"lex");for(var M,U,O,bt,G={},xt,N,Bt,dt;;){if(U=g[g.length-1],this.defaultActions[U]?O=this.defaultActions[U]:((M===null||typeof M>"u")&&(M=zt()),O=rt[U]&&rt[U][M]),typeof O>"u"||!O.length||!O[0]){var At="";dt=[];for(xt in rt[U])this.terminals_[xt]&&xt>li&&dt.push("'"+this.terminals_[xt]+"'");v.showPosition?At="Parse error on line "+(gt+1)+`: `+v.showPosition()+` Expecting `+dt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":At="Parse error on line "+(gt+1)+": Unexpected "+(M==Vt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(At,{text:v.match,token:this.terminals_[M]||M,line:v.yylineno,loc:yt,expected:dt})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+M);switch(O[0]){case 1:g.push(M),C.push(v.yytext),r.push(v.yylloc),g.push(O[1]),M=null,Mt=v.yyleng,f=v.yytext,gt=v.yylineno,yt=v.yylloc;break;case 2:if(N=this.productions_[O[1]][1],G.$=C[C.length-N],G._$={first_line:r[r.length-(N||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(N||1)].first_column,last_column:r[r.length-1].last_column},ui&&(G._$.range=[r[r.length-(N||1)].range[0],r[r.length-1].range[1]]),bt=this.performAction.apply(G,[f,Mt,gt,$.yy,O[1],C,r].concat(ci)),typeof bt<"u")return bt;N&&(g=g.slice(0,-1*N*2),C=C.slice(0,-1*N),r=r.slice(0,-1*N)),g.push(this.productions_[O[1]][0]),C.push(G.$),r.push(G._$),Bt=rt[g[g.length-2]][g[g.length-1]],g.push(Bt);break;case 3:return!0}}return!0},"parse")},ot=function(){var F={EOF:1,parseError:n(function(u,g){if(this.yy.parser)this.yy.parser.parseError(u,g);else throw new Error(u)},"parseError"),setInput:n(function(h,u){return this.yy=u||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var u=h.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:n(function(h){var u=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(h){this.unput(this.match.slice(h))},"less"),pastInput:n(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var h=this.pastInput(),u=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/veadk/webui/index.html b/veadk/webui/index.html index 5e6f1f9d0..e316e42dd 100644 --- a/veadk/webui/index.html +++ b/veadk/webui/index.html @@ -5,8 +5,8 @@ AgentKit Studio - - + +